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