CbmRoot
Loading...
Searching...
No Matches
CbmRichDigitizer Class Reference

Class for producing RICH digis from from MCPoints. More...

#include <CbmRichDigitizer.h>

Inheritance diagram for CbmRichDigitizer:
[legend]
Collaboration diagram for CbmRichDigitizer:
[legend]

Public Types

typedef std::pair< std::unique_ptr< CbmRichDigi >, std::unique_ptr< CbmMatch > > Data
 Short for data to be handled (pair of digi and match)
 

Public Member Functions

 CbmRichDigitizer ()
 
virtual ~CbmRichDigitizer ()=default
 
 CbmRichDigitizer (const CbmRichDigitizer &)=delete
 
CbmRichDigitizeroperator= (const CbmRichDigitizer &)=delete
 
ECbmModuleId GetSystemId () const
 Detector system ID.
 
virtual InitStatus Init ()
 
virtual void Exec (Option_t *option)
 
virtual void Finish ()
 
void SetDetectorType (CbmRichPmtTypeEnum detType)
 
void SetTimeResolution (Double_t dt)
 
void SetPixelDeadTime (Double_t dt)
 Set pixel dead time between signals (without time smearing). The resulting dead time at digi level is approximately: pixel dead time - 2*5*time resolution (5 sigma from gauss smearing for 2 digis each).
 
void SetCrossTalkProbability (Double_t horizontal, Double_t vertical, Double_t diagonal)
 Set crosstalk probability for horizontal, vertical and diagonal directions.
 
void SetEventNoiseRate (Double_t noise)
 Set event noise rate per McRichPoint / per pixel / per second : nofNoiseSignals = nofRichPoints * nofPixels * event noise interval * (event noise rate / 1.e9);.
 
void SetEventNoiseInterval (Double_t dT)
 Set event noise interval in ns. Add noise signals from: current event time to current event time + event noise interval.
 
void SetDarkRatePerPixel (Double_t darkRate)
 
void SetClusterSignalProbability (Double_t intensity)
 Set charged particle cluster signal probability for direct neighbors. The probability for pixels further away decreases with 1/distance. Produced signals are limited to the same PMT as the source signal pixel and the defined cluster size.
 
void SetClusterSize (UInt_t size)
 Set cluster size for charged particle clusters. Resulting cluster size : (2*size + 1)*(2*size + 1) pixels.
 
void SetCollectionEfficiency (Double_t collEff)
 
Bool_t CheckOutput ()
 Check the output for being time-sorted.
 
Double_t GetLatency () const
 Return the detector specific latency @value latency.
 
void ClearOutput ()
 Clear the output arrays.
 
ULong64_t FillTimeSlice (CbmTimeSlice *timeSlice)
 Move data from the DaqBuffer into the current time slice.
 
ULong64_t FillTimeSlice (CbmTimeSlice *timeSlice, Double_t fillTime)
 Move data from the DaqBuffer into the current time slice.
 
ULong64_t GetDaqBufferSize () const
 Size of DAQ buffer @value Number of data in the DAQ buffer.
 
std::string GetDaqBufferStatus () const
 Debug output of DAQ buffer status @value String with status of DAQ buffer.
 
Double_t GetDaqBufferTimeFirst () const
 Time stamp of first data in the DAQ buffer @value Time stamp of first data in the DAQ buffer.
 
Double_t GetDaqBufferTimeLast () const
 Time stamp of last data in the DAQ buffer @value Time stamp of last data in the DAQ buffer.
 
void RegisterOutput ()
 Register the output arrays.
 
void SendData (Double_t time, CbmRichDigi *digi, CbmMatch *match=nullptr)
 Send a digi and the corresponding match object to the DAQ.
 
virtual void FillCustomData (Double_t, Bool_t=kTRUE)
 Fill custom data into time slice.
 
void GetEventInfo ()
 Get event information.
 
Double_t GetEventTime () const
 Current event time @value Start time of current event [ns].
 
void SetCreateMatches (Bool_t choice=kTRUE)
 Set creation of links to MC.
 
void SetEventMode (Bool_t choice=kTRUE)
 Set event-by-event mode.
 
void SetInactiveChannelFile (const char *fileName)
 Set the file containing the list of inactive channels.
 
void SetProduceNoise (Bool_t choice=kTRUE)
 Set production of inter-event noise.
 
