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

#include <BmnGlobalTracking.h>

Inheritance diagram for BmnGlobalTracking:
Collaboration diagram for BmnGlobalTracking:

Public Member Functions

 BmnGlobalTracking ()
 Constructor.
virtual ~BmnGlobalTracking ()
 Destructor.
virtual InitStatus Init ()
 Inherited from FairTask.
virtual void Exec (Option_t *opt)
 Inherited from FairTask.
virtual void Finish ()
 Inherited from FairTask.
virtual void OnlineWrite (const std::unique_ptr< TTree > &resultTree)
 Write task resul to tree.
void SetPeriodNumber (Short_t p)
void SetInnerTracksBranchName (TString name)
 BmnGlobalTracking ()
 Constructor.
virtual ~BmnGlobalTracking ()
 Destructor.
virtual InitStatus Init ()
 Inherited from FairTask.
virtual void Exec (Option_t *opt)
 Inherited from FairTask.
virtual void Finish ()
 Inherited from FairTask.
virtual void OnlineWrite (const std::unique_ptr< TTree > &resultTree)
 Write task resul to tree.
void SetPeriodNumber (Short_t p)
void SetInnerTracksBranchName (TString name)
Public Member Functions inherited from BmnTask
 BmnTask ()
 Default constructor.
 BmnTask (const char *name, Int_t iVerbose=1)
 Standard constructor.
virtual ~BmnTask ()
 Destroy the BmnTask object.
 BmnTask (const BmnTask &)=delete
BmnTask & operator= (const BmnTask &)=delete
 BmnTask ()
 Default constructor.
 BmnTask (const char *name, Int_t iVerbose=1)
 Standard constructor.
virtual ~BmnTask ()
 Destroy the BmnTask object.
 BmnTask (const BmnTask &)=delete
BmnTask & operator= (const BmnTask &)=delete

Private Member Functions

Double_t CalculateLength (CbmStsTrack *tr)
void PrintStatistics ()
BmnStatus MatchingTOF (Bool_t tof400)
BmnStatus MatchingScWall ()
BmnStatus MatchingNdet ()
map< Float_t, pair< Int_t, Int_t > > FindPairsTof (TClonesArray *tracks, TClonesArray *hits, Bool_t tof400)
Double_t MagFieldIntegral (FairTrackParam &par, Double_t zMin, Double_t zMax, Double_t step)
BmnStatus UpdateMomentum (BmnGlobalTrack *tr)
void LoadAllAkimaCorrections (const TString &filename, Bool_t isTOF400)
Float_t GetAkimaCorrection (Int_t chamber, Float_t qp, Bool_t isDx, const TString &stage, Bool_t isTOF400, const TString &particle="", const TString &zone="")
Float_t GetAkimaSigma (Int_t chamber, Float_t qp, Bool_t isDx, const TString &stage, Bool_t isTOF400, const TString &particle="", const TString &zone="")
std::string GetRegionFromQP (Float_t qp)
Float_t AdjustQP (Float_t qp, Bool_t isTOF400=false)
 BmnGlobalTracking (const BmnGlobalTracking &)
Double_t CalculateLength (CbmStsTrack *tr)
void PrintStatistics ()
BmnStatus MatchingTOF (Bool_t tof400)
BmnStatus MatchingScWall ()
BmnStatus MatchingNdet ()
map< Float_t, pair< Int_t, Int_t > > FindPairsTof (TClonesArray *tracks, TClonesArray *hits, Bool_t tof400)
Double_t MagFieldIntegral (FairTrackParam &par, Double_t zMin, Double_t zMax, Double_t step)
BmnStatus UpdateMomentum (BmnGlobalTrack *tr)
void LoadAllAkimaCorrections (const TString &filename, Bool_t isTOF400)
Float_t GetAkimaCorrection (Int_t chamber, Float_t qp, Bool_t isDx, const TString &stage, Bool_t isTOF400, const TString &particle="", const TString &zone="")
Float_t GetAkimaSigma (Int_t chamber, Float_t qp, Bool_t isDx, const TString &stage, Bool_t isTOF400, const TString &particle="", const TString &zone="")
std::string GetRegionFromQP (Float_t qp)
Float_t AdjustQP (Float_t qp, Bool_t isTOF400=false)
 BmnGlobalTracking (const BmnGlobalTracking &)

