CbmRoot
CbmMuchFindVectors Class Reference

#include <CbmMuchFindVectors.h>

Inheritance diagram for CbmMuchFindVectors:
[legend]
Collaboration diagram for CbmMuchFindVectors:
[legend]

Public Member Functions

 CbmMuchFindVectors ()
 
virtual ~CbmMuchFindVectors ()
 
virtual InitStatus Init ()
 
virtual void Exec (Option_t *opt)
 
virtual void Finish ()
 
virtual void SetParContainers ()
 
Int_t GetNofTracks ()
 
Int_t GetNofStat () const
 

Private Member Functions

void ComputeMatrix ()
 failed fits More...
 
void GetHits ()
 
void MakeVectors ()
 
void ProcessDouble (Int_t ista, Int_t lay2, Int_t patt, Int_t flag, Int_t tube0, Int_t segment0)
 
Bool_t IntersectViews (Int_t ista, Int_t curLay, Int_t indx1, Int_t indx2, Int_t patt)
 
void AddVector (Int_t ista, Int_t patt, Double_t chi2, Double_t *pars, Bool_t lowRes=kTRUE)
 
void SetTrackId (CbmMuchTrack *vec)
 
Bool_t SelDoubleId (Int_t indx1, Int_t indx2)
 
void FindLine (Int_t patt, Double_t *pars)
 
Double_t FindChi2 (Int_t ista, Int_t patt, Double_t *pars)
 
void CheckParams ()
 
void HighRes ()
 
void ProcessSingleHigh (Int_t ista, Int_t plane, Int_t patt, Int_t flag, Int_t nok, Double_t uu[fgkPlanes][2])
 
void MoveVectors ()
 
void RemoveClones ()
 
void RemoveShorts ()
 
void StoreVectors ()
 
Int_t CountBits (Int_t x)
 
void MatchVectors ()
 
void RemoveOutliers (Int_t ista, Int_t patt, Double_t uu[fgkPlanes][2])
 
 CbmMuchFindVectors (const CbmMuchFindVectors &)
 
CbmMuchFindVectorsoperator= (const CbmMuchFindVectors &)
 

Private Attributes

CbmMuchGeoSchemefGeoScheme
 
TClonesArray * fTrackArray
 
Int_t fNofTracks
 
TClonesArray * fHits
 
TClonesArray * fPoints
 
TClonesArray * fDigiMatches
 
Int_t fStatFirst
 
std::multimap< Int_t, Int_t > fHitPl [fgkStat][fgkPlanes2]
 
std::vector< CbmMuchTrack * > fVectors [fgkStat]
 
std::vector< CbmMuchTrack * > fVectorsHigh [fgkStat]
 
Double_t fUz [fgkPlanes2][3]
 
Double_t fUzi [fgkPlanes2][3]
 
Double_t fDz [fgkPlanes2]
 
Double_t fCosa [fgkPlanes2]
 
Double_t fSina [fgkPlanes2]
 
std::map< Int_t, TDecompLU * > fLus
 
Double_t fErrU
 
Double_t fDiam
 
Double_t fCutChi2
 
Int_t fMinHits
 
Double_t fZ0 [fgkStat]
 
Double_t fRmin [fgkStat]
 
Double_t fRmax [fgkStat]
 
Double_t fDtubes [fgkStat][fgkPlanes2]
 
std::map< Int_t, TMatrixDSym * > fMatr
 
std::vector< std::pair< Int_t, Int_t > > fHit2d [fgkStat][fgkPlanes2]
 
Double_t fZabs0 [9][2]
 
Double_t fX0abs [9]
 
std::multimap< Double_t, Int_t > fChi2Map
 
std::multimap< Int_t, std::multimap< Double_t, Int_t > > fFailed
 

Static Private Attributes

static const Int_t fgkStat = 2
 
static const Int_t fgkPlanes = 8
 
static const Int_t fgkPlanes2 = 16
 

Detailed Description

Definition at line 25 of file CbmMuchFindVectors.h.

Constructor & Destructor Documentation

◆ CbmMuchFindVectors() [1/2]

CbmMuchFindVectors::CbmMuchFindVectors ( )

Default constructor

Definition at line 36 of file CbmMuchFindVectors.cxx.

◆ ~CbmMuchFindVectors()

