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

#include <BmnTofHitProducer.h>

Inheritance diagram for BmnTofHitProducer:
Collaboration diagram for BmnTofHitProducer:

Public Member Functions

 BmnTofHitProducer (const char *name="TOF HitProducer", const char *geomFile="", Bool_t useMCdata=true, Int_t verbose=1, Bool_t DoTest=false)
virtual ~BmnTofHitProducer ()
virtual InitStatus Init ()
virtual void Exec (Option_t *opt)
virtual void Finish ()
virtual void OnlineWrite (const std::unique_ptr< TTree > &resultTree)
void SetTimeResolution (Double_t sigma)
void SetAlongStripResolution (Double_t Xerr)
void SetSeed (UInt_t seed=0)
void SetDoINL (bool val)
void SetDoSlewing (bool val)
void SetMainStripSelection (Int_t s=0)
void SetSelectXYCalibration (Int_t s=0)
void SetTimeMin (Double_t mi=-2.)
void SetTimeMax (Double_t ma=+15.)
void SetDiffTimeMaxSmall (Double_t ds=0.)
void SetDiffTimeMaxBig (Double_t db=0.)
TString GetParameters ()
int readMCTimeFile (const char *)
void SetMCTimeFile (const char *file)
void SetProtonTimeCorrectionFile (const char *file)

Private Member Functions

Bool_t HitExist (Double_t val)
Bool_t DoubleHitExist (Double_t val)
Int_t MergeHitsOnStripNew (void)
bool GetCrossPoint (const TVector3 &p1, double time1, const TVector3 &p2, double time2, TVector3 &crossPoint)
bool GetCrossPoint (const LStrip *pStrip, double dtime, TVector3 &crossPoint)
Double_t CalculateToF (BmnTof2Digit *d1, BmnTof2Digit *d2, BmnTrigDigit *t0)

Private Attributes

Double_t fMCTime [TOF2_MAX_CHAMBERS]
Double_t fMCTimeSigma [TOF2_MAX_CHAMBERS]
Double_t tofcalc [TOF2_MAX_CHAMBERS] = {0.f}
Double_t tofcals [TOF2_MAX_CHAMBERS][32] = {{0.f}}
Double_t fTimeSigma
Double_t fErrX
Double_t fErrY
TRandom2 * pRandom
Bool_t fDoINL
Bool_t fDoSlewing
TEfficiency * effTestEfficiencySingleHit
TEfficiency * effTestEfficiencyDoubleHit
TH1D * htR
TH1D * h1TestDistance
TH1D * h1TestMass
TH1D * h1TestMassLong
TH1D * h1TestOccupancyTimeShift
TH1D * h1TestOccupancyPositionShift
TH2D * h2TestNeighborPair
TH2D * h2TestXYSmeared
TH2D * h2TestXYSmeared2
TH2D * h2TestXYSmearedDouble
TH2D * h2TestXYSmearedDouble2
TH2D * h2TestEtaPhi
TH2D * h2TestStrips
TH2D * h2TestRZ
TH2D * h2TdetIdStripId
BmnTofGeoUtils * pGeoUtils
const char * fgeomFile
const char * fMCTimeFile
const char * fProtonTimeCorrectionFile
const double fSignalVelosity
BmnTof2Raw2DigitNew * fTOF2
Int_t fMainStripSelection
Int_t fSelectXYCalibration
Double_t fTimeMin
Double_t fTimeMax
Double_t fDiffTimeMaxSmall
Double_t fDiffTimeMaxBig

Detailed Description

Definition at line 31 of file BmnTofHitProducer.h.

Constructor & Destructor Documentation

◆ BmnTofHitProducer()

◆ ~BmnTofHitProducer()

BmnTofHitProducer::~BmnTofHitProducer ( )
virtual

Definition at line 107 of file BmnTofHitProducer.cxx.

References pGeoUtils, and pRandom.

Member Function Documentation

◆ CalculateToF()

Double_t BmnTofHitProducer::CalculateToF ( BmnTof2Digit * d1,
BmnTof2Digit * d2,
BmnTrigDigit * t0 )
private

