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

#include <BmnCellAutoTracking.h>

Inheritance diagram for BmnCellAutoTracking:
Collaboration diagram for BmnCellAutoTracking:

Public Member Functions

 BmnCellAutoTracking ()
 BmnCellAutoTracking (Short_t period, Int_t run, Bool_t field, Bool_t target, TString steerFile="")
virtual ~BmnCellAutoTracking ()
virtual InitStatus Init ()
virtual void Exec (Option_t *opt)
virtual void Finish ()
void SetInnerTrackerSetup (map< DetectorId, Bool_t > setup)
void SetDetectorPresence (DetectorId det, Bool_t use)

Private Member Functions

BmnStatus CellsCreation (vector< BmnCellDuet > *cells)
BmnStatus StateCalculation (vector< BmnCellDuet > *cells)
vector< BmnTrack > CellsConnection (vector< BmnCellDuet > *cells)
BmnStatus TrackUpdateByKalman (vector< BmnTrack > &cands)
BmnStatus TrackUpdateByLine (vector< BmnTrack > &cands)
BmnStatus SortTracks (vector< BmnTrack > &inTracks, vector< BmnTrack > &sortedTracks)
BmnStatus TrackSelection (vector< BmnTrack > &cands)
Double_t CalcQp (BmnTrack *track)
BmnStatus CalculateTrackParams (BmnTrack *tr)
BmnStatus CalcCovMatrix (BmnTrack *tr)
TVector2 CalcMeanSigma (vector< Double_t >)
Double_t CalculateLength (BmnTrack *tr)
BmnStatus CheckSharedHits (vector< BmnTrack > &sortedTracks)
void SetHitsUsing (BmnTrack *tr, Bool_t use)
BmnStatus DrawHits ()

Private Attributes

BmnGemStripStationSet * fGemDetector
BmnSiliconStationSet * fSilDetector
TString fGemHitsBranchName
TString fSilHitsBranchName
TString fSsdHitsBranchName
TString fGlobTracksBranchName
TString fGemTracksBranchName
TString fSilTracksBranchName
TString fSsdTracksBranchName
TClonesArray * fGlobTracksArray
TClonesArray * fSilTracksArray
TClonesArray * fGemTracksArray
TClonesArray * fSsdTracksArray
TClonesArray * fSilHitsArray
TClonesArray * fSsdHitsArray
TClonesArray * fGemHitsArray
TClonesArray * fHitsArray
TClonesArray * fMCTracksArray
TClonesArray * fSilPointsArray
TClonesArray * fSsdPointsArray
TClonesArray * fGemPointsArray
BmnKalmanFilter * fKalman
Bool_t fIsField
Bool_t fIsTarget
map< DetectorId, Bool_t > fInnerTrackerSetup
UInt_t fEventNo
Short_t fPeriodId
Short_t fNStations
Short_t fNSiliconStations
TVector3 fRoughVertex
FairField * fField
Double_t fChiSquareCut
Double_t * fCellDistCut
Double_t * fHitXCutMin
Double_t * fHitXCutMax
Double_t * fHitYCutMin
Double_t * fHitYCutMax
Double_t * fCellSlopeXZCutMin
Double_t * fCellSlopeXZCutMax
Double_t * fCellSlopeYZCutMin
Double_t * fCellSlopeYZCutMax
Double_t * fCellDiffSlopeYZCut
Double_t * fCellDiffSlopeXZCut
Int_t fNHitsCut
TString fSteerFile
BmnSteering * fSteering
Bool_t isSRC
size_t kCellsCut

Detailed Description

Definition at line 35 of file BmnCellAutoTracking.h.

Constructor & Destructor Documentation

◆ BmnCellAutoTracking() [1/2]

BmnCellAutoTracking::BmnCellAutoTracking ( )
inline

Definition at line 40 of file BmnCellAutoTracking.h.

◆ BmnCellAutoTracking() [2/2]

◆ ~BmnCellAutoTracking()

Member Function Documentation

◆ CalcCovMatrix()

BmnStatus BmnCellAutoTracking::CalcCovMatrix ( BmnTrack * tr)
private

Definition at line 761 of file BmnCellAutoTracking.cxx.

References TMath::Abs(), CircleFit(), fField, fHitsArray, BmnTrack::GetHitIndex(), BmnTrack::GetNHits(), i, kBMNSUCCESS, LineFit(), BmnTrack::SetParamFirst(), BmnTrack::SetParamLast(), TMath::Sq(), TMath::Sqrt(), TVector3::X(), and TVector3::Y().