CbmMuchFindVectors::~CbmMuchFindVectors ( )
virtual

Destructor

Definition at line 54 of file CbmMuchFindVectors.cxx.

References fgkStat, fLus, fTrackArray, fVectors, and i.

◆ CbmMuchFindVectors() [2/2]

CbmMuchFindVectors::CbmMuchFindVectors ( const CbmMuchFindVectors )
private

Member Function Documentation

◆ AddVector()

void CbmMuchFindVectors::AddVector ( Int_t  ista,
Int_t  patt,
Double_t  chi2,
Double_t *  pars,
Bool_t  lowRes = kTRUE 
)
private

◆ CheckParams()

void CbmMuchFindVectors::CheckParams ( )
private

◆ ComputeMatrix()

void CbmMuchFindVectors::ComputeMatrix ( )
private

failed fits

Definition at line 250 of file CbmMuchFindVectors.cxx.

References fCosa, fDz, fgkPlanes, fLus, fMatr, fSina, and i.

Referenced by Init().

◆ CountBits()

Int_t CbmMuchFindVectors::CountBits ( Int_t  x)
private

Definition at line 1306 of file CbmMuchFindVectors.cxx.

References x.

◆ Exec()

void CbmMuchFindVectors::Exec ( Option_t *  opt)
virtual

◆ FindChi2()

Double_t CbmMuchFindVectors::FindChi2 ( Int_t  ista,
Int_t  patt,
Double_t *  pars 
)
private

Definition at line 876 of file CbmMuchFindVectors.cxx.

References fChi2Map, fCosa, fDz, fErrU, fgkPlanes, first, fRmin, fSina, fUz, fUzi, i, Cbm::Sign(), v, x, and y.

Referenced by ProcessDouble(), and ProcessSingleHigh().

◆ FindLine()

void CbmMuchFindVectors::FindLine ( Int_t  patt,
Double_t *  pars 
)
private

Definition at line 847 of file CbmMuchFindVectors.cxx.

References fCosa, fDz, fgkPlanes, fLus, fSina, fUz, and i.

Referenced by ProcessDouble(), and ProcessSingleHigh().

◆ Finish()

void CbmMuchFindVectors::Finish ( )
virtual

Finish at the end

Definition at line 234 of file CbmMuchFindVectors.cxx.

References fgkStat, fLus, fTrackArray, fVectors, and i.

◆ GetHits()

◆ GetNofStat()

Int_t CbmMuchFindVectors::GetNofStat ( ) const
inline

Definition at line 47 of file CbmMuchFindVectors.h.

References fgkStat.

◆ GetNofTracks()

Int_t CbmMuchFindVectors::GetNofTracks ( )
inline

Accessors

Definition at line 46 of file CbmMuchFindVectors.h.

References fNofTracks.

◆ HighRes()

◆ Init()

◆ IntersectViews()

Bool_t CbmMuchFindVectors::IntersectViews ( Int_t  ista,
Int_t  curLay,
Int_t  indx1,
Int_t  indx2,
Int_t  patt 
)
private

Definition at line 721 of file CbmMuchFindVectors.cxx.

References fCosa, fRmax, fSina, fUz, and fUzi.

◆ MakeVectors()

void CbmMuchFindVectors::MakeVectors ( )
private

Definition at line 564 of file CbmMuchFindVectors.cxx.

References fgkStat, fHit2d, fHits, fUz, fUzi, fVectors, and ProcessDouble().

Referenced by Exec().

◆ MatchVectors()

void CbmMuchFindVectors::MatchVectors ( )
private

◆ MoveVectors()

void CbmMuchFindVectors::MoveVectors ( )
private

Definition at line 1085 of file CbmMuchFindVectors.cxx.

References fgkStat, fVectors, and fVectorsHigh.

Referenced by HighRes().

◆ operator=()

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

◆ ProcessDouble()

void CbmMuchFindVectors::ProcessDouble ( Int_t  ista,
Int_t  lay2,
Int_t  patt,
Int_t  flag,
Int_t  tube0,
Int_t  segment0 
)
private

Definition at line 608 of file CbmMuchFindVectors.cxx.

References AddVector(), fCutChi2, fDtubes, fDz, fgkPlanes, fHit2d, fHits, FindChi2(), FindLine(), fSina, fUz, fUzi, and fZ0.