Definition at line 869 of file BmnTofHitProducer.cxx.

References CorrPlane7Coeff_It1, CorrT0_It1, CorrT0Coeff_It1, BmnTrigDigit::GetAmp(), BmnTof1Digit::GetAmplitude(), BmnTof1Digit::GetTime(), and BmnTrigDigit::GetTime().

Here is the call graph for this function:

◆ DoubleHitExist()

Bool_t BmnTofHitProducer::DoubleHitExist ( Double_t val)
private

Definition at line 267 of file BmnTofHitProducer.cxx.

References efficiency(), HitExist(), and pRandom.

Here is the call graph for this function:

◆ Exec()

◆ Finish()

void BmnTofHitProducer::Finish ( )
virtual

Definition at line 642 of file BmnTofHitProducer.cxx.

References TFile::Close(), and workTime.

Here is the call graph for this function:

◆ GetCrossPoint() [1/2]

bool BmnTofHitProducer::GetCrossPoint ( const LStrip * pStrip,
double dtime,
TVector3 & crossPoint )
private

Definition at line 837 of file BmnTofHitProducer.cxx.

References fSignalVelosity.

◆ GetCrossPoint() [2/2]

bool BmnTofHitProducer::GetCrossPoint ( const TVector3 & p1,
double time1,
const TVector3 & p2,
double time2,
TVector3 & crossPoint )
private

Definition at line 818 of file BmnTofHitProducer.cxx.

References fSignalVelosity.

◆ GetParameters()

TString BmnTofHitProducer::GetParameters ( )
inline

Definition at line 106 of file BmnTofHitProducer.h.

References fDoINL, fDoSlewing, fErrX, fErrY, and fTimeSigma.

◆ HitExist()

Bool_t BmnTofHitProducer::HitExist ( Double_t val)
private

Definition at line 249 of file BmnTofHitProducer.cxx.

References efficiency(), and pRandom.

Referenced by DoubleHitExist(), and Exec().

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

◆ Init()

InitStatus BmnTofHitProducer::Init ( )
virtual

Definition at line 113 of file BmnTofHitProducer.cxx.

References TFile::Close(), CVERS, TString::Data(), fgeomFile, fMCTime, fMCTimeFile, fProtonTimeCorrectionFile, fTOF2, TDirectoryFile::Get(), h1TestDistance, h2TestNeighborPair, h2TestStrips, idchambers, TObject::IsZombie(), itcalibr, itcalibrc, LIST_CHAMBER_CORRECTIONS, LIST_STRIP_CORRECTIONS, pGeoUtils, pRandom, readMCTimeFile(), STRIP_CORRECTIONS, TOF2_MAX_CHAMBERS, tofcalc, and tofcals.

Here is the call graph for this function:

◆ MergeHitsOnStripNew()

Int_t BmnTofHitProducer::MergeHitsOnStripNew ( void )
private

Definition at line 656 of file BmnTofHitProducer.cxx.

References fErrX, fSignalVelosity, fTimeSigma, BmnHit::GetFlag(), h1TestOccupancyPositionShift, h1TestOccupancyTimeShift, OCCUPANCY_DEBUG, pGeoUtils, pRandom, BmnHit::SetFlag(), TVector3::SetX(), TVector3::X(), TVector3::Y(), and TVector3::Z().

Referenced by Exec().

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

◆ OnlineWrite()

void BmnTofHitProducer::OnlineWrite ( const std::unique_ptr< TTree > & resultTree)
virtual

Definition at line 981 of file BmnTofHitProducer.cxx.

◆ readMCTimeFile()

int BmnTofHitProducer::readMCTimeFile ( const char * MCTimeFile)

Definition at line 911 of file BmnTofHitProducer.cxx.

References TString::Data(), fMCTime, fMCTimeSigma, i, idchambers, order, and TOF2_MAX_CHAMBERS.

Referenced by Init().

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

◆ SetAlongStripResolution()

void BmnTofHitProducer::SetAlongStripResolution ( Double_t Xerr)
inline

Definition at line 94 of file BmnTofHitProducer.h.

References fErrX.

◆ SetDiffTimeMaxBig()

