]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ANALYSIS/AliTrackPoints.h
First prototype of the new analysis framework (A.Gheata)
[u/mrichter/AliRoot.git] / ANALYSIS / AliTrackPoints.h
CommitLineData
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
18class AliTPCtrack;
19class AliESDtrack;
20
21class 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,
35// AliTrackPoints(const AliTrackPoints& in);
a5556ea5 36
37 virtual ~AliTrackPoints();
afbed925 38// AliTrackPoints& operator=(const AliTrackPoints& in);
a5556ea5 39
40 Double_t AvarageDistance(const AliTrackPoints& tr);
41 void PositionAt(Int_t n, Float_t &x, Float_t &y, Float_t &z);
78d7c6d3 42 void Move(Float_t x, Float_t y, Float_t z);
afbed925 43 Int_t GetN() const {return fN;}
78d7c6d3 44
a5556ea5 45 Int_t GetDebug() const {return fgDebug;}
46 void SetDebug(Int_t deblevel){fgDebug = deblevel;}
78d7c6d3 47 static void Testtpc(Int_t entr);
48 static void Testesd(Int_t entr,const char* fname = "AliESDs.root");
5b49024d 49 void Print(Option_t* /*option*/ = "") const;
50
a5556ea5 51 protected:
52 void MakePoints( Float_t dr, Float_t r0, Double_t x, Double_t* par, Double_t c, Double_t alpha);
78d7c6d3 53 void MakeITSPoints(AliESDtrack* track);
0f0355ab 54 void MakeITSPointsInnerFromVertexOuterFromTPC(AliESDtrack* track,Float_t mf);
78d7c6d3 55
a5556ea5 56 private:
57 Int_t fN;//number of points
58 Float_t* fX;//[fN]positions at x
59 Float_t* fY;//[fN]positions at y
60 Float_t* fZ;//[fN] positions at z
61// Float_t* fR;//! [fN] radii
62 static Int_t fgDebug;//! debug level
63 ClassDef(AliTrackPoints,1)
64};
65#endif