BmnRoot 26.10.0-210-gc52d34b0
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
BmnRescale Class Reference

BmnRescale - class implementing ADC signal rescaling specific for each strip plane. More...

#include <BmnRescale.h>

Collaboration diagram for BmnRescale:

Public Member Functions

 BmnRescale (UInt_t periodId, UInt_t runId, Double_t lowThr=0, Double_t ClusterSizeThr=0, Int_t nBins=1e6)
virtual ~BmnRescale ()
BmnStatus CreateRescales (TString fileNameMC, TString fileNameEx)
TF1 * GetRescaleFunc (TString name, TF1 *mc, TF1 *ex)
vector< vector< vector< TF1 * > > > GetGemRescaleVector ()
vector< vector< vector< TF1 * > > > GetSilRescaleVector ()
vector< vector< vector< TF1 * > > > GetCSCRescaleVector ()
vector< vector< vector< BmnSigInfo * > > > GetGemInfoVectorExp ()
vector< vector< vector< BmnSigInfo * > > > GetSilInfoVectorExp ()
vector< vector< vector< BmnSigInfo * > > > GetCSCInfoVectorExp ()
TCanvas * GetCanvasGem ()
TCanvas * GetCanvasSil ()
TCanvas * GetCanvasCSC ()

Private Member Functions

template<class ClStationSet, class ClSt, class ClMod>
TCanvas * GetCanvas (ClStationSet *ss)
BmnStatus LoadDigitDistributionsFromFile (TString name, vector< TString > digiNames, vector< vector< vector< vector< BmnSigInfo * > > > > digiVecs)
BmnStatus LoadClusterDistributionsFromFile (TString name, vector< TString > clusterNames, vector< vector< vector< vector< BmnSigInfo * > > > > clusterVecs)
BmnStatus LoadClustersOfTrackDistributionsFromFile (TString fileName, TString globalTrackNames, vector< TString > subTrackNames, vector< TString > hitNames, vector< vector< vector< vector< BmnSigInfo * > > > > clusterVecs)
void CreateStripVectors ()
template<class cl>
void FreeVector3D (vector< vector< vector< cl * > > > vvv)
template<class ClStationSet, class ClSt, class ClMod>
void FillInfoVector (ClStationSet *ss, vector< vector< vector< BmnSigInfo * > > > &vvv)
 Template function for generating 3D vector of BmnSigInfo objects.
template<class ClStationSet, class ClSt, class ClMod>
void FillRescaleVector (ClStationSet *ss, vector< vector< vector< BmnSigInfo * > > > &vMC, vector< vector< vector< BmnSigInfo * > > > &vEx, vector< vector< vector< TF1 * > > > &vRescale)
void CreateDigitDistributions (TTree *treeDig, TClonesArray *digits, vector< vector< vector< BmnSigInfo * > > > &infoVec)
template<class ClHit, class ClStationSet, class ClSt, class ClMod, class ClLay>
void CreateClusterDistributions (TTree *treeDST, TClonesArray *globTracks, TClonesArray *subTracks, TClonesArray *gemHits, ClStationSet *ss, vector< vector< vector< BmnSigInfo * > > > &infoVec)
 Template function aimed to create exp cluster signal distribution function (Hits from tracks variant).
template<class ClHit, class ClStationSet, class ClSt, class ClMod, class ClLay>
void CreateClusterDistributions (TTree *treeDST, TClonesArray *gemHits, ClStationSet *ss, vector< vector< vector< BmnSigInfo * > > > &infoVec)
 Template function aimed to create exp cluster signal distribution function (all hits).

Private Attributes

BmnSetup fSetup
UInt_t fPeriodId
UInt_t fRunId
Double_t fLowThr
Double_t fClusterSizeThr
Int_t fNBins
BmnGemStripStationSet * fGemStationSet
BmnSiliconStationSet * fSilStationSet
BmnCSCStationSet * fCscStationSet
vector< vector< vector< BmnSigInfo * > > > fStripGemInfoMC
vector< vector< vector< BmnSigInfo * > > > fStripSilInfoMC
vector< vector< vector< BmnSigInfo * > > > fStripCSCInfoMC
vector< vector< vector< BmnSigInfo * > > > fStripGemInfoEx
vector< vector< vector< BmnSigInfo * > > > fStripSilInfoEx
vector< vector< vector< BmnSigInfo * > > > fStripCSCInfoEx
vector< vector< vector< TF1 * > > > fStripGemRescale
vector< vector< vector< TF1 * > > > fStripSilRescale
vector< vector< vector< TF1 * > > > fStripCSCRescale