Private Attributes

TClonesArray * fCscHits
TClonesArray * fTof1Hits
TClonesArray * fTof2Hits
TClonesArray * fStsHits
TClonesArray * fStsTracks
TClonesArray * fGlobalTracks
BmnScWallEvent * fScWall
BmnNdetEvent * fNdet
TString fInnerTrackBranchName
Short_t fPeriod
Int_t fEventNo
CbmVertex * fVertex
BmnKalmanFilter * fKalman
 vertex information
Double_t fTime
Long_t fNMatchedTof400
Long_t fNMatchedTof700
Long_t fNInnerTracks
Long_t fNGoodInnerTracks
AkimaContainer fAkima400
AkimaContainer fAkima700

Detailed Description

Definition at line 88 of file BmnGlobalTracking.h.

Constructor & Destructor Documentation

◆ BmnGlobalTracking() [1/4]

BmnGlobalTracking::BmnGlobalTracking ( )

Definition at line 27 of file BmnGlobalTracking.cxx.

References fCscHits, fEventNo, fGlobalTracks, fInnerTrackBranchName, fKalman, fNdet, fNGoodInnerTracks, fNInnerTracks, fNMatchedTof400, fNMatchedTof700, fPeriod, fScWall, fStsTracks, fTime, fTof1Hits, fTof2Hits, and fVertex.

Referenced by BmnGlobalTracking().

Here is the caller graph for this function:

◆ ~BmnGlobalTracking() [1/2]

BmnGlobalTracking::~BmnGlobalTracking ( )
virtual

Definition at line 47 of file BmnGlobalTracking.cxx.

References fGlobalTracks.

◆ BmnGlobalTracking() [2/4]

BmnGlobalTracking::BmnGlobalTracking ( const BmnGlobalTracking & )
private

References BmnGlobalTracking().

Here is the call graph for this function:

◆ BmnGlobalTracking() [3/4]

BmnGlobalTracking::BmnGlobalTracking ( )

◆ ~BmnGlobalTracking() [2/2]

virtual BmnGlobalTracking::~BmnGlobalTracking ( )
virtual

◆ BmnGlobalTracking() [4/4]

BmnGlobalTracking::BmnGlobalTracking ( const BmnGlobalTracking & )
private

References BmnGlobalTracking().

Here is the call graph for this function:

Member Function Documentation

◆ AdjustQP() [1/2]

Float_t BmnGlobalTracking::AdjustQP ( Float_t qp,
Bool_t isTOF400 = false )
private

Definition at line 864 of file BmnGlobalTracking.cxx.

Referenced by GetAkimaCorrection(), and GetAkimaSigma().

Here is the caller graph for this function:

◆ AdjustQP() [2/2]

Float_t BmnGlobalTracking::AdjustQP ( Float_t qp,
Bool_t isTOF400 = false )
private

◆ CalculateLength() [1/2]

Double_t BmnGlobalTracking::CalculateLength ( CbmStsTrack * tr)
private

◆ CalculateLength() [2/2]

◆ Exec() [1/2]

◆ Exec() [2/2]

virtual void BmnGlobalTracking::Exec ( Option_t * opt)
virtual

◆ FindPairsTof() [1/2]

map< Float_t, pair< Int_t, Int_t > > BmnGlobalTracking::FindPairsTof ( TClonesArray * tracks,
TClonesArray * hits,
Bool_t tof400 )
private

Definition at line 343 of file BmnGlobalTracking.cxx.

References TObjArray::At(), dist(), fKalman, GetAkimaCorrection(), TObjArray::GetEntriesFast(), BmnTrack::GetP(), BmnTrack::GetParamLast(), kBMNERROR, and TMath::Sqrt().

Referenced by MatchingTOF().

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

◆ FindPairsTof() [2/2]

map< Float_t, pair< Int_t, Int_t > > BmnGlobalTracking::FindPairsTof ( TClonesArray * tracks,
TClonesArray * hits,
Bool_t tof400 )
private

