BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
BmnGemRaw2Digit Class Reference

#include <BmnGemRaw2Digit.h>

Inheritance diagram for BmnGemRaw2Digit:
Collaboration diagram for BmnGemRaw2Digit:

Classes

struct  BmnGemMap
struct  GemMapLine

Public Types

typedef std::array< BmnGemMap, N_CH_BUF > StripMapArray
typedef map< int32_t, GemMapLine * > InChanMap
typedef std::array< BmnGemMap, N_CH_BUF > StripMapArray
typedef map< int32_t, GemMapLine * > InChanMap

Public Member Functions

 BmnGemRaw2Digit (Int_t period, Int_t run, TString mapFileName, BmnSetup bmnSetup=kBMNSETUP)
 ~BmnGemRaw2Digit ()
BmnStatus FillEvent (TClonesArray *adc, TClonesArray *gem)
BmnStatus FillProfiles (TClonesArray *adc)
BmnStatus FillNoisyChannels ()
 BmnGemRaw2Digit (Int_t period, Int_t run, TString mapFileName, BmnSetup bmnSetup=kBMNSETUP)
 ~BmnGemRaw2Digit ()
BmnStatus FillEvent (TClonesArray *adc, TClonesArray *gem)
BmnStatus FillProfiles (TClonesArray *adc)
BmnStatus FillNoisyChannels ()
Public Member Functions inherited from BmnAdcProcessor
 BmnAdcProcessor (uint32_t period, uint32_t run, TString det, uint16_t nCh, const uint16_t nSmpl, BmnSetup setup=kBMNSETUP)
virtual ~BmnAdcProcessor ()
BmnStatus RecalculatePedestals ()
BmnStatus RecalculatePedestalsAugmented ()
void PrecalcEventMods (TClonesArray *adc)
void PrecalcEventMods_simd (TClonesArray *adc)
void CalcEventMods ()
void CalcEventMods_simd ()
Double_t CalcCMS (Double_t *samples, Int_t size)
BmnStatus SaveFilterInfo (TFile *cTalibFile)
BmnStatus LoadFilterInfo (TFile *cTalibFile)
Double_t **** GetPedData ()
void SetApplyThreshold (bool b)
bool GetApplyThreshold ()
size_t GetNSerials ()
const uint16_t GetNChannels ()
const uint16_t GetNSamples ()
Float_t GetPedestal (uint32_t iSer, Int_t ch, Int_t smpl)
Float_t *** GetPedestals ()
Double_t *** GetPedestalsRMS ()
Bool_t *** GetNoisyChipChannels ()
uint32_t GetPeriod ()
uint32_t GetRun ()
Int_t GetVerbose ()
void SetVerbose (Int_t v)
vector< uint32_t > & GetSerials ()
unordered_map< uint32_t, size_t > & GetSerialMap ()
uint32_t GetBoundaryRun (uint16_t nSmpl)
void SetEvForPedestals (uint32_t v)
uint32_t GetEvForPedestals ()
TString & GetDetName ()
void DrawDebugHists ()
void DrawDebugHists2D ()
void ClearDebugHists ()
void CopyData2PedMap (TClonesArray *adc, UInt_t ev)
void SetThreshold (Double_t final_thr, Double_t thr_dif=-1, Double_t n_iters=-1, Double_t cmod_cut=-1)
 BmnAdcProcessor (uint32_t period, uint32_t run, TString det, uint16_t nCh, const uint16_t nSmpl, BmnSetup setup=kBMNSETUP)
virtual ~BmnAdcProcessor ()
BmnStatus RecalculatePedestals ()
BmnStatus RecalculatePedestalsAugmented ()
void PrecalcEventMods (TClonesArray *adc)
void PrecalcEventMods_simd (TClonesArray *adc)
void CalcEventMods ()
void CalcEventMods_simd ()
Double_t CalcCMS (Double_t *samples, Int_t size)
BmnStatus SaveFilterInfo (TFile *cTalibFile)
BmnStatus LoadFilterInfo (TFile *cTalibFile)
Double_t **** GetPedData ()
void SetApplyThreshold (bool b)
bool GetApplyThreshold ()
size_t GetNSerials ()
const uint16_t GetNChannels ()
const uint16_t GetNSamples ()
Float_t GetPedestal (uint32_t iSer, Int_t ch, Int_t smpl)
Float_t *** GetPedestals ()
Double_t *** GetPedestalsRMS ()
Bool_t *** GetNoisyChipChannels ()
uint32_t GetPeriod ()
uint32_t GetRun ()
Int_t GetVerbose ()
void SetVerbose (Int_t v)
vector< uint32_t > & GetSerials ()
unordered_map< uint32_t, size_t > & GetSerialMap ()
uint32_t GetBoundaryRun (uint16_t nSmpl)
void SetEvForPedestals (uint32_t v)
uint32_t GetEvForPedestals ()
TString & GetDetName ()
void DrawDebugHists ()
void DrawDebugHists2D ()
void ClearDebugHists ()
void CopyData2PedMap (TClonesArray *adc, UInt_t ev)
void SetThreshold (Double_t final_thr, Double_t thr_dif=-1, Double_t n_iters=-1, Double_t cmod_cut=-1)

