HerdSoftware  0.3.2
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 _leakRadius
 internal variable More...
 
float _leakDepth
 internal variable More...
 
float _leakThreshold
 internal variable More...
 
float _edepThreshold
 internal variable More...
 
observer_ptr< EventDataStore > _evStore
 
observer_ptr< GlobalDataStore > _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

◆ _edepThreshold

float Herd::CaloAxisPointingCorrLeakageAlgo::_edepThreshold
private

internal variable

◆ _evStore

observer_ptr<EventDataStore> Herd::CaloAxisPointingCorrLeakageAlgo::_evStore
private

◆ _globStore

observer_ptr<GlobalDataStore> Herd::CaloAxisPointingCorrLeakageAlgo::_globStore
private

◆ _leakDepth

float Herd::CaloAxisPointingCorrLeakageAlgo::_leakDepth
private

internal variable

◆ _leakRadius

float Herd::CaloAxisPointingCorrLeakageAlgo::_leakRadius
private

internal variable

◆ _leakThreshold

float Herd::CaloAxisPointingCorrLeakageAlgo::_leakThreshold
private

internal variable


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