◆ Finish() [1/2]

void BmnGlobalTracking::Finish ( )
virtual

Definition at line 410 of file BmnGlobalTracking.cxx.

References fKalman, fTime, and PrintStatistics().

Here is the call graph for this function:

◆ Finish() [2/2]

virtual void BmnGlobalTracking::Finish ( )
virtual

◆ GetAkimaCorrection() [1/2]

Float_t BmnGlobalTracking::GetAkimaCorrection ( Int_t chamber,
Float_t qp,
Bool_t isDx,
const TString & stage,
Bool_t isTOF400,
const TString & particle = "",
const TString & zone = "" )
private

Definition at line 682 of file BmnGlobalTracking.cxx.

References AdjustQP(), TString::Data(), AkimaContainer::dx_stage1_neg, AkimaContainer::dx_stage1_pos, AkimaContainer::dx_stage2_mean_neg, AkimaContainer::dx_stage2_mean_pos, AkimaContainer::dx_stage3_mean, AkimaContainer::dy_stage1_neg, AkimaContainer::dy_stage1_pos, AkimaContainer::dy_stage2_mean_neg, AkimaContainer::dy_stage2_mean_pos, AkimaContainer::dy_stage3_mean, fAkima400, fAkima700, GetAkimaCorrection(), GetRegionFromQP(), and numChambers.

Referenced by FindPairsTof(), GetAkimaCorrection(), and MatchingTOF().

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

◆ GetAkimaCorrection() [2/2]

Float_t BmnGlobalTracking::GetAkimaCorrection ( Int_t chamber,
Float_t qp,
Bool_t isDx,
const TString & stage,
Bool_t isTOF400,
const TString & particle = "",
const TString & zone = "" )
private

◆ GetAkimaSigma() [1/2]

Float_t BmnGlobalTracking::GetAkimaSigma ( Int_t chamber,
Float_t qp,
Bool_t isDx,
const TString & stage,
Bool_t isTOF400,
const TString & particle = "",
const TString & zone = "" )
private

Definition at line 776 of file BmnGlobalTracking.cxx.

References AdjustQP(), TString::Data(), AkimaContainer::dx_stage2_sigma_neg, AkimaContainer::dx_stage2_sigma_pos, AkimaContainer::dx_stage3_sigma, AkimaContainer::dy_stage2_sigma_neg, AkimaContainer::dy_stage2_sigma_pos, AkimaContainer::dy_stage3_sigma, fAkima400, fAkima700, GetAkimaSigma(), GetRegionFromQP(), and numChambers.

Referenced by GetAkimaSigma(), and MatchingTOF().

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

◆ GetAkimaSigma() [2/2]

Float_t BmnGlobalTracking::GetAkimaSigma ( Int_t chamber,
Float_t qp,
Bool_t isDx,
const TString & stage,
Bool_t isTOF400,
const TString & particle = "",
const TString & zone = "" )
private

◆ GetRegionFromQP() [1/2]

std::string BmnGlobalTracking::GetRegionFromQP ( Float_t qp)
private

Definition at line 859 of file BmnGlobalTracking.cxx.

Referenced by GetAkimaCorrection(), and GetAkimaSigma().

Here is the caller graph for this function:

◆ GetRegionFromQP() [2/2]

std::string BmnGlobalTracking::GetRegionFromQP ( Float_t qp)
private

◆ Init() [1/2]

InitStatus BmnGlobalTracking::Init ( )
virtual

Definition at line 55 of file BmnGlobalTracking.cxx.

References fCscHits, fGlobalTracks, fInnerTrackBranchName, fKalman, fNdet, fPeriod, fScWall, fStsTracks, fTof1Hits, fTof2Hits, fVertex, and LoadAllAkimaCorrections().

Here is the call graph for this function:

◆ Init() [2/2]

virtual InitStatus BmnGlobalTracking::Init ( )
virtual

◆ LoadAllAkimaCorrections() [1/2]

◆ LoadAllAkimaCorrections() [2/2]

void BmnGlobalTracking::LoadAllAkimaCorrections ( const TString & filename,
Bool_t isTOF400 )
private

