Warning, /tutorial-reconstruction-algorithms/episodes/01-introduction.md is written in an unsupported language. File is not indexed.
0001 ---
0002 title: "Introduction"
0003 teaching: 5
0004 exercises: 0
0005 ---
0006
0007 ::::::::::::::::::::::::::::::::::::::::::::: questions
0008
0009 - What is the physics goal of the reconstruction algorithm we will build?
0010 - What information do we need to accomplish this goal?
0011
0012 :::::::::::::::::::::::::::::::::::::::::::::
0013
0014 ::::::::::::::::::::::::::::::::::::::::::::: objectives
0015
0016 - Define the physics goal of a new reconstruction algorithm.
0017 - Identify what information is needed to accomplish this goal.
0018
0019 :::::::::::::::::::::::::::::::::::::::::::::
0020
0021 ## Background
0022
0023 ### The simulation-reconstruction-analysis pipeline
0024
0025 The ePIC software pipeline consists of the following stages.
0026
0027 1. Event generation
0028 2. Simulation
0029 3. Digitization (eventually)
0030 4. Reconstruction
0031 5. Analysis
0032
0033 This tutorial focuses exclusively on the reconstruction stage and the EICrecon software package. At the highest conceptual level, EICrecon's inputs are simulated (and eventually, optionally digitized) detector hits, and the outputs are reconstructed tracks and particle identifications. Internally, EICrecon uses a data model and software architecture which is designed to cleanly separate dozens of different reconstruction algorithms and facilitate reconfiguring them and reusing them according to users' needs.
0034
0035
0036 ### Levels of user interaction with reconstruction
0037
0038 Depending on how a user contributes to ePIC, their level of interaction with EICrecon will vary. We identify four distinct patterns, or levels of interaction:
0039
0040 1. Performing analyses using the reconstructed data as-is
0041 2. Modifying an algorithm's parameters and re-running the reconstruction
0042 3. Applying an existing algorithm to a fresh context
0043 4. Adding a new algorithm
0044
0045 This tutorial is designed to be most helpful for users doing (3) or (4), although users at all levels will benefit from the deeper understanding of EICrecon's architecture.
0046
0047 ## Motivating example: simple electron ID with E/p cut
0048
0049 One key ingredient in electron ID is the ratio of the energy deposited in the calorimeter (E) to the momentum of the particle track (p). For electrons, this should be close to 1. We want to implement a rudimentary electron ID algorithm by identifying particles that satisfy 0.9 < E/p < 1.2.
0050
0051 ### What information is required?
0052
0053 This simple electron ID algorithm requires three pieces of information, which will be obtained from pre-existing algorithms/factories:
0054
0055 - Reconstructed tracks
0056 - Calorimeter clusters
0057 - Matching between tracks and clusters
0058
0059 Matching between tracks and clusters can be obtained from truth information, or from track projections.
0060
0061 - In the former case, the reconstructed tracks and clusters are matched through their association to the same MC particle.
0062 - In the latter case, a matching criteria is applied to the position of the calorimeter cluster and the projected position of the track at the calorimeter.
0063 For the purposes of this tutorial, we will use truth matching.
0064
0065 The input and output objects of our factory should be stored as PODIO collections.
0066
0067 - Reconstructed tracks are stored as a collection of `edm4eic::ReconstructedParticle`
0068 - Calorimeter clusters are stored as a collection of `edm4eic::Cluster`
0069 - Associations between reconstructed tracks and MC particles are stored as a collection of `edm4eic::MCRecoParticleAssociation`
0070 - Associations between calorimeter clusters and MC particles are stored as a collection of `edm4eic:MCRecoClusterParticleAssociation`
0071
0072 The members of each of these data types can be found in `edm4eic.yaml` in the `EDM4eic` repository.
0073
0074 ::::::::::::::::::::::::::::::::::::::::::::: keypoints
0075
0076 - This tutorial builds a simple electron-ID algorithm that selects particles with 0.9 < E/p < 1.2.
0077 - The algorithm needs reconstructed tracks, calorimeter clusters, and a track-to-cluster matching (here, truth matching).
0078 - Inputs and outputs are stored as PODIO collections such as `edm4eic::ReconstructedParticle` and `edm4eic::Cluster`.
0079
0080 :::::::::::::::::::::::::::::::::::::::::::::