You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: _episodes/02-eicrecon.md
+16-16Lines changed: 16 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,16 +14,13 @@ keypoints:
14
14
15
15
16
16
## Reconstruction workflow
17
-
The ePIC reconsutrction framework `EICrecon` is maintained [on github](https://github.com/eic/eicrecon/). It process simulated hits from various detectors to reconstruct trajectory, PID, etc, and eventually reconstruct the simulated particle and physics observables at the vertex.
17
+
The ePIC reconsutrction framework `EICrecon` is maintained [on github](https://github.com/eic/eicrecon/). It process simulated hits from various detectors to reconstruct trajectory, PID, etc, and eventually reconstruct the simulated particle and physics observables at the vertex. In this section, we will use __track reconstruction__ as an example. Please refer to the Lehigh reconstruction workfest [presentations](https://indico.bnl.gov/event/20727/sessions/7433/#20240725) for reconstruction workflow of other systems.
18
18
19
19
Each reconstruction step involves 3 components:
20
20
- the algorithm,
21
21
- the JOmniFactory where algorithm and data type are declared.
22
22
- the factory generator to excute the algorithm.
23
23
24
-
> in this section, we will use __track reconstruction__ as an example. Please refer to the Lehigh reconstruction workfest [presentations](https://indico.bnl.gov/event/20727/sessions/7433/#20240725) for reconstruction workflow of other systems.
25
-
26
-
27
24
### __Digitization__
28
25
All simualted detector hits are digitized to reflect certain detector specs e.g. spatial and time resolution, and energy threshold. For example, the `VertexBarrelHits` from simulation are digitized through the `SiliconTrackerDigi` factory in `EICrecon/src/detectors/BVTX/BVTX.cc`:
29
26
```console
@@ -43,6 +40,8 @@ Each reconstruction step involves 3 components:
43
40
app
44
41
));
45
42
```
43
+
44
+
46
45
The actual algorithm locates at `EICrecon/src/algorithms/digi/SiliconTrackerDigi.cc`, with its input and output specified in `SiliconTrackerDigi_factory.h`:
47
46
48
47
```console
@@ -62,7 +61,8 @@ Each reconstruction step involves 3 components:
By comparing the two blocks of code above, we can see that the digitized hits, `SiBarrelVertexRawHits`, are stored in the data type `RawTrackerHit` that is defined in the [edm4eic data model](https://github.com/eic/EDM4eic/blob/main/edm4eic.yaml):
64
+
65
+
By comparing the two blocks of code above, we can see that the digitized hits, `SiBarrelVertexRawHits`, are stored in the data type `RawTrackerHit` that is defined in the [edm4eic data model](https://github.com/eic/EDM4eic/blob/main/edm4eic.yaml):
66
66
```console
67
67
edm4eic::RawTrackerHit:
68
68
Description: "Raw (digitized) tracker hit"
@@ -73,7 +73,7 @@ Each reconstruction step involves 3 components:
73
73
- int32_t timeStamp
74
74
```
75
75
76
-
In addition, the one-to-one relation between the sim hit and its digitized hit is stored as an `MCRecoTrackerHitAssociation` object:
76
+
In addition, the one-to-one relation between the sim hit and its digitized hit is stored as an `MCRecoTrackerHitAssociation` object:
77
77
```console
78
78
edm4eic::MCRecoTrackerHitAssociation:
79
79
Description: "Association between a RawTrackerHit and a SimTrackerHit"
@@ -104,12 +104,12 @@ By default, we use the Combinatorial Kalman Filter from the ACTS library to hand
104
104
{: .challenge}
105
105
106
106
### __Reconstruction output__
107
-
> -`events` tree:
108
-
> -`MCParticles` and detector sim hits are copied from simulation output to recon output
109
-
> - outputs from each step of recon algorithms must be either `edm4hep` or `edm4eic` object if you want to save them in recon output
110
-
> - the default list of saved objects in recon output is defined in `EICrecon/src/services/io/podio/JEventProcessorPODIO.cc`. It can be configured in command line.
111
-
> -`podio_metadata` tree:
112
-
> -`events___idTable` provides a lookup table between output collection name and IDs.
107
+
-`events` tree:
108
+
-`MCParticles` and detector sim hits are copied from simulation output to recon output
109
+
- outputs from each step of recon algorithms must be either `edm4hep` or `edm4eic` object if you want to save them in recon output
110
+
- the default list of saved objects in recon output is defined in `EICrecon/src/services/io/podio/JEventProcessorPODIO.cc`. It can be configured in command line.
111
+
-`podio_metadata` tree:
112
+
-`events___idTable` provides a lookup table between output collection name and IDs.
113
113
114
114
115
115
> Exercise 2.3:
@@ -124,7 +124,7 @@ By default, we use the Combinatorial Kalman Filter from the ACTS library to hand
124
124
{: .challenge}
125
125
{% include links.md %}
126
126
127
-
## Future reading
128
-
> - Generate your own simulation and reconstruction rootfiles [tutorial](https://eic.github.io/tutorial-simulations-using-ddsim-and-geant4/)
129
-
> - Contribute to reconstruction algorithsm [tutorial](https://eic.github.io/tutorial-reconstruction-algorithms/)
0 commit comments