Private Types

typedef map< uint8_t, int32_t > MapLayer2MaxStrip
typedef map< uint8_t, int32_t > MapLayer2MaxStrip

Private Member Functions

void MapStrip (GemMapLine *gemM, UInt_t ch, Int_t iSmpl, Int_t &lay, Int_t &strip)
void ProcessAdc (TClonesArray *silicon, Bool_t doFill)
 Uses raw ADC data to either fill profile histograms or produce output digits.
BmnStatus ReadMap (TString parName, StripMapArray &m, Int_t lay, Int_t mod)
BmnStatus ReadLocalMap (TString parName, StripMapArray &m, Int_t lay, Int_t mod)
BmnStatus ReadGlobalMap (TString FileName)
void InitStripRanges (unique_ptr< BmnGemStripStationSet > &ss)
void MapStrip (GemMapLine *gemM, UInt_t ch, Int_t iSmpl, Int_t &lay, Int_t &strip)
void ProcessAdc (TClonesArray *silicon, Bool_t doFill)
 Uses raw ADC data to either fill profile histograms or produce output digits.
BmnStatus ReadMap (TString parName, StripMapArray &m, Int_t lay, Int_t mod)
BmnStatus ReadLocalMap (TString parName, StripMapArray &m, Int_t lay, Int_t mod)
BmnStatus ReadGlobalMap (TString FileName)
void InitStripRanges (unique_ptr< BmnGemStripStationSet > &ss)

Private Attributes

unique_ptr< BmnGemStripStationSet > fGemStationSet
Int_t niterped = 3
Float_t thrped = 35
Float_t thrpedcsc = 80
unordered_map< uint32_t, InChanMap > fOuterMap
StripMapArray fSmall
StripMapArray fMid
vector< StripMapArray > fBigHot
vector< StripMapArray > fBig
TString fMapFileName
map< KeySM, MapLayer2MaxStrip > fSM2MapMaxStrip

Additional Inherited Members

Static Public Member Functions inherited from BmnAdcProcessor
static BmnStatus DrawFilterInfo (BmnCalibData *data)
static BmnStatus DrawFilterInfo (BmnCalibData *data)
Public Attributes inherited from BmnAdcProcessor
void(BmnAdcProcessor::* PrecalcEventModsImp )(TClonesArray *adc)
Protected Types inherited from BmnAdcProcessor
typedef std::tuple< uint16_t, uint16_t, uint8_t > KeySML
typedef std::tuple< uint16_t, uint16_t > KeySM
typedef vector< Int_t > StripMap
typedef std::tuple< uint16_t, uint16_t, uint8_t > KeySML
typedef std::tuple< uint16_t, uint16_t > KeySM
typedef vector< Int_t > StripMap
Protected Member Functions inherited from BmnAdcProcessor
void InitChipNoiseArrays ()
void GrabNewSerial (UInt_t serial)
template<typename cl>
void GrabSerialsFromMap (unordered_map< UInt_t, cl > m)
template<typename SST>
void InitStripNoiseArrays (SST &ss)
template<typename SST>
void DeleteStripNoiseArrays (SST &ss)
void InitChipNoiseArrays ()
void GrabNewSerial (UInt_t serial)
template<typename cl>
void GrabSerialsFromMap (unordered_map< UInt_t, cl > m)
template<typename SST>
void InitStripNoiseArrays (SST &ss)
template<typename SST>
void DeleteStripNoiseArrays (SST &ss)
Protected Attributes inherited from BmnAdcProcessor
Int_t fVerbose
Int_t drawCnt
Int_t drawCnt2d
Double_t thrDif
Double_t FinalThr
Int_t fNIters
Double_t cmodcut
Double_t thrMax
vector< uint32_t > fAdcSerials
 list of serial id for ADC-detector
