PandaRoot
BSEmcIdealDigitizationProcess Class Reference

Smears BSEmcMCDeposit energy and forms BSEmcDigi if energy above threshold. More...

#include <BSEmcIdealDigitizationProcess.h>

Inheritance diagram for BSEmcIdealDigitizationProcess:
PndProcess BSEmcShashlikIdealDigitizationProcess

Public Member Functions

 BSEmcIdealDigitizationProcess ()
 
virtual ~BSEmcIdealDigitizationProcess ()
 
virtual void RequestDataContainer (PndContainerRegister *t_register)
 Pass the container register to the process, and get the processes container requirements. More...
 
virtual void GetDataContainer (PndContainerRegister *t_register)
 Pass the container register to the process, and set the processes container requirements. More...
 
virtual void SetDetectorName (const std::string &t_detectorName)
 Set the Detector name. Important, as most EmcParameter need to know for which detector they need to be fetched (each Emc Subdetector has its own set of parameters) More...
 
virtual void SetupParameters (const PndParameterRegister *t_paramRegister)
 Fetch all parameters from the PndParameterRegister. More...
 
virtual void Process ()
 The actual data transformation (digitizing, clustering, etc.) should be defined here. More...
 
std::vector< BSEmcDigi * > DigitizeDeposits (const std::vector< const BSEmcMCDeposit *> &t_mcdepCont)
 
BSEmcDigiDigitizeDeposit (const BSEmcMCDeposit *t_dep, Int_t t_depIndex)
 
void SetReadoutType (const std::string &t_readout)
 
void SetDigiParName (const std::string &t_parName)
 
void SetMCDepositBranchName (const TString &t_branchname)
 
void SetDigiBranchName (const TString &t_branchname)
 
- Public Member Functions inherited from PndProcess
 PndProcess ()
 
 PndProcess (const std::string &t_processname)
 
virtual ~PndProcess ()
 
const std::vector< std::string > & GetListOfRequiredParameters () const
 Get the List Of Required Parameters. More...
 
virtual void PreProcess ()
 PreProcess() is called before the actual Process() call in each event. More...
 
virtual void PostProcess ()
 Immediately after calling Process() PostProcess() is called for cleanup of internal process data, or if not needed, to end the time and memory increase measurement started by PreProcess() More...
 
virtual void TearDown ()
 Last actions at the end of the run. More...
 

Protected Attributes

TString fMCDepositBranchname {""}
 
TString fDigiBranchname {""}
 
std::string fDigiParName {""}
 
std::string fReadOut {""}
 
Int_t fUseDigiEffectiveSmearing {-1}
 
Double_t fEnergyDigiThreshold {-1}
 
Double_t fDetectedPhotonsPerMeV {-1}
 
Double_t fQuantumEfficiency {-1}
 
Double_t fExcessNoiseFactor {-1}
 
Double_t fIncoherentElecNoiseWidthGeV {-1}
 
Double_t fNPhotoElectronsPerMeV {-1}
 
Double_t fNoiseOverNElectrons {-1}
 
std::string fMCDepositBranchName {""}
 
PndContainerI< BSEmcMCDeposit > * fMCDepositArray {nullptr}
 
PndMutableContainerI< BSEmcDigi > * fDigiArray {nullptr}
 
- Protected Attributes inherited from PndProcess
std::vector< std::string > fParameterList {}
 Parameter names required by this PndProcess. Needs to be populated in derived class. More...
 
std::string fDetectorName {""}
 Set Detector name this PndProcess transforms data for. Required for example by EMC Processes to fetch right parameters. More...
 
std::string fProcessName {"PndProcess"}
 Name of current PndProcess (for debugging) More...
 
TStopwatch fTimer {}
 Timer to monitor Process() time. More...
 
Double_t fTotalTime {0}
 Time taken by this Process' Process() More...
 
ProcInfo_t fProcInfo
 Helper to access cpu process Memory Info. More...
 
Long_t fLastMemSize
 

Detailed Description

Smears BSEmcMCDeposit energy and forms BSEmcDigi if energy above threshold.

Based on PndEmcMakeDigi Energy Threshold and smearing parameters in BSEmcDigiPar

Author
Ben Salisbury salis.nosp@m.bury.nosp@m.@hisk.nosp@m.p.un.nosp@m.i-bon.nosp@m.n.de, HISKP Bonn
Date
2021-01

Definition at line 35 of file BSEmcIdealDigitizationProcess.h.

Constructor & Destructor Documentation

◆ BSEmcIdealDigitizationProcess()

BSEmcIdealDigitizationProcess::BSEmcIdealDigitizationProcess ( )

◆ ~BSEmcIdealDigitizationProcess()

virtual BSEmcIdealDigitizationProcess::~BSEmcIdealDigitizationProcess ( )
virtual

Member Function Documentation

◆ DigitizeDeposit()

BSEmcDigi* BSEmcIdealDigitizationProcess::DigitizeDeposit ( const BSEmcMCDeposit t_dep,
Int_t  t_depIndex 
)

◆ DigitizeDeposits()

std::vector<BSEmcDigi *> BSEmcIdealDigitizationProcess::DigitizeDeposits ( const std::vector< const BSEmcMCDeposit *> &  t_mcdepCont)

◆ GetDataContainer()

virtual void BSEmcIdealDigitizationProcess::GetDataContainer ( PndContainerRegister )
virtual

Pass the container register to the process, and set the processes container requirements.

Parameters
t_register

Reimplemented from PndProcess.