Static Private Attributes

static const UInt_t Pad_Width = 640
static const UInt_t Pad_Height = 360

Detailed Description

Author
Ilnur Gabdrakhmanov ilnur.nosp@m.@jin.nosp@m.r.ru

Definition at line 91 of file BmnRescale.h.

Constructor & Destructor Documentation

◆ BmnRescale()

BmnRescale::BmnRescale ( UInt_t periodId,
UInt_t runId,
Double_t lowThr = 0,
Double_t ClusterSizeThr = 0,
Int_t nBins = 1e6 )
Parameters
periodId
runId
lowThrlower cluster signal threshold
ClusterSizeThrlower cluster size threshold (in strip count)
nBinsHistograms' binning

Definition at line 3 of file BmnRescale.cxx.

References CreateStripVectors(), fClusterSizeThr, fLowThr, fNBins, fPeriodId, fRunId, fSetup, kBMNSETUP, kSRCSETUP, and nBins.

Here is the call graph for this function:

◆ ~BmnRescale()

BmnRescale::~BmnRescale ( )
virtual

Definition at line 14 of file BmnRescale.cxx.

References fCscStationSet, fGemStationSet, FreeVector3D(), fSilStationSet, fStripCSCInfoEx, fStripCSCInfoMC, fStripCSCRescale, fStripGemInfoEx, fStripGemInfoMC, fStripGemRescale, fStripSilInfoEx, fStripSilInfoMC, and fStripSilRescale.

Here is the call graph for this function:

Member Function Documentation

◆ CreateClusterDistributions() [1/2]

template<class ClHit, class ClStationSet, class ClSt, class ClMod, class ClLay>
void BmnRescale::CreateClusterDistributions ( TTree * treeDST,
TClonesArray * gemHits,
ClStationSet * ss,
vector< vector< vector< BmnSigInfo * > > > & infoVec )
inlineprivate
Parameters
treeDSTan experimental DST tree
gemHitsinner tracker subdetector hit branch
sssubdetector station set
infoVec3-d vector to store function info

Definition at line 466 of file BmnRescale.h.

References fClusterSizeThr, TH1::Fill(), fLowThr, fNBins, BmnSigInfo::func, TH1::GetBinContent(), TClonesArray::GetClass(), TTree::GetEntries(), TObjArray::GetEntriesFast(), TTree::GetEntry(), TCollection::GetName(), TNamed::GetName(), BmnSigInfo::hIntSig, BmnSigInfo::hSig, i, BmnSigInfo::maxVal, BmnSigInfo::minVal, TH1::Scale(), TH1::SetBinContent(), TAttLine::SetLineColor(), TF1::SetNpx(), TObjArray::UncheckedAt(), UpperStripLayer, x, and y.

Here is the call graph for this function:

◆ CreateClusterDistributions() [2/2]

template<class ClHit, class ClStationSet, class ClSt, class ClMod, class ClLay>
void BmnRescale::CreateClusterDistributions ( TTree * treeDST,
TClonesArray * globTracks,
TClonesArray * subTracks,
TClonesArray * gemHits,
ClStationSet * ss,
vector< vector< vector< BmnSigInfo * > > > & infoVec )
inlineprivate
Parameters
treeDSTan experimental DST tree
globTracks
subTracks
gemHitsinner tracker subdetector hit branch
sssubdetector station set
infoVec3-d vector to store function info

<- prevent multiple count

Definition at line 254 of file BmnRescale.h.

References TStopwatch::CpuTime(), fClusterSizeThr, TH1::Fill(), fLowThr, fNBins, BmnSigInfo::func, TH1::GetBinContent(), TClonesArray::GetClass(), TTree::GetEntries(), TObjArray::GetEntriesFast(), TTree::GetEntry(), BmnGlobalTrack::GetGemTrackIndex(), BmnTrack::GetHitIndex(), TCollection::GetName(), TNamed::GetName(), BmnSigInfo::hIntSig, BmnSigInfo::hSig, i, BmnSigInfo::maxVal, BmnSigInfo::minVal, TStopwatch::RealTime(), TH1::Scale(), TH1::SetBinContent(), BmnHit::SetFlag(), TAttLine::SetLineColor(), TF1::SetNpx(), TStopwatch::Start(), TStopwatch::Stop(), TObjArray::UncheckedAt(), UpperStripLayer, x, and y.