void SetRunStartTime (Double_t time)
 Set the run start time.
 

Protected Member Functions

virtual std::pair< size_t, bool > ReadInactiveChannels ()
 Set of inactive channels, indicated by CbmAddress.
 

Protected Attributes

Bool_t fEventMode
 
Bool_t fProduceNoise
 Flag for event-by-event mode.
 
Bool_t fCreateMatches
 Flag for production of inter-event noise.
 
Double_t fRunStartTime = 0
 Flag for creation of links to MC.
 
Int_t fCurrentInput
 Start time of run [ns].
 
Int_t fCurrentEvent
 Number of current input.
 
Int_t fCurrentMCEntry
 Number of current MC event.
 
Double_t fCurrentEventTime
 Number of current MC entry.
 
TString fInactiveChannelFileName = ""
 Time of current MC event [ns].
 
std::set< uint32_t > fInactiveChannels = {}
 Name of file with inactive channels.
 

Private Member Functions

Int_t ProcessMcEvent ()
 Process current MC event.
 
void ProcessPoint (CbmRichPoint *point, Int_t pointId, Int_t eventNum, Int_t inputNum)
 
void AddSignalToBuffer (Int_t address, Double_t time, const CbmLink &link)
 
void AddCrossTalk (Int_t address, Double_t time, const CbmLink &link)
 Add crosstalk assuming fCrossTalkProbability. Only add maximum one cross talk signal per MC point. Limited to the same PMT as the source MC point.
 
void AddChargedParticleCluster (Int_t address, Double_t time, Int_t eventNum, Int_t inputNum)
 Add additional signals to nearby pixels if a charged particle directly passes through the PMT, given fClusterSignalProbability and fClusterSize. Limited to the same PMT. Currently independant of mass, momentum, etc.
 
void AddEventNoise (Int_t eventNum, Int_t inputNum)
 Add additional noise for each event based on fEventNoiseRate and fEventNoiseInterval.
 
void AddDarkRateNoise (Double_t oldEventTime, Double_t newEventTime)
 
Int_t ProcessBuffers (Double_t processTime)
 Process signals in all buffers until processTime. New Digis are only created until processTime - fPixelDeadTime, since potential links are not added to the buffer yet. Links are potentially added until processTime.
 
ULong64_t FillTimeSlice (CbmTimeSlice *timeSlice, Bool_t checkLimit, Double_t fillTime)
 Move data from the DaqBuffer into the current time slice.
 
bool IsChannelActive (const CbmRichDigi &digi)
 Test if the channel of a digi object is set active.
 
 ClassDef (CbmDigitize, 1)
 

Private Attributes

Int_t fEventNum {}
 
TClonesArray * fRichPoints {nullptr}
 
TClonesArray * fRichDigis {nullptr}
 
TClonesArray * fRichDigiMatches {nullptr}
 
TClonesArray * fMcTracks {nullptr}
 
Int_t fNofPoints {}
 
Int_t fNofDigis {}
 
Double_t fTimeTot {}
 
CbmRichPmt fPmt {}
 
CbmRichPmtTypeEnum fDetectorType {CbmRichPmtTypeCosy17NoWls}
 
Double_t fTimeResolution {1.}
 
Double_t fPixelDeadTime {50.}
 
std::array< Double_t, 3 > fCrossTalkProbability {0.02, 0.02, 0.005}
 
Double_t fEventNoiseRate {5.}
 
Double_t fEventNoiseInterval {50.}
 
Double_t fDarkRatePerPixel {1000.}
 
Double_t fClusterSignalProbability {0.37}
 
UInt_t fClusterSize {0}
 
std::map< Int_t, std::vector< std::pair< Double_t, CbmLink * > > > fSignalBuffer {}
 
std::map< Int_t, Double_t > fPixelsLastFiredTime {}
 
TString fBranchName
 Output branch name.
 
std::vector< CbmRichDigi > * fDigis
 
std::vector< CbmMatch > * fMatches
 Output array (Digi)
 
std::multimap< double, DatafDaqBuffer
 Output array (CbmMatch)
 

Detailed Description

Class for producing RICH digis from from MCPoints.

Author
S.Lebedev
Date
2015

Definition at line 37 of file CbmRichDigitizer.h.

Member Typedef Documentation

◆ Data