Referenced by MakeVectors().

◆ ProcessSingleHigh()

void CbmMuchFindVectors::ProcessSingleHigh ( Int_t  ista,
Int_t  plane,
Int_t  patt,
Int_t  flag,
Int_t  nok,
Double_t  uu[fgkPlanes][2] 
)
private

Definition at line 1015 of file CbmMuchFindVectors.cxx.

References AddVector(), fChi2Map, fCutChi2, fFailed, fgkPlanes, FindChi2(), FindLine(), fMinHits, and fUz.

Referenced by HighRes(), and RemoveOutliers().

◆ RemoveClones()

◆ RemoveOutliers()

void CbmMuchFindVectors::RemoveOutliers ( Int_t  ista,
Int_t  patt,
Double_t  uu[fgkPlanes][2] 
)
private

Definition at line 1433 of file CbmMuchFindVectors.cxx.

References fFailed, fgkPlanes, fUz, and ProcessSingleHigh().

Referenced by HighRes().

◆ RemoveShorts()

◆ SelDoubleId()

Bool_t CbmMuchFindVectors::SelDoubleId ( Int_t  indx1,
Int_t  indx2 
)
private

◆ SetParContainers()

void CbmMuchFindVectors::SetParContainers ( )
virtual

SetParContainers

Definition at line 178 of file CbmMuchFindVectors.cxx.

◆ SetTrackId()

void CbmMuchFindVectors::SetTrackId ( CbmMuchTrack vec)
private

◆ StoreVectors()

void CbmMuchFindVectors::StoreVectors ( )
private

Definition at line 1266 of file CbmMuchFindVectors.cxx.

References fgkStat, fHits, fTrackArray, fVectors, and CbmTrack::GetNofHits().

Referenced by Exec().

Member Data Documentation

◆ fChi2Map

std::multimap<Double_t, Int_t> CbmMuchFindVectors::fChi2Map
private

Definition at line 89 of file CbmMuchFindVectors.h.

Referenced by FindChi2(), and ProcessSingleHigh().

◆ fCosa

Double_t CbmMuchFindVectors::fCosa[fgkPlanes2]
private

Definition at line 71 of file CbmMuchFindVectors.h.

Referenced by ComputeMatrix(), FindChi2(), FindLine(), Init(), and IntersectViews().

◆ fCutChi2

Double_t CbmMuchFindVectors::fCutChi2
private

Definition at line 77 of file CbmMuchFindVectors.h.

Referenced by MatchVectors(), ProcessDouble(), and ProcessSingleHigh().

◆ fDiam

Double_t CbmMuchFindVectors::fDiam
private

Definition at line 76 of file CbmMuchFindVectors.h.

Referenced by Init().

◆ fDigiMatches

TClonesArray* CbmMuchFindVectors::fDigiMatches
private

Definition at line 61 of file CbmMuchFindVectors.h.

Referenced by Init(), SelDoubleId(), and SetTrackId().

◆ fDtubes

Double_t CbmMuchFindVectors::fDtubes[fgkStat][fgkPlanes2]
private

Definition at line 82 of file CbmMuchFindVectors.h.

Referenced by Init(), and ProcessDouble().

◆ fDz

Double_t CbmMuchFindVectors::fDz[fgkPlanes2]
private

Definition at line 70 of file CbmMuchFindVectors.h.

Referenced by AddVector(), ComputeMatrix(), FindChi2(), FindLine(), Init(), and ProcessDouble().

◆ fErrU

Double_t CbmMuchFindVectors::fErrU
private

Definition at line 75 of file CbmMuchFindVectors.h.

Referenced by AddVector(), Exec(), FindChi2(), and GetHits().

◆ fFailed

std::multimap<Int_t, std::multimap<Double_t, Int_t> > CbmMuchFindVectors::fFailed
private

Definition at line 90 of file CbmMuchFindVectors.h.

Referenced by HighRes(), ProcessSingleHigh(), and RemoveOutliers().

◆ fGeoScheme

CbmMuchGeoScheme* CbmMuchFindVectors::fGeoScheme
private

Definition at line 56 of file CbmMuchFindVectors.h.

Referenced by GetHits(), HighRes(), Init(), RemoveClones(), and RemoveShorts().

