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

Base algorithm which creates the information needed for the Calo PD read-out digitization. More...

#include <algorithms/digitization/CaloPDChannelInfoAlgo.h>

Inheritance diagram for Herd::CaloPDChannelInfoAlgo:

Classes

struct  gainRanges
 
struct  signalRanges
 

Public Member Functions

 CaloPDChannelInfoAlgo (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 FillCaloPDChannelInfo (std::default_random_engine &randGen, int nCubes, bool largePD)
 Fill the channel info object related to large or small PDs (see largePD parameter). More...
 

Private Attributes

signalRanges _meanNoise
 
signalRanges _varNoise
 
float _meanGainRatio
 
float _varGainRatio
 
float _meanLPDMIP
 
float _varLPDMIP
 
float _meanPDRatio
 
float _varPDRatio
 
float _meanPedestal
 
float _varPedestal
 
gainRanges _meanMaxVal
 
gainRanges _varMaxVal
 
unsigned int _seed
 
std::shared_ptr< CaloPDChannelInfo_caloLPDChannelInfo
 
std::shared_ptr< CaloPDChannelInfo_caloSPDChannelInfo
 
StorePtr _evStore
 
StorePtr _globStore
 

Detailed Description

Base algorithm which creates the information needed for the Calo PD read-out digitization.

This algo creates channel information for large and small PDs. It is abased on several values provided by teh user (e.g. the noise, MIP vlue...). The default values are very preliminary and are related to a tentative final configuration for the flight detector. The parameters strongly depends on several laboratory tests. Some details: the large PD is the new Excelitas prototype (no name so far); the small PD is VTP9412; the electronics is the HIDRA v.2 + TROC1-2. Last parameters update: 2020/08/20.

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
caloGeoParams CaloGeoParams globStore yes Geometric parameters of the Calo.

Produced global objects:

name alias type store description
caloLPDChannelInfoMC caloLPDChannelInfo CaloPDChannelInfo globStore Information related to channels connected to large PD
caloSPDChannelInfoMC caloSPDChannelInfo CalSPDChannelInfo globStore Information related to channels connected to small PD

Parameters:

name type default description
meanLPDHGNoise float 25 Average noise (i.e. the average of the RMS of pedestal distributions) of channels with large PDs for high gain.
varLPDHGNoise float 10 variation % (i.e. the variation channel by channel) of noise of channels with large PDs for high gain.
meanLPDLGNoise float 10 Average noise (i.e. the average of the RMS of pedestal distributions) of channels with large PDs for low gain.
varLPDLGNoise float 10 variation % (i.e. the variation channel by channel) of noise of channels with large PDs for low gain.
meanSPDHGNoise float 25 Average noise (i.e. the average of the RMS of pedestal distributions) of channels with small PDs for high gain.
varSPDHGNoise float 10 variation % (i.e. the variation channel by channel) of noise of channels with small PDs for high gain.
meanSPDLGNoise float 10 Average noise (i.e. the average of the RMS of pedestal distributions) of channels with small PDs for low gain.
varSPDLGNoise float 10 variation % (i.e. the variation channel by channel) of noise of channels with small PDs for low gain.
meanGainRatio float 20 Average ratio between high gain and low gain.
varGainRatio float 0.5 variation % (i.e. the variation channel by channel) of the ratio between high gain and low gain.
meanLPDMIP float 65 Average MIP of large PDs.
varLPDMIP float 10 variation % of MIP values for large PDs.
meanPDRatio float 1000 Average ratio between large and small PD
varPDRatio float 10 variation % of the ratio between large and small PD
meanPedestal float 18000 Average value of the pedestal
varPedestal float 1 variation % of the pedestal
meanHGmaxVal float 35000 Average saturation ADC value of the high gain
varHGmaxVal float 1 variation % of the saturation ADC value of the high gain
meanLGmaxVal float 52500 Average saturation ADC value of the low gain
varLGmaxVal float 5 variation % of the saturation ADC value of the low gain
seed unsigned int 1 main seed for the random generator

Constructor & Destructor Documentation

◆ CaloPDChannelInfoAlgo()

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

Constructor.

Parameters
nameThe name of the algorithm.

Member Function Documentation

◆ FillCaloPDChannelInfo()

void Herd::CaloPDChannelInfoAlgo::FillCaloPDChannelInfo ( std::default_random_engine &  randGen,
int  nCubes,
bool  largePD 
)
private

Fill the channel info object related to large or small PDs (see largePD parameter).

Parameters
randGenrandom generator used for the calculation of parameters.
largePDtrue if large PD information is filled, false if samll PD information is filled .
nCubestotal number of cubes.

◆ Initialize()

bool Herd::CaloPDChannelInfoAlgo::Initialize ( )
override

Initialization of the algorithm.

Returns
true if the initialization procedure is successful.

◆ Process()

bool Herd::CaloPDChannelInfoAlgo::Process ( )
override

Process a single event.

Returns
If event processing is successful.

Member Data Documentation

◆ _caloLPDChannelInfo

std::shared_ptr<CaloPDChannelInfo> Herd::CaloPDChannelInfoAlgo::_caloLPDChannelInfo
private

◆ _caloSPDChannelInfo

std::shared_ptr<CaloPDChannelInfo> Herd::CaloPDChannelInfoAlgo::_caloSPDChannelInfo
private

◆ _evStore

StorePtr Herd::CaloPDChannelInfoAlgo::_evStore
private

◆ _globStore

StorePtr Herd::CaloPDChannelInfoAlgo::_globStore
private

◆ _meanGainRatio

float Herd::CaloPDChannelInfoAlgo::_meanGainRatio
private

◆ _meanLPDMIP

float Herd::CaloPDChannelInfoAlgo::_meanLPDMIP
private

◆ _meanMaxVal

gainRanges Herd::CaloPDChannelInfoAlgo::_meanMaxVal
private

◆ _meanNoise

signalRanges Herd::CaloPDChannelInfoAlgo::_meanNoise
private

◆ _meanPDRatio

float Herd::CaloPDChannelInfoAlgo::_meanPDRatio
private

◆ _meanPedestal

float Herd::CaloPDChannelInfoAlgo::_meanPedestal
private

◆ _seed

unsigned int Herd::CaloPDChannelInfoAlgo::_seed
private

◆ _varGainRatio

float Herd::CaloPDChannelInfoAlgo::_varGainRatio
private

◆ _varLPDMIP

float Herd::CaloPDChannelInfoAlgo::_varLPDMIP
private

◆ _varMaxVal

gainRanges Herd::CaloPDChannelInfoAlgo::_varMaxVal
private

◆ _varNoise

signalRanges Herd::CaloPDChannelInfoAlgo::_varNoise
private

◆ _varPDRatio

float Herd::CaloPDChannelInfoAlgo::_varPDRatio
private

◆ _varPedestal

float Herd::CaloPDChannelInfoAlgo::_varPedestal
private

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