◆ MagFieldIntegral() [1/2]

Double_t BmnGlobalTracking::MagFieldIntegral ( FairTrackParam & par,
Double_t zMin,
Double_t zMax,
Double_t step )
private

Definition at line 417 of file BmnGlobalTracking.cxx.

References fKalman, z, zMax, and zMin.

Referenced by UpdateMomentum().

Here is the caller graph for this function:

◆ MagFieldIntegral() [2/2]

Double_t BmnGlobalTracking::MagFieldIntegral ( FairTrackParam & par,
Double_t zMin,
Double_t zMax,
Double_t step )
private

References zMax, and zMin.

◆ MatchingNdet() [1/2]

BmnStatus BmnGlobalTracking::MatchingNdet ( )
private

Definition at line 308 of file BmnGlobalTracking.cxx.

References TMath::Abs(), fGlobalTracks, fKalman, fNdet, BmnTrack::GetP(), BmnTrack::GetParamLast(), kBMNERROR, kBMNSUCCESS, and BmnGlobalTrack::SetNdetHitIndex().

Referenced by Exec().

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

◆ MatchingNdet() [2/2]

BmnStatus BmnGlobalTracking::MatchingNdet ( )
private

◆ MatchingScWall() [1/2]

BmnStatus BmnGlobalTracking::MatchingScWall ( )
private

Definition at line 261 of file BmnGlobalTracking.cxx.

References TMath::Abs(), fGlobalTracks, fKalman, fScWall, BmnTrack::GetP(), BmnTrack::GetParamLast(), BmnScWallCell::GetSignal(), i, kBMNERROR, kBMNSUCCESS, BmnGlobalTrack::SetScWallCellId(), BmnGlobalTrack::SetScWallSignal(), and z.

Here is the call graph for this function:

◆ MatchingScWall() [2/2]

BmnStatus BmnGlobalTracking::MatchingScWall ( )
private

◆ MatchingTOF() [1/2]

BmnStatus BmnGlobalTracking::MatchingTOF ( Bool_t tof400)
private

◆ MatchingTOF() [2/2]

BmnStatus BmnGlobalTracking::MatchingTOF ( Bool_t tof400)
private

◆ OnlineWrite() [1/2]

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

Reimplemented from BmnTask.

Definition at line 449 of file BmnGlobalTracking.cxx.

References fGlobalTracks, and fStsTracks.

◆ OnlineWrite() [2/2]

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

Reimplemented from BmnTask.

◆ PrintStatistics() [1/2]

void BmnGlobalTracking::PrintStatistics ( )
private

Definition at line 437 of file BmnGlobalTracking.cxx.

References fNGoodInnerTracks, fNInnerTracks, fNMatchedTof400, and fNMatchedTof700.

Referenced by Finish().

Here is the caller graph for this function:

◆ PrintStatistics() [2/2]

void BmnGlobalTracking::PrintStatistics ( )
private

◆ SetInnerTracksBranchName() [1/2]

void BmnGlobalTracking::SetInnerTracksBranchName ( TString name)
inline

Definition at line 120 of file BmnGlobalTracking.h.

References fInnerTrackBranchName.

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

Here is the caller graph for this function:

◆ SetInnerTracksBranchName() [2/2]

void BmnGlobalTracking::SetInnerTracksBranchName ( TString name)
inline

Definition at line 120 of file BmnGlobalTracking.h.

References fInnerTrackBranchName.

◆ SetPeriodNumber() [1/2]

void BmnGlobalTracking::SetPeriodNumber ( Short_t p)
inline

Definition at line 118 of file BmnGlobalTracking.h.

References fPeriod.

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

Here is the caller graph for this function:

◆ SetPeriodNumber() [2/2]

void BmnGlobalTracking::SetPeriodNumber ( Short_t p)
inline

Definition at line 118 of file BmnGlobalTracking.h.

References fPeriod.

◆ UpdateMomentum() [1/2]

BmnStatus BmnGlobalTracking::UpdateMomentum ( BmnGlobalTrack * tr)
private

Definition at line 385 of file BmnGlobalTracking.cxx.