Referenced by LoadClusterDistributionsFromFile(), and LoadClustersOfTrackDistributionsFromFile().

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

◆ CreateDigitDistributions()

void BmnRescale::CreateDigitDistributions ( TTree * treeDig,
TClonesArray * digits,
vector< vector< vector< BmnSigInfo * > > > & infoVec )
private

Definition at line 212 of file BmnRescale.cxx.

References TH1::Fill(), fLowThr, fNBins, BmnSigInfo::func, TH1::GetBinContent(), TClonesArray::GetClass(), TTree::GetEntries(), TObjArray::GetEntriesFast(), TTree::GetEntry(), BmnStripDigit::GetModule(), TCollection::GetName(), TNamed::GetName(), BmnStripDigit::GetStation(), BmnStripDigit::GetStripLayer(), BmnStripDigit::GetStripSignal(), BmnSigInfo::hIntSig, BmnSigInfo::hSig, i, m, BmnSigInfo::maxVal, BmnSigInfo::minVal, TH1::Scale(), TH1::SetBinContent(), TAttLine::SetLineColor(), TF1::SetNpx(), TObjArray::UncheckedAt(), and x.

Referenced by LoadDigitDistributionsFromFile().

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

◆ CreateRescales()

BmnStatus BmnRescale::CreateRescales ( TString fileNameMC,
TString fileNameEx )

Definition at line 184 of file BmnRescale.cxx.

References fCscStationSet, fGemStationSet, FillRescaleVector(), fSilStationSet, fStripCSCInfoEx, fStripCSCInfoMC, fStripCSCRescale, fStripGemInfoEx, fStripGemInfoMC, fStripGemRescale, fStripSilInfoEx, fStripSilInfoMC, fStripSilRescale, kBMNERROR, kBMNSUCCESS, LoadClustersOfTrackDistributionsFromFile(), and LoadDigitDistributionsFromFile().

Referenced by rescaleAmplitudeCSC(), rescaleAmplitudeGem(), and rescaleAmplitudeSi().

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

◆ CreateStripVectors()

void BmnRescale::CreateStripVectors ( )
private

Definition at line 30 of file BmnRescale.cxx.

References TString::Data(), fCscStationSet, fGemStationSet, FillInfoVector(), fPeriodId, fSetup, fSilStationSet, fStripCSCInfoEx, fStripCSCInfoMC, fStripGemInfoEx, fStripGemInfoMC, fStripSilInfoEx, fStripSilInfoMC, kBMNSETUP, and TString::Length().

Referenced by BmnRescale().

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

◆ FillInfoVector()

template<class ClStationSet, class ClSt, class ClMod>
void BmnRescale::FillInfoVector ( ClStationSet * ss,
vector< vector< vector< BmnSigInfo * > > > & vvv )
inlineprivate
Parameters
ssstation set for the specific detector subsystem
vvvempty 3D vector to fill

Definition at line 197 of file BmnRescale.h.

Referenced by CreateStripVectors().

Here is the caller graph for this function:

◆ FillRescaleVector()

template<class ClStationSet, class ClSt, class ClMod>
void BmnRescale::FillRescaleVector ( ClStationSet * ss,
vector< vector< vector< BmnSigInfo * > > > & vMC,
vector< vector< vector< BmnSigInfo * > > > & vEx,
vector< vector< vector< TF1 * > > > & vRescale )
inlineprivate

Definition at line 216 of file BmnRescale.h.

References GetRescaleFunc().

Referenced by CreateRescales().

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

◆ FreeVector3D()

template<class cl>
void BmnRescale::FreeVector3D ( vector< vector< vector< cl * > > > vvv)
inlineprivate

Definition at line 183 of file BmnRescale.h.

Referenced by ~BmnRescale().

Here is the caller graph for this function:

◆ GetCanvas()

template<class ClStationSet, class ClSt, class ClMod>
TCanvas * BmnRescale::GetCanvas ( ClStationSet * ss)
inlineprivate

Definition at line 149 of file BmnRescale.h.