void BmnTofHitProducer::SetDiffTimeMaxBig ( Double_t db = 0.)
inline

Definition at line 104 of file BmnTofHitProducer.h.

References fDiffTimeMaxBig.

Referenced by run8_reco_bmn(), run_reco_bmn(), run_reco_bmn(), and run_reco_src().

Here is the caller graph for this function:

◆ SetDiffTimeMaxSmall()

void BmnTofHitProducer::SetDiffTimeMaxSmall ( Double_t ds = 0.)
inline

Definition at line 103 of file BmnTofHitProducer.h.

References fDiffTimeMaxSmall.

Referenced by run8_reco_bmn(), run_reco_bmn(), run_reco_bmn(), and run_reco_src().

Here is the caller graph for this function:

◆ SetDoINL()

void BmnTofHitProducer::SetDoINL ( bool val)
inline

Definition at line 97 of file BmnTofHitProducer.h.

References fDoINL.

◆ SetDoSlewing()

void BmnTofHitProducer::SetDoSlewing ( bool val)
inline

Definition at line 98 of file BmnTofHitProducer.h.

References fDoSlewing.

◆ SetMainStripSelection()

void BmnTofHitProducer::SetMainStripSelection ( Int_t s = 0)
inline

Definition at line 99 of file BmnTofHitProducer.h.

References fMainStripSelection.

Referenced by run8_reco_bmn(), run_reco_bmn(), run_reco_bmn(), and run_reco_src().

Here is the caller graph for this function:

◆ SetMCTimeFile()

void BmnTofHitProducer::SetMCTimeFile ( const char * file)
inline

Definition at line 130 of file BmnTofHitProducer.h.

References fMCTimeFile.

Referenced by run8_reco_bmn(), run_reco_bmn(), run_reco_bmn(), and run_reco_src().

Here is the caller graph for this function:

◆ SetProtonTimeCorrectionFile()

void BmnTofHitProducer::SetProtonTimeCorrectionFile ( const char * file)
inline

Definition at line 131 of file BmnTofHitProducer.h.

References fProtonTimeCorrectionFile.

Referenced by run8_reco_bmn(), and run_reco_bmn().

Here is the caller graph for this function:

◆ SetSeed()

void BmnTofHitProducer::SetSeed ( UInt_t seed = 0)

Definition at line 863 of file BmnTofHitProducer.cxx.

References pRandom.

◆ SetSelectXYCalibration()

void BmnTofHitProducer::SetSelectXYCalibration ( Int_t s = 0)
inline

Definition at line 100 of file BmnTofHitProducer.h.

References fSelectXYCalibration.

Referenced by run8_reco_bmn(), run_reco_bmn(), run_reco_bmn(), and run_reco_src().

Here is the caller graph for this function:

◆ SetTimeMax()

void BmnTofHitProducer::SetTimeMax ( Double_t ma = +15.)
inline

Definition at line 102 of file BmnTofHitProducer.h.

References fTimeMax.

Referenced by run8_reco_bmn(), run_reco_bmn(), run_reco_bmn(), and run_reco_src().

Here is the caller graph for this function:

◆ SetTimeMin()

void BmnTofHitProducer::SetTimeMin ( Double_t mi = -2.)
inline

Definition at line 101 of file BmnTofHitProducer.h.

References fTimeMin.

Referenced by run8_reco_bmn(), run_reco_bmn(), run_reco_bmn(), and run_reco_src().

Here is the caller graph for this function:

◆ SetTimeResolution()

void BmnTofHitProducer::SetTimeResolution ( Double_t sigma)
inline

Definition at line 93 of file BmnTofHitProducer.h.

References fTimeSigma.

Referenced by run8_reco_bmn(), run_reco_bmn(), run_reco_bmn(), and run_reco_src().

Here is the caller graph for this function:

Member Data Documentation

◆ effTestEfficiencyDoubleHit

TEfficiency * BmnTofHitProducer::effTestEfficiencyDoubleHit
private

Definition at line 47 of file BmnTofHitProducer.h.

Referenced by BmnTofHitProducer(), and Exec().

◆ effTestEfficiencySingleHit