std::pair<std::unique_ptr<CbmRichDigi>, std::unique_ptr<CbmMatch> > CbmDigitize< CbmRichDigi >::Data
inherited

Short for data to be handled (pair of digi and match)

Definition at line 48 of file CbmDigitize.h.

Constructor & Destructor Documentation

◆ CbmRichDigitizer() [1/2]

CbmRichDigitizer::CbmRichDigitizer ( )
inline

Default constructor

Definition at line 40 of file CbmRichDigitizer.h.

◆ ~CbmRichDigitizer()

virtual CbmRichDigitizer::~CbmRichDigitizer ( )
virtualdefault

Destructor

◆ CbmRichDigitizer() [2/2]

CbmRichDigitizer::CbmRichDigitizer ( const CbmRichDigitizer & )
delete

Copy constructor (disabled)

Member Function Documentation

◆ AddChargedParticleCluster()

void CbmRichDigitizer::AddChargedParticleCluster ( Int_t address,
Double_t time,
Int_t eventNum,
Int_t inputNum )
private

Add additional signals to nearby pixels if a charged particle directly passes through the PMT, given fClusterSignalProbability and fClusterSize. Limited to the same PMT. Currently independant of mass, momentum, etc.

Definition at line 236 of file CbmRichDigitizer.cxx.

References AddSignalToBuffer(), fClusterSignalProbability, fClusterSize, CbmRichDigiMapManager::GetInstance(), and CbmRichDigiMapManager::GetNxNNeighbourPixels().

Referenced by ProcessPoint().

◆ AddCrossTalk()

void CbmRichDigitizer::AddCrossTalk ( Int_t address,
Double_t time,
const CbmLink & link )
private

Add crosstalk assuming fCrossTalkProbability. Only add maximum one cross talk signal per MC point. Limited to the same PMT as the source MC point.

Definition at line 202 of file CbmRichDigitizer.cxx.

References AddSignalToBuffer(), fCrossTalkProbability, CbmRichDigiMapManager::GetDiagonalNeighbourPixels(), CbmRichDigiMapManager::GetDirectNeighbourPixels(), and CbmRichDigiMapManager::GetInstance().

Referenced by ProcessPoint().

◆ AddDarkRateNoise()

void CbmRichDigitizer::AddDarkRateNoise ( Double_t oldEventTime,
Double_t newEventTime )
private

◆ AddEventNoise()

void CbmRichDigitizer::AddEventNoise ( Int_t eventNum,
Int_t inputNum )
private

◆ AddSignalToBuffer()

void CbmRichDigitizer::AddSignalToBuffer ( Int_t address,
Double_t time,
const CbmLink & link )
private

Add signal to signal buffer

Definition at line 197 of file CbmRichDigitizer.cxx.

References fSignalBuffer.

Referenced by AddChargedParticleCluster(), AddCrossTalk(), AddDarkRateNoise(), AddEventNoise(), and ProcessPoint().

◆ CheckOutput()

Bool_t CbmDigitize< CbmRichDigi >::CheckOutput ( )
inlinevirtualinherited

Check the output for being time-sorted.

Implements CbmDigitizeBase.

Definition at line 67 of file CbmDigitize.h.

◆ ClassDef()

CbmDigitize< CbmRichDigi >::ClassDef ( CbmDigitize< CbmRichDigi > ,
1  )
privateinherited

◆ ClearOutput()

void CbmDigitize< CbmRichDigi >::ClearOutput ( )
inlinevirtualinherited

Clear the output arrays.

Implements CbmDigitizeBase.

Definition at line 96 of file CbmDigitize.h.

◆ Exec()

◆ FillCustomData()

virtual void CbmDigitizeBase::FillCustomData ( Double_t ,
Bool_t = kTRUE )
inlinevirtualinherited

Fill custom data into time slice.

Parameters
fillTimeTime until data can be filled
limitIf kTRUE, only data up to fillTime will be treated; otherwise, all.

This method allows the digitizer to implement additional functionality than writing digis and match objects. It will be called from CbmDaq.

Definition at line 75 of file CbmDigitizeBase.h.

◆ FillTimeSlice() [1/3]

ULong64_t CbmDigitize< CbmRichDigi >::FillTimeSlice ( CbmTimeSlice * timeSlice)
inlinevirtualinherited

Move data from the DaqBuffer into the current time slice.