References can(), Pad_Height, and Pad_Width.

Referenced by GetCanvasCSC(), GetCanvasGem(), and GetCanvasSil().

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

◆ GetCanvasCSC()

TCanvas * BmnRescale::GetCanvasCSC ( )

Definition at line 322 of file BmnRescale.cxx.

References fCscStationSet, and GetCanvas().

Here is the call graph for this function:

◆ GetCanvasGem()

TCanvas * BmnRescale::GetCanvasGem ( )

Definition at line 312 of file BmnRescale.cxx.

References fGemStationSet, and GetCanvas().

Here is the call graph for this function:

◆ GetCanvasSil()

TCanvas * BmnRescale::GetCanvasSil ( )

Definition at line 317 of file BmnRescale.cxx.

References fSilStationSet, and GetCanvas().

Here is the call graph for this function:

◆ GetCSCInfoVectorExp()

vector< vector< vector< BmnSigInfo * > > > BmnRescale::GetCSCInfoVectorExp ( )
inline

Definition at line 118 of file BmnRescale.h.

References fStripCSCInfoEx.

Referenced by rescaleAmplitudeCSC().

Here is the caller graph for this function:

◆ GetCSCRescaleVector()

vector< vector< vector< TF1 * > > > BmnRescale::GetCSCRescaleVector ( )
inline

Definition at line 112 of file BmnRescale.h.

References fStripCSCRescale.

Referenced by rescaleAmplitudeCSC().

Here is the caller graph for this function:

◆ GetGemInfoVectorExp()

vector< vector< vector< BmnSigInfo * > > > BmnRescale::GetGemInfoVectorExp ( )
inline

Definition at line 114 of file BmnRescale.h.

References fStripGemInfoEx.

Referenced by rescaleAmplitudeGem().

Here is the caller graph for this function:

◆ GetGemRescaleVector()

vector< vector< vector< TF1 * > > > BmnRescale::GetGemRescaleVector ( )
inline

Definition at line 108 of file BmnRescale.h.

References fStripGemRescale.

Referenced by rescaleAmplitudeGem().

Here is the caller graph for this function:

◆ GetRescaleFunc()

TF1 * BmnRescale::GetRescaleFunc ( TString name,
TF1 * mc,
TF1 * ex )

Definition at line 81 of file BmnRescale.cxx.

References TF1::Eval(), f, TF1::GetX(), TF1::GetXmax(), TF1::GetXmin(), and x.

Referenced by FillRescaleVector().

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

◆ GetSilInfoVectorExp()

vector< vector< vector< BmnSigInfo * > > > BmnRescale::GetSilInfoVectorExp ( )
inline

Definition at line 116 of file BmnRescale.h.

References fStripSilInfoEx.

Referenced by rescaleAmplitudeSi().

Here is the caller graph for this function:

◆ GetSilRescaleVector()

vector< vector< vector< TF1 * > > > BmnRescale::GetSilRescaleVector ( )
inline

Definition at line 110 of file BmnRescale.h.

References fStripSilRescale.

Referenced by rescaleAmplitudeSi().

Here is the caller graph for this function:

◆ LoadClusterDistributionsFromFile()

BmnStatus BmnRescale::LoadClusterDistributionsFromFile ( TString name,
vector< TString > clusterNames,
vector< vector< vector< vector< BmnSigInfo * > > > > clusterVecs )
private

Definition at line 117 of file BmnRescale.cxx.

References TChain::Add(), CreateClusterDistributions(), TString::Data(), fCscStationSet, fGemStationSet, fSilStationSet, TChain::GetEntries(), kBMNSUCCESS, and TChain::SetBranchAddress().

Here is the call graph for this function:

◆ LoadClustersOfTrackDistributionsFromFile()

BmnStatus BmnRescale::LoadClustersOfTrackDistributionsFromFile ( TString fileName,
TString globalTrackNames,
vector< TString > subTrackNames,
vector< TString > hitNames,
vector< vector< vector< vector< BmnSigInfo * > > > > clusterVecs )
private

Definition at line 143 of file BmnRescale.cxx.

References TChain::Add(), CreateClusterDistributions(), TString::Data(), fCscStationSet, fGemStationSet, fSilStationSet, TChain::GetEntries(), kBMNSUCCESS, and TChain::SetBranchAddress().