TEfficiency* BmnTofHitProducer::effTestEfficiencySingleHit
private

Definition at line 47 of file BmnTofHitProducer.h.

Referenced by BmnTofHitProducer(), and Exec().

◆ fDiffTimeMaxBig

Double_t BmnTofHitProducer::fDiffTimeMaxBig
private

Definition at line 77 of file BmnTofHitProducer.h.

Referenced by BmnTofHitProducer(), Exec(), and SetDiffTimeMaxBig().

◆ fDiffTimeMaxSmall

Double_t BmnTofHitProducer::fDiffTimeMaxSmall
private

Definition at line 76 of file BmnTofHitProducer.h.

Referenced by BmnTofHitProducer(), Exec(), and SetDiffTimeMaxSmall().

◆ fDoINL

Bool_t BmnTofHitProducer::fDoINL
private

Definition at line 43 of file BmnTofHitProducer.h.

Referenced by BmnTofHitProducer(), GetParameters(), and SetDoINL().

◆ fDoSlewing

Bool_t BmnTofHitProducer::fDoSlewing
private

Definition at line 44 of file BmnTofHitProducer.h.

Referenced by BmnTofHitProducer(), GetParameters(), and SetDoSlewing().

◆ fErrX

Double_t BmnTofHitProducer::fErrX
private

◆ fErrY

Double_t BmnTofHitProducer::fErrY
private

Definition at line 40 of file BmnTofHitProducer.h.

Referenced by BmnTofHitProducer(), Exec(), and GetParameters().

◆ fgeomFile

const char* BmnTofHitProducer::fgeomFile
private

Definition at line 58 of file BmnTofHitProducer.h.

Referenced by BmnTofHitProducer(), and Init().

◆ fMainStripSelection

Int_t BmnTofHitProducer::fMainStripSelection
private

Definition at line 72 of file BmnTofHitProducer.h.

Referenced by BmnTofHitProducer(), Exec(), and SetMainStripSelection().

◆ fMCTime

Double_t BmnTofHitProducer::fMCTime[TOF2_MAX_CHAMBERS]
private

Definition at line 33 of file BmnTofHitProducer.h.

Referenced by Exec(), Init(), and readMCTimeFile().

◆ fMCTimeFile

const char* BmnTofHitProducer::fMCTimeFile
private

Definition at line 60 of file BmnTofHitProducer.h.

Referenced by BmnTofHitProducer(), Exec(), Init(), and SetMCTimeFile().

◆ fMCTimeSigma

Double_t BmnTofHitProducer::fMCTimeSigma[TOF2_MAX_CHAMBERS]
private

Definition at line 34 of file BmnTofHitProducer.h.

Referenced by readMCTimeFile().

◆ fProtonTimeCorrectionFile

const char* BmnTofHitProducer::fProtonTimeCorrectionFile
private

Definition at line 62 of file BmnTofHitProducer.h.

Referenced by BmnTofHitProducer(), Init(), and SetProtonTimeCorrectionFile().

◆ fSelectXYCalibration

Int_t BmnTofHitProducer::fSelectXYCalibration
private

Definition at line 73 of file BmnTofHitProducer.h.

Referenced by BmnTofHitProducer(), Exec(), and SetSelectXYCalibration().

◆ fSignalVelosity

const double BmnTofHitProducer::fSignalVelosity
private

◆ fTimeMax

Double_t BmnTofHitProducer::fTimeMax
private

Definition at line 75 of file BmnTofHitProducer.h.

Referenced by BmnTofHitProducer(), Exec(), and SetTimeMax().

◆ fTimeMin

Double_t BmnTofHitProducer::fTimeMin
private

Definition at line 74 of file BmnTofHitProducer.h.

Referenced by BmnTofHitProducer(), Exec(), and SetTimeMin().

◆ fTimeSigma

Double_t BmnTofHitProducer::fTimeSigma
private

◆ fTOF2

BmnTof2Raw2DigitNew* BmnTofHitProducer::fTOF2
private

Definition at line 71 of file BmnTofHitProducer.h.

Referenced by Exec(), and Init().

◆ h1TestDistance

TH1D * BmnTofHitProducer::h1TestDistance
private