Referenced by CalculateTrackParams().

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

◆ CalcMeanSigma()

TVector2 BmnCellAutoTracking::CalcMeanSigma ( vector< Double_t > QpSegm)
private

Definition at line 896 of file BmnCellAutoTracking.cxx.

References TMath::Sq(), and TMath::Sqrt().

Referenced by CalcQp().

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

◆ CalcQp()

Double_t BmnCellAutoTracking::CalcQp ( BmnTrack * track)
private

Definition at line 911 of file BmnCellAutoTracking.cxx.

References TMath::Abs(), CalcMeanSigma(), CircleBy3Hit(), d, dist(), fField, fHitsArray, BmnTrack::GetHitIndex(), BmnTrack::GetNHits(), i, kBMNERROR, LineFit(), Mu(), TMath::R(), TMath::Sigma(), TMath::Sq(), TMath::Sqrt(), W(), TVector2::X(), TVector3::X(), TVector2::Y(), TVector3::Y(), and TVector3::Z().

Referenced by CalculateTrackParams().

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

◆ CalculateLength()

Double_t BmnCellAutoTracking::CalculateLength ( BmnTrack * tr)
private

Definition at line 1024 of file BmnCellAutoTracking.cxx.

References fHitsArray, BmnTrack::GetHitIndex(), BmnTrack::GetNHits(), i, BmnTrack::SetLength(), and TMath::Sqrt().

Referenced by TrackSelection().

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

◆ CalculateTrackParams()

BmnStatus BmnCellAutoTracking::CalculateTrackParams ( BmnTrack * tr)
private

Definition at line 861 of file BmnCellAutoTracking.cxx.

References CalcCovMatrix(), CalcQp(), CalcTx(), fHitsArray, fIsField, fNHitsCut, BmnTrack::GetHitIndex(), BmnTrack::GetNHits(), BmnTrack::GetParamFirst(), BmnTrack::GetParamLast(), kBMNERROR, kBMNSUCCESS, LineFit(), BmnTrack::SetNDF(), and TVector3::X().

Referenced by CellsConnection().

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

◆ CellsConnection()

vector< BmnTrack > BmnCellAutoTracking::CellsConnection ( vector< BmnCellDuet > * cells)
private

Definition at line 525 of file BmnCellAutoTracking.cxx.

References TMath::Abs(), BmnTrack::AddHit(), CalculateTrackParams(), fCellDiffSlopeXZCut, fCellDiffSlopeYZCut, fHitsArray, fIsField, fNStations, BmnCellDuet::GetFirstIdx(), BmnCellDuet::GetLastIdx(), BmnTrack::GetParamFirst(), BmnTrack::GetParamLast(), BmnCellDuet::GetSlopeXZ(), BmnCellDuet::GetSlopeYZ(), i, IsParCorrect(), kBMNERROR, kCellsCut, and BmnTrack::SortHits().

Referenced by Exec().

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

◆ CellsCreation()

BmnStatus BmnCellAutoTracking::CellsCreation ( vector< BmnCellDuet > * cells)
private

Definition at line 407 of file BmnCellAutoTracking.cxx.

References fCellSlopeXZCutMax, fCellSlopeXZCutMin, fCellSlopeYZCutMax, fCellSlopeYZCutMin, fHitsArray, fHitXCutMax, fHitXCutMin, fHitYCutMax, fHitYCutMin, fNStations, fRoughVertex, BmnHit::GetStation(), BmnHit::IsUsed(), kBMNSUCCESS, BmnCellDuet::SetFirstIdx(), BmnCellDuet::SetLastIdx(), BmnCellDuet::SetNewState(), BmnCellDuet::SetOldState(), BmnCellDuet::SetSlopeXZ(), BmnCellDuet::SetSlopeYZ(), BmnCellDuet::SetStartPlane(), BmnCellDuet::SetUsing(), and z0.

Referenced by Exec().

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

◆ CheckSharedHits()

BmnStatus BmnCellAutoTracking::CheckSharedHits ( vector< BmnTrack > & sortedTracks)
private

Definition at line 1050 of file BmnCellAutoTracking.cxx.

References BmnTrack::GetFlag(), BmnTrack::GetHitIndex(), BmnTrack::GetNHits(), kBMNSUCCESS, and BmnTrack::SetFlag().

Referenced by TrackSelection().

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

