Back to home page

EIC code displayed by LXR

 
 

    


Warning, /drich-dev/doc/tutorials/5-reconstruction-code-part-2.md is written in an unsupported language. File is not indexed.

0001 Tutorial 5: Reconstruction Code Part II
0002 =======================================
0003 
0004 - [TUTORIAL RECORDING (mirror 1)](https://drive.google.com/file/d/1BJfRvJeB21Y0PKkd-5Qw1JU32bt7Hboj/view?usp=sharing)
0005 - [Return to Tutorial Landing Page](README.md)
0006 
0007 ## Introduction
0008 
0009 Finally, let's go through the reconstruction code. Refer to [tutorial 4](4-reconstruction-code-part-1.md) for general guidance on the reconstruction code; this tutorial 5 will provide an overview of how the primary algorithms work.
0010 
0011 ## Navigating EICrecon
0012 
0013 Each algorithm "`AlgorithmName`" typically includes 5 source code files:
0014 
0015 1. Algorithm class header:         `src/algorithms/___/AlgorithmName.h`
0016 2. Algorithm class implementation: `src/algorithms/___/AlgorithmName.cc`
0017 3. Algorithm configuration:        `src/algorithms/___/AlgorithmNameConfig.h`
0018 4. Factory header:                 `src/global/___/AlgorithmName_factory.h`
0019 5. Factory implementation:         `src/global/___/AlgorithmName_factory.cc`
0020 
0021 Recall that the factory runs the algorithm and contains the EICrecon-dependent code, whereas the algorithm is independent of EICrecon.
0022 
0023 Note that in some cases the algorithm name and factory name differ; typically this is because the algorithm is more widely used by other subsystems, but we needed a dRICH-specific factory.
0024 
0025 Refer to [tutorial 4](4-reconstruction-code-part-1.md) or [dRICH documentation](https://github.com/eic/EICrecon/blob/main/src/detectors/DRICH/README.md) for the list of algorithms and factories specific for the dRICH.
0026 
0027 ## Tour of the Code
0028 
0029 The remainder of this tutorial is a presentation and discussion of the algorithms, how they work, and what can be found where. See the tutorial recording.
0030 
0031 ### RICH geometry service
0032 `richgeo`:
0033 - aims to be the _only_ place where EICrecon algorithms can know which subsystem they are operating on
0034 - provides conversions of the DD4hep geometry to:
0035   - ACTS surfaces, for track propagation
0036   - Optical surfaces for IRT
0037 - also provides general features, such as:
0038   - enumeration of the radiators
0039   - readout geometry and visitor methods
0040 
0041 ### Algorithms
0042 - Digitization
0043 - Track propagation
0044 - IRT: `IrtCherenkovParticleID` and the underlying standalone `irt` code
0045 - Particle ID merging
0046 - Particle ID linking
0047 
0048 ### Benchmarks
0049 - Simulated hits
0050 - Raw hits
0051 - Cherenkov Particle ID
0052 - Reconstructed Particles