Definition at line 48 of file BmnTofHitProducer.h.

Referenced by BmnTofHitProducer(), and Init().

◆ h1TestMass

TH1D * BmnTofHitProducer::h1TestMass
private

Definition at line 48 of file BmnTofHitProducer.h.

Referenced by BmnTofHitProducer(), and Exec().

◆ h1TestMassLong

TH1D * BmnTofHitProducer::h1TestMassLong
private

Definition at line 48 of file BmnTofHitProducer.h.

Referenced by BmnTofHitProducer(), and Exec().

◆ h1TestOccupancyPositionShift

TH1D * BmnTofHitProducer::h1TestOccupancyPositionShift
private

Definition at line 49 of file BmnTofHitProducer.h.

Referenced by BmnTofHitProducer(), and MergeHitsOnStripNew().

◆ h1TestOccupancyTimeShift

TH1D * BmnTofHitProducer::h1TestOccupancyTimeShift
private

Definition at line 48 of file BmnTofHitProducer.h.

Referenced by BmnTofHitProducer(), and MergeHitsOnStripNew().

◆ h2TdetIdStripId

TH2D * BmnTofHitProducer::h2TdetIdStripId
private

Definition at line 51 of file BmnTofHitProducer.h.

Referenced by BmnTofHitProducer(), and Exec().

◆ h2TestEtaPhi

TH2D * BmnTofHitProducer::h2TestEtaPhi
private

Definition at line 51 of file BmnTofHitProducer.h.

Referenced by BmnTofHitProducer(), and Exec().

◆ h2TestNeighborPair

TH2D* BmnTofHitProducer::h2TestNeighborPair
private

Definition at line 50 of file BmnTofHitProducer.h.

Referenced by BmnTofHitProducer(), and Init().

◆ h2TestRZ

TH2D * BmnTofHitProducer::h2TestRZ
private

Definition at line 51 of file BmnTofHitProducer.h.

Referenced by BmnTofHitProducer(), and Exec().

◆ h2TestStrips

TH2D * BmnTofHitProducer::h2TestStrips
private

Definition at line 51 of file BmnTofHitProducer.h.

Referenced by BmnTofHitProducer(), and Init().

◆ h2TestXYSmeared

TH2D * BmnTofHitProducer::h2TestXYSmeared
private

Definition at line 50 of file BmnTofHitProducer.h.

Referenced by BmnTofHitProducer(), and Exec().

◆ h2TestXYSmeared2

TH2D * BmnTofHitProducer::h2TestXYSmeared2
private

Definition at line 50 of file BmnTofHitProducer.h.

Referenced by BmnTofHitProducer(), and Exec().

◆ h2TestXYSmearedDouble

TH2D * BmnTofHitProducer::h2TestXYSmearedDouble
private

Definition at line 50 of file BmnTofHitProducer.h.

Referenced by BmnTofHitProducer(), and Exec().

◆ h2TestXYSmearedDouble2

TH2D * BmnTofHitProducer::h2TestXYSmearedDouble2
private

Definition at line 50 of file BmnTofHitProducer.h.

Referenced by BmnTofHitProducer(), and Exec().

◆ htR

TH1D* BmnTofHitProducer::htR
private

Definition at line 48 of file BmnTofHitProducer.h.

◆ pGeoUtils

BmnTofGeoUtils* BmnTofHitProducer::pGeoUtils
private

Definition at line 56 of file BmnTofHitProducer.h.

Referenced by ~BmnTofHitProducer(), Exec(), Init(), and MergeHitsOnStripNew().

◆ pRandom

TRandom2* BmnTofHitProducer::pRandom
private

◆ tofcalc

Double_t BmnTofHitProducer::tofcalc[TOF2_MAX_CHAMBERS] = {0.f}
private

Definition at line 36 of file BmnTofHitProducer.h.

Referenced by Exec(), and Init().

◆ tofcals

Double_t BmnTofHitProducer::tofcals[TOF2_MAX_CHAMBERS][32] = {{0.f}}
private

Definition at line 37 of file BmnTofHitProducer.h.

Referenced by Exec(), and Init().


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