◆ DrawHits()

◆ Exec()

◆ Finish()

void BmnCellAutoTracking::Finish ( )
virtual

Definition at line 392 of file BmnCellAutoTracking.cxx.

References connectTime, createTime, selectTime, sortTime, stateTime, and workTime.

◆ Init()

◆ SetDetectorPresence()

void BmnCellAutoTracking::SetDetectorPresence ( DetectorId det,
Bool_t use )
inline

Definition at line 50 of file BmnCellAutoTracking.h.

References fInnerTrackerSetup, and use.

◆ SetHitsUsing()

void BmnCellAutoTracking::SetHitsUsing ( BmnTrack * tr,
Bool_t use )
private

Definition at line 752 of file BmnCellAutoTracking.cxx.

References fHitsArray, BmnTrack::GetHitIndex(), BmnTrack::GetNHits(), i, BmnHit::SetUsing(), and use.

Referenced by TrackSelection().

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

◆ SetInnerTrackerSetup()

void BmnCellAutoTracking::SetInnerTrackerSetup ( map< DetectorId, Bool_t > setup)
inline

Definition at line 48 of file BmnCellAutoTracking.h.

References fInnerTrackerSetup.

◆ SortTracks()

BmnStatus BmnCellAutoTracking::SortTracks ( vector< BmnTrack > & inTracks,
vector< BmnTrack > & sortedTracks )
private

Definition at line 362 of file BmnCellAutoTracking.cxx.

References fChiSquareCut, fNHitsCut, fNStations, i, kBMNSUCCESS, and n.

Referenced by Exec().

Here is the caller graph for this function:

◆ StateCalculation()

BmnStatus BmnCellAutoTracking::StateCalculation ( vector< BmnCellDuet > * cells)
private

Definition at line 487 of file BmnCellAutoTracking.cxx.

References fNStations, and kBMNSUCCESS.

◆ TrackSelection()

BmnStatus BmnCellAutoTracking::TrackSelection ( vector< BmnTrack > & cands)
private

Definition at line 691 of file BmnCellAutoTracking.cxx.

References BmnTrack::AddHit(), CalculateLength(), CheckSharedHits(), fGemTracksArray, fGlobTracksArray, fHitsArray, fInnerTrackerSetup, fIsField, fIsTarget, fSilTracksArray, fSsdTracksArray, BmnTrack::GetChi2(), BmnHit::GetDetId(), BmnTrack::GetFlag(), BmnTrack::GetHitIndex(), BmnHit::GetIndex(), BmnTrack::GetNDF(), BmnTrack::GetNHits(), BmnTrack::GetParamFirst(), BmnTrack::GetParamLast(), IsParCorrect(), kBMNSUCCESS, kGEM, kSILICON, kSSD, BmnTrack::SetChi2(), BmnGlobalTrack::SetGemTrackIndex(), SetHitsUsing(), BmnTrack::SetLength(), BmnTrack::SetNDF(), BmnTrack::SetNHits(), BmnTrack::SetParamFirst(), BmnTrack::SetParamLast(), and BmnTrack::SortHits().

Referenced by Exec().

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

◆ TrackUpdateByKalman()

BmnStatus BmnCellAutoTracking::TrackUpdateByKalman ( vector< BmnTrack > & cands)
private

Definition at line 622 of file BmnCellAutoTracking.cxx.

References fHitsArray, fIsField, fKalman, and kBMNSUCCESS.

Referenced by Exec().

Here is the caller graph for this function:

◆ TrackUpdateByLine()

BmnStatus BmnCellAutoTracking::TrackUpdateByLine ( vector< BmnTrack > & cands)
private

Definition at line 602 of file BmnCellAutoTracking.cxx.

References fHitsArray, BmnTrack::GetParamFirst(), BmnTrack::GetParamLast(), kBMNSUCCESS, LineFit(), BmnTrack::SetChi2(), TVector3::X(), and TVector3::Z().

Referenced by Exec().

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

Member Data Documentation

◆ fCellDiffSlopeXZCut

Double_t* BmnCellAutoTracking::fCellDiffSlopeXZCut
private

◆ fCellDiffSlopeYZCut

Double_t* BmnCellAutoTracking::fCellDiffSlopeYZCut
private

◆ fCellDistCut

Double_t* BmnCellAutoTracking::fCellDistCut
private

Definition at line 110 of file BmnCellAutoTracking.h.

