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

Algorithm for digitizers of the Monte Carlo hits of Calo based on a preliminary Pd readout. More...

#include <algorithms/digitization/CaloPDDigitizerAlgo.h>

Inheritance diagram for Herd::CaloPDDigitizerAlgo:

Public Member Functions

 CaloPDDigitizerAlgo (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 DigitizeHit (unsigned int ID, float EDep, bool LPD=true)
 

Private Attributes

CaloHits _caloLPDHits
 
CaloHits _caloSPDHits
 
observer_ptr< CaloPDChannelInfo_caloLPDChannelInfo
 
observer_ptr< CaloPDChannelInfo_caloSPDChannelInfo
 
CaloPDEventChannelInfo _caloLPDEventChannelInfo
 
CaloPDEventChannelInfo _caloSPDEventChannelInfo
 
unsigned int _seed
 
float _MIPtoGeV
 
std::unique_ptr< std::default_random_engine > _rdmEngine
 
StorePtr _evStore
 
StorePtr _globStore
 

Detailed Description

Algorithm for digitizers of the Monte Carlo hits of Calo based on a preliminary Pd readout.

This algorithm converts the energy deposit in a LYSO cube from GeV obtained with the MC simulation to ADC, taking into account several parameter regarding the photodiodes (PD) and the front-end electronics. It is based on several laboratory test performed in 2019/2020 using the HIDRA chips, version 2. Each PD is connected to a dedicated HIDRA channel. The ACQ system is based on the TROC2-1 boards. Brief HIDRA description (see the data-sheet): "The HIDRA-2 ASIC includes 16 frontend channels, based on a pulsed reset Charge Sensitive Amplifier (CSA) with automatic double-gain selection, followed by a Correlated Double Sampling (CDS) filter, and a self-trigger circuitry that provides a differential CMOS output for each pair of channels".

Needed event objects:

name type store optional description
caloHitsMC CaloHits evStore no The hits in the Calo produced by MC simulation.

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
caloLPDHitsMCDigitADC caloLPDHitsADC CaloHits evStore Calo signals read-out by large photo-diodes [ADC].
caloSPDHitsMCDigitADC caloSPDHitsADC CaloHits evStore Calo signals read-out by small photo-diodes [ADC].
caloLPDEventChannelInfoMCDigitADC caloLPDEventChannelInfo CaloPDEventChannelInfo evStore Information about the large photo-diodes channels, event by event.
caloSPDEventChannelInfoMCDigitADC caloSPDEventChannelInfo CaloPDEventChannelInfo evStore Information about the small photo-diodes channels, event by event.

Parameters:

name type default description
seed unsigned int 1 main seed for the random generator
MIPtoGeV float 0.028 MIP value [GeV]

Constructor & Destructor Documentation

◆ CaloPDDigitizerAlgo()

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

Constructor.

Parameters
nameThe name of the algorithm.

Member Function Documentation

◆ DigitizeHit()

void Herd::CaloPDDigitizerAlgo::DigitizeHit ( unsigned int  ID,
float  EDep,
bool  LPD = true 
)
private

◆ Initialize()

bool Herd::CaloPDDigitizerAlgo::Initialize ( )
override

Initialization of the algorithm.

Returns
true if the initialization procedure is successful.

◆ Process()

bool Herd::CaloPDDigitizerAlgo::Process ( )
override

Process a single event.

Returns
If event processing is successful.

Member Data Documentation

◆ _caloLPDChannelInfo

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

◆ _caloLPDEventChannelInfo

CaloPDEventChannelInfo Herd::CaloPDDigitizerAlgo::_caloLPDEventChannelInfo
private

◆ _caloLPDHits

CaloHits Herd::CaloPDDigitizerAlgo::_caloLPDHits
private

◆ _caloSPDChannelInfo

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

◆ _caloSPDEventChannelInfo

CaloPDEventChannelInfo Herd::CaloPDDigitizerAlgo::_caloSPDEventChannelInfo
private

◆ _caloSPDHits

CaloHits Herd::CaloPDDigitizerAlgo::_caloSPDHits
private

◆ _evStore

StorePtr Herd::CaloPDDigitizerAlgo::_evStore
private

◆ _globStore

StorePtr Herd::CaloPDDigitizerAlgo::_globStore
private

◆ _MIPtoGeV

float Herd::CaloPDDigitizerAlgo::_MIPtoGeV
private

◆ _rdmEngine

std::unique_ptr<std::default_random_engine> Herd::CaloPDDigitizerAlgo::_rdmEngine
private

◆ _seed

unsigned int Herd::CaloPDDigitizerAlgo::_seed
private

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