]>
Commit | Line | Data |
---|---|---|
a5556ea5 | 1 | #ifndef AliTrackPoints_H |
2 | #define AliTrackPoints_H | |
3 | //_________________________________ | |
4 | //////////////////////////////////////////////////////////// | |
5 | // // | |
6 | // class AliTrackPoints // | |
7 | // // | |
8 | // used by Anti-Merging cut // | |
9 | // contains set of poits the lay on track trajectory // | |
10 | // according to reconstructed track parameters - // | |
11 | // NOT CLUSTERS POSITIONS!!! // | |
12 | // Anti-Merging cut is applied only on tracks coming from // | |
13 | // different events (that are use to fill deniminators) // | |
14 | // // | |
15 | //////////////////////////////////////////////////////////// | |
16 | #include <TObject.h> | |
17 | ||
18 | class AliTPCtrack; | |
19 | class AliESDtrack; | |
20 | ||
21 | class AliTrackPoints: public TObject | |
22 | { | |
23 | public: | |
344295f7 | 24 | typedef enum |
0f0355ab | 25 | {//defines the type and the track points are calculated |
26 | kITS = 1,//points calculated in ITS, made out of the vector at vertex | |
27 | kITSInnerFromVertexOuterFromTPC //for ITS, for 3 inner layers calculated out of the vector at vertex | |
28 | // for 3 outer ---------------//------------------ at inner TPC | |
344295f7 | 29 | } ETypes; |
78d7c6d3 | 30 | |
a5556ea5 | 31 | AliTrackPoints(); |
0f0355ab | 32 | AliTrackPoints(AliTrackPoints::ETypes type, AliESDtrack* track, Float_t mf); |
a5556ea5 | 33 | AliTrackPoints(Int_t n, AliESDtrack* track, Float_t mf, Float_t dr=30,Float_t r0 = 84.1); //min TPC R = 84.1; max TPC R = 246.6cm, |
78d7c6d3 | 34 | AliTrackPoints(Int_t n, AliTPCtrack* track, Float_t dr=30, Float_t r0 = 84.1); //min TPC R = 84.1; max TPC R = 246.6cm, |
a5556ea5 | 35 | |
36 | virtual ~AliTrackPoints(); | |
a5556ea5 | 37 | |
38 | Double_t AvarageDistance(const AliTrackPoints& tr); | |
39 | void PositionAt(Int_t n, Float_t &x, Float_t &y, Float_t &z); | |
78d7c6d3 | 40 | void Move(Float_t x, Float_t y, Float_t z); |
afbed925 | 41 | Int_t GetN() const {return fN;} |
78d7c6d3 | 42 | |
a5556ea5 | 43 | Int_t GetDebug() const {return fgDebug;} |
44 | void SetDebug(Int_t deblevel){fgDebug = deblevel;} | |
78d7c6d3 | 45 | static void Testtpc(Int_t entr); |
46 | static void Testesd(Int_t entr,const char* fname = "AliESDs.root"); | |
5b49024d | 47 | void Print(Option_t* /*option*/ = "") const; |
48 | ||
a5556ea5 | 49 | protected: |
50 | void MakePoints( Float_t dr, Float_t r0, Double_t x, Double_t* par, Double_t c, Double_t alpha); | |
78d7c6d3 | 51 | void MakeITSPoints(AliESDtrack* track); |
0f0355ab | 52 | void MakeITSPointsInnerFromVertexOuterFromTPC(AliESDtrack* track,Float_t mf); |
78d7c6d3 | 53 | |
a5556ea5 | 54 | private: |
af250cbf | 55 | AliTrackPoints(const AliTrackPoints& in); |
56 | AliTrackPoints& operator=(const AliTrackPoints& in); | |
57 | ||
a5556ea5 | 58 | Int_t fN;//number of points |
59 | Float_t* fX;//[fN]positions at x | |
60 | Float_t* fY;//[fN]positions at y | |
61 | Float_t* fZ;//[fN] positions at z | |
62 | // Float_t* fR;//! [fN] radii | |
63 | static Int_t fgDebug;//! debug level | |
64 | ClassDef(AliTrackPoints,1) | |
65 | }; | |
66 | #endif |