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

BmnStsVectorFinder.h. More...

#include <BmnStsVectorFinder.h>

Inheritance diagram for BmnStsVectorFinder:
Collaboration diagram for BmnStsVectorFinder:

Classes

struct  hitinfo
struct  candvec

Public Member Functions

 BmnStsVectorFinder ()
 Default constructor.
 ~BmnStsVectorFinder ()
 Destructor.
virtual InitStatus Init ()
 Virtual method Init.
virtual void Exec (Option_t *opt)
 Virtual method Exec.
virtual void FinishEvent ()
 Virtual method FinishEvent.
virtual void Finish ()
 Virtual method Finish.
void SetMatBudgetFileName (TString s)
void SetNofSiStations (int nsi)
void SetExactSel (int trID)
 BmnStsVectorFinder ()
 Default constructor.
 ~BmnStsVectorFinder ()
 Destructor.
virtual InitStatus Init ()
 Virtual method Init.
virtual void Exec (Option_t *opt)
 Virtual method Exec.
virtual void FinishEvent ()
 Virtual method FinishEvent.
virtual void Finish ()
 Virtual method Finish.
void SetMatBudgetFileName (TString s)
void SetNofSiStations (int nsi)
void SetExactSel (int trID)

Private Member Functions

Int_t ExcludeHits (Int_t minHits, TClonesArray *trArray)
std::set< Int_t > GetHitId (CbmStsHit *hit, Int_t &idmaxP)
std::set< Int_t > GetHitIdBmn (CbmStsHit *hit, Int_t &idmaxP)
std::set< Int_t > GetHitId (Int_t hitInd, Int_t &idmaxP)
void BuildTrackCand ()
void BuildDoublets ()
Bool_t CheckVarx (Double_t dx, Double_t dz, Double_t tx, Double_t distxz, Double_t &varx)
void BuildTriplets ()
void BuildTracks ()
void ExtendTrack (candvec cand)
Double_t FitTrack (candvec &cand)
Double_t FilterHit (candvec &cand, CbmStsTrack &track)
void MakeStsTrack (candvec &cand, std::string &hitcode, CbmStsTrack &track)
void ExtendTracks (Int_t ista)
TVector3 Parabola (TVector3 &pos0, TVector3 &pos1, TVector3 &pos2)
void FitTracks ()
void RemoveDoubles ()
Bool_t AreTracksDoubles (CbmStsTrack &tr1, CbmStsTrack &tr2)
void RemoveFakes ()
void ExcludeFakes ()
Double_t DxVsMom (Int_t ista, candvec &aaa)
Double_t Proxim (Double_t ang1, Double_t ang2)
Double_t LinearFit (candvec &cand, candvec &cand2, CbmStsTrack *tr, Int_t newtr, Double_t &ty)
Double_t Curv3 (candvec &cand1, candvec &cand2, candvec &cand3, int newtr3)
std::set< int > KalmanWindow (candvec &cand, int hitIndx)
std::string MakeCode (candvec &cand)
void PrintHits (candvec &cand)
void InitTMVA3 ()
Float_t TMVAOutput3 (candvec &aaa1, candvec &aaa2)
void InitTMVA2 ()
Float_t TMVAOutput2 (candvec &aaa1)
 BmnStsVectorFinder (const BmnStsVectorFinder &)
BmnStsVectorFinder & operator= (const BmnStsVectorFinder &)
Int_t ExcludeHits (Int_t minHits, TClonesArray *trArray)
std::set< Int_t > GetHitId (CbmStsHit *hit, Int_t &idmaxP)
std::set< Int_t > GetHitIdBmn (CbmStsHit *hit, Int_t &idmaxP)
std::set< Int_t > GetHitId (Int_t hitInd, Int_t &idmaxP)
void BuildTrackCand ()
void BuildDoublets ()
Bool_t CheckVarx (Double_t dx, Double_t dz, Double_t tx, Double_t distxz, Double_t &varx)
void BuildTriplets ()
void BuildTracks ()
void ExtendTrack (candvec cand)
Double_t FitTrack (candvec &cand)
Double_t FilterHit (candvec &cand, CbmStsTrack &track)
void MakeStsTrack (candvec &cand, std::string &hitcode, CbmStsTrack &track)
void ExtendTracks (Int_t ista)
TVector3 Parabola (TVector3 &pos0, TVector3 &pos1, TVector3 &pos2)
void FitTracks ()
void RemoveDoubles ()
Bool_t AreTracksDoubles (CbmStsTrack &tr1, CbmStsTrack &tr2)
void RemoveFakes ()
void ExcludeFakes ()
Double_t DxVsMom (Int_t ista, candvec &aaa)
Double_t Proxim (Double_t ang1, Double_t ang2)
Double_t LinearFit (candvec &cand, candvec &cand2, CbmStsTrack *tr, Int_t newtr, Double_t &ty)
Double_t Curv3 (candvec &cand1, candvec &cand2, candvec &cand3, int newtr3)
std::set< int > KalmanWindow (candvec &cand, int hitIndx)
std::string MakeCode (candvec &cand)
void PrintHits (candvec &cand)
void InitTMVA3 ()
Float_t TMVAOutput3 (candvec &aaa1, candvec &aaa2)
void InitTMVA2 ()
Float_t TMVAOutput2 (candvec &aaa1)
 BmnStsVectorFinder (const BmnStsVectorFinder &)
BmnStsVectorFinder & operator= (const BmnStsVectorFinder &)

Private Attributes

TClonesArray * fClusArray [4]
 Input / output array of CbmStsHits.