Parameters
timeSlicePointer to current time slice object @value Number of digi objects filled into the time slice.

For regular time slices, all data with time stamp within the interval of the current time slice are moved from the buffer to the time slice. For time slices of type kFlexible or kEvent, all data will be moved.

Implements CbmDigitizeBase.

Definition at line 114 of file CbmDigitize.h.

◆ FillTimeSlice() [2/3]

ULong64_t CbmDigitize< CbmRichDigi >::FillTimeSlice ( CbmTimeSlice * timeSlice,
Bool_t checkLimit,
Double_t fillTime )
inlineprivateinherited

Move data from the DaqBuffer into the current time slice.

Parameters
timeSlicePointer to current time slice object
fillTimeTime up to which data will be moved [ns] @value Number of digi objects filled into the time slice.

For regular time slices, all data with time stamp within the interval of the current time slice are moved from the buffer to the time slice. For time slices of type kFlexible or kEvent, all data will be moved.

If checkLimit is selected, only data with time stamp less than fillTime are moved.

Definition at line 273 of file CbmDigitize.h.

◆ FillTimeSlice() [3/3]

ULong64_t CbmDigitize< CbmRichDigi >::FillTimeSlice ( CbmTimeSlice * timeSlice,
Double_t fillTime )
inlinevirtualinherited

Move data from the DaqBuffer into the current time slice.

Parameters
timeSlicePointer to current time slice object
fillTimeTime up to which data will be moved [ns] @value Number of digi objects filled into the time slice.

Move data with time stamp up to fillTime from the buffer to the time slice. For regular time slices, only data with time stamp within the time slice interval will be moved. For time slices of type kFlexible or kEvent, all data up to fillTime will be moved.

Implements CbmDigitizeBase.

Definition at line 129 of file CbmDigitize.h.

◆ Finish()

void CbmRichDigitizer::Finish ( )
virtual

Inherited from FairTask

Definition at line 116 of file CbmRichDigitizer.cxx.

References CbmDigitizeBase::fEventMode, fEventNum, fNofDigis, fNofPoints, fTimeTot, and ProcessBuffers().

◆ GetDaqBufferSize()

ULong64_t CbmDigitize< CbmRichDigi >::GetDaqBufferSize ( ) const
inlinevirtualinherited

Size of DAQ buffer @value Number of data in the DAQ buffer.

Implements CbmDigitizeBase.

Definition at line 140 of file CbmDigitize.h.

◆ GetDaqBufferStatus()

std::string CbmDigitize< CbmRichDigi >::GetDaqBufferStatus ( ) const
inlinevirtualinherited

Debug output of DAQ buffer status @value String with status of DAQ buffer.

Implements CbmDigitizeBase.

Definition at line 148 of file CbmDigitize.h.

◆ GetDaqBufferTimeFirst()

Double_t CbmDigitize< CbmRichDigi >::GetDaqBufferTimeFirst ( ) const
inlinevirtualinherited

Time stamp of first data in the DAQ buffer @value Time stamp of first data in the DAQ buffer.

Implements CbmDigitizeBase.

Definition at line 162 of file CbmDigitize.h.

◆ GetDaqBufferTimeLast()

Double_t CbmDigitize< CbmRichDigi >::GetDaqBufferTimeLast ( ) const
inlinevirtualinherited

Time stamp of last data in the DAQ buffer @value Time stamp of last data in the DAQ buffer.

Implements CbmDigitizeBase.

Definition at line 174 of file CbmDigitize.h.

◆ GetEventInfo()

void CbmDigitizeBase::GetEventInfo ( )
inherited

Get event information.

MC input number, entry number and event time are taken from FairEventHeader and stored in the private data members for convenience. Note that the MC entry number need not coincide with the event number, for instance if the run does not start with the first MC entry, or in the case of mixed MC inputs to digitization.

Definition at line 57 of file CbmDigitizeBase.cxx.

References CbmDigitizeBase::fCurrentEvent, CbmDigitizeBase::fCurrentEventTime, CbmDigitizeBase::fCurrentInput, and CbmDigitizeBase::fCurrentMCEntry.

Referenced by CbmBmonDigitize::Exec(), CbmFsdDigitize::Exec(), CbmMuchDigitizeGem::Exec(), CbmMvdDigitizer::Exec(), CbmPsdSimpleDigitizer::Exec(), Exec(), CbmStsDigitize::Exec(), CbmStsDigitizePixel::Exec(), CbmTofDigitize::Exec(), and CbmTrdDigitizer::Exec().