const uint16_t fNSamples
const uint16_t fNChannels
uint32_t fEvForPedestals
Double_t **** fPedDat
 data set to calculate pedestals
bool fApplyThreshold
map< PlMapKey, Double_t > fSpecThreshMap
Double_t workTime_cpu = 0.0
Double_t workTime_real = 0.0
Double_t workTime_cpu_p = 0.0
Double_t workTime_real_p = 0.0
unordered_map< UInt_t, size_t > fSerMap
 ADC serials map.
TH1F **** fSigProf
Bool_t **** fNoisyChannels
Float_t *** fAdc
Double_t *** fPedRms
Float_t *** fPedVal
Double_t *** fPedValTemp
Float_t ** fCMode
Float_t ** fCMode0
Float_t ** fSMode
Float_t ** fSMode0
vector< vector< TH1 * > > hPedLine
vector< vector< TH1 * > > hCMode
vector< vector< TH1 * > > hSMode
vector< vector< TH1 * > > hPedLineSi
vector< TH1 * > hPedSi
vector< TH1 * > hCModeSi
vector< TH1 * > hSModeSi
Bool_t *** fNoisyChipChannels
Float_t ** fNvals
UInt_t *** fNvalsCMod
UInt_t *** fNvalsADC
Double_t *** fPedCMod
Double_t *** fPedCMod2
Double_t ** fSumRmsV
TString fDetName
uint32_t fPeriod
uint32_t fRun
BmnSetup fSetup

Detailed Description

Definition at line 16 of file BmnGemRaw2Digit.h.

Member Typedef Documentation

◆ InChanMap [1/2]

typedef map<int32_t, GemMapLine*> BmnGemRaw2Digit::InChanMap

Definition at line 81 of file BmnGemRaw2Digit.h.

◆ InChanMap [2/2]

typedef map<int32_t, GemMapLine*> BmnGemRaw2Digit::InChanMap

Definition at line 81 of file BmnGemRaw2Digit.h.

◆ MapLayer2MaxStrip [1/2]

typedef map<uint8_t, int32_t> BmnGemRaw2Digit::MapLayer2MaxStrip
private

Definition at line 98 of file BmnGemRaw2Digit.h.

◆ MapLayer2MaxStrip [2/2]

typedef map<uint8_t, int32_t> BmnGemRaw2Digit::MapLayer2MaxStrip
private

Definition at line 98 of file BmnGemRaw2Digit.h.

◆ StripMapArray [1/2]

Definition at line 45 of file BmnGemRaw2Digit.h.

◆ StripMapArray [2/2]

Definition at line 45 of file BmnGemRaw2Digit.h.

Constructor & Destructor Documentation

◆ BmnGemRaw2Digit() [1/2]

BmnGemRaw2Digit::BmnGemRaw2Digit ( Int_t period,
Int_t run,
TString mapFileName,
BmnSetup bmnSetup = kBMNSETUP )

Definition at line 14 of file BmnGemRaw2Digit.cxx.

References BmnAdcProcessor::BmnAdcProcessor(), ADC32_N_SAMPLES, ADC_N_CHANNELS, fBig, fBigHot, fGemStationSet, fMapFileName, fMid, BmnAdcProcessor::fPeriod, BmnAdcProcessor::fSetup, fSmall, BmnAdcProcessor::InitChipNoiseArrays(), BmnAdcProcessor::InitStripNoiseArrays(), InitStripRanges(), kSRCSETUP, ReadGlobalMap(), ReadLocalMap(), and ReadMap().

Referenced by InitStripRanges().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ~BmnGemRaw2Digit() [1/2]

BmnGemRaw2Digit::~BmnGemRaw2Digit ( )

Definition at line 247 of file BmnGemRaw2Digit.cxx.

References BmnAdcProcessor::DeleteStripNoiseArrays(), fGemStationSet, and fOuterMap.

Here is the call graph for this function:

◆ BmnGemRaw2Digit() [2/2]

BmnGemRaw2Digit::BmnGemRaw2Digit ( Int_t period,
Int_t run,
TString mapFileName,
BmnSetup bmnSetup = kBMNSETUP )

References kBMNSETUP.