TClonesArray * fHitArray
TClonesArray * fTrackArray
TClonesArray * fDigiMatches
TClonesArray * fStsPoints
TClonesArray * fSilPoints
TClonesArray * fVectorArray
Int_t fPass
Int_t fNsta
Int_t fNbranches
Int_t fExact
Int_t fExactSel
Int_t discarded
int fOut
TVector3 fXyzv
Double_t fBy
std::multimap< Double_t, Int_t > fmapPhx [19]
std::multimap< Double_t, Int_t > fmapTy [19]
std::multimap< Double_t, Int_t > fmapX [19]
std::multimap< Double_t, Int_t > fmapY [19]
std::vector< candvec > fSeedVec [19]
std::vector< candvec > fCandVec [19]
std::set< string > fCandCodes [19]
std::vector< candvec > fCandVec2 [19]
std::map< std::string, int > fMap2Out
std::map< std::string, int > * fMap2OutPtr
std::map< std::string, int > fMap3Out
std::map< std::string, int > * fMap3OutPtr
std::unordered_multimap< int, int > fMap2 [19]
std::vector< candvec > fCandVec3 [19]
std::unordered_multimap< int, int > fMap3 [19]
std::unordered_map< std::string, int > fMapCode3 [19]
std::multimap< Double_t, CbmStsTrack > fTracks
std::unordered_map< Int_t, hitinfo > fmapHits
std::unordered_multimap< Int_t, Int_t > fHit2id
std::unordered_multimap< Int_t, Int_t > fClusMaps [2]
Int_t * fNhitsMin
Int_t fNskips [20]
Double_t * fdTanX
Double_t * fdTanY
Double_t * fdTanY3
Double_t * fdTanXB0
Double_t * fPhiXZ
Double_t * fTanXmax
Double_t * fZmean
Double_t * fPTcut
Double_t * fCurvSta
BmnStsKFTrackFitter fitter
std::set< string > fCandSet [19]
TString fMatBudgetFileName
int fUseTMVA
int fNSi
Float_t fVarTMVA [20]
TMVA::Reader * fReaderTMVA3
TMVA::Reader * fReaderTMVA2

Detailed Description

Author
A.Zinchenko Alexa.nosp@m.nder.nosp@m..Zinc.nosp@m.henk.nosp@m.o@jin.nosp@m.r.ru

Vector Finder in BM@N tracker

Definition at line 30 of file BmnStsVectorFinder.h.

Constructor & Destructor Documentation

◆ BmnStsVectorFinder() [1/4]

BmnStsVectorFinder::BmnStsVectorFinder ( )

Definition at line 44 of file BmnStsVectorFinder.cxx.

References discarded, fClusArray, fExact, fExactSel, fHitArray, fMatBudgetFileName, fNbranches, fNhitsMin, fNSi, fNsta, fOut, fPass, fTrackArray, fUseTMVA, and fVectorArray.

Referenced by BmnStsVectorFinder(), and operator=().

Here is the caller graph for this function:

◆ ~BmnStsVectorFinder() [1/2]

BmnStsVectorFinder::~BmnStsVectorFinder ( )

Definition at line 71 of file BmnStsVectorFinder.cxx.

References fVectorArray.

◆ BmnStsVectorFinder() [2/4]

BmnStsVectorFinder::BmnStsVectorFinder ( const BmnStsVectorFinder & )
private

References BmnStsVectorFinder().

Here is the call graph for this function:

◆ BmnStsVectorFinder() [3/4]

BmnStsVectorFinder::BmnStsVectorFinder ( )

◆ ~BmnStsVectorFinder() [2/2]

BmnStsVectorFinder::~BmnStsVectorFinder ( )

◆ BmnStsVectorFinder() [4/4]

BmnStsVectorFinder::BmnStsVectorFinder ( const BmnStsVectorFinder & )
private

References BmnStsVectorFinder().

Here is the call graph for this function:

Member Function Documentation

◆ AreTracksDoubles() [1/2]

Bool_t BmnStsVectorFinder::AreTracksDoubles ( CbmStsTrack & tr1,
CbmStsTrack & tr2 )
private

Searching common hits in 2 tracks to determine doubles tr1 contains fewer hits than tr2

Definition at line 1903 of file BmnStsVectorFinder.cxx.

References fHitArray, CbmStsTrack::GetNStsHits(), TArray::GetSize(), CbmStsHit::GetStationNr(), CbmStsTrack::GetStsHitIndex(), CbmStsTrack::GetStsHits(), i, and TMath::Min().

Referenced by RemoveDoubles().

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

◆ AreTracksDoubles() [2/2]

Bool_t BmnStsVectorFinder::AreTracksDoubles ( CbmStsTrack & tr1,
CbmStsTrack & tr2 )
private

◆ BuildDoublets() [1/2]

void BmnStsVectorFinder::BuildDoublets ( )
private

Definition at line 723 of file BmnStsVectorFinder.cxx.

References TMath::Abs(), Curv3(), fBy, fCandVec, fCandVec2, fCandVec3, fCurvSta, fdTanX, fdTanXB0, fdTanY, fExact, fHitArray, fMap2, fMap2Out, fMap3, fMapCode3, fmapHits, fmapPhx, fmapTy, fNbranches, fNsta, fOut, fPass, fPhiXZ, fPTcut, fSeedVec, fTanXmax, fUseTMVA, fZmean, GetHitId(), BmnStsVectorFinder::candvec::idmaxP, BmnStsVectorFinder::candvec::lengxz, BmnStsVectorFinder::candvec::momxz, BmnStsVectorFinder::candvec::nskips, TMath::Sqrt(), BmnStsVectorFinder::candvec::stahit, TMVAOutput2(), BmnStsVectorFinder::candvec::tx, and BmnStsVectorFinder::candvec::ty.

