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

Digitization of the Monte Carlo hits of CALO based on IsCMOS readout. More...

#include <algorithms/digitization/CaloIsCMOSDigitizerAlgo.h>

Inheritance diagram for Herd::CaloIsCMOSDigitizerAlgo:

Public Member Functions

 CaloIsCMOSDigitizerAlgo (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

double GetGrayscaleHighGain (double eDep, unsigned int volumeID, CaloIsCMOSChannelInfo &chInfo)
 
double GetGrayscaleLowGain (double eDep, unsigned int volumeID, CaloIsCMOSChannelInfo &chInfo)
 
double GetNonLinHighGain (double grayscale)
 
double GetNonLinLowGain (double grayscale)
 
double GetRMSHighGain (double grayScale)
 
double GetRMSLowGain (double grayScale)
 

Private Attributes

EA::StorePtr m_evStore
 
EA::StorePtr m_globStore
 
std::mt19937 m_randomEngine
 
std::unique_ptr< std::normal_distribution< double > > m_distPedHG
 
std::unique_ptr< std::normal_distribution< double > > m_distPedLG
 
CaloHits m_hgfHits
 
CaloHits m_lgfHits
 
const double m_oneMIP = 0.0302
 
unsigned int m_seed = defaultValue<decltype(m_seed)>
 
float m_stddevPedHG = 20.
 
float m_stddevPedLG = 60.
 

Detailed Description

Digitization of the Monte Carlo hits of CALO based on IsCMOS readout.

Needed event objects:

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

Needed global objects:

name type store optional description
caloHGFChannelInfo CaloIsCMOSChannelInfo globStore no Channel info for high-gain IsCMOS fibers.
caloLGFChannelInfo CaloIsCMOSChannelInfo globStore no Channel info for low-gain IsCMOS fibers.

Produced event objects:

name alias type store description
caloHGFHitsMCDigitGrayscale caloHGFHitsGrayscale CaloHits evStore Digitized hits for high-gain fibers (grayscale).
caloLGFHitsMCDigitGrayscale caloLGFHitsGrayscale CaloHits evStore Digitized hits for low-gain fibers (grayscale).

Parameters:

name type default description
seed unsigned int random Seed for the random generator.
stddevPedHG float 20. Event-by-event pedestal fluctuation for high-gain fibers (grayscale).
stddevPedLG float 60. Event-by-event pedestal fluctuation for low-gain fibers (grayscale).

Constructor & Destructor Documentation

◆ CaloIsCMOSDigitizerAlgo()

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

Constructor.

Parameters
nameThe name of the algorithm.

Member Function Documentation

◆ GetGrayscaleHighGain()

double Herd::CaloIsCMOSDigitizerAlgo::GetGrayscaleHighGain ( double  eDep,
unsigned int  volumeID,
CaloIsCMOSChannelInfo chInfo 
)
private

◆ GetGrayscaleLowGain()

double Herd::CaloIsCMOSDigitizerAlgo::GetGrayscaleLowGain ( double  eDep,
unsigned int  volumeID,
CaloIsCMOSChannelInfo chInfo 
)
private

◆ GetNonLinHighGain()

double Herd::CaloIsCMOSDigitizerAlgo::GetNonLinHighGain ( double  grayscale)
private

◆ GetNonLinLowGain()

double Herd::CaloIsCMOSDigitizerAlgo::GetNonLinLowGain ( double  grayscale)
private

◆ GetRMSHighGain()

double Herd::CaloIsCMOSDigitizerAlgo::GetRMSHighGain ( double  grayScale)
private

◆ GetRMSLowGain()

double Herd::CaloIsCMOSDigitizerAlgo::GetRMSLowGain ( double  grayScale)
private

◆ Initialize()

bool Herd::CaloIsCMOSDigitizerAlgo::Initialize ( )
override

Initialization of the algorithm.

Returns
true if the initialization procedure is successful.

◆ Process()

bool Herd::CaloIsCMOSDigitizerAlgo::Process ( )
override

Process a single event.

Returns
If event processing is successful.

Member Data Documentation

◆ m_distPedHG

std::unique_ptr<std::normal_distribution<double> > Herd::CaloIsCMOSDigitizerAlgo::m_distPedHG
private

◆ m_distPedLG

std::unique_ptr<std::normal_distribution<double> > Herd::CaloIsCMOSDigitizerAlgo::m_distPedLG
private

◆ m_evStore

EA::StorePtr Herd::CaloIsCMOSDigitizerAlgo::m_evStore
private

◆ m_globStore

EA::StorePtr Herd::CaloIsCMOSDigitizerAlgo::m_globStore
private

◆ m_hgfHits

CaloHits Herd::CaloIsCMOSDigitizerAlgo::m_hgfHits
private

◆ m_lgfHits

CaloHits Herd::CaloIsCMOSDigitizerAlgo::m_lgfHits
private

◆ m_oneMIP

const double Herd::CaloIsCMOSDigitizerAlgo::m_oneMIP = 0.0302
private

◆ m_randomEngine

std::mt19937 Herd::CaloIsCMOSDigitizerAlgo::m_randomEngine
private

◆ m_seed

unsigned int Herd::CaloIsCMOSDigitizerAlgo::m_seed = defaultValue<decltype(m_seed)>
private

◆ m_stddevPedHG

float Herd::CaloIsCMOSDigitizerAlgo::m_stddevPedHG = 20.
private

◆ m_stddevPedLG

float Herd::CaloIsCMOSDigitizerAlgo::m_stddevPedLG = 60.
private

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