◆ ~BmnGemRaw2Digit() [2/2]

BmnGemRaw2Digit::~BmnGemRaw2Digit ( )

Member Function Documentation

◆ FillEvent() [1/2]

BmnStatus BmnGemRaw2Digit::FillEvent ( TClonesArray * adc,
TClonesArray * gem )

Definition at line 446 of file BmnGemRaw2Digit.cxx.

References BmnAdcProcessor::CalcEventMods(), BmnAdcProcessor::CalcEventMods_simd(), kBMNSUCCESS, BmnAdcProcessor::PrecalcEventModsImp, and ProcessAdc().

Here is the call graph for this function:

◆ FillEvent() [2/2]

BmnStatus BmnGemRaw2Digit::FillEvent ( TClonesArray * adc,
TClonesArray * gem )

◆ FillNoisyChannels() [1/2]

◆ FillNoisyChannels() [2/2]

BmnStatus BmnGemRaw2Digit::FillNoisyChannels ( )

◆ FillProfiles() [1/2]

BmnStatus BmnGemRaw2Digit::FillProfiles ( TClonesArray * adc)

Definition at line 255 of file BmnGemRaw2Digit.cxx.

References BmnAdcProcessor::CalcEventMods(), BmnAdcProcessor::CalcEventMods_simd(), kBMNSUCCESS, BmnAdcProcessor::PrecalcEventModsImp, and ProcessAdc().

Here is the call graph for this function:

◆ FillProfiles() [2/2]

BmnStatus BmnGemRaw2Digit::FillProfiles ( TClonesArray * adc)

◆ InitStripRanges() [1/2]

void BmnGemRaw2Digit::InitStripRanges ( unique_ptr< BmnGemStripStationSet > & ss)
private

Definition at line 65 of file BmnGemRaw2Digit.cxx.

References fSM2MapMaxStrip.

Referenced by BmnGemRaw2Digit().

Here is the caller graph for this function:

◆ InitStripRanges() [2/2]

void BmnGemRaw2Digit::InitStripRanges ( unique_ptr< BmnGemStripStationSet > & ss)
private

References BmnGemRaw2Digit().

Here is the call graph for this function:

◆ MapStrip() [1/2]

void BmnGemRaw2Digit::MapStrip ( GemMapLine * gemM,
UInt_t ch,
Int_t iSmpl,
Int_t & lay,
Int_t & strip )
inlineprivate

Definition at line 458 of file BmnGemRaw2Digit.cxx.

References BmnGemRaw2Digit::GemMapLine::Channel_shift, BmnAdcProcessor::GetNSamples(), and BmnGemRaw2Digit::GemMapLine::Map_arr_ptr.

Referenced by FillNoisyChannels(), and ProcessAdc().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MapStrip() [2/2]

void BmnGemRaw2Digit::MapStrip ( GemMapLine * gemM,
UInt_t ch,
Int_t iSmpl,
Int_t & lay,
Int_t & strip )
inlineprivate

◆ ProcessAdc() [1/2]

void BmnGemRaw2Digit::ProcessAdc ( TClonesArray * silicon,
Bool_t doFill )
private
Parameters
siliconraw ADC signals
doFilltrue - fill profile histograms, false - produce digits

Definition at line 386 of file BmnGemRaw2Digit.cxx.

References BmnAdcProcessor::fAdc, BmnAdcProcessor::fCMode, BmnAdcProcessor::FinalThr, BmnAdcProcessor::fNChannels, fOuterMap, BmnAdcProcessor::fPedVal, BmnAdcProcessor::fSigProf, fSM2MapMaxStrip, BmnAdcProcessor::fSMode, BmnAdcProcessor::fSpecThreshMap, BmnAdcProcessor::GetApplyThreshold(), TObjArray::GetEntriesFast(), BmnAdcProcessor::GetNoisyChipChannels(), BmnAdcProcessor::GetNSamples(), BmnAdcProcessor::GetNSerials(), BmnAdcProcessor::GetPedestalsRMS(), BmnAdcProcessor::GetSerials(), MapStrip(), TMath::Max(), BmnGemRaw2Digit::GemMapLine::Module, BmnStripDigit::SetIsGoodDigit(), BmnGemRaw2Digit::GemMapLine::Station, and thr.

Referenced by FillEvent(), and FillProfiles().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ProcessAdc() [2/2]