References TMath::Abs(), TMath::ATan(), fKalman, BmnTrack::GetParamFirst(), TMath::IsNaN(), kBMNSUCCESS, MagFieldIntegral(), and TMath::Sin().

Here is the call graph for this function:

◆ UpdateMomentum() [2/2]

BmnStatus BmnGlobalTracking::UpdateMomentum ( BmnGlobalTrack * tr)
private

Member Data Documentation

◆ fAkima400

AkimaContainer BmnGlobalTracking::fAkima400
private

◆ fAkima700

AkimaContainer BmnGlobalTracking::fAkima700
private

◆ fCscHits

TClonesArray * BmnGlobalTracking::fCscHits
private

Definition at line 129 of file BmnGlobalTracking.h.

Referenced by BmnGlobalTracking(), CalculateLength(), and Init().

◆ fEventNo

Int_t BmnGlobalTracking::fEventNo
private

Definition at line 142 of file BmnGlobalTracking.h.

Referenced by BmnGlobalTracking(), CalculateLength(), and Exec().

◆ fGlobalTracks

TClonesArray * BmnGlobalTracking::fGlobalTracks
private

◆ fInnerTrackBranchName

TString BmnGlobalTracking::fInnerTrackBranchName
private

◆ fKalman

◆ fNdet

BmnNdetEvent * BmnGlobalTracking::fNdet
private

Definition at line 136 of file BmnGlobalTracking.h.

Referenced by BmnGlobalTracking(), CalculateLength(), Init(), and MatchingNdet().

◆ fNGoodInnerTracks

Long_t BmnGlobalTracking::fNGoodInnerTracks
private

Definition at line 152 of file BmnGlobalTracking.h.

Referenced by BmnGlobalTracking(), CalculateLength(), Exec(), and PrintStatistics().

◆ fNInnerTracks

Long_t BmnGlobalTracking::fNInnerTracks
private

Definition at line 151 of file BmnGlobalTracking.h.

Referenced by BmnGlobalTracking(), CalculateLength(), Exec(), and PrintStatistics().

◆ fNMatchedTof400

Long_t BmnGlobalTracking::fNMatchedTof400
private

◆ fNMatchedTof700

Long_t BmnGlobalTracking::fNMatchedTof700
private

◆ fPeriod

Short_t BmnGlobalTracking::fPeriod
private

Definition at line 140 of file BmnGlobalTracking.h.

Referenced by BmnGlobalTracking(), CalculateLength(), Init(), and SetPeriodNumber().

◆ fScWall

BmnScWallEvent * BmnGlobalTracking::fScWall
private

Definition at line 135 of file BmnGlobalTracking.h.

Referenced by BmnGlobalTracking(), CalculateLength(), Init(), and MatchingScWall().

◆ fStsHits

TClonesArray * BmnGlobalTracking::fStsHits
private

Definition at line 132 of file BmnGlobalTracking.h.

Referenced by CalculateLength().

◆ fStsTracks

TClonesArray * BmnGlobalTracking::fStsTracks
private

Definition at line 133 of file BmnGlobalTracking.h.

Referenced by BmnGlobalTracking(), CalculateLength(), Exec(), Init(), and OnlineWrite().

◆ fTime

Double_t BmnGlobalTracking::fTime
private

Definition at line 147 of file BmnGlobalTracking.h.

Referenced by BmnGlobalTracking(), CalculateLength(), Exec(), and Finish().

◆ fTof1Hits

TClonesArray * BmnGlobalTracking::fTof1Hits
private

Definition at line 130 of file BmnGlobalTracking.h.

Referenced by BmnGlobalTracking(), CalculateLength(), Init(), and MatchingTOF().

◆ fTof2Hits

TClonesArray * BmnGlobalTracking::fTof2Hits
private

Definition at line 131 of file BmnGlobalTracking.h.

Referenced by BmnGlobalTracking(), CalculateLength(), Init(), and MatchingTOF().

◆ fVertex

CbmVertex * BmnGlobalTracking::fVertex
private

Definition at line 144 of file BmnGlobalTracking.h.

Referenced by BmnGlobalTracking(), CalculateLength(), Exec(), and Init().


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