Referenced by CreateRescales().

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

◆ LoadDigitDistributionsFromFile()

BmnStatus BmnRescale::LoadDigitDistributionsFromFile ( TString name,
vector< TString > digiNames,
vector< vector< vector< vector< BmnSigInfo * > > > > digiVecs )
private

Definition at line 97 of file BmnRescale.cxx.

References TChain::Add(), CreateDigitDistributions(), TString::Data(), TChain::GetEntries(), i, kBMNSUCCESS, and TChain::SetBranchAddress().

Referenced by CreateRescales().

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

Member Data Documentation

◆ fClusterSizeThr

Double_t BmnRescale::fClusterSizeThr
private

◆ fCscStationSet

◆ fGemStationSet

◆ fLowThr

Double_t BmnRescale::fLowThr
private

◆ fNBins

Int_t BmnRescale::fNBins
private

◆ fPeriodId

UInt_t BmnRescale::fPeriodId
private

Definition at line 128 of file BmnRescale.h.

Referenced by BmnRescale(), and CreateStripVectors().

◆ fRunId

UInt_t BmnRescale::fRunId
private

Definition at line 129 of file BmnRescale.h.

Referenced by BmnRescale().

◆ fSetup

BmnSetup BmnRescale::fSetup
private

Definition at line 127 of file BmnRescale.h.

Referenced by BmnRescale(), and CreateStripVectors().

◆ fSilStationSet

◆ fStripCSCInfoEx

vector<vector<vector<BmnSigInfo*> > > BmnRescale::fStripCSCInfoEx
private

Definition at line 143 of file BmnRescale.h.

Referenced by ~BmnRescale(), CreateRescales(), CreateStripVectors(), and GetCSCInfoVectorExp().

◆ fStripCSCInfoMC

vector<vector<vector<BmnSigInfo*> > > BmnRescale::fStripCSCInfoMC
private

Definition at line 140 of file BmnRescale.h.

Referenced by ~BmnRescale(), CreateRescales(), and CreateStripVectors().

◆ fStripCSCRescale

vector<vector<vector<TF1*> > > BmnRescale::fStripCSCRescale
private

Definition at line 146 of file BmnRescale.h.

Referenced by ~BmnRescale(), CreateRescales(), and GetCSCRescaleVector().

◆ fStripGemInfoEx

vector<vector<vector<BmnSigInfo*> > > BmnRescale::fStripGemInfoEx
private

Definition at line 141 of file BmnRescale.h.

Referenced by ~BmnRescale(), CreateRescales(), CreateStripVectors(), and GetGemInfoVectorExp().

◆ fStripGemInfoMC

vector<vector<vector<BmnSigInfo*> > > BmnRescale::fStripGemInfoMC
private

Definition at line 138 of file BmnRescale.h.

Referenced by ~BmnRescale(), CreateRescales(), and CreateStripVectors().

◆ fStripGemRescale

vector<vector<vector<TF1*> > > BmnRescale::fStripGemRescale
private

Definition at line 144 of file BmnRescale.h.

Referenced by ~BmnRescale(), CreateRescales(), and GetGemRescaleVector().

◆ fStripSilInfoEx

vector<vector<vector<BmnSigInfo*> > > BmnRescale::fStripSilInfoEx
private

Definition at line 142 of file BmnRescale.h.

Referenced by ~BmnRescale(), CreateRescales(), CreateStripVectors(), and GetSilInfoVectorExp().

◆ fStripSilInfoMC

vector<vector<vector<BmnSigInfo*> > > BmnRescale::fStripSilInfoMC
private

Definition at line 139 of file BmnRescale.h.

Referenced by ~BmnRescale(), CreateRescales(), and CreateStripVectors().

◆ fStripSilRescale

vector<vector<vector<TF1*> > > BmnRescale::fStripSilRescale
private

Definition at line 145 of file BmnRescale.h.

Referenced by ~BmnRescale(), CreateRescales(), and GetSilRescaleVector().

◆ Pad_Height

const UInt_t BmnRescale::Pad_Height = 360
staticprivate

Definition at line 126 of file BmnRescale.h.

Referenced by GetCanvas().

◆ Pad_Width

const UInt_t BmnRescale::Pad_Width = 640
staticprivate

Definition at line 125 of file BmnRescale.h.

Referenced by GetCanvas().


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