◆ GetEventTime()

Double_t CbmDigitizeBase::GetEventTime ( ) const
inlineinherited

Current event time @value Start time of current event [ns].

Definition at line 113 of file CbmDigitizeBase.h.

References CbmDigitizeBase::fCurrentEventTime.

◆ GetLatency()

Double_t CbmDigitize< CbmRichDigi >::GetLatency ( ) const
inlinevirtualinherited

Return the detector specific latency @value latency.

If there is no detector sopecific implementation the return value is 0. which does not change the default value set in CbmDaq.

Implements CbmDigitizeBase.

Definition at line 92 of file CbmDigitize.h.

◆ GetSystemId()

ECbmModuleId CbmRichDigitizer::GetSystemId ( ) const
inlinevirtual

Detector system ID.

Returns
kRich

Implements CbmDigitizeBase.

Definition at line 55 of file CbmRichDigitizer.h.

References kRich.

◆ Init()

◆ IsChannelActive()

bool CbmDigitize< CbmRichDigi >::IsChannelActive ( const CbmRichDigi & digi)
inlineprivateinherited

Test if the channel of a digi object is set active.

Parameters
digiobject
Returns
.true. if the respective channel is active

Definition at line 350 of file CbmDigitize.h.

◆ operator=()

CbmRichDigitizer & CbmRichDigitizer::operator= ( const CbmRichDigitizer & )
delete

Assignment operator (disabled)

◆ ProcessBuffers()

Int_t CbmRichDigitizer::ProcessBuffers ( Double_t processTime)
private

Process signals in all buffers until processTime. New Digis are only created until processTime - fPixelDeadTime, since potential links are not added to the buffer yet. Links are potentially added until processTime.

Parameters
processTimetime in ns
Returns
Number of Digis sent to DAQ

Definition at line 286 of file CbmRichDigitizer.cxx.

References CbmMatch::AddLink(), CbmDigitizeBase::fCreateMatches, fPixelDeadTime, fPixelsLastFiredTime, fSignalBuffer, fTimeResolution, CbmRichDigi::GetTime(), CbmDigitize< CbmRichDigi >::SendData(), CbmRichDigi::SetAddress(), and CbmRichDigi::SetTime().

Referenced by Exec(), and Finish().

◆ ProcessMcEvent()

Int_t CbmRichDigitizer::ProcessMcEvent ( )
private

Process current MC event.

Returns
Number of processed RichPoints.

Definition at line 142 of file CbmRichDigitizer.cxx.

References AddEventNoise(), CbmDigitizeBase::fCurrentEvent, CbmDigitizeBase::fCurrentEventTime, CbmDigitizeBase::fCurrentInput, CbmDigitizeBase::fCurrentMCEntry, fRichPoints, and ProcessPoint().

Referenced by Exec().

◆ ProcessPoint()

void CbmRichDigitizer::ProcessPoint ( CbmRichPoint * point,
Int_t pointId,
Int_t eventNum,
Int_t inputNum )
private

◆ ReadInactiveChannels()

std::pair< size_t, bool > CbmDigitizeBase::ReadInactiveChannels ( )
protectedvirtualinherited

Set of inactive channels, indicated by CbmAddress.

Read the list of inactive channels from file

Parameters
fileNameFile name
Returns
Number of channels read from file, success of file reading

Reading from the file will stop when a read error occurs. In that case, or when the file could not be opened at all, the success flag will be .false.

Reimplemented in CbmStsDigitize.

Definition at line 80 of file CbmDigitizeBase.cxx.

References CbmDigitizeBase::fInactiveChannelFileName, and CbmDigitizeBase::fInactiveChannels.

Referenced by CbmBmonDigitize::Init(), CbmMuchDigitizeGem::Init(), CbmMvdDigitizer::Init(), CbmPsdSimpleDigitizer::Init(), Init(), CbmTofDigitize::Init(), and CbmTrdDigitizer::Init().

◆ RegisterOutput()

void CbmDigitize< CbmRichDigi >::RegisterOutput ( )
inlineinherited

Register the output arrays.

Arrays for the digis and the match objects will be created and registered as output to the ROOT tree. The current implementation uses std::vector as container.