Referenced by BmnCellAutoTracking(), ~BmnCellAutoTracking(), and Init().

◆ fCellSlopeXZCutMax

Double_t* BmnCellAutoTracking::fCellSlopeXZCutMax
private

◆ fCellSlopeXZCutMin

Double_t* BmnCellAutoTracking::fCellSlopeXZCutMin
private

◆ fCellSlopeYZCutMax

Double_t* BmnCellAutoTracking::fCellSlopeYZCutMax
private

◆ fCellSlopeYZCutMin

Double_t* BmnCellAutoTracking::fCellSlopeYZCutMin
private

◆ fChiSquareCut

Double_t BmnCellAutoTracking::fChiSquareCut
private

Definition at line 109 of file BmnCellAutoTracking.h.

Referenced by Exec(), and SortTracks().

◆ fEventNo

UInt_t BmnCellAutoTracking::fEventNo
private

Definition at line 100 of file BmnCellAutoTracking.h.

Referenced by BmnCellAutoTracking(), and Exec().

◆ fField

FairField* BmnCellAutoTracking::fField
private

Definition at line 107 of file BmnCellAutoTracking.h.

Referenced by BmnCellAutoTracking(), CalcCovMatrix(), CalcQp(), and Init().

◆ fGemDetector

BmnGemStripStationSet* BmnCellAutoTracking::fGemDetector
private

Definition at line 70 of file BmnCellAutoTracking.h.

Referenced by BmnCellAutoTracking(), ~BmnCellAutoTracking(), DrawHits(), and Init().

◆ fGemHitsArray

TClonesArray* BmnCellAutoTracking::fGemHitsArray
private

Definition at line 86 of file BmnCellAutoTracking.h.

Referenced by BmnCellAutoTracking(), DrawHits(), Exec(), and Init().

◆ fGemHitsBranchName

TString BmnCellAutoTracking::fGemHitsBranchName
private

Definition at line 72 of file BmnCellAutoTracking.h.

Referenced by BmnCellAutoTracking(), and Init().

◆ fGemPointsArray

TClonesArray* BmnCellAutoTracking::fGemPointsArray
private

Definition at line 92 of file BmnCellAutoTracking.h.

Referenced by DrawHits(), and Init().

◆ fGemTracksArray

TClonesArray* BmnCellAutoTracking::fGemTracksArray
private

Definition at line 82 of file BmnCellAutoTracking.h.

Referenced by BmnCellAutoTracking(), DrawHits(), Exec(), Init(), and TrackSelection().

◆ fGemTracksBranchName

TString BmnCellAutoTracking::fGemTracksBranchName
private

Definition at line 76 of file BmnCellAutoTracking.h.

Referenced by BmnCellAutoTracking(), and Init().

◆ fGlobTracksArray

TClonesArray* BmnCellAutoTracking::fGlobTracksArray
private

Definition at line 80 of file BmnCellAutoTracking.h.

Referenced by BmnCellAutoTracking(), DrawHits(), Exec(), Init(), and TrackSelection().

◆ fGlobTracksBranchName

TString BmnCellAutoTracking::fGlobTracksBranchName
private

Definition at line 75 of file BmnCellAutoTracking.h.

Referenced by BmnCellAutoTracking(), and Init().

◆ fHitsArray

◆ fHitXCutMax

Double_t* BmnCellAutoTracking::fHitXCutMax
private

◆ fHitXCutMin

Double_t* BmnCellAutoTracking::fHitXCutMin
private

◆ fHitYCutMax

Double_t* BmnCellAutoTracking::fHitYCutMax
private

◆ fHitYCutMin

Double_t* BmnCellAutoTracking::fHitYCutMin
private

◆ fInnerTrackerSetup

map<DetectorId, Bool_t> BmnCellAutoTracking::fInnerTrackerSetup
private

◆ fIsField

Bool_t BmnCellAutoTracking::fIsField
private

◆ fIsTarget

Bool_t BmnCellAutoTracking::fIsTarget
private

Definition at line 97 of file BmnCellAutoTracking.h.

Referenced by BmnCellAutoTracking(), and TrackSelection().

◆ fKalman

BmnKalmanFilter* BmnCellAutoTracking::fKalman
private

◆ fMCTracksArray

TClonesArray* BmnCellAutoTracking::fMCTracksArray
private

Definition at line 89 of file BmnCellAutoTracking.h.

Referenced by DrawHits(), and Init().

◆ fNHitsCut

