]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliESDComparisonMI.h
TOF index initialized with -1 (S.Kiselev)
[u/mrichter/AliRoot.git] / STEER / AliESDComparisonMI.h
1
2 class AliESDComparisonDraw: public AliComparisonDraw{
3 public:
4   AliESDComparisonDraw(){fTree = 0;}
5   void SetIO(const char *fname = "cmpESDTracks.root");  
6   ClassDef(AliESDComparisonDraw,1)
7 };
8 ClassImp(AliESDComparisonDraw)
9
10
11 /////////////////////////////////////////////////////////////////////////
12 class AliESDRecInfo: public TObject {
13
14 public:
15   AliESDRecInfo(){}
16   ~AliESDRecInfo(){}
17   //
18   void Update(AliMCInfo* info,AliTPCParam * par, Bool_t reconstructed);
19   Double_t fTPCinR0[5];   //generated position of the track at inner tpc - radius [3] and fi [4]
20   Double_t fTPCinR1[5];   //reconstructed postion of the track           - radius [3] and fi [
21   Double_t fTPCinP0[5];   //generated position of the track at inner tpc
22   Double_t fTPCinP1[5];   //reconstructed postion of the track
23   Double_t fTPCAngle0[2]; // generated angle 
24   Double_t fTPCAngle1[2]; //refconstructed angle 
25   Double_t fTPCDelta[5];  // deltas
26   Double_t fTPCPools[5];  // pools
27   Double_t fITSinR0[5];   //generated position of the track at inner tpc
28   Double_t fITSinR1[5];   //reconstructed postion of the track
29   Double_t fITSinP0[5];   //generated position of the track at inner tpc
30   Double_t fITSinP1[5];   //reconstructed postion of the track
31   Double_t fITSAngle0[2]; // generated angle 
32   Double_t fITSAngle1[2]; //refconstructed angle
33   Double_t fITSDelta[5];  // deltas
34   Double_t fITSPools[5];  // pools
35   AliESDtrack fESDTrack;          // tpc track
36   AliITStrackV2 fITStrack;        //its track
37   AliTRDtrack fTRDtrack;        //its track
38   Float_t fTRLocalCoord[3];       //local coordinates of the track ref.
39   Int_t   fReconstructed;         //flag if track was reconstructed
40   Int_t fFake;             // fake track
41   Int_t fMultiple;         // number of reconstructions
42   Bool_t fTPCOn;           // TPC refitted inward
43   Bool_t fITSOn;           // ITS refitted inward
44   Bool_t fTRDOn;           // ITS refitted inward
45   Float_t fDeltaP;          //delta of momenta
46   void Reset();
47   ClassDef(AliESDRecInfo,1)  // container for 
48 };
49 ClassImp(AliESDRecInfo)
50
51 void AliESDRecInfo::Reset()
52 {
53   fMultiple =0; 
54   fFake     =0;
55   fReconstructed=0;
56 }
57
58
59 /////////////////////////////////////////////////////////
60 /////////////////////////////////////////////////////////
61 /////////////////////////////////////////////////////////
62
63
64 class AliESDRecV0Info: public TObject {
65 public:
66   void Update(Float_t vertex[3]);
67   AliESDRecInfo  fT1;      //track1
68   AliESDRecInfo  fT2;      //track2  
69   Double_t       fDist1;    //info about closest distance according closest MC - linear DCA
70   Double_t       fDist2;    //info about closest distance parabolic DCA
71   Double_t       fInvMass;  //reconstructed invariant mass -
72   //
73   Double_t       fPdr[3];    //momentum at vertex daughter  - according approx at DCA
74   Double_t       fXr[3];     //rec. position according helix
75   //
76   Double_t       fPm[3];    //momentum at the vertex mother
77   Double_t       fAngle[3]; //three angles
78   Double_t       fRr;       // rec position of the vertex 
79   Int_t          fLab[2];   //MC label of the partecle
80   Float_t        fPointAngleFi; //point angle fi
81   Float_t        fPointAngleTh; //point angle theta
82   Float_t        fPointAngle;   //point angle full
83   ClassDef(AliESDRecV0Info,1)   // container for  
84 };
85
86 ClassImp(AliESDRecV0Info)
87
88
89
90 ////////////////////////////////////////////////////////////////////////
91 // 
92 // Start of implementation of the class ESDCmpTr
93 //
94 ////////////////////////////////////////////////////////////////////////
95
96 class ESDCmpTr {
97
98 public:
99   ESDCmpTr();
100   ESDCmpTr(const char* fnGenTracks,
101            const char* fnCmpRes      ="cmpTracks.root", 
102            const char* fnGalice      ="galice.root", Int_t direction=0,
103            Int_t nEvents=1, Int_t firstEvent=0);
104   virtual ~ESDCmpTr();
105   void Reset();
106   Int_t Exec();
107   Int_t Exec(Int_t nEvents, Int_t firstEventNr);
108   Int_t SetIO();
109   Int_t SetIO(Int_t eventNr );
110   void CreateTreeCmp();
111   void CloseOutputFile();
112   Bool_t ConnectGenTree();
113   Int_t TreeGenLoop(Int_t eventNr);
114   Int_t TreeTLoop();
115   void SetFirstEventNr(Int_t i) {fFirstEventNr = i;}
116   void SetNEvents(Int_t i) {fNEvents = i;}
117   void SetDebug(Int_t level) {fDebug = level;}
118
119 // tmp method, should go to TrackReferenceESD
120   static TVector3 TR2Local(AliTrackReference *trackRef,
121                     AliTPCParam *paramTPC);
122
123 private:
124
125   Int_t fEventNr;                 //! current event number
126   Int_t fNEvents;                 //! number of events to process
127   Int_t fFirstEventNr;            //! first event to process
128   //
129   char  fFnCmp[1000];                   //! output file name with cmp tracks
130   TFile *fFileCmp;                //! output file with cmp tracks
131   TTree *fTreeCmp;                //! output tree with cmp tracks
132   //
133   char  fFnGenTracks[1000];             //! input file name with gen tracks
134   TFile *fFileGenTracks;
135   TTree *fTreeGenTracks;
136   //
137   //
138   Int_t  fDirection;
139   //
140   AliRunLoader * fLoader;         //! pointer to the run loader
141   //TTree *fTreeRecTracks;          //! tree with reconstructed tracks
142   //
143   Int_t *fIndexRecTracks;         //! index of particle label in the TreeT_ESD
144   Int_t *fFakeRecTracks;          //! number of fake tracks
145   Int_t *fMultiRecTracks;         //! number of multiple reconstructions
146   //
147   TObjArray * fTracks;            //!container with tracks 
148   AliESD *fEvent;                 //!event
149
150   //
151   AliTPCParam* fParamTPC;         //! AliTPCParam
152   Int_t fNParticles;              //! number of particles in the input tree genTracks
153   Int_t fDebug;                   //! debug flag  
154   Int_t fNextTreeGenEntryToRead;    //! last entry already read from genTracks tree
155   //
156   AliMCInfo*  fMCInfo;           //! MC information writen per particle
157   AliESDRecInfo*  fRecInfo;          //! Rec. information writen per particle
158   //
159
160   ClassDef(ESDCmpTr,1)    // class which creates and fills tree with ESDGenTrack objects
161 };
162 ClassImp(ESDCmpTr)
163
164
165