◆ fgkPlanes

const Int_t CbmMuchFindVectors::fgkPlanes = 8
staticprivate

◆ fgkPlanes2

const Int_t CbmMuchFindVectors::fgkPlanes2 = 16
staticprivate

Definition at line 53 of file CbmMuchFindVectors.h.

◆ fgkStat

const Int_t CbmMuchFindVectors::fgkStat = 2
staticprivate

◆ fHit2d

std::vector<std::pair<Int_t, Int_t> > CbmMuchFindVectors::fHit2d[fgkStat][fgkPlanes2]
private

Definition at line 86 of file CbmMuchFindVectors.h.

Referenced by GetHits(), MakeVectors(), and ProcessDouble().

◆ fHitPl

std::multimap<Int_t, Int_t> CbmMuchFindVectors::fHitPl[fgkStat][fgkPlanes2]
private

Definition at line 64 of file CbmMuchFindVectors.h.

Referenced by GetHits().

◆ fHits

TClonesArray* CbmMuchFindVectors::fHits
private

◆ fLus

std::map<Int_t, TDecompLU*> CbmMuchFindVectors::fLus
private

Definition at line 74 of file CbmMuchFindVectors.h.

Referenced by ComputeMatrix(), FindLine(), Finish(), and ~CbmMuchFindVectors().

◆ fMatr

std::map<Int_t, TMatrixDSym*> CbmMuchFindVectors::fMatr
private

Definition at line 84 of file CbmMuchFindVectors.h.

Referenced by AddVector(), and ComputeMatrix().

◆ fMinHits

Int_t CbmMuchFindVectors::fMinHits
private

Definition at line 78 of file CbmMuchFindVectors.h.

Referenced by ProcessSingleHigh().

◆ fNofTracks

Int_t CbmMuchFindVectors::fNofTracks
private

Definition at line 58 of file CbmMuchFindVectors.h.

Referenced by GetNofTracks().

◆ fPoints

TClonesArray* CbmMuchFindVectors::fPoints
private

Definition at line 60 of file CbmMuchFindVectors.h.

Referenced by Init(), SelDoubleId(), and SetTrackId().

◆ fRmax

Double_t CbmMuchFindVectors::fRmax[fgkStat]
private

Definition at line 81 of file CbmMuchFindVectors.h.

Referenced by Init(), and IntersectViews().

◆ fRmin

Double_t CbmMuchFindVectors::fRmin[fgkStat]
private

Definition at line 80 of file CbmMuchFindVectors.h.

Referenced by FindChi2(), and Init().

◆ fSina

Double_t CbmMuchFindVectors::fSina[fgkPlanes2]
private

◆ fStatFirst

Int_t CbmMuchFindVectors::fStatFirst
private

Definition at line 62 of file CbmMuchFindVectors.h.

Referenced by AddVector(), Exec(), GetHits(), and Init().

◆ fTrackArray

TClonesArray* CbmMuchFindVectors::fTrackArray
private

Definition at line 57 of file CbmMuchFindVectors.h.

Referenced by Exec(), Finish(), Init(), StoreVectors(), and ~CbmMuchFindVectors().

◆ fUz

Double_t CbmMuchFindVectors::fUz[fgkPlanes2][3]
private

◆ fUzi

Double_t CbmMuchFindVectors::fUzi[fgkPlanes2][3]
private

◆ fVectors

◆ fVectorsHigh

std::vector<CbmMuchTrack*> CbmMuchFindVectors::fVectorsHigh[fgkStat]
private

Definition at line 67 of file CbmMuchFindVectors.h.

Referenced by AddVector(), Exec(), HighRes(), and MoveVectors().

◆ fX0abs

Double_t CbmMuchFindVectors::fX0abs[9]
private

Definition at line 88 of file CbmMuchFindVectors.h.

Referenced by Init(), and MatchVectors().

◆ fZ0

Double_t CbmMuchFindVectors::fZ0[fgkStat]
private

Definition at line 79 of file CbmMuchFindVectors.h.

Referenced by AddVector(), Init(), and ProcessDouble().

◆ fZabs0

Double_t CbmMuchFindVectors::fZabs0[9][2]
private

Definition at line 87 of file CbmMuchFindVectors.h.

Referenced by Init(), and MatchVectors().


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