@@ -37,17 +37,21 @@ For the purpose of this tutorial we will use the S3 interface since it does not
## File structure of the full simulation reconstruction output
Each reconstruction output file has essentially the same structure, defined by the EIC Data Model. This structure can be retrieved with `rootls`, e.g.
Each reconstruction output file has essentially the same structure, defined by the EIC Data Model. This structure can be retrieved with `root` and `.ls` (or, for local files, with `rootls` as well), e.g.
You may encounter some (or many) warnings when you run this on a regular ROOT installation, but the ROOT files are built in such a way that they only use basic ("plain old data") types that ROOT can interpret without any helper classes. There are helper classes available inside the ATHENA container.
You may encounter some (or many) warnings when you run this on a regular ROOT installation, but the ROOT files are built in such a way that they only use basic ("plain old data") types that ROOT can interpret without any helper classes. There are helper classes available inside the `eic-shell` container.
The `events` tree is of course what we are interested in. We can explore its top-level structure as follows. We first start a ROOT session:
The `events` tree is what we are interested in. We can explore its top-level structure as follows. We start a ROOT session:
During the development of the reconstruction, there are more branches enabled here than are strictly necessary (e.g. simulated and digitized hits, intermediate reconstruction parameters). These are all available for analysis (with fixed interfaces). In this tutorial we will focus on a few branches in particular:
During the development of the reconstruction, there are often more branches enabled here than are strictly necessary (e.g. simulated and digitized hits, intermediate reconstruction parameters). These are all available for analysis (with fixed interfaces). In this tutorial we will focus on a few branches in particular:
- ReconstructedParticles: contains the results from track finding and fitting,
- EcalBarrelImagingClusters: contains the results from the barrel Imaging Ecal cluster finding,
- EcalBarrelScFiClusters: contains the results from the barrel ScFi Ecal cluster finding.
...
...
@@ -145,38 +99,50 @@ We can inspect each of these three branches in more detail (some information rem
@@ -244,7 +212,7 @@ These types of plots will likely be limited to simple data inspection.
For a more advanced analysis, you can take advantage of the RDataFrame features, such as in this (shortened) DIS example. The [original](https://eicweb.phy.anl.gov/EIC/benchmarks/physics_benchmarks/-/blob/master/benchmarks/dis/analysis/dis_electrons.cxx) is used in our CI system and determines DIS parameters for every change to the detector geometry, simulation, digitization, or reconstruction.
```console
auto momenta_from_reconstruction(const std::vector<eic::ReconstructedParticleData>& parts){
auto momenta_from_reconstruction(const std::vector<eicd::ReconstructedParticleData>& parts){