Referenced by Exec().

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

◆ BuildDoublets() [2/2]

void BmnStsVectorFinder::BuildDoublets ( )
private

◆ BuildTrackCand() [1/2]

void BmnStsVectorFinder::BuildTrackCand ( )
private

!! For debug

!!

Definition at line 582 of file BmnStsVectorFinder.cxx.

References TMath::ATan2(), BmnStsVectorFinder::candvec::code, fBy, fCandVec, fCandVec2, fCandVec3, fExact, fExactSel, fHit2id, fHitArray, fMap2, fMap3, fMapCode3, fmapHits, fmapPhx, fmapTy, fmapX, fmapY, fNskips, fNsta, fPass, fPhiXZ, fSeedVec, fTanXmax, fXyzv, fZmean, GetHitId(), CbmStsHit::GetStationNr(), BmnStsVectorFinder::candvec::idmaxP, BmnStsVectorFinder::candvec::momxz, BmnStsVectorFinder::candvec::nskips, and BmnStsVectorFinder::candvec::stahit.

Referenced by Exec().

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

◆ BuildTrackCand() [2/2]

void BmnStsVectorFinder::BuildTrackCand ( )
private

◆ BuildTracks() [1/2]

void BmnStsVectorFinder::BuildTracks ( )
private

!! AZ-280323 - no jumps over stations at 1'st pass !!!

Definition at line 1101 of file BmnStsVectorFinder.cxx.

References ExtendTrack(), fCandVec3, fMap3, fNhitsMin, fNsta, fPass, TMath::Min(), BmnStsVectorFinder::candvec::nskips, and BmnStsVectorFinder::candvec::stahit.

Referenced by Exec().

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

◆ BuildTracks() [2/2]

void BmnStsVectorFinder::BuildTracks ( )
private

◆ BuildTriplets() [1/2]

void BmnStsVectorFinder::BuildTriplets ( )
private

hitMap -— aaa1.stahit

hit->SetDx(0.05); //AZ-110123 - early estimate

if (hit->GetStationNr() <= fNSi) hit->SetDx(0.02); //AZ-040123 - early estimate

Definition at line 897 of file BmnStsVectorFinder.cxx.

References TMath::Abs(), BmnStsVectorFinder::candvec::chi2, Curv3(), discarded, fBy, fCandVec2, fCandVec3, fdTanXB0, fdTanY3, fExact, fHitArray, fMap2, fMap3, fMap3Out, fMapCode3, fNbranches, fNSi, fNsta, fOut, fPass, fPTcut, fUseTMVA, CbmStsHit::GetStationNr(), CbmStsTrack::GetStsHits(), BmnStsVectorFinder::candvec::idmaxP, BmnStsVectorFinder::candvec::lengxz, LinearFit(), BmnStsVectorFinder::candvec::momxz, BmnStsVectorFinder::candvec::nskips, TArrayI::Set(), TMath::Sqrt(), BmnStsVectorFinder::candvec::stahit, TMVAOutput3(), BmnStsVectorFinder::candvec::tx, and BmnStsVectorFinder::candvec::ty.

Referenced by Exec().

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

◆ BuildTriplets() [2/2]

void BmnStsVectorFinder::BuildTriplets ( )
private

◆ CheckVarx() [1/2]

Bool_t BmnStsVectorFinder::CheckVarx ( Double_t dx,
Double_t dz,
Double_t tx,
Double_t distxz,
Double_t & varx )
private

Definition at line 886 of file BmnStsVectorFinder.cxx.

◆ CheckVarx() [2/2]

Bool_t BmnStsVectorFinder::CheckVarx ( Double_t dx,
Double_t dz,
Double_t tx,
Double_t distxz,
Double_t & varx )
private

◆ Curv3() [1/2]

Double_t BmnStsVectorFinder::Curv3 ( candvec & cand1,
candvec & cand2,
candvec & cand3,
int newtr3 )
private

Definition at line 2366 of file BmnStsVectorFinder.cxx.

References TMath::Abs(), TMath::ACos(), fmapHits, fXyzv, BmnStsVectorFinder::candvec::lengxz, TVector3::Mag(), TVector3::SetXYZ(), TVector3::SetY(), TMath::Sign(), TMath::Sin(), and BmnStsVectorFinder::candvec::stahit.

Referenced by BuildDoublets(), and BuildTriplets().

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

◆ Curv3() [2/2]

Double_t BmnStsVectorFinder::Curv3 ( candvec & cand1,
candvec & cand2,
candvec & cand3,
int newtr3 )
private

◆ DxVsMom() [1/2]

Double_t BmnStsVectorFinder::DxVsMom ( Int_t ista,
candvec & aaa )
private

Definition at line 2264 of file BmnStsVectorFinder.cxx.

References TMath::Log10(), and TMath::Power().

Here is the call graph for this function:

◆ DxVsMom() [2/2]

Double_t BmnStsVectorFinder::DxVsMom ( Int_t ista,
candvec & aaa )
private

◆ ExcludeFakes() [1/2]

void BmnStsVectorFinder::ExcludeFakes ( )
private

Definition at line 2006 of file BmnStsVectorFinder.cxx.

References TMath::Exp(), fExact, fHitArray, fitter, fVectorArray, fXyzv, CbmStsTrack::GetChi2(), CbmStsHit::GetDigi(), CbmStsTrack::GetNDF(), CbmStsTrack::GetNStsHits(), CbmStsTrack::GetParamFirst(), CbmStsTrack::GetStsHitIndex(), nhits, and TMath::Sqrt().