Definition at line 189 of file CbmDigitize.h.

Referenced by Init().

◆ SendData()

void CbmDigitize< CbmRichDigi >::SendData ( Double_t time,
CbmRichDigi * digi,
CbmMatch * match = nullptr )
inlineinherited

Send a digi and the corresponding match object to the DAQ.

Parameters
timeGlobal time of the digi
digiPointer to digi object (template parameter)
matchPointer to match object

Time is passed as a seperate parameter because the global time might be too large for some digi classes to store internally. So digis are not required to have a valid timestamp at this point. Later on when the time slices are known, the timestamp is overwritten with the relative time to the beginning of the time slice.

TODO: The interface should be unique pointers, meaning that the digitisers have to create objects by unique pointers from the start.

Definition at line 237 of file CbmDigitize.h.

Referenced by ProcessBuffers().

◆ SetClusterSignalProbability()

void CbmRichDigitizer::SetClusterSignalProbability ( Double_t intensity)
inline

Set charged particle cluster signal probability for direct neighbors. The probability for pixels further away decreases with 1/distance. Produced signals are limited to the same PMT as the source signal pixel and the defined cluster size.

Definition at line 112 of file CbmRichDigitizer.h.

References fClusterSignalProbability.

◆ SetClusterSize()

void CbmRichDigitizer::SetClusterSize ( UInt_t size)
inline

Set cluster size for charged particle clusters. Resulting cluster size : (2*size + 1)*(2*size + 1) pixels.

Definition at line 118 of file CbmRichDigitizer.h.

References fClusterSize, and size().

◆ SetCollectionEfficiency()

void CbmRichDigitizer::SetCollectionEfficiency ( Double_t collEff)
inline

Set collection efficiency for photoelectrons in PMT optics

Definition at line 121 of file CbmRichDigitizer.h.

References fPmt, and CbmRichPmt::SetCollectionEfficiency().

◆ SetCreateMatches()

void CbmDigitizeBase::SetCreateMatches ( Bool_t choice = kTRUE)
inlineinherited

Set creation of links to MC.

Parameters
ChoiceIf kTRUE, the match objects will be created

Definition at line 154 of file CbmDigitizeBase.h.

References CbmDigitizeBase::fCreateMatches.

Referenced by CbmStsDigitizePixel::Init(), and CbmDigitization::Run().

◆ SetCrossTalkProbability()

void CbmRichDigitizer::SetCrossTalkProbability ( Double_t horizontal,
Double_t vertical,
Double_t diagonal )
inline

Set crosstalk probability for horizontal, vertical and diagonal directions.

Parameters
horizontalprobability of crosstalk for direct horizontal pixels
verticalprobability of crosstalk for direct vertical pixels
diagonalprobability of crosstalk for direct diagonal pixels

Definition at line 85 of file CbmRichDigitizer.h.

References fCrossTalkProbability.

◆ SetDarkRatePerPixel()

void CbmRichDigitizer::SetDarkRatePerPixel ( Double_t darkRate)
inline

Set dark rate per pixel in Hz

Definition at line 105 of file CbmRichDigitizer.h.

References fDarkRatePerPixel.

◆ SetDetectorType()

void CbmRichDigitizer::SetDetectorType ( CbmRichPmtTypeEnum detType)
inline

Set detector type

Definition at line 67 of file CbmRichDigitizer.h.

References fDetectorType.

◆ SetEventMode()

void CbmDigitizeBase::SetEventMode ( Bool_t choice = kTRUE)
inlineinherited

Set event-by-event mode.

Parameters
ChoiceIf kTRUE, the digitizer will run in event-by-event mode

Definition at line 160 of file CbmDigitizeBase.h.

References CbmDigitizeBase::fEventMode.

Referenced by CbmDigitization::Run().

◆ SetEventNoiseInterval()

void CbmRichDigitizer::SetEventNoiseInterval ( Double_t dT)
inline

Set event noise interval in ns. Add noise signals from: current event time to current event time + event noise interval.

Definition at line 102 of file CbmRichDigitizer.h.

References fEventNoiseInterval.

◆ SetEventNoiseRate()

void CbmRichDigitizer::SetEventNoiseRate ( Double_t noise)
inline

Set event noise rate per McRichPoint / per pixel / per second : nofNoiseSignals = nofRichPoints * nofPixels * event noise interval * (event noise rate / 1.e9);.

