CbmRoot
CbmVectorFinder.h
Go to the documentation of this file.
1
11
#ifndef CBMVECTORFINDER_H_
12
#define CBMVECTORFINDER_H_ 1
13
14
//#include "CbmMuchGeoScheme.h"
15
#include "FairTask.h"
16
//#include "FairTrackParam.h"
17
//#include <TDecompLU.h>
18
//#include <map>
19
//#include <set>
20
//#include <vector>
21
22
//class CbmMuchPixelHit;
23
//class CbmMuchTrack;
24
//class TClonesArray;
25
26
class
CbmVectorFinder
:
public
FairTask {
27
public
:
29
CbmVectorFinder
();
30
32
virtual
~CbmVectorFinder
();
33
35
virtual
InitStatus
Init
();
36
38
virtual
void
Exec
(Option_t* opt);
39
41
virtual
void
Finish
();
42
44
virtual
void
SetParContainers
();
45
47
//Int_t GetNofTracks() { return fNofTracks; };
48
//Int_t GetNofStat() const { return fgkStat; }
49
50
private
:
51
// Some constants
52
//static const Int_t fgkStat = 4; // Number of stations - 4 GEMs
53
//static const Int_t fgkPlanes = 6; // Number of GEM planes per station
54
55
private
:
56
/*
57
CbmMuchGeoScheme* fGeoScheme; // Geometry scheme
58
TClonesArray* fTrackArray; // Output array of CbmMuchVectors
59
Int_t fNofTracks; // Number of tracks created
60
TClonesArray* fHits; // Input array of CbmMuchHit
61
TClonesArray* fClusters; // Input array of CbmMuchCluster
62
TClonesArray* fPoints; // Input array of CbmMuchHit
63
TClonesArray* fDigiMatches; // Input array of CbmMuchHit
64
Int_t fStatFirst; // First straw station No.
65
std::multimap<Int_t,Int_t> fHitPl[fgkStat][fgkPlanes]; // hit indices on planes vs tube No
66
std::multimap<Double_t,Int_t> fHitX[fgkStat][fgkPlanes]; // hit indices on planes vs X-coord.
67
std::vector<CbmMuchTrack*> fVectors[fgkStat]; // track vectors for stations
68
//std::vector<CbmMuchTrack*> fVectorsHigh[fgkStat]; // track vectors for stations (high resolution)
69
Double_t fXy[fgkPlanes][5]; // hit float data
70
Double_t fXyi[fgkPlanes][3]; // hit int data
71
Double_t fDz[fgkPlanes]; // geometrical constants (Z-distances from layer 0)
72
std::map<Int_t,TDecompLU*> fLus; // system matrices (for different hit layer patterns)
73
Double_t fErrX[9]; // hit measurement error in X
74
Double_t fErrY[9]; // hit measurement error in Y
75
Double_t fCutChi2[9]; // Chi2-cuts for each station
76
Double_t fZ0[fgkStat]; // Z-positions of the first layers
77
Double_t fRmin[fgkStat]; // inner radii of stations
78
Double_t fRmax[fgkStat]; // outer radii of stations
79
Int_t fNsect[fgkStat]; // number of sectors per layer
80
//Double_t fDtubes[fgkStat][fgkPlanes]; // max. tube difference between views
81
std::map<Int_t,TMatrixDSym*> fMatr; // system matrices (for different hit layer patterns)
82
std::multimap<Int_t,CbmMuchTrack*> fSecVec[fgkStat]; // to arrange vectors according to sectors
83
Double_t fZabs0[9][2]; // Z-positions of absorber faces
84
Double_t fX0abs[9]; // radiation lengths of the absorbers
85
86
//std::vector<pair<Int_t,Int_t> > fHit2d[fgkStat][fgkPlanes/2]; // Indx1,Indx2 of doublet hits
87
88
void ComputeMatrix();
89
void GetHits();
90
Bool_t SelectHitId(const CbmMuchPixelHit *hit);
91
Int_t GetDowns(Int_t ista, std::vector<std::pair<Double_t,Double_t> >& vecDowns);
92
void MakeVectors();
93
//void ProcessDouble(Int_t ista, Int_t lay2, Int_t patt, Int_t flag, Int_t tube0, Int_t segment0);
94
void ProcessPlane(Int_t ista, Int_t lay2, Int_t patt, Int_t flag);
95
void AddVector(Int_t ista, Int_t patt, Double_t chi2, Double_t *pars);
96
void SetTrackId(CbmMuchTrack *vec);
97
void FindLine(Int_t patt, Double_t *pars);
98
Double_t FindChi2(Int_t ista, Int_t patt, Double_t *pars);
99
void CheckParams();
100
//void HighRes();
101
//void ProcessSingleHigh(Int_t ista, Int_t plane, Int_t patt, Int_t flag, Int_t nok, Double_t uu[fgkPlanes][2]);
102
void RemoveClones();
103
void StoreVectors();
104
Int_t CountBits(Int_t x);
105
void Refit(Int_t patt, Double_t &chi2, Double_t *pars, TMatrixDSym &cov);
106
void MatchVectors();
107
*/
108
109
CbmVectorFinder
(
const
CbmVectorFinder
&);
110
CbmVectorFinder
&
operator=
(
const
CbmVectorFinder
&);
111
112
ClassDef(
CbmVectorFinder
, 0)
113
};
114
115
#endif
CbmVectorFinder::CbmVectorFinder
CbmVectorFinder(const CbmVectorFinder &)
CbmVectorFinder::Exec
virtual void Exec(Option_t *opt)
Definition:
CbmVectorFinder.cxx:71
CbmVectorFinder::~CbmVectorFinder
virtual ~CbmVectorFinder()
Definition:
CbmVectorFinder.cxx:27
CbmVectorFinder::operator=
CbmVectorFinder & operator=(const CbmVectorFinder &)
CbmVectorFinder::Init
virtual InitStatus Init()
Definition:
CbmVectorFinder.cxx:31
CbmVectorFinder::CbmVectorFinder
CbmVectorFinder()
Definition:
CbmVectorFinder.cxx:23
CbmVectorFinder::Finish
virtual void Finish()
Definition:
CbmVectorFinder.cxx:75
CbmVectorFinder
Definition:
CbmVectorFinder.h:26
CbmVectorFinder::SetParContainers
virtual void SetParContainers()
Definition:
CbmVectorFinder.cxx:67
reco
tracking
vector
CbmVectorFinder.h
Generated on Wed Oct 28 2020 15:11:49 for CbmRoot by
1.8.18