HerdSoftware  0.1.1
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< CaloHits_caloLPDHitsGeV
 
std::shared_ptr< CaloHits_caloSPDHitsGeV
 
std::shared_ptr< CaloHits_caloHitsGeV
 
observer_ptr< CaloPDChannelInfo_caloLPDChannelInfo
 
observer_ptr< CaloPDChannelInfo_caloSPDChannelInfo
 
float _MIPtoGeV
 
bool _calibrateStitchedRange
 
bool _calibrateSinglePDs
 
StorePtr _evStore
 
StorePtr _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

◆ _calibrateSinglePDs

bool Herd::CaloPDCalibrationAlgo::_calibrateSinglePDs
private

◆ _calibrateStitchedRange

bool Herd::CaloPDCalibrationAlgo::_calibrateStitchedRange
private

◆ _caloHitsGeV

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

◆ _caloLPDChannelInfo

observer_ptr<CaloPDChannelInfo> Herd::CaloPDCalibrationAlgo::_caloLPDChannelInfo
private

◆ _caloLPDHitsGeV

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

◆ _caloSPDChannelInfo

observer_ptr<CaloPDChannelInfo> Herd::CaloPDCalibrationAlgo::_caloSPDChannelInfo
private

◆ _caloSPDHitsGeV

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

◆ _evStore

StorePtr Herd::CaloPDCalibrationAlgo::_evStore
private

◆ _globStore

StorePtr Herd::CaloPDCalibrationAlgo::_globStore
private

◆ _MIPtoGeV

float Herd::CaloPDCalibrationAlgo::_MIPtoGeV
private

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