CellMaker
Purpose
Create Cells from Monte Carlo Particles and store to the TES.
Cells are a simple model of the calorimeter.
Cells
Cells are Atlfast physics output entities which correspond to energy deposits in the Calorimeter
CellMaker Overview
The DefaultReconstructedParticleMaker is an Athena-Algorithm which is created at the start of a job and executed once per event.
The following three public methods are executed by Athena, and are needed to honour the IAlgorithm interface
- initialise() - create helper classes and declare any jobOptions properties
- execute() - perform the algorithm's function once per event
- finalise() - perform any end of job tasks
The algorithm performs a number of steps to create Cells.
- Retrieve the relevant Monte Carlo HepMC::Particles from the TES
- If particle lies in Calorimeter acceptance, calculate which Cell is struck
- Add energy to Cell and keep a reference to the particle
- Store all Cells above pT threshold on the TES
Cell Maker has a number of helper classes which it uses to perform these tasks,
all of which are shown in the CellMaker/Calorimeter class diagram.
- Calorimeter suite - consists of Calorimeter, CalSections and Cells which represent the spatial layout of the calorimeter
- PtCutter - removes low pT particles that spiral in the magnetic field without hitting the calorimeter
- MagField - calculates phi bending in the B field
- ICellSelector - select cells with pT above a threshold
- TesIO - used to perform input/output to the TES
User Requirements Satisfied
The design fulfills requirements 3.1.3 if the
ARD.
CellMaker Detail
jobOptions Properties
jobOptions properties are steering parameters which can be set by the user in
the jobOptions file.
They are declared in the constructor and initialised to
Default Values
The options for this algorithm are
- InputLocation - location on the TES of input MC particles
- OutputLocation - location on the TES of output Cells
- EtaCoverage - eta coverage of the calorimeter
- MinETCell - Cell eT threshold level
- BarrelForwardEta - eta value of the barrel/forward region boundary
- GranBarrelEta - eta granularity of calorimeter in the barrel
- GranBarrelPhi - phi granularity of calorimeter in the barrel
- GranForwardEta - eta granularity of calorimeter in the forward region
- GranForwardPhi - phi granularity of calorimeter in the forward region
- BFieldON - magnetic field flag (on/off)
- MCSelectorInd - Flag to choose MCSelector
Initialisation
The initialise method is called once at the beginning of the job.
It is here that the helper classes are instantiated.
The Calorimeter is instantiated with three calorimeter sections,
the PtCutter cuts on particles of less then 0.5 GeV.
CellMaker initialisation sequence diagram
Execution
The execute sequence diagram shows the following activites which result
when the execute method of CellMaker are called:
- MC Particles are read in from the TES, these are
- Final State
- Not muon or invisible (user selectable; usually
neutrinos, could have other eg SuperSymmetry
particles added to the list)
- Passing Magnetic field Cuts
(0.5 Gev for charged particles)
- Passing photon momentum cuts (0.0 GeV default)
- The low momentum particles are removed by the PtCutter object
- Delta Phi due to the magnetic field is calculated
- A vector of STL pairs is passed to the Calorimeter. The pair
contains the phi at the calorimeter, and the HepMC particle
- The calorimeter removes invisibles and muons, and passes to the
vector to CalSections (forward end-cap, barrel, backward end-cap)
- If the particle lies within the acceptance of the calorimeter section, the cell struck by the particle is calculated
- For this cell
- The particle counter is incremented by one.
- The sum of the Pt is incremented by the Pt of the particle.
- The particle is stored.
- After processing all the particles, CellMaker requests a list of all cells satisfying the ICellSelector requirement
- The cells above a pT threshold are stored in the TES
- All cells are then reset
CellMaker execution
sequence diagram
Class Diagram
The various classes discussed above are shown in the class diagram.
CellMaker class diagram