◆ Process()

virtual void BSEmcIdealDigitizationProcess::Process ( )
virtual

The actual data transformation (digitizing, clustering, etc.) should be defined here.

Implements PndProcess.

◆ RequestDataContainer()

virtual void BSEmcIdealDigitizationProcess::RequestDataContainer ( PndContainerRegister )
virtual

Pass the container register to the process, and get the processes container requirements.

Parameters
t_register

Reimplemented from PndProcess.

◆ SetDetectorName()

virtual void BSEmcIdealDigitizationProcess::SetDetectorName ( const std::string &  t_detectorname)
virtual

Set the Detector name. Important, as most EmcParameter need to know for which detector they need to be fetched (each Emc Subdetector has its own set of parameters)

Parameters
t_detectorname

Reimplemented from PndProcess.

◆ SetDigiBranchName()

void BSEmcIdealDigitizationProcess::SetDigiBranchName ( const TString &  t_branchname)
inline

Definition at line 49 of file BSEmcIdealDigitizationProcess.h.

References fDigiBranchname.

◆ SetDigiParName()

void BSEmcIdealDigitizationProcess::SetDigiParName ( const std::string &  t_parName)
inline

Definition at line 47 of file BSEmcIdealDigitizationProcess.h.

References fDigiParName.

◆ SetMCDepositBranchName()

void BSEmcIdealDigitizationProcess::SetMCDepositBranchName ( const TString &  t_branchname)
inline

Definition at line 48 of file BSEmcIdealDigitizationProcess.h.

References fMCDepositBranchname.

◆ SetReadoutType()

void BSEmcIdealDigitizationProcess::SetReadoutType ( const std::string &  t_readout)
inline

Definition at line 46 of file BSEmcIdealDigitizationProcess.h.

References fReadOut.

46 { fReadOut = t_readout; }

◆ SetupParameters()

virtual void BSEmcIdealDigitizationProcess::SetupParameters ( const PndParameterRegister t_parameter)
virtual

Fetch all parameters from the PndParameterRegister.

Parameters
t_parameter

Implements PndProcess.

Member Data Documentation

◆ fDetectedPhotonsPerMeV

Double_t BSEmcIdealDigitizationProcess::fDetectedPhotonsPerMeV {-1}
protected

Definition at line 59 of file BSEmcIdealDigitizationProcess.h.

◆ fDigiArray

PndMutableContainerI<BSEmcDigi>* BSEmcIdealDigitizationProcess::fDigiArray {nullptr}
protected

Definition at line 67 of file BSEmcIdealDigitizationProcess.h.

◆ fDigiBranchname

TString BSEmcIdealDigitizationProcess::fDigiBranchname {""}
protected

Definition at line 53 of file BSEmcIdealDigitizationProcess.h.

Referenced by SetDigiBranchName().

◆ fDigiParName

std::string BSEmcIdealDigitizationProcess::fDigiParName {""}
protected

Definition at line 55 of file BSEmcIdealDigitizationProcess.h.

Referenced by SetDigiParName().

◆ fEnergyDigiThreshold

Double_t BSEmcIdealDigitizationProcess::fEnergyDigiThreshold {-1}
protected

Definition at line 58 of file BSEmcIdealDigitizationProcess.h.

◆ fExcessNoiseFactor

Double_t BSEmcIdealDigitizationProcess::fExcessNoiseFactor {-1}
protected

Definition at line 61 of file BSEmcIdealDigitizationProcess.h.

◆ fIncoherentElecNoiseWidthGeV

Double_t BSEmcIdealDigitizationProcess::fIncoherentElecNoiseWidthGeV {-1}
protected

Definition at line 62 of file BSEmcIdealDigitizationProcess.h.

◆ fMCDepositArray

PndContainerI<BSEmcMCDeposit>* BSEmcIdealDigitizationProcess::fMCDepositArray {nullptr}
protected

Definition at line 66 of file BSEmcIdealDigitizationProcess.h.

◆ fMCDepositBranchname

TString BSEmcIdealDigitizationProcess::fMCDepositBranchname {""}
protected

Definition at line 52 of file BSEmcIdealDigitizationProcess.h.

Referenced by SetMCDepositBranchName().

◆ fMCDepositBranchName

std::string BSEmcIdealDigitizationProcess::fMCDepositBranchName {""}
protected

Definition at line 65 of file BSEmcIdealDigitizationProcess.h.

◆ fNoiseOverNElectrons

Double_t BSEmcIdealDigitizationProcess::fNoiseOverNElectrons {-1}
protected

Definition at line 64 of file BSEmcIdealDigitizationProcess.h.

◆ fNPhotoElectronsPerMeV

Double_t BSEmcIdealDigitizationProcess::fNPhotoElectronsPerMeV {-1}
protected

Definition at line 63 of file BSEmcIdealDigitizationProcess.h.

◆ fQuantumEfficiency

Double_t BSEmcIdealDigitizationProcess::fQuantumEfficiency {-1}
protected

Definition at line 60 of file BSEmcIdealDigitizationProcess.h.

◆ fReadOut

std::string BSEmcIdealDigitizationProcess::fReadOut {""}
protected

Definition at line 56 of file BSEmcIdealDigitizationProcess.h.

Referenced by SetReadoutType().

◆ fUseDigiEffectiveSmearing

Int_t BSEmcIdealDigitizationProcess::fUseDigiEffectiveSmearing {-1}
protected

Definition at line 57 of file BSEmcIdealDigitizationProcess.h.


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