Int_t BmnCellAutoTracking::fNHitsCut
private

Definition at line 122 of file BmnCellAutoTracking.h.

Referenced by BmnCellAutoTracking(), CalculateTrackParams(), Exec(), and SortTracks().

◆ fNSiliconStations

Short_t BmnCellAutoTracking::fNSiliconStations
private

Definition at line 103 of file BmnCellAutoTracking.h.

Referenced by BmnCellAutoTracking(), and DrawHits().

◆ fNStations

Short_t BmnCellAutoTracking::fNStations
private

◆ fPeriodId

Short_t BmnCellAutoTracking::fPeriodId
private

Definition at line 101 of file BmnCellAutoTracking.h.

Referenced by BmnCellAutoTracking(), and Init().

◆ fRoughVertex

TVector3 BmnCellAutoTracking::fRoughVertex
private

Definition at line 105 of file BmnCellAutoTracking.h.

Referenced by BmnCellAutoTracking(), and CellsCreation().

◆ fSilDetector

BmnSiliconStationSet* BmnCellAutoTracking::fSilDetector
private

Definition at line 71 of file BmnCellAutoTracking.h.

Referenced by BmnCellAutoTracking(), ~BmnCellAutoTracking(), DrawHits(), Exec(), and Init().

◆ fSilHitsArray

TClonesArray* BmnCellAutoTracking::fSilHitsArray
private

Definition at line 84 of file BmnCellAutoTracking.h.

Referenced by BmnCellAutoTracking(), DrawHits(), Exec(), and Init().

◆ fSilHitsBranchName

TString BmnCellAutoTracking::fSilHitsBranchName
private

Definition at line 73 of file BmnCellAutoTracking.h.

Referenced by BmnCellAutoTracking(), and Init().

◆ fSilPointsArray

TClonesArray* BmnCellAutoTracking::fSilPointsArray
private

Definition at line 90 of file BmnCellAutoTracking.h.

Referenced by DrawHits(), and Init().

◆ fSilTracksArray

TClonesArray* BmnCellAutoTracking::fSilTracksArray
private

Definition at line 81 of file BmnCellAutoTracking.h.

Referenced by BmnCellAutoTracking(), DrawHits(), Exec(), Init(), and TrackSelection().

◆ fSilTracksBranchName

TString BmnCellAutoTracking::fSilTracksBranchName
private

Definition at line 77 of file BmnCellAutoTracking.h.

Referenced by BmnCellAutoTracking(), and Init().

◆ fSsdHitsArray

TClonesArray* BmnCellAutoTracking::fSsdHitsArray
private

Definition at line 85 of file BmnCellAutoTracking.h.

Referenced by BmnCellAutoTracking(), DrawHits(), Exec(), and Init().

◆ fSsdHitsBranchName

TString BmnCellAutoTracking::fSsdHitsBranchName
private

Definition at line 74 of file BmnCellAutoTracking.h.

Referenced by BmnCellAutoTracking(), and Init().

◆ fSsdPointsArray

TClonesArray* BmnCellAutoTracking::fSsdPointsArray
private

Definition at line 91 of file BmnCellAutoTracking.h.

Referenced by Init().

◆ fSsdTracksArray

TClonesArray* BmnCellAutoTracking::fSsdTracksArray
private

Definition at line 83 of file BmnCellAutoTracking.h.

Referenced by BmnCellAutoTracking(), DrawHits(), Exec(), Init(), and TrackSelection().

◆ fSsdTracksBranchName

TString BmnCellAutoTracking::fSsdTracksBranchName
private

Definition at line 78 of file BmnCellAutoTracking.h.

Referenced by BmnCellAutoTracking(), and Init().

◆ fSteerFile

TString BmnCellAutoTracking::fSteerFile
private

Definition at line 124 of file BmnCellAutoTracking.h.

Referenced by BmnCellAutoTracking().

◆ fSteering

BmnSteering* BmnCellAutoTracking::fSteering
private

Definition at line 125 of file BmnCellAutoTracking.h.

Referenced by BmnCellAutoTracking(), and Exec().

◆ isSRC

Bool_t BmnCellAutoTracking::isSRC
private

Definition at line 127 of file BmnCellAutoTracking.h.

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

◆ kCellsCut

size_t BmnCellAutoTracking::kCellsCut
private

Definition at line 129 of file BmnCellAutoTracking.h.

Referenced by BmnCellAutoTracking(), and CellsConnection().


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