void BmnGemRaw2Digit::ProcessAdc ( TClonesArray * silicon,
Bool_t doFill )
private
Parameters
siliconraw ADC signals
doFilltrue - fill profile histograms, false - produce digits

◆ ReadGlobalMap() [1/2]

◆ ReadGlobalMap() [2/2]

BmnStatus BmnGemRaw2Digit::ReadGlobalMap ( TString FileName)
private

◆ ReadLocalMap() [1/2]

BmnStatus BmnGemRaw2Digit::ReadLocalMap ( TString parName,
StripMapArray & m,
Int_t lay,
Int_t mod )
private

Definition at line 205 of file BmnGemRaw2Digit.cxx.

References TString::Data(), kBMNERROR, kBMNSUCCESS, and m.

Referenced by BmnGemRaw2Digit().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ReadLocalMap() [2/2]

BmnStatus BmnGemRaw2Digit::ReadLocalMap ( TString parName,
StripMapArray & m,
Int_t lay,
Int_t mod )
private

References m.

◆ ReadMap() [1/2]

BmnStatus BmnGemRaw2Digit::ReadMap ( TString parName,
StripMapArray & m,
Int_t lay,
Int_t mod )
private

Definition at line 225 of file BmnGemRaw2Digit.cxx.

References UniDetectorParameter::GetDetectorParameter(), BmnAdcProcessor::GetPeriod(), BmnAdcProcessor::GetRun(), UniDetectorParameter::GetValue(), i, kBMNSUCCESS, m, IIValue::value1, and IIValue::value2.

Referenced by BmnGemRaw2Digit().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ReadMap() [2/2]

BmnStatus BmnGemRaw2Digit::ReadMap ( TString parName,
StripMapArray & m,
Int_t lay,
Int_t mod )
private

References m.

Member Data Documentation

◆ fBig

vector< StripMapArray > BmnGemRaw2Digit::fBig
private

Definition at line 95 of file BmnGemRaw2Digit.h.

Referenced by BmnGemRaw2Digit(), and ReadGlobalMap().

◆ fBigHot

vector< StripMapArray > BmnGemRaw2Digit::fBigHot
private

Definition at line 94 of file BmnGemRaw2Digit.h.

Referenced by BmnGemRaw2Digit(), and ReadGlobalMap().

◆ fGemStationSet

unique_ptr< BmnGemStripStationSet > BmnGemRaw2Digit::fGemStationSet
private

Definition at line 84 of file BmnGemRaw2Digit.h.

Referenced by BmnGemRaw2Digit(), ~BmnGemRaw2Digit(), and FillNoisyChannels().

◆ fMapFileName

TString BmnGemRaw2Digit::fMapFileName
private

Definition at line 96 of file BmnGemRaw2Digit.h.

Referenced by BmnGemRaw2Digit(), and ReadGlobalMap().

◆ fMid

StripMapArray BmnGemRaw2Digit::fMid
private

Definition at line 93 of file BmnGemRaw2Digit.h.

Referenced by BmnGemRaw2Digit(), and ReadGlobalMap().

◆ fOuterMap

unordered_map< uint32_t, InChanMap > BmnGemRaw2Digit::fOuterMap
private

Definition at line 90 of file BmnGemRaw2Digit.h.

Referenced by ~BmnGemRaw2Digit(), FillNoisyChannels(), ProcessAdc(), and ReadGlobalMap().

◆ fSM2MapMaxStrip

map< KeySM, MapLayer2MaxStrip > BmnGemRaw2Digit::fSM2MapMaxStrip
private

Definition at line 99 of file BmnGemRaw2Digit.h.

Referenced by FillNoisyChannels(), InitStripRanges(), and ProcessAdc().

◆ fSmall

StripMapArray BmnGemRaw2Digit::fSmall
private

Definition at line 92 of file BmnGemRaw2Digit.h.

Referenced by BmnGemRaw2Digit(), and ReadGlobalMap().

◆ niterped

Int_t BmnGemRaw2Digit::niterped = 3
private

Definition at line 86 of file BmnGemRaw2Digit.h.

◆ thrped

Float_t BmnGemRaw2Digit::thrped = 35
private

Definition at line 87 of file BmnGemRaw2Digit.h.

◆ thrpedcsc

Float_t BmnGemRaw2Digit::thrpedcsc = 80
private

Definition at line 88 of file BmnGemRaw2Digit.h.


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