1 #ifndef AliTrackPoints_H
2 #define AliTrackPoints_H
3 //_________________________________
4 ////////////////////////////////////////////////////////////
6 // class AliTrackPoints //
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) //
15 ////////////////////////////////////////////////////////////
21 class AliTrackPoints: public TObject
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
32 AliTrackPoints(AliTrackPoints::ETypes type, AliESDtrack* track, Float_t mf);
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,
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,
36 virtual ~AliTrackPoints();
38 Double_t AvarageDistance(const AliTrackPoints& tr);
39 void PositionAt(Int_t n, Float_t &x, Float_t &y, Float_t &z);
40 void Move(Float_t x, Float_t y, Float_t z);
41 Int_t GetN() const {return fN;}
43 Int_t GetDebug() const {return fgDebug;}
44 void SetDebug(Int_t deblevel){fgDebug = deblevel;}
45 static void Testtpc(Int_t entr);
46 static void Testesd(Int_t entr,const char* fname = "AliESDs.root");
47 void Print(Option_t* /*option*/ = "") const;
50 void MakePoints( Float_t dr, Float_t r0, Double_t x, Double_t* par, Double_t c, Double_t alpha);
51 void MakeITSPoints(AliESDtrack* track);
52 void MakeITSPointsInnerFromVertexOuterFromTPC(AliESDtrack* track,Float_t mf);
55 AliTrackPoints(const AliTrackPoints& in);
56 AliTrackPoints& operator=(const AliTrackPoints& in);
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)