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)