Definition at line 96 of file CbmRichDigitizer.h.

References fEventNoiseRate.

◆ SetInactiveChannelFile()

void CbmDigitizeBase::SetInactiveChannelFile ( const char * fileName)
inlineinherited

Set the file containing the list of inactive channels.

Parameters
fileNameName of file

Channels are identified by their CbmAddress. The file must contain a list of addresses, one per line. Comments after the address are allowed if separated by a blank.

Definition at line 169 of file CbmDigitizeBase.h.

References CbmDigitizeBase::fInactiveChannelFileName.

◆ SetPixelDeadTime()

void CbmRichDigitizer::SetPixelDeadTime ( Double_t dt)
inline

Set pixel dead time between signals (without time smearing). The resulting dead time at digi level is approximately: pixel dead time - 2*5*time resolution (5 sigma from gauss smearing for 2 digis each).

Definition at line 77 of file CbmRichDigitizer.h.

References fPixelDeadTime.

◆ SetProduceNoise()

void CbmDigitizeBase::SetProduceNoise ( Bool_t choice = kTRUE)
inlineinherited

Set production of inter-event noise.

Parameters
ChoiceIf kTRUE, the digitizer will produce noise

Definition at line 175 of file CbmDigitizeBase.h.

References CbmDigitizeBase::fProduceNoise.

Referenced by CbmDigitization::Run().

◆ SetRunStartTime()

void CbmDigitizeBase::SetRunStartTime ( Double_t time)
inlineinherited

Set the run start time.

Parameters
Runstart time [ns]

Definition at line 181 of file CbmDigitizeBase.h.

References CbmDigitizeBase::fRunStartTime.

Referenced by CbmDigitization::Run().

◆ SetTimeResolution()

void CbmRichDigitizer::SetTimeResolution ( Double_t dt)
inline

Set time resolution for digis

Definition at line 70 of file CbmRichDigitizer.h.

References fTimeResolution.

Member Data Documentation

◆ fBranchName

TString CbmDigitize< CbmRichDigi >::fBranchName
privateinherited

Output branch name.

Definition at line 248 of file CbmDigitize.h.

◆ fClusterSignalProbability

Double_t CbmRichDigitizer::fClusterSignalProbability {0.37}
private

Definition at line 149 of file CbmRichDigitizer.h.

Referenced by AddChargedParticleCluster(), and SetClusterSignalProbability().

◆ fClusterSize

UInt_t CbmRichDigitizer::fClusterSize {0}
private

Definition at line 150 of file CbmRichDigitizer.h.

Referenced by AddChargedParticleCluster(), ProcessPoint(), and SetClusterSize().

◆ fCreateMatches

◆ fCrossTalkProbability

std::array<Double_t, 3> CbmRichDigitizer::fCrossTalkProbability {0.02, 0.02, 0.005}
private

Definition at line 145 of file CbmRichDigitizer.h.

Referenced by AddCrossTalk(), and SetCrossTalkProbability().

◆ fCurrentEvent

◆ fCurrentEventTime

◆ fCurrentInput

◆ fCurrentMCEntry

◆ fDaqBuffer

std::multimap<double, Data> CbmDigitize< CbmRichDigi >::fDaqBuffer
privateinherited

Output array (CbmMatch)

DAQ buffer. Here, the digis and matches are buffered until they are filled into the time slice output (ROOT branch). The map key is the digi time.

Definition at line 257 of file CbmDigitize.h.

◆ fDarkRatePerPixel

Double_t CbmRichDigitizer::fDarkRatePerPixel {1000.}
private

Definition at line 148 of file CbmRichDigitizer.h.

Referenced by AddDarkRateNoise(), and SetDarkRatePerPixel().

◆ fDetectorType

CbmRichPmtTypeEnum CbmRichDigitizer::fDetectorType {CbmRichPmtTypeCosy17NoWls}
private

Definition at line 139 of file CbmRichDigitizer.h.

Referenced by ProcessPoint(), and SetDetectorType().

◆ fDigis

std::vector<CbmRichDigi>* CbmDigitize< CbmRichDigi >::fDigis
privateinherited

Definition at line 249 of file CbmDigitize.h.

◆ fEventMode

◆ fEventNoiseInterval

Double_t CbmRichDigitizer::fEventNoiseInterval {50.}
private

