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/01-dd4hep.md
+14-13Lines changed: 14 additions & 13 deletions
Original file line number
Diff line number
Diff line change
@@ -17,14 +17,14 @@ keypoints:
17
17
## DD4hep simulation
18
18
This Geant4-based simualtion package propagates particles through magnetic field and materials. Particles and detector hits for each event are saved in the output rootfiles.
19
19
20
-
-__Input 1: Event generation__
20
+
###__Input 1: Event generation__
21
21
22
22
The collision event at ePIC, including the beam particles, vertices, and outgoing particles, are typically generated with a dedicated event generator, e.g. PYTHIA8 for specific physics channels. The outputs are provided to the DD4hep simulation in [HEPMC3 format](https://arxiv.org/pdf/1912.08005).
23
23
24
24
One can also use the DD4hep's particle gun to generate outgoing particles with given vertex and distribution, see the [previous tutorial](https://eic.github.io/tutorial-simulations-using-ddsim-and-geant4/aio/index.html) on `ddsim`.
25
25
26
26
27
-
-__Input 2: Detector description__
27
+
###__Input 2: Detector description__
28
28
29
29
The ePIC detector description in DD4hep is maintained [on github](https://github.com/eic/epic/). On the bottom of each sub-detector compact file under `epic/compact`, the `readout` block specifies how the detector hits are saved in the output rootfile.
30
30
@@ -41,13 +41,14 @@ This Geant4-based simualtion package propagates particles through magnetic field
41
41
All hits from this silicon vertex barrel detector, including their position, energy deposit, time, will be stored under the branch `VertexBarrelHits` in output.
42
42
Each detector hit also comes an assigned 64-bit cell ID, with the last 32 bits from right to left represents the hit localtion in a 0.020 x 0.020 mm mesh grid. This __segmentation__ often represents the detector granularity (in this case, the silicon pixel sensor size) that will be used later for hit digitization.
43
43
44
-
-__Output__
44
+
###__Output__
45
45
The `event` tree in the simulation output contains
46
46
-`MCParticles`: records the truth info of primary and secondary particles
47
47
- Individual branches for signals from various sub-detector systems e.g. `VertexBarrelHits`
> The simulation campaign [website](https://eic.github.io/epic-prod/documentation/default_datasets.html) documents the available datasets and version information.
51
+
>
51
52
> -__Browse the directory__
52
53
> For stand-alone `xrdfs` command, see the [previous tutorials](https://eic.github.io/tutorial-analysis/01-introduction/index.html). Here we will proceed with the python interface:
53
54
```console
@@ -89,23 +90,23 @@ print(df)
89
90
90
91
91
92
> Exercise 1.3: extract momentum distribution of primary electrons
Copy file name to clipboardExpand all lines: _episodes/02-eicrecon.md
+20-18Lines changed: 20 additions & 18 deletions
Original file line number
Diff line number
Diff line change
@@ -24,7 +24,7 @@ Each reconstruction step involves 3 components:
24
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
25
26
26
27
-
> -__Digitization__
27
+
###__Digitization__
28
28
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
29
```console
30
30
// Digitization
@@ -72,7 +72,8 @@ Each reconstruction step involves 3 components:
72
72
- int32_t charge
73
73
- int32_t timeStamp
74
74
```
75
-
In addition, the one-to-one relation between the sim hit and its digitized hit is stored as an `MCRecoTrackerHitAssociation` object:
75
+
76
+
In addition, the one-to-one relation between the sim hit and its digitized hit is stored as an `MCRecoTrackerHitAssociation` object:
76
77
```console
77
78
edm4eic::MCRecoTrackerHitAssociation:
78
79
Description: "Association between a RawTrackerHit and a SimTrackerHit"
@@ -83,7 +84,8 @@ Each reconstruction step involves 3 components:
83
84
- edm4eic::RawTrackerHit rawHit // reference to the digitized hit
84
85
- edm4hep::SimTrackerHit simHit // reference to the simulated hit
85
86
```
86
-
which is filled in `SiliconTrackerDigi.cc`:
87
+
88
+
which is filled in `SiliconTrackerDigi.cc`:
87
89
```console
88
90
auto hitassoc = associations->create();
89
91
hitassoc.setWeight(1.0);
@@ -95,34 +97,34 @@ Each reconstruction step involves 3 components:
95
97
{: .challenge}
96
98
97
99
98
-
> -__Track Reconstruction__
99
-
By default, we use the Combinatorial Kalman Filter from the ACTS library to handle track finding and fitting. This happens in the `CKFTracking` factory.
100
+
### __Track Reconstruction__
101
+
By default, we use the Combinatorial Kalman Filter from the ACTS library to handle track finding and fitting. This happens in the `CKFTracking` factory.
100
102
101
103
> Exercise 2.2: please find the inputs and outputs of `CKFTracking`, and draw a flow chart from `CentralTrackerMeasurements` to `CentralTrackVertices`.
102
104
{: .challenge}
103
105
104
-
-__Reconstruction output__
105
-
- `events` tree:
106
-
- `MCParticles` and detector sim hits are copied from simulation output to recon output
107
-
- outputs from each step of recon algorithms must be either `edm4hep` or `edm4eic` object if you want to save them in recon output
108
-
- 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.
109
-
- `podio_metadata` tree:
110
-
- `events___idTable` provides a lookup table between output collection name and IDs.
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.
111
113
112
114
113
115
> Exercise 2.3:
114
116
> The __vector member__ or __relation__ of a given data collection is saved in a separate branch starts with "_".
115
-
- use ```tree.keys(filter_name="_CentralCKFTrajectories*",recursive=False)``` to list those members in `CentralCKFTrajectories`
116
-
- for a given event, the vector member `_CentralCKFTrajectories_measurementChi2` provides a list of chi2 for each meaurement hit respectively. If multiple trajectories are found for one event, you can use `CentralCKFTrajectories.measurementChi2_begin` to locate the start index of a given trajectory (subentry).
117
+
> - Please use ```tree.keys(filter_name="_CentralCKFTrajectories*",recursive=False)``` to list those members in `CentralCKFTrajectories`
118
+
>- for a given event, the vector member `_CentralCKFTrajectories_measurementChi2` provides a list of chi2 for each meaurement hit respectively. If multiple trajectories are found for one event, you can use `CentralCKFTrajectories.measurementChi2_begin` to locate the start index of a given trajectory (subentry).
117
119
{: .challenge}
118
120
119
121
> Exercise 2.4:
120
122
> `CentralTrackerMeasurements` saved all available space points for tracking as 2D meaurement attached to representing surfaces.
121
-
- use the relation `_CentralTrackerMeasurements_hits` to trace back to the original detector hit collection (hint: use the collection ID lookup table), and obtain the 3D coordinate of the hit
123
+
> - Please use the relation `_CentralTrackerMeasurements_hits` to trace back to the original detector hit collection (hint: use the collection ID lookup table), and obtain the 3D coordinate of the hit
122
124
{: .challenge}
123
125
{% include links.md %}
124
126
125
127
## Future reading
126
-
- Generate your own simulation and reconstruction rootfiles [tutorial](https://eic.github.io/tutorial-simulations-using-ddsim-and-geant4/)
127
-
- Contribute to reconstruction algorithsm [tutorial](https://eic.github.io/tutorial-reconstruction-algorithms/)
0 commit comments