HerdSoftware  0.4.0
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, float eDepLpd, float eDepSpd, bool LPD=true)
 

Private Attributes

CaloHits m_caloLPDHits
 
CaloHits m_caloSPDHits
 
CaloLpdHits m_caloLpdHitsDigitizedIonization
 
CaloSpdHits m_caloSpdHitsDigitizedIonization
 
CaloHits m_caloLpdHitsDigitizedScintillation
 
CaloHits m_caloSpdHitsDigitizedScintillation
 
EA::observer_ptr< CaloPDChannelInfom_caloLPDChannelInfo
 
EA::observer_ptr< CaloPDChannelInfom_caloSPDChannelInfo
 
CaloPDEventChannelInfo m_caloLPDEventChannelInfo
 
CaloPDEventChannelInfo m_caloSPDEventChannelInfo
 
unsigned int m_seed
 
float m_mipToGeV
 
float m_lpdMipToGeV
 
float m_spdMipToGeV
 
std::unique_ptr< std::mt19937 > m_rdmEngine
 
bool m_pdHits = true
 
bool m_disentangleIonization = false
 
EA::StorePtr m_evStore
 
EA::StorePtr m_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 random Seed for the random generator.
MIPtoGeV float 0.028 MIP value [GeV]
disentangleIonization bool false save also LPD and SPD hits separately for scintillation and direct ionization contributions
directIonizationActive bool true activate the direct ionization in PDs

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,
float  eDepLpd,
float  eDepSpd,
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

◆ m_caloLPDChannelInfo

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

◆ m_caloLPDEventChannelInfo

CaloPDEventChannelInfo Herd::CaloPDDigitizerAlgo::m_caloLPDEventChannelInfo
private

◆ m_caloLPDHits

CaloHits Herd::CaloPDDigitizerAlgo::m_caloLPDHits
private

◆ m_caloLpdHitsDigitizedIonization

CaloLpdHits Herd::CaloPDDigitizerAlgo::m_caloLpdHitsDigitizedIonization
private

◆ m_caloLpdHitsDigitizedScintillation

CaloHits Herd::CaloPDDigitizerAlgo::m_caloLpdHitsDigitizedScintillation
private

◆ m_caloSPDChannelInfo

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

◆ m_caloSPDEventChannelInfo

CaloPDEventChannelInfo Herd::CaloPDDigitizerAlgo::m_caloSPDEventChannelInfo
private

◆ m_caloSPDHits

CaloHits Herd::CaloPDDigitizerAlgo::m_caloSPDHits
private

◆ m_caloSpdHitsDigitizedIonization

CaloSpdHits Herd::CaloPDDigitizerAlgo::m_caloSpdHitsDigitizedIonization
private

◆ m_caloSpdHitsDigitizedScintillation

CaloHits Herd::CaloPDDigitizerAlgo::m_caloSpdHitsDigitizedScintillation
private

◆ m_disentangleIonization

bool Herd::CaloPDDigitizerAlgo::m_disentangleIonization = false
private

◆ m_evStore

EA::StorePtr Herd::CaloPDDigitizerAlgo::m_evStore
private

◆ m_globStore

EA::StorePtr Herd::CaloPDDigitizerAlgo::m_globStore
private

◆ m_lpdMipToGeV

float Herd::CaloPDDigitizerAlgo::m_lpdMipToGeV
private

◆ m_mipToGeV

float Herd::CaloPDDigitizerAlgo::m_mipToGeV
private

◆ m_pdHits

bool Herd::CaloPDDigitizerAlgo::m_pdHits = true
private

◆ m_rdmEngine

std::unique_ptr<std::mt19937> Herd::CaloPDDigitizerAlgo::m_rdmEngine
private

◆ m_seed

unsigned int Herd::CaloPDDigitizerAlgo::m_seed
private

◆ m_spdMipToGeV

float Herd::CaloPDDigitizerAlgo::m_spdMipToGeV
private

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