Definition at line 147 of file CbmRichDigitizer.h.

Referenced by AddEventNoise(), and SetEventNoiseInterval().

◆ fEventNoiseRate

Double_t CbmRichDigitizer::fEventNoiseRate {5.}
private

Definition at line 146 of file CbmRichDigitizer.h.

Referenced by AddEventNoise(), and SetEventNoiseRate().

◆ fEventNum

Int_t CbmRichDigitizer::fEventNum {}
private

Set additional smearing of MC Points due to light scattering in mirror

Definition at line 127 of file CbmRichDigitizer.h.

Referenced by Exec(), and Finish().

◆ fInactiveChannelFileName

◆ fInactiveChannels

std::set<uint32_t> CbmDigitizeBase::fInactiveChannels = {}
protectedinherited

◆ fMatches

std::vector<CbmMatch>* CbmDigitize< CbmRichDigi >::fMatches
privateinherited

Output array (Digi)

Definition at line 250 of file CbmDigitize.h.

◆ fMcTracks

TClonesArray* CbmRichDigitizer::fMcTracks {nullptr}
private

Definition at line 132 of file CbmRichDigitizer.h.

Referenced by Init(), and ProcessPoint().

◆ fNofDigis

Int_t CbmRichDigitizer::fNofDigis {}
private

Definition at line 135 of file CbmRichDigitizer.h.

Referenced by Exec(), and Finish().

◆ fNofPoints

Int_t CbmRichDigitizer::fNofPoints {}
private

Definition at line 134 of file CbmRichDigitizer.h.

Referenced by Exec(), and Finish().

◆ fPixelDeadTime

Double_t CbmRichDigitizer::fPixelDeadTime {50.}
private

Definition at line 142 of file CbmRichDigitizer.h.

Referenced by ProcessBuffers(), and SetPixelDeadTime().

◆ fPixelsLastFiredTime

std::map<Int_t, Double_t> CbmRichDigitizer::fPixelsLastFiredTime {}
private

Definition at line 155 of file CbmRichDigitizer.h.

Referenced by Exec(), and ProcessBuffers().

◆ fPmt

CbmRichPmt CbmRichDigitizer::fPmt {}
private

Definition at line 138 of file CbmRichDigitizer.h.

Referenced by ProcessPoint(), and SetCollectionEfficiency().

◆ fProduceNoise

Bool_t CbmDigitizeBase::fProduceNoise
protectedinherited

Flag for event-by-event mode.

Definition at line 186 of file CbmDigitizeBase.h.

Referenced by Exec(), CbmStsDigitize::InitParams(), CbmStsDigitizePixel::InitParams(), and CbmDigitizeBase::SetProduceNoise().

◆ fRichDigiMatches

TClonesArray* CbmRichDigitizer::fRichDigiMatches {nullptr}
private

Definition at line 131 of file CbmRichDigitizer.h.

◆ fRichDigis

TClonesArray* CbmRichDigitizer::fRichDigis {nullptr}
private

Definition at line 130 of file CbmRichDigitizer.h.

◆ fRichPoints

TClonesArray* CbmRichDigitizer::fRichPoints {nullptr}
private

Definition at line 129 of file CbmRichDigitizer.h.

Referenced by AddEventNoise(), Init(), and ProcessMcEvent().

◆ fRunStartTime

Double_t CbmDigitizeBase::fRunStartTime = 0
protectedinherited

Flag for creation of links to MC.

Definition at line 188 of file CbmDigitizeBase.h.

Referenced by Exec(), CbmStsDigitize::Exec(), and CbmDigitizeBase::SetRunStartTime().

◆ fSignalBuffer

std::map<Int_t, std::vector<std::pair<Double_t, CbmLink*> > > CbmRichDigitizer::fSignalBuffer {}
private

Definition at line 153 of file CbmRichDigitizer.h.

Referenced by AddSignalToBuffer(), and ProcessBuffers().

◆ fTimeResolution

Double_t CbmRichDigitizer::fTimeResolution {1.}
private

Definition at line 141 of file CbmRichDigitizer.h.

Referenced by ProcessBuffers(), and SetTimeResolution().

◆ fTimeTot

Double_t CbmRichDigitizer::fTimeTot {}
private

Definition at line 136 of file CbmRichDigitizer.h.

Referenced by Exec(), and Finish().


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