HerdSoftware  0.4.0
Public Member Functions | Private Member Functions | Private Attributes | List of all members
Herd::CaloAxisPointingCorrLeakageAlgo Class Reference

Algorithm for correction of Calorimeter axis pointing. More...

#include <algorithms/tracking/CaloAxis/CaloAxisPointingCorrLeakageAlgo.h>

Inheritance diagram for Herd::CaloAxisPointingCorrLeakageAlgo:

Public Member Functions

 CaloAxisPointingCorrLeakageAlgo (const std::string &name)
 Constructor. More...
 
bool Initialize () override
 Initialization of the algorithm. More...
 
bool Process () override
 Process a single event. More...
 
bool Finalize () override
 Post processing part. More...
 

Private Member Functions

bool ApplyCorrection (Track &caloAxis, const CaloGeoParams &geoParams)
 Apply the correction. More...
 

Private Attributes

float m_leakRadius
 internal variable More...
 
float m_leakDepth
 internal variable More...
 
float m_leakThreshold
 internal variable More...
 
float m_edepThreshold
 internal variable More...
 
EA::observer_ptr< EA::EventDataStore > m_evStore
 
EA::observer_ptr< EA::GlobalDataStore > m_globStore
 

Detailed Description

Algorithm for correction of Calorimeter axis pointing.

This algorithm reconstructs the Calorimeter Axis pointing (i.e. changes only the sign of the direction 3D vector) for events with large energy leakage, for which the shower pointing direction may be wrongly reconstructed. The algorithm identifies ill-reconstructed events by the analysis of the energy deposit at the entry and exit part of the shower, where the entry and exit points are defined by the shower pointing provided by CaloAxis. Based on the ratio between exit and entry deposit energy, the algorithm flips the shower pointing.

Warning: the algorithm is preliminary and works only for largely leaking events. It is suggested to apply it only for events with this expected feature, such as protons with energies larger than 1 TeV.

Needed event objects:

name type store required description
caloGeoParams CaloGeoParams globStore yes Calorimeter Geometrical Parameters.
caloAxes Tracks evStore yes Calorimeter Axis collection.

Produced event objects:

name type alias store description
caloAxes_correctedPointing_leakage Tracks caloAxes evStore The collection of CaloAxis objects with corrected pointings.

Parameters:

name type default value description
leakRadius float 6.8 Radius around the shower axis used to compute the energy deposit at entry/exit point.
leakDepth float 6.8 Distance from the entry/exit point used to compute the energy deposit at entry/exit point.
leakThreshold float 0.3 If exit/entry energies < leakThreshold then apply the correction.
edepThreshold float 0.2 The threshold to be applied to each single CALO hit.

Constructor & Destructor Documentation

◆ CaloAxisPointingCorrLeakageAlgo()

Herd::CaloAxisPointingCorrLeakageAlgo::CaloAxisPointingCorrLeakageAlgo ( const std::string &  name)

Constructor.

Parameters
nameThe name of the algorithm

Member Function Documentation

◆ ApplyCorrection()

bool Herd::CaloAxisPointingCorrLeakageAlgo::ApplyCorrection ( Track caloAxis,
const CaloGeoParams geoParams 
)
private

Apply the correction.

◆ Finalize()

bool Herd::CaloAxisPointingCorrLeakageAlgo::Finalize ( )
override

Post processing part.

Returns
If post-processing is successful.

◆ Initialize()

bool Herd::CaloAxisPointingCorrLeakageAlgo::Initialize ( )
override

Initialization of the algorithm.

Returns
true if the initialization procedure is successful.

◆ Process()

bool Herd::CaloAxisPointingCorrLeakageAlgo::Process ( )
override

Process a single event.

Returns
If event processing is successful.

Member Data Documentation

◆ m_edepThreshold

float Herd::CaloAxisPointingCorrLeakageAlgo::m_edepThreshold
private

internal variable

◆ m_evStore

EA::observer_ptr<EA::EventDataStore> Herd::CaloAxisPointingCorrLeakageAlgo::m_evStore
private

◆ m_globStore

EA::observer_ptr<EA::GlobalDataStore> Herd::CaloAxisPointingCorrLeakageAlgo::m_globStore
private

◆ m_leakDepth

float Herd::CaloAxisPointingCorrLeakageAlgo::m_leakDepth
private

internal variable

◆ m_leakRadius

float Herd::CaloAxisPointingCorrLeakageAlgo::m_leakRadius
private

internal variable

◆ m_leakThreshold

float Herd::CaloAxisPointingCorrLeakageAlgo::m_leakThreshold
private

internal variable


The documentation for this class was generated from the following files: