HerdSoftware  0.3.2
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
Herd::CaloTwoThreshShowerAlgo Class Reference

Algorithm for Calorimeter Shower reconstruction starting from a given Axis Direction. More...

#include <algorithms/reconstruction/CaloTwoThreshShowerAlgo.h>

Inheritance diagram for Herd::CaloTwoThreshShowerAlgo:

Classes

struct  UsedObjects
 Helper struct to keep track of the object used in the shower reconstruction. More...
 

Public Member Functions

 CaloTwoThreshShowerAlgo (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 BuildShower (const CaloHits &, Line showeraxis, const UsedObjects &usedObjects)
 Build Shower. More...
 

Private Attributes

bool m_processCalo
 Flag variable to instruct the algorithm to process the whole calo hit collection instead of separate CaloClusters. More...
 
float m_edepThreshold
 Threshold (in GeV) for energy deposit in CALO hits. Only hits above threshold are used to build the CaloShower. More...
 
std::string m_caloHitsName
 Name of the CaloHits collections to be used for reconstruction. More...
 
std::string m_trackAxisType
 Type of existing track used for Shower reconstruction. More...
 
bool m_axisInversion
 Flag variable to Invert the direction of the selected trackAxisType. More...
 
std::string m_objName {"caloShowers"}
 
std::shared_ptr< CaloShowersm_caloShowers
 Pointer to CaloShowers objects. More...
 
observer_ptr< EventDataStore > m_evStore
 
observer_ptr< GlobalDataStore > m_globStore
 

Detailed Description

Algorithm for Calorimeter Shower reconstruction starting from a given Axis Direction.

This algorithm builds CaloShower objects starting from CALO hits and a line defining the longitudinal direction. The line can be either a CALO axis or the MC true trajectory. The shower start point is reconstructed by means of a two-thresholds algorithm, currently provided by the Reconstruction::CaloTwoThreshShowerStartingPoint function.

Needed event objects:

name type store required description
caloGeoParams CaloGeoParams globStore Calorimeter geometrical parameters.
caloClusters CaloClusters evStore if processCalo=false Calorimeter clusters.
<caloHitsName> CaloHits evStore if processCalo=true Calorimeter hit collection.
caloAxes CaloAxes evStore if trackAxisType=caloAxisThe CALO axes object.
mcTruth MCTruth evStore if trackAxisType=mcTrack Montecarlo truth.

Produced event objects:

name -type- alias store description
caloShowers{MC,CA}(_Inv) CaloShowers caloShowers evStore The collection of CaloShower objects.

Parameters:

name type default value description
processCalo bool false If true, neglect CaloClusters and process the collection of CaloHits of the whole Calo
edepThreshold float 0.20 Energy deposit threshold (in GeV) for CaloHits to enter the reconstruction algorithm
caloHitsName string caloHitsGeV Name of the CaloHits collection used for reconstruction. Possible suggested solutions are: caloHitsGeV; caloHitsGGS.
trackAxisType string caloAxis Type of existing track used for Shower reconstruction. Possible values are: caloAxis; mcTrack
axisInversion bool false If true, the versus of the track used for Shower reconstruction is inverted

Constructor & Destructor Documentation

◆ CaloTwoThreshShowerAlgo()

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

Constructor.

Parameters
nameThe name of the algorithm

Member Function Documentation

◆ BuildShower()

bool Herd::CaloTwoThreshShowerAlgo::BuildShower ( const CaloHits calohits,
Line  showeraxis,
const UsedObjects usedObjects 
)
private

Build Shower.

◆ Finalize()

bool Herd::CaloTwoThreshShowerAlgo::Finalize ( )
override

Post processing part.

Returns
If post-processing is successful.

◆ Initialize()

bool Herd::CaloTwoThreshShowerAlgo::Initialize ( )
override

Initialization of the algorithm.

Returns
true if the initialization procedure is successful.

◆ Process()

bool Herd::CaloTwoThreshShowerAlgo::Process ( )
override

Process a single event.

Returns
If event processing is successful.

Member Data Documentation

◆ m_axisInversion

bool Herd::CaloTwoThreshShowerAlgo::m_axisInversion
private

Flag variable to Invert the direction of the selected trackAxisType.

◆ m_caloHitsName

std::string Herd::CaloTwoThreshShowerAlgo::m_caloHitsName
private

Name of the CaloHits collections to be used for reconstruction.

◆ m_caloShowers

std::shared_ptr<CaloShowers> Herd::CaloTwoThreshShowerAlgo::m_caloShowers
private

Pointer to CaloShowers objects.

◆ m_edepThreshold

float Herd::CaloTwoThreshShowerAlgo::m_edepThreshold
private

Threshold (in GeV) for energy deposit in CALO hits. Only hits above threshold are used to build the CaloShower.

◆ m_evStore

observer_ptr<EventDataStore> Herd::CaloTwoThreshShowerAlgo::m_evStore
private

◆ m_globStore

observer_ptr<GlobalDataStore> Herd::CaloTwoThreshShowerAlgo::m_globStore
private

◆ m_objName

std::string Herd::CaloTwoThreshShowerAlgo::m_objName {"caloShowers"}
private

◆ m_processCalo

bool Herd::CaloTwoThreshShowerAlgo::m_processCalo
private

Flag variable to instruct the algorithm to process the whole calo hit collection instead of separate CaloClusters.

◆ m_trackAxisType

std::string Herd::CaloTwoThreshShowerAlgo::m_trackAxisType
private

Type of existing track used for Shower reconstruction.


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