Referenced by Exec().

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

◆ ExcludeFakes() [2/2]

void BmnStsVectorFinder::ExcludeFakes ( )
private

◆ ExcludeHits() [1/2]

Int_t BmnStsVectorFinder::ExcludeHits ( Int_t minHits,
TClonesArray * trArray )
private

Definition at line 394 of file BmnStsVectorFinder.cxx.

References TClonesArray::Compress(), fCandVec3, fClusMaps, fHitArray, fMap2, fMap3, fMapCode3, fmapHits, fNhitsMin, fPass, CbmStsHit::GetDigi(), TObjArray::GetEntriesFast(), CbmStsTrack::GetNStsHits(), CbmStsHit::GetStationNr(), CbmStsTrack::GetStsHitIndex(), MakeCode(), TClonesArray::Remove(), and TObjArray::UncheckedAt().

Referenced by Exec().

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

◆ ExcludeHits() [2/2]

Int_t BmnStsVectorFinder::ExcludeHits ( Int_t minHits,
TClonesArray * trArray )
private

◆ Exec() [1/2]

void BmnStsVectorFinder::Exec ( Option_t * opt)
virtual

◆ Exec() [2/2]

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

◆ ExtendTrack() [1/2]

void BmnStsVectorFinder::ExtendTrack ( candvec cand)
private

!!AZ-289323 - no jumps over station at 1'st pass

!! Check triplet slopes and curvatures

!!AZ-280323 - jumps over stations

!!AZ-280323 - jumps over stations

!! Extension found

!!AZ-280323 - update number of jumps

Definition at line 1142 of file BmnStsVectorFinder.cxx.

References TMath::Abs(), ExtendTrack(), fBy, fCandCodes, fCandVec, fCandVec2, fCandVec3, fExact, FitTrack(), fMap2, fMapCode3, fNhitsMin, fNsta, fPass, BmnStsVectorFinder::candvec::idmaxP, BmnStsVectorFinder::candvec::momxz, BmnStsVectorFinder::candvec::nskips, and BmnStsVectorFinder::candvec::stahit.

Referenced by BuildTracks(), and ExtendTrack().

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

◆ ExtendTrack() [2/2]

void BmnStsVectorFinder::ExtendTrack ( candvec cand)
private

◆ ExtendTracks() [1/2]

void BmnStsVectorFinder::ExtendTracks ( Int_t ista)
private

Definition at line 1530 of file BmnStsVectorFinder.cxx.

◆ ExtendTracks() [2/2]

void BmnStsVectorFinder::ExtendTracks ( Int_t ista)
private

◆ FilterHit() [1/2]

Double_t BmnStsVectorFinder::FilterHit ( candvec & cand,
CbmStsTrack & track )
private

Definition at line 1415 of file BmnStsVectorFinder.cxx.

References CbmKFHit::Filter(), fitter, CbmKFTrack::GetHit(), CbmStsTrack::GetParamLast(), CbmKFTrack::GetRefChi2(), CbmKFTrack::GetTrackParam(), CbmKF::Instance(), nhits, CbmStsTrack::SetChi2(), CbmStsTrack::SetNDF(), CbmKFTrack::SetStsTrack(), and BmnStsVectorFinder::candvec::stahit.

Referenced by FitTrack().

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

◆ FilterHit() [2/2]

Double_t BmnStsVectorFinder::FilterHit ( candvec & cand,
CbmStsTrack & track )
private

◆ Finish() [1/2]

void BmnStsVectorFinder::Finish ( )
virtual

Definition at line 1556 of file BmnStsVectorFinder.cxx.

References workTime.

◆ Finish() [2/2]

virtual void BmnStsVectorFinder::Finish ( )
virtual

◆ FinishEvent() [1/2]

void BmnStsVectorFinder::FinishEvent ( )
virtual

Definition at line 1546 of file BmnStsVectorFinder.cxx.

◆ FinishEvent() [2/2]

virtual void BmnStsVectorFinder::FinishEvent ( )
virtual

◆ FitTrack() [1/2]

Double_t BmnStsVectorFinder::FitTrack ( candvec & cand)
private

Definition at line 1358 of file BmnStsVectorFinder.cxx.

References TMath::Abs(), BmnStsVectorFinder::candvec::chi2, fCandSet, FilterHit(), fitter, fNhitsMin, fPass, fTracks, CbmStsTrack::GetChi2(), CbmStsTrack::GetNDF(), CbmStsTrack::GetNStsHits(), CbmStsTrack::GetParamLast(), MakeStsTrack(), TMath::Max(), TMath::Min(), nhits, and BmnStsVectorFinder::candvec::param.

Referenced by ExtendTrack().

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

◆ FitTrack() [2/2]

Double_t BmnStsVectorFinder::FitTrack ( candvec & cand)
private

◆ FitTracks() [1/2]

void BmnStsVectorFinder::FitTracks ( )
private

hit->SetDx(0.05); //AZ-110123 - early estimate

hit->SetDy(0.1234);

if (dx < 0.02) hit->SetDx(0.02); //AZ-040123 - early estimate for Si

Definition at line 1593 of file BmnStsVectorFinder.cxx.

References TMath::Abs(), TMath::Exp(), fCandSet, fCandVec, fHit2id, fHitArray, fitter, fNhitsMin, fNsta, fPass, fTracks, fXyzv, CbmStsTrack::GetChi2(), CbmStsSector::GetDx(), CbmStsTrack::GetFlag(), CbmStsTrack::GetNDF(), CbmStsTrack::GetNStsHits(), CbmStsTrack::GetParamFirst(), CbmStsStation::GetSector(), TArray::GetSize(), CbmStsDigiScheme::GetStationByNr(), CbmStsHit::GetStationNr(), CbmStsTrack::GetStsHits(), i, CbmStsDigiScheme::Instance(), TMath::Min(), nhits, TArrayI::Set(), TMath::Sqrt(), and BmnStsVectorFinder::candvec::stahit.

Referenced by Exec().

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

◆ FitTracks() [2/2]

void BmnStsVectorFinder::FitTracks ( )
private

◆ GetHitId() [1/4]

set< Int_t > BmnStsVectorFinder::GetHitId ( CbmStsHit * hit,
Int_t & idmaxP )
private

Definition at line 480 of file BmnStsVectorFinder.cxx.

References fClusArray, fDigiMatches, fStsPoints, CbmStsCluster::GetDigi(), CbmStsHit::GetDigi(), GetHitIdBmn(), CbmStsCluster::GetNDigis(), CbmStsDigiMatch::GetRefIndex(), and TVector3::Mag().

Referenced by BuildDoublets(), BuildTrackCand(), Exec(), and GetHitId().

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

◆ GetHitId() [2/4]

std::set< Int_t > BmnStsVectorFinder::GetHitId ( CbmStsHit * hit,
Int_t & idmaxP )
private

◆ GetHitId() [3/4]

std::set< Int_t > BmnStsVectorFinder::GetHitId ( Int_t hitInd,
Int_t & idmaxP )
inlineprivate

Definition at line 103 of file BmnStsVectorFinder.h.

References fHitArray, and GetHitId().

Here is the call graph for this function:

◆ GetHitId() [4/4]

std::set< Int_t > BmnStsVectorFinder::GetHitId ( Int_t hitInd,
Int_t & idmaxP )
inlineprivate

Definition at line 103 of file BmnStsVectorFinder.h.

References fHitArray, and GetHitId().

Here is the call graph for this function:

◆ GetHitIdBmn() [1/2]

set< Int_t > BmnStsVectorFinder::GetHitIdBmn ( CbmStsHit * hit,
Int_t & idmaxP )
private

Definition at line 557 of file BmnStsVectorFinder.cxx.

References fSilPoints, fStsPoints, CbmStsHit::GetSystemId(), and kGEM.

Referenced by GetHitId().

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

◆ GetHitIdBmn() [2/2]

std::set< Int_t > BmnStsVectorFinder::GetHitIdBmn ( CbmStsHit * hit,
Int_t & idmaxP )
private

◆ Init() [1/2]

InitStatus BmnStsVectorFinder::Init ( )
virtual

Definition at line 81 of file BmnStsVectorFinder.cxx.

References TMath::Abs(), fBy, fClusArray, fCurvSta, fDigiMatches, fdTanX, fdTanXB0, fdTanY, fdTanY3, fExact, fHitArray, fitter, fMap2Out, fMap2OutPtr, fMap3Out, fMap3OutPtr, fMatBudgetFileName, fNhitsMin, fNSi, fOut, fPhiXZ, fPTcut, fSilPoints, fStsPoints, fTanXmax, fTrackArray, fUseTMVA, fVectorArray, fXyzv, fZmean, InitTMVA2(), and InitTMVA3().

Here is the call graph for this function:

◆ Init() [2/2]

virtual InitStatus BmnStsVectorFinder::Init ( )
virtual

◆ InitTMVA2() [1/2]

void BmnStsVectorFinder::InitTMVA2 ( )
private

Definition at line 2582 of file BmnStsVectorFinder.cxx.

References TMVA::Reader::AddVariable(), TMVA::Reader::BookMVA(), fReaderTMVA2, and fVarTMVA.

Referenced by Init().

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

◆ InitTMVA2() [2/2]

void BmnStsVectorFinder::InitTMVA2 ( )
private

◆ InitTMVA3() [1/2]

void BmnStsVectorFinder::InitTMVA3 ( )
private

Definition at line 2486 of file BmnStsVectorFinder.cxx.

References TMVA::Reader::AddVariable(), TMVA::Reader::BookMVA(), fReaderTMVA3, and fVarTMVA.

Referenced by Init().

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

◆ InitTMVA3() [2/2]

void BmnStsVectorFinder::InitTMVA3 ( )
private

◆ KalmanWindow() [1/2]

set< int > BmnStsVectorFinder::KalmanWindow ( candvec & cand,
int hitIndx )
private

Definition at line 2424 of file BmnStsVectorFinder.cxx.

References fHitArray, fitter, fmapHits, fmapX, fmapY, CbmStsHit::GetStationNr(), MakeStsTrack(), TMath::Sqrt(), and z.

Here is the call graph for this function:

◆ KalmanWindow() [2/2]

std::set< int > BmnStsVectorFinder::KalmanWindow ( candvec & cand,
int hitIndx )
private

◆ LinearFit() [1/2]

Double_t BmnStsVectorFinder::LinearFit ( candvec & cand,
candvec & cand2,
CbmStsTrack * tr,
Int_t newtr,
Double_t & ty )
private

Linear LS fit of 3 points (in R-Y plane): y = a + b * l, l is a track projection length on X-Z plane

Definition at line 2303 of file BmnStsVectorFinder.cxx.

References fHitArray, CbmStsTrack::GetStsHitIndex(), i, BmnStsVectorFinder::candvec::lengxz, and y.

Referenced by BuildTriplets().

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

◆ LinearFit() [2/2]

Double_t BmnStsVectorFinder::LinearFit ( candvec & cand,
candvec & cand2,
CbmStsTrack * tr,
Int_t newtr,
Double_t & ty )
private

◆ MakeCode() [1/2]

