Back to home page

EIC code displayed by LXR

 
 

    


Warning, /EICrecon/docs/design/gaudi-algorithms.md is written in an unsupported language. File is not indexed.

0001 # Juggler/Gaudi algorithms
0002 
0003 The diagrams are made from
0004 [PhysicsBenchmarks/reconstruction.py](https://eicweb.phy.anl.gov/EIC/benchmarks/physics_benchmarks/-/blob/master/options/reconstruction.py)
0005 
0006 ## [Generated particles](https://eicweb.phy.anl.gov/EIC/benchmarks/physics_benchmarks/-/blob/master/options/reconstruction.py#L312)
0007 
0008 ### [Truth level kinematics](https://eicweb.phy.anl.gov/EIC/benchmarks/physics_benchmarks/-/blob/master/options/reconstruction.py#L320)
0009 
0010 ```mermaid
0011 flowchart LR
0012   classDef alg fill:#f96;
0013   subgraph Sim output
0014     in(MCParticles)
0015   end
0016   in--> B[InclusiveKinematicsTruth]:::alg -->C(InclusiveKinematicsTruth)
0017 ```
0018 
0019 ### [Roman pods](https://eicweb.phy.anl.gov/EIC/benchmarks/physics_benchmarks/-/blob/master/options/reconstruction.py#L328)
0020 
0021 ```mermaid
0022 flowchart TB
0023   classDef alg fill:#f96;
0024   subgraph Sim output
0025     direction TB
0026     i1(ForwardRomanPotHits1<br/>ForwardRomanPotHits2)
0027     i2(ForwardOffMTrackerHits1<br/>ForwardOffMTrackerHits2<br/>ForwardOffMTrackerHits3<br/>ForwardOffMTrackerHits4)
0028   end
0029 
0030   i1 --> a1[SimTrackerHitsCollector]:::alg
0031   i2 --> a1
0032 
0033   a1 --> mi1(ForwardRomanPotAllHits)
0034   mi1 --> a2[TrackerDigi]:::alg
0035   a2 --> mi2(ForwardRomanPotRawHits)
0036   mi2 --> a3[TrackerHitReconstruction]:::alg
0037   a3 --> mi3(ForwardRomanPotRecHits)
0038   mi3-->a4[FarForwardParticles]:::alg
0039   a4 --> mi4(ForwardRomanPotParticles)
0040 ```
0041 
0042 ### [Off momentum tracker](https://eicweb.phy.anl.gov/EIC/benchmarks/physics_benchmarks/-/blob/master/options/reconstruction.py#L357)
0043 
0044 ### [B0 tracker](https://eicweb.phy.anl.gov/EIC/benchmarks/physics_benchmarks/-/blob/master/options/reconstruction.py#L386)
0045 
0046 ### [ZDC ECAL WSciFi](https://eicweb.phy.anl.gov/EIC/benchmarks/physics_benchmarks/-/blob/master/options/reconstruction.py#L402)
0047 
0048 ### [ZDC HCAL PbSciFi](https://eicweb.phy.anl.gov/EIC/benchmarks/physics_benchmarks/-/blob/master/options/reconstruction.py#L438)
0049 
0050 ### [Crystal Endcap Ecal](https://eicweb.phy.anl.gov/EIC/benchmarks/physics_benchmarks/-/blob/master/options/reconstruction.py#L474)
0051 
0052 ```mermaid
0053 flowchart TB
0054 classDef alg fill:#f96;
0055   subgraph Simulation output
0056     direction TB
0057     EcalEndcapNHits(EcalEndcapNHits)
0058   end
0059   EcalEndcapNHits --> CalHitDigi[CalHitDigi]:::alg
0060   CalHitDigi --> EcalEndcapNRawHits(EcalEndcapNRawHits)
0061 
0062   EcalEndcapNRawHits --> CalHitReco[CalHitReco]:::alg
0063   EcalEndcapNHits --> CalHitReco
0064   CalHitReco --> EcalEndcapNRecHits(EcalEndcapNRecHits)
0065 
0066   EcalEndcapNRecHits --> IslandCluster[IslandCluster]:::alg
0067   IslandCluster --> EcalEndcapNIslandProtoClusters(EcalEndcapNIslandProtoClusters)
0068 
0069   EcalEndcapNRecHits --> TruthClustering[TruthClustering]:::alg
0070   TruthClustering --> EcalEndcapNTruthProtoClusters(EcalEndcapNTruthProtoClusters)
0071   EcalEndcapNHits --> TruthClustering
0072 
0073   EcalEndcapNTruthProtoClusters --> RecoCoG[RecoCoG]:::alg
0074   EcalEndcapNHits --> RecoCoG
0075   RecoCoG --> EcalEndcapNClusters(EcalEndcapNClusters)
0076   RecoCoG --> EcalEndcapNClustersAssoc(EcalEndcapNClustersAssoc)
0077 
0078   EcalEndcapNClusters --> ClusterMerger[ClusterMerger]:::alg
0079   ClusterMerger --> EcalEndcapNMergedClusters(EcalEndcapNMergedClusters)
0080   ClusterMerger --> EcalEndcapNMergedClustersAssoc(EcalEndcapNMergedClustersAssoc)
0081 ```
0082 
0083 ### [Endcap ScFi Ecal](https://eicweb.phy.anl.gov/EIC/benchmarks/physics_benchmarks/-/blob/master/options/reconstruction.py#L536)
0084 
0085 ### [Central Barrel Ecal (SciGlass calorimeter)](https://eicweb.phy.anl.gov/EIC/benchmarks/physics_benchmarks/-/blob/master/options/reconstruction.py#L731)
0086 
0087 ### [Central Barrel Hcal](https://eicweb.phy.anl.gov/EIC/benchmarks/physics_benchmarks/-/blob/master/options/reconstruction.py#L796)
0088 
0089 ### [Hcal Hadron Endcap](https://eicweb.phy.anl.gov/EIC/benchmarks/physics_benchmarks/-/blob/master/options/reconstruction.py#L850)
0090 
0091 ### [Hcal Electron Endcap](https://eicweb.phy.anl.gov/EIC/benchmarks/physics_benchmarks/-/blob/master/options/reconstruction.py#L901)
0092 
0093 ### [Tracking](https://eicweb.phy.anl.gov/EIC/benchmarks/physics_benchmarks/-/blob/master/options/reconstruction.py#L952)
0094 
0095 ```mermaid
0096 flowchart TB
0097   classDef alg fill:#f96;
0098   classDef col fill:#66ccff;
0099   subgraph Simulation output
0100     direction LR
0101 
0102     tracker_endcap_collections(Endcap trk:<br />InnerTrackerEndcapPHits<br/>InnerTrackerEndcapNHits<br/>MiddleTrackerEndcapPHits<br/>MiddleTrackerEndcapNHits<br/>OuterTrackerEndcapPHits<br/>OuterTrackerEndcapNHits<br/>)
0103     gem_endcap_collections(Endcap GEM:<br/>GEMTrackerEndcapHits1<br/>GEMTrackerEndcapHits2<br/>GEMTrackerEndcapHits3)
0104     tracker_barrel_collections(Barrel trk:<br/>SagittaSiBarrelHits<br/>OuterSiBarrelHits)
0105     mpgd_barrel_collections(InnerMPGDBarrelHits<br/>OuterMPGDBarrelHits)
0106     vertex_barrel_collections(Barrel vtx:<br/>VertexBarrelHits)
0107   end
0108 
0109   tracker_endcap_collections --> SimTrackerHitsCollector2[SimTrackerHitsCollector]:::col
0110   SimTrackerHitsCollector2 --> TrackerEndcapAllHits(TrackerEndcapAllHits)
0111   TrackerEndcapAllHits --> TrackerDigi2[TrackerDigi]:::alg
0112   TrackerDigi2 --> TrackerEndcapRawHits(TrackerEndcapRawHits)
0113   TrackerEndcapRawHits --> TrackerHitReconstruction2[TrackerHitReconstruction]:::alg
0114   TrackerHitReconstruction2 --> TrackerEndcapRecHits(TrackerEndcapRecHits)
0115 
0116   gem_endcap_collections --> SimTrackerHitsCollector5[SimTrackerHitsCollector]:::col
0117   SimTrackerHitsCollector5 --> GEMTrackerEndcapAllHits(GEMTrackerEndcapAllHits)
0118   GEMTrackerEndcapAllHits --> TrackerDigi5[TrackerDigi]:::alg
0119   TrackerDigi5 --> GEMTrackerEndcapRawHits(GEMTrackerEndcapRawHits)
0120   GEMTrackerEndcapRawHits --> TrackerHitReconstruction5[TrackerHitReconstruction]:::alg
0121   TrackerHitReconstruction5 --> GEMTrackerEndcapRecHits(GEMTrackerEndcapRecHits)
0122 
0123   tracker_barrel_collections --> SimTrackerHitsCollector[SimTrackerHitsCollector]:::col
0124   SimTrackerHitsCollector --> TrackerBarrelAllHits(TrackerBarrelAllHits)
0125   TrackerBarrelAllHits --> TrackerDigi[TrackerDigi]:::alg
0126   TrackerDigi --> TrackerBarrelRawHits(TrackerBarrelRawHits)
0127   TrackerBarrelRawHits --> TrackerHitReconstruction[TrackerHitReconstruction]:::alg
0128   TrackerHitReconstruction --> TrackerBarrelRecHits(TrackerBarrelRecHits)
0129 
0130   mpgd_barrel_collections --> SimTrackerHitsCollector4[SimTrackerHitsCollector]:::col
0131   SimTrackerHitsCollector4 -->  MPGDTrackerBarrelAllHits(MPGDTrackerBarrelAllHits)
0132   MPGDTrackerBarrelAllHits --> TrackerDigi4[TrackerDigi]:::alg
0133   TrackerDigi4 --> MPGDTrackerBarrelRawHits(MPGDTrackerBarrelRawHits)
0134   MPGDTrackerBarrelRawHits --> TrackerHitReconstruction4[TrackerHitReconstruction]:::alg
0135   TrackerHitReconstruction4 --> MPGDTrackerBarrelRecHits(MPGDTrackerBarrelRecHits)
0136 
0137   vertex_barrel_collections --> SimTrackerHitsCollector3[SimTrackerHitsCollector]:::col
0138   SimTrackerHitsCollector3 --> VertexBarrelAllHits(VertexBarrelAllHits)
0139   VertexBarrelAllHits --> TrackerDigi3[TrackerDigi]:::alg
0140   TrackerDigi3 --> VertexBarrelRawHits(VertexBarrelRawHits)
0141   VertexBarrelRawHits --> TrackerHitReconstruction3[TrackerHitReconstruction]:::alg
0142   TrackerHitReconstruction3 --> VertexBarrelRecHits(VertexBarrelRecHits)
0143 
0144   TrackerHitsCollector[TrackerHitsCollector]:::col
0145 
0146   TrackerBarrelRecHits --> TrackerHitsCollector
0147   TrackerEndcapRecHits --> TrackerHitsCollector
0148   VertexBarrelRecHits --> TrackerHitsCollector
0149   MPGDTrackerBarrelRecHits --> TrackerHitsCollector
0150   GEMTrackerEndcapRecHits --> TrackerHitsCollector
0151 
0152   TrackerHitsCollector --> TrackerSourceLinker[TrackerSourceLinker]:::alg
0153 
0154   TrackerSourceLinker --> TrackSourceLinks(TrackSourceLinks)
0155   TrackerSourceLinker --> TrackMeasurements(TrackMeasurements)
0156 
0157   subgraph Sim output
0158     MCParticles(MCParticles)
0159   end
0160 
0161   MCParticles --> TrackParamTruthInit[TrackParamTruthInit]:::alg
0162   TrackParamTruthInit --> InitTrackParams
0163 
0164   TrackSourceLinks --> CKFTracking[CKFTracking]:::alg
0165   TrackMeasurements --> CKFTracking
0166   InitTrackParams --> CKFTracking
0167   CKFTracking --> trajectories
0168 
0169   trajectories --> ParticlesFromTrackFit[ParticlesFromTrackFit]:::alg
0170   ParticlesFromTrackFit --> outputParticles
0171   ParticlesFromTrackFit --> outputTrackParameters
0172 ```
0173 
0174 
0175 ### Tracking no collectors
0176 
0177 Collectors are very simple algorithms that basically concatenate incoming collections. The removing them makes
0178 the diagram easier to conceive and more PowerPoint friendly.
0179 
0180 ```mermaid
0181 flowchart TB
0182   classDef alg fill:#f96;
0183   classDef col fill:#66ccff;
0184   subgraph Simulation output
0185     direction LR
0186 
0187     tracker_endcap_collections(Endcap trk:<br />TrackerEndcapHits)
0188     tracker_barrel_collections(Barrel trk:<br/>SiBarrelHits)
0189     mpgd_barrel_collections(MPGD<br/>MPGDBarrelHits)
0190     vertex_barrel_collections(Barrel vtx:<br/>VertexBarrelHits)
0191   end
0192 
0193   tracker_endcap_collections --> TrackerDigi2[TrackerDigi]:::alg
0194   TrackerDigi2 --> TrackerEndcapRawHits(TrackerEndcapRawHits)
0195   TrackerEndcapRawHits --> TrackerHitReconstruction2[TrackerHitReconstruction]:::alg
0196   TrackerHitReconstruction2 --> TrackerEndcapRecHits(TrackerEndcapRecHits)
0197 
0198 
0199   tracker_barrel_collections --> TrackerDigi[TrackerDigi]:::alg
0200   TrackerDigi --> TrackerBarrelRawHits(TrackerBarrelRawHits)
0201   TrackerBarrelRawHits --> TrackerHitReconstruction[TrackerHitReconstruction]:::alg
0202   TrackerHitReconstruction --> TrackerBarrelRecHits(TrackerBarrelRecHits)
0203 
0204   mpgd_barrel_collections --> TrackerDigi4[TrackerDigi]:::alg
0205   TrackerDigi4 --> MPGDTrackerBarrelRawHits(MPGDTrackerBarrelRawHits)
0206   MPGDTrackerBarrelRawHits --> TrackerHitReconstruction4[TrackerHitReconstruction]:::alg
0207   TrackerHitReconstruction4 --> MPGDTrackerBarrelRecHits(MPGDTrackerBarrelRecHits)
0208 
0209   vertex_barrel_collections --> TrackerDigi3[TrackerDigi]:::alg
0210   TrackerDigi3 --> VertexBarrelRawHits(VertexBarrelRawHits)
0211   VertexBarrelRawHits --> TrackerHitReconstruction3[TrackerHitReconstruction]:::alg
0212   TrackerHitReconstruction3 --> VertexBarrelRecHits(VertexBarrelRecHits)
0213 
0214   TrackerSourceLinker[TrackerSourceLinker]:::alg
0215 
0216   TrackerBarrelRecHits --> TrackerSourceLinker
0217   TrackerEndcapRecHits --> TrackerSourceLinker
0218   VertexBarrelRecHits --> TrackerSourceLinker
0219   MPGDTrackerBarrelRecHits --> TrackerSourceLinker
0220 
0221   TrackerSourceLinker --> TrackSourceLinks(TrackSourceLinks)
0222   TrackerSourceLinker --> TrackMeasurements(TrackMeasurements)
0223 
0224   subgraph Sim output
0225     MCParticles(MCParticles)
0226   end
0227 
0228   MCParticles --> TrackParamTruthInit[TrackParamTruthInit]:::alg
0229   TrackParamTruthInit --> InitTrackParams
0230 
0231   TrackSourceLinks --> CKFTracking[CKFTracking]:::alg
0232   TrackMeasurements --> CKFTracking
0233   InitTrackParams --> CKFTracking
0234   CKFTracking --> trajectories
0235 
0236   trajectories --> ParticlesFromTrackFit[ParticlesFromTrackFit]:::alg
0237   ParticlesFromTrackFit --> outputParticles
0238   ParticlesFromTrackFit --> outputTrackParameters
0239 ```
0240 
0241 ### [Event building](https://eicweb.phy.anl.gov/EIC/benchmarks/physics_benchmarks/-/blob/master/options/reconstruction.py#L1145)
0242 
0243 ```mermaid
0244 flowchart LR
0245   classDef alg fill:#f96;
0246   subgraph Simulation output
0247     MCParticles(MCParticles)
0248   end
0249 
0250   subgraph Algorithms output
0251     direction TB
0252     outputTrackParameters(outputTrackParameters)
0253     EcalEndcapNMergedClusters(EcalEndcapNMergedClusters<br/>EcalEndcapNMergedClustersAssoc)
0254     EcalBarrelMergedClusters(EcalBarrelMergedClusters<br/>EcalBarrelMergedClusters)
0255     EcalEndcapPMergedClusters(EcalEndcapPMergedClusters<br />EcalEndcapPMergedClustersAssoc)
0256     HcalEndcapNClusters(HcalEndcapNClusters<br/>HcalEndcapNClustersAssoc)
0257     HcalBarrelClusters(HcalBarrelClusters<br/>HcalBarrelClustersAssoc)
0258     HcalEndcapPClusters(HcalEndcapPClusters<br/>HcalEndcapPClustersAssoc)
0259   end
0260 
0261   MCParticles --> ParticlesWithPID[ParticlesWithPID]:::alg
0262   outputTrackParameters --> ParticlesWithPID
0263   ParticlesWithPID --> ReconstructedChargedParticles(ReconstructedChargedParticles)
0264   ParticlesWithPID --> ReconstructedChargedParticlesAssoc(ReconstructedChargedParticlesAssoc)
0265 
0266   MCParticles --> MatchClusters[MatchClusters]:::alg
0267   ReconstructedChargedParticles --> MatchClusters
0268   ReconstructedChargedParticlesAssoc --> MatchClusters
0269   EcalEndcapNMergedClusters --> MatchClusters
0270   EcalBarrelMergedClusters --> MatchClusters
0271   EcalEndcapPMergedClusters --> MatchClusters
0272   HcalEndcapNClusters --> MatchClusters
0273   HcalBarrelClusters --> MatchClusters
0274   HcalEndcapPClusters --> MatchClusters
0275 
0276   MatchClusters --> ReconstructedParticles(ReconstructedParticles)
0277   MatchClusters --> ReconstructedParticlesAssoc(ReconstructedParticlesAssoc)
0278 
0279 ```
0280 
0281 ### [DRICH](https://eicweb.phy.anl.gov/EIC/benchmarks/physics_benchmarks/-/blob/master/options/reconstruction.py#L1196)
0282 
0283 ```mermaid
0284 flowchart LR
0285   classDef alg fill:#f96;
0286   subgraph Simulation output
0287     DRICHHits(DRICHHits)
0288   end
0289 
0290   DRICHHits --> PhotoMultiplierDigi[PhotoMultiplierDigi]:::alg --> DRICHRawHits(DRICHRawHits)
0291   DRICHRawHits --> PhotoMultiplierReco[PhotoMultiplierReco]:::alg --> DRICHRecHits(DRICHRecHits)
0292 ```
0293 
0294 ### [Inclusive kinematics](https://eicweb.phy.anl.gov/EIC/benchmarks/physics_benchmarks/-/blob/master/options/reconstruction.py#L1234)