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

Algorithm which converts calo PD hit from ADC to GeV. More...

#include <algorithms/digitization/CaloPDCalibrationAlgo.h>

Inheritance diagram for Herd::CaloPDCalibrationAlgo:

Public Member Functions

 CaloPDCalibrationAlgo (const std::string &name)
 Constructor. More...
 
bool Initialize () override
 Initialization of the algorithm. More...
 
bool Process () override
 Process a single event. More...
 

Private Member Functions

void CalibrateHit (unsigned int iVect, unsigned int ID, float eDepADC, CaloPDEventChannelInfo::Flag channelLPDFlags, CaloPDEventChannelInfo::Flag channelSPDFlags, bool LPD)
 Calibrate hit and convert for ADC to GeV. More...
 

Private Attributes

std::shared_ptr< CaloHitsm_caloLPDHitsGeV
 
std::shared_ptr< CaloHitsm_caloSPDHitsGeV
 
std::shared_ptr< CaloHitsm_caloHitsGeV
 
EA::observer_ptr< CaloPDChannelInfom_caloLPDChannelInfo
 
EA::observer_ptr< CaloPDChannelInfom_caloSPDChannelInfo
 
float m_MIPtoGeV
 
bool m_calibrateStitchedRange
 
bool m_calibrateSinglePDs
 
EA::StorePtr m_evStore
 
EA::StorePtr m_globStore
 

Detailed Description

Algorithm which converts calo PD hit from ADC to GeV.

This algorithm converts the LYSO cube hit obtained with the digitization algorithm from ADC to GeV,. It uses the object produced by the digitizer algorithms. It can produce a single CaloHits objects, which contains the stitched hits, or two CaloHits, one for large PDs and one for small PDs. A stitched hit is the one of the LPD if LPD is not sturated, otherwise is the one of the SPD.

Needed event objects:

name type store optional description
caloLPDHitsADC CaloHits evStore no Calo signals read-out by large photo-diodes [ADC].
caloSPDHitsADC CaloHits evStore no Calo signals read-out by small photo-diodes [ADC].
caloLPDEventChannelInfo CaloPDEventChannelInfo evStore no Information about the large photo-diodes channels, event by event.
caloSPDEventChannelInfo CaloPDEventChannelInfo evStore no Information about the small photo-diodes channels, event by event.

Needed global objects:

name type store optional description
caloLPDChannelInfo CaloPDChannelInfo globStore no Information about large photo-diodes channels
caloSPDChannelInfo CaloPDChannelInfo globStore no Information about small photo-diodes channels

Produced event objects:

name alias type store description
caloLPDHitsMCDigitGeV caloLPDHitsGeV CaloHits evStore Calo signals read-out by large photo-diodes [GeV].
caloSPDHitsMCDigitGeV caloSPDHitsGeV CaloHits evStore Calo signals read-out by small photo-diodes [GeV].
caloHitsMCDigitGeV caloHitsGeV CaloHits evStore Calo signals read-out by LPD or SPD, depending on the saturation of LPD.

Parameters:

name type default description
MIPtoGeV float 0.028 MIP value [GeV]
calibrateStitchedRange bool true if true the algorithm produces the stitched Calo PD hits (i.e. a single hits vector which contains LPD or SPD signals).
calibrateSinglePDs bool false if true the algorithm produces two Calo PD hits, one for LPD and one for SPD.

Constructor & Destructor Documentation

◆ CaloPDCalibrationAlgo()

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

Constructor.

Parameters
nameThe name of the algorithm.

Member Function Documentation

◆ CalibrateHit()

void Herd::CaloPDCalibrationAlgo::CalibrateHit ( unsigned int  iVect,
unsigned int  ID,
float  eDepADC,
CaloPDEventChannelInfo::Flag  channelLPDFlags,
CaloPDEventChannelInfo::Flag  channelSPDFlags,
bool  LPD 
)
private

Calibrate hit and convert for ADC to GeV.

Parameters
iVectposition inside ADC vector
IDvolume ID.
eDepADCenergy deposit in ADC.
channelLPDFlagsstatus flags for LPD corresponding to this ID.
channelSPDFlagsstatus flags for SPD corresponding to this ID.
LPDtrue if this hit is related to Large PD, false otherwise.

◆ Initialize()

bool Herd::CaloPDCalibrationAlgo::Initialize ( )
override

Initialization of the algorithm.

Returns
true if the initialization procedure is successful.

◆ Process()

bool Herd::CaloPDCalibrationAlgo::Process ( )
override

Process a single event.

Returns
If event processing is successful.

Member Data Documentation

◆ m_calibrateSinglePDs

bool Herd::CaloPDCalibrationAlgo::m_calibrateSinglePDs
private

◆ m_calibrateStitchedRange

bool Herd::CaloPDCalibrationAlgo::m_calibrateStitchedRange
private

◆ m_caloHitsGeV

std::shared_ptr<CaloHits> Herd::CaloPDCalibrationAlgo::m_caloHitsGeV
private

◆ m_caloLPDChannelInfo

EA::observer_ptr<CaloPDChannelInfo> Herd::CaloPDCalibrationAlgo::m_caloLPDChannelInfo
private

◆ m_caloLPDHitsGeV

std::shared_ptr<CaloHits> Herd::CaloPDCalibrationAlgo::m_caloLPDHitsGeV
private

◆ m_caloSPDChannelInfo

EA::observer_ptr<CaloPDChannelInfo> Herd::CaloPDCalibrationAlgo::m_caloSPDChannelInfo
private

◆ m_caloSPDHitsGeV

std::shared_ptr<CaloHits> Herd::CaloPDCalibrationAlgo::m_caloSPDHitsGeV
private

◆ m_evStore

EA::StorePtr Herd::CaloPDCalibrationAlgo::m_evStore
private

◆ m_globStore

EA::StorePtr Herd::CaloPDCalibrationAlgo::m_globStore
private

◆ m_MIPtoGeV

float Herd::CaloPDCalibrationAlgo::m_MIPtoGeV
private

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