std::string BmnStsVectorFinder::MakeCode ( candvec & cand)
private

Definition at line 2461 of file BmnStsVectorFinder.cxx.

References BmnStsVectorFinder::candvec::stahit.

Referenced by ExcludeHits().

Here is the caller graph for this function:

◆ MakeCode() [2/2]

std::string BmnStsVectorFinder::MakeCode ( candvec & cand)
private

◆ MakeStsTrack() [1/2]

void BmnStsVectorFinder::MakeStsTrack ( candvec & cand,
std::string & hitcode,
CbmStsTrack & track )
private

Referenced by FitTrack(), and KalmanWindow().

Here is the caller graph for this function:

◆ MakeStsTrack() [2/2]

void BmnStsVectorFinder::MakeStsTrack ( candvec & cand,
std::string & hitcode,
CbmStsTrack & track )
private

◆ operator=() [1/2]

BmnStsVectorFinder & BmnStsVectorFinder::operator= ( const BmnStsVectorFinder & )
private

References BmnStsVectorFinder().

Here is the call graph for this function:

◆ operator=() [2/2]

BmnStsVectorFinder & BmnStsVectorFinder::operator= ( const BmnStsVectorFinder & )
private

References BmnStsVectorFinder().

Here is the call graph for this function:

◆ Parabola() [1/2]

TVector3 BmnStsVectorFinder::Parabola ( TVector3 & pos0,
TVector3 & pos1,
TVector3 & pos2 )
private

Definition at line 1563 of file BmnStsVectorFinder.cxx.

References fXyzv, x, and y.

◆ Parabola() [2/2]

TVector3 BmnStsVectorFinder::Parabola ( TVector3 & pos0,
TVector3 & pos1,
TVector3 & pos2 )
private

◆ PrintHits() [1/2]

void BmnStsVectorFinder::PrintHits ( candvec & cand)
private

Definition at line 2473 of file BmnStsVectorFinder.cxx.

References fHitArray, and BmnStsVectorFinder::candvec::stahit.

◆ PrintHits() [2/2]

void BmnStsVectorFinder::PrintHits ( candvec & cand)
private

◆ Proxim() [1/2]

Double_t BmnStsVectorFinder::Proxim ( Double_t ang1,
Double_t ang2 )
private

Adjust angle phi to be "around" phi0 - to avoid discontinuity around +- Pi

Definition at line 2291 of file BmnStsVectorFinder.cxx.

References TMath::Abs(), TMath::Pi(), and TMath::Sign().

Here is the call graph for this function:

◆ Proxim() [2/2]

Double_t BmnStsVectorFinder::Proxim ( Double_t ang1,
Double_t ang2 )
private

◆ RemoveDoubles() [1/2]

void BmnStsVectorFinder::RemoveDoubles ( )
private

Definition at line 1854 of file BmnStsVectorFinder.cxx.

References AreTracksDoubles(), fTracks, and fVectorArray.

Referenced by Exec().

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

◆ RemoveDoubles() [2/2]

void BmnStsVectorFinder::RemoveDoubles ( )
private

◆ RemoveFakes() [1/2]

void BmnStsVectorFinder::RemoveFakes ( )
private

Definition at line 1974 of file BmnStsVectorFinder.cxx.

References TMath::Abs(), fHitArray, fTracks, CbmStsTrack::GetNStsHits(), CbmStsTrack::GetParamFirst(), CbmStsHit::GetStationNr(), CbmStsTrack::GetStsHitIndex(), nhits, and CbmStsTrack::SetFlag().

Here is the call graph for this function:

◆ RemoveFakes() [2/2]

void BmnStsVectorFinder::RemoveFakes ( )
private

◆ SetExactSel() [1/2]

void BmnStsVectorFinder::SetExactSel ( int trID)
inline

Definition at line 96 of file BmnStsVectorFinder.h.

References fExactSel.

◆ SetExactSel() [2/2]

void BmnStsVectorFinder::SetExactSel ( int trID)
inline

Definition at line 96 of file BmnStsVectorFinder.h.

References fExactSel.

◆ SetMatBudgetFileName() [1/2]

void BmnStsVectorFinder::SetMatBudgetFileName ( TString s)
inline

Definition at line 94 of file BmnStsVectorFinder.h.

References fMatBudgetFileName.

Referenced by run_reco_bmn().

Here is the caller graph for this function:

◆ SetMatBudgetFileName() [2/2]

void BmnStsVectorFinder::SetMatBudgetFileName ( TString s)
inline

Definition at line 94 of file BmnStsVectorFinder.h.

References fMatBudgetFileName.

◆ SetNofSiStations() [1/2]

void BmnStsVectorFinder::SetNofSiStations ( int nsi)
inline

Definition at line 95 of file BmnStsVectorFinder.h.

References fNSi.

◆ SetNofSiStations() [2/2]

void BmnStsVectorFinder::SetNofSiStations ( int nsi)
inline

Definition at line 95 of file BmnStsVectorFinder.h.

References fNSi.

◆ TMVAOutput2() [1/2]

Float_t BmnStsVectorFinder::TMVAOutput2 ( candvec & aaa1)
private

hitMap -— aaa.stahit

Definition at line 2636 of file BmnStsVectorFinder.cxx.

References fHitArray, fPass, fReaderTMVA2, fVarTMVA, CbmStsHit::GetSignalDiv(), BmnStsVectorFinder::candvec::lengxz, BmnStsVectorFinder::candvec::momxz, BmnStsVectorFinder::candvec::stahit, and BmnStsVectorFinder::candvec::ty.

Referenced by BuildDoublets().

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

◆ TMVAOutput2() [2/2]

◆ TMVAOutput3() [1/2]

Float_t BmnStsVectorFinder::TMVAOutput3 ( candvec & aaa1,
candvec & aaa2 )
private

hitMap -— aaa.stahit

Definition at line 2545 of file BmnStsVectorFinder.cxx.

References fHitArray, fPass, fReaderTMVA3, fVarTMVA, BmnStsVectorFinder::candvec::lengxz, BmnStsVectorFinder::candvec::momxz, BmnStsVectorFinder::candvec::stahit, and BmnStsVectorFinder::candvec::ty.

Referenced by BuildTriplets().

Here is the caller graph for this function:

◆ TMVAOutput3() [2/2]

Float_t BmnStsVectorFinder::TMVAOutput3 ( candvec & aaa1,
candvec & aaa2 )
private

Member Data Documentation

◆ discarded

Int_t BmnStsVectorFinder::discarded
private

Definition at line 144 of file BmnStsVectorFinder.h.

Referenced by BmnStsVectorFinder(), BuildTriplets(), Exec(), and TMVAOutput2().

◆ fBy

Double_t BmnStsVectorFinder::fBy
private

◆ fCandCodes

std::set< string > BmnStsVectorFinder::fCandCodes
private

Definition at line 151 of file BmnStsVectorFinder.h.

Referenced by Exec(), ExtendTrack(), and TMVAOutput2().

◆ fCandSet

std::set< string > BmnStsVectorFinder::fCandSet
private

Definition at line 178 of file BmnStsVectorFinder.h.

Referenced by Exec(), FitTrack(), FitTracks(), and TMVAOutput2().

◆ fCandVec

std::vector< candvec > BmnStsVectorFinder::fCandVec
private

◆ fCandVec2

std::vector< candvec > BmnStsVectorFinder::fCandVec2
private

◆ fCandVec3

std::vector< candvec > BmnStsVectorFinder::fCandVec3
private

◆ fClusArray

TClonesArray * BmnStsVectorFinder::fClusArray
private

Definition at line 137 of file BmnStsVectorFinder.h.

Referenced by BmnStsVectorFinder(), GetHitId(), Init(), and TMVAOutput2().

◆ fClusMaps

std::unordered_multimap< Int_t, Int_t > BmnStsVectorFinder::fClusMaps
private

Definition at line 173 of file BmnStsVectorFinder.h.

Referenced by ExcludeHits(), Exec(), and TMVAOutput2().

◆ fCurvSta

Double_t * BmnStsVectorFinder::fCurvSta
private

Definition at line 175 of file BmnStsVectorFinder.h.

Referenced by BuildDoublets(), Init(), and TMVAOutput2().

◆ fDigiMatches

TClonesArray * BmnStsVectorFinder::fDigiMatches
private

Definition at line 137 of file BmnStsVectorFinder.h.

Referenced by GetHitId(), Init(), and TMVAOutput2().

◆ fdTanX

Double_t * BmnStsVectorFinder::fdTanX
private

Definition at line 175 of file BmnStsVectorFinder.h.

Referenced by BuildDoublets(), Init(), and TMVAOutput2().

◆ fdTanXB0

Double_t * BmnStsVectorFinder::fdTanXB0
private

Definition at line 175 of file BmnStsVectorFinder.h.

Referenced by BuildDoublets(), BuildTriplets(), Init(), and TMVAOutput2().

◆ fdTanY

Double_t * BmnStsVectorFinder::fdTanY
private

Definition at line 175 of file BmnStsVectorFinder.h.

Referenced by BuildDoublets(), Init(), and TMVAOutput2().

◆ fdTanY3

Double_t * BmnStsVectorFinder::fdTanY3
private

Definition at line 175 of file BmnStsVectorFinder.h.

Referenced by BuildTriplets(), Init(), and TMVAOutput2().

◆ fExact

Int_t BmnStsVectorFinder::fExact
private

◆ fExactSel

Int_t BmnStsVectorFinder::fExactSel
private

Definition at line 143 of file BmnStsVectorFinder.h.

Referenced by BmnStsVectorFinder(), BuildTrackCand(), SetExactSel(), and TMVAOutput2().

◆ fHit2id

std::unordered_multimap< Int_t, Int_t > BmnStsVectorFinder::fHit2id
private

Definition at line 173 of file BmnStsVectorFinder.h.

Referenced by BuildTrackCand(), Exec(), FitTracks(), and TMVAOutput2().

◆ fHitArray

◆ fitter

BmnStsKFTrackFitter BmnStsVectorFinder::fitter
private

◆ fMap2

std::unordered_multimap< int, int > BmnStsVectorFinder::fMap2
private

◆ fMap2Out

std::map< std::string, int > BmnStsVectorFinder::fMap2Out
private

Definition at line 156 of file BmnStsVectorFinder.h.

Referenced by BuildDoublets(), Exec(), Init(), and TMVAOutput2().

◆ fMap2OutPtr

std::map< std::string, int > * BmnStsVectorFinder::fMap2OutPtr
private

Definition at line 157 of file BmnStsVectorFinder.h.

Referenced by Init(), and TMVAOutput2().

◆ fMap3

std::unordered_multimap< int, int > BmnStsVectorFinder::fMap3
private

◆ fMap3Out

std::map< std::string, int > BmnStsVectorFinder::fMap3Out
private

Definition at line 158 of file BmnStsVectorFinder.h.

Referenced by BuildTriplets(), Exec(), Init(), and TMVAOutput2().

◆ fMap3OutPtr

std::map< std::string, int > * BmnStsVectorFinder::fMap3OutPtr
private

Definition at line 159 of file BmnStsVectorFinder.h.

Referenced by Init(), and TMVAOutput2().

◆ fMapCode3

std::unordered_map< std::string, int > BmnStsVectorFinder::fMapCode3
private

◆ fmapHits

std::unordered_map< Int_t, hitinfo > BmnStsVectorFinder::fmapHits
private

◆ fmapPhx

std::multimap< Double_t, Int_t > BmnStsVectorFinder::fmapPhx
private

Definition at line 148 of file BmnStsVectorFinder.h.

Referenced by BuildDoublets(), BuildTrackCand(), and TMVAOutput2().

◆ fmapTy

std::multimap< Double_t, Int_t > BmnStsVectorFinder::fmapTy
private

Definition at line 148 of file BmnStsVectorFinder.h.

Referenced by BuildDoublets(), BuildTrackCand(), and TMVAOutput2().

◆ fmapX

std::multimap< Double_t, Int_t > BmnStsVectorFinder::fmapX
private

Definition at line 148 of file BmnStsVectorFinder.h.

Referenced by BuildTrackCand(), KalmanWindow(), and TMVAOutput2().

◆ fmapY

std::multimap< Double_t, Int_t > BmnStsVectorFinder::fmapY
private

Definition at line 148 of file BmnStsVectorFinder.h.

Referenced by BuildTrackCand(), KalmanWindow(), and TMVAOutput2().

◆ fMatBudgetFileName

TString BmnStsVectorFinder::fMatBudgetFileName
private

Definition at line 180 of file BmnStsVectorFinder.h.

Referenced by BmnStsVectorFinder(), Init(), SetMatBudgetFileName(), and TMVAOutput2().

◆ fNbranches

Int_t BmnStsVectorFinder::fNbranches
private

◆ fNhitsMin

Int_t * BmnStsVectorFinder::fNhitsMin
private

◆ fNSi

int BmnStsVectorFinder::fNSi
private

◆ fNskips

Int_t BmnStsVectorFinder::fNskips
private

Definition at line 174 of file BmnStsVectorFinder.h.

Referenced by BuildTrackCand(), Exec(), and TMVAOutput2().

◆ fNsta

Int_t BmnStsVectorFinder::fNsta
private

◆ fOut

int BmnStsVectorFinder::fOut
private

◆ fPass

◆ fPhiXZ

Double_t * BmnStsVectorFinder::fPhiXZ
private

Definition at line 175 of file BmnStsVectorFinder.h.

Referenced by BuildDoublets(), BuildTrackCand(), Init(), and TMVAOutput2().

◆ fPTcut

Double_t * BmnStsVectorFinder::fPTcut
private

Definition at line 175 of file BmnStsVectorFinder.h.

Referenced by BuildDoublets(), BuildTriplets(), Init(), and TMVAOutput2().

◆ fReaderTMVA2

TMVA::Reader * BmnStsVectorFinder::fReaderTMVA2
private

Definition at line 186 of file BmnStsVectorFinder.h.

Referenced by InitTMVA2(), and TMVAOutput2().

◆ fReaderTMVA3

TMVA::Reader * BmnStsVectorFinder::fReaderTMVA3
private

Definition at line 185 of file BmnStsVectorFinder.h.

Referenced by InitTMVA3(), TMVAOutput2(), and TMVAOutput3().

◆ fSeedVec

std::vector< candvec > BmnStsVectorFinder::fSeedVec
private

Definition at line 149 of file BmnStsVectorFinder.h.

Referenced by BuildDoublets(), BuildTrackCand(), and TMVAOutput2().

◆ fSilPoints

TClonesArray * BmnStsVectorFinder::fSilPoints
private

Definition at line 137 of file BmnStsVectorFinder.h.

Referenced by GetHitIdBmn(), Init(), and TMVAOutput2().

◆ fStsPoints

TClonesArray * BmnStsVectorFinder::fStsPoints
private

Definition at line 137 of file BmnStsVectorFinder.h.

Referenced by GetHitId(), GetHitIdBmn(), Init(), and TMVAOutput2().

◆ fTanXmax

Double_t * BmnStsVectorFinder::fTanXmax
private

Definition at line 175 of file BmnStsVectorFinder.h.

Referenced by BuildDoublets(), BuildTrackCand(), Init(), and TMVAOutput2().

◆ fTrackArray

TClonesArray * BmnStsVectorFinder::fTrackArray
private

Definition at line 137 of file BmnStsVectorFinder.h.

Referenced by BmnStsVectorFinder(), Exec(), Init(), and TMVAOutput2().

◆ fTracks

std::multimap< Double_t, CbmStsTrack > BmnStsVectorFinder::fTracks
private

Definition at line 169 of file BmnStsVectorFinder.h.

Referenced by Exec(), FitTrack(), FitTracks(), RemoveDoubles(), RemoveFakes(), and TMVAOutput2().

◆ fUseTMVA

int BmnStsVectorFinder::fUseTMVA
private

◆ fVarTMVA

Float_t BmnStsVectorFinder::fVarTMVA
private

Definition at line 184 of file BmnStsVectorFinder.h.

Referenced by InitTMVA2(), InitTMVA3(), TMVAOutput2(), and TMVAOutput3().

◆ fVectorArray

TClonesArray * BmnStsVectorFinder::fVectorArray
private

◆ fXyzv

TVector3 BmnStsVectorFinder::fXyzv
private

◆ fZmean

Double_t * BmnStsVectorFinder::fZmean
private

Definition at line 175 of file BmnStsVectorFinder.h.

Referenced by BuildDoublets(), BuildTrackCand(), Init(), and TMVAOutput2().


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