]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG1/AliRecInfo.h
removed debug statement
[u/mrichter/AliRoot.git] / PWG1 / AliRecInfo.h
1 #ifndef ALIRECINFO_H
2 #define ALIRECINFO_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6
7
8 //////////////////////////////////////////////////////////////////////////////
9 //                          Class AliRecInfo                                //
10 //   collect together MC info and Rec info for comparison purposes 
11 //                                           - effieciency studies and so on//                                                                 //
12 //   marian.ivanov@cern.ch                                                  //
13 //////////////////////////////////////////////////////////////////////////////
14
15
16 #include "TObject.h"
17 #include "AliESDEvent.h"
18 #include "AliESDtrack.h"
19 #include "AliV0.h"
20 #include "AliESDfriendTrack.h"
21 #include "AliITStrackMI.h"
22 #include "AliTRDtrack.h"
23 class AliTPCseed;
24
25 /////////////////////////////////////////////////////////////////////////
26 class AliESDRecInfo: public TObject {
27   friend class  AliRecInfoMaker;
28   friend class  AliESDRecV0Info;
29   friend class  AliESDRecKinkInfo;
30
31 public:
32   AliESDRecInfo();
33   AliESDRecInfo(const AliESDRecInfo& recinfo);
34   ~AliESDRecInfo();
35   void UpdatePoints(AliESDtrack* track);
36   void Update(AliMCInfo* info,AliTPCParam * par, Bool_t reconstructed);
37   void Reset();
38   //
39   void SetESDtrack(const AliESDtrack *track);
40   AliESDtrack *GetESDtrack() const { return fESDtrack;}
41   AliESDfriendTrack *GetTrackF() const  { return fTrackF;}
42   AliTPCseed *GetTPCtrack() const { return fTPCtrack;}
43   AliITStrackMI *GetITStrack() const { return fITStrack;}
44   AliTRDtrack   *GetTRDtrack() const { return fTRDtrack;}
45 protected:
46   //
47   Float_t  fTPCPoints[10]; //start , biggest end points,max density .. density at the last 30 pad-rows
48   Double_t fTPCinR0[5];   //generated position of the track at inner tpc - radius [3] and fi [4]
49   Double_t fTPCinR1[5];   //reconstructed postion of the track           - radius [3] and fi [
50   Double_t fTPCinP0[5];   //generated position of the track at inner tpc
51   Double_t fTPCinP1[5];   //reconstructed postion of the track
52   Double_t fTPCAngle0[2]; // generated angle 
53   Double_t fTPCAngle1[2]; //refconstructed angle 
54   Double_t fTPCDelta[5];  // deltas
55   Double_t fTPCPools[5];  // pools
56   Double_t fITSinR0[5];   //generated position of the track at inner tpc
57   Double_t fITSinR1[5];   //reconstructed postion of the track
58   Double_t fITSinP0[5];   //generated position of the track at inner tpc
59   Double_t fITSinP1[5];   //reconstructed postion of the track
60   Double_t fITSAngle0[2]; // generated angle 
61   Double_t fITSAngle1[2]; //refconstructed angle
62   Double_t fITSDelta[5];  // deltas
63   Double_t fITSPools[5];  // pools
64   Float_t  fTRLocalCoord[3];       //local coordinates of the track ref.
65   Int_t    fStatus[4];        // status -0 not found - 1 -only in - 2 -in-out -3 -in -out-refit
66   Int_t    fLabels[2];         // labels
67
68   Bool_t   fITSOn;           // ITS refitted inward
69   Bool_t   fTRDOn;           // ITS refitted inward
70   Float_t  fDeltaP;          //delta of momenta
71   Double_t fSign;           // sign
72   Int_t    fReconstructed;         //flag if track was reconstructed
73   Int_t    fFake;             // fake track
74   Int_t    fMultiple;         // number of reconstructions
75   Bool_t   fTPCOn;           // TPC refitted inward
76   Float_t  fBestTOFmatch;        //best matching between times
77
78 private:
79   AliESDtrack   *fESDtrack;        // esd track
80   AliESDfriendTrack *fTrackF;      // friend track
81   AliTPCseed *fTPCtrack;        // tpc track
82   AliITStrackMI *fITStrack;        // its track
83   AliTRDtrack   *fTRDtrack;        // trd track
84   
85   ClassDef(AliESDRecInfo,2)  // container for 
86 };
87
88
89
90 /////////////////////////////////////////////////////////
91 /////////////////////////////////////////////////////////
92 /////////////////////////////////////////////////////////
93
94
95 class AliESDRecV0Info: public TObject {
96   friend class  AliRecInfoMaker;
97 public:
98   void Update(Float_t vertex[3]);
99 protected:
100   AliESDRecInfo  fT1;      //track1
101   AliESDRecInfo  fT2;      //track2  
102   Double_t       fDist1;    //info about closest distance according closest MC - linear DCA
103   Double_t       fDist2;    //info about closest distance parabolic DCA
104   Double_t       fInvMass;  //reconstructed invariant mass -
105   //
106   Double_t       fPdr[3];    //momentum at vertex daughter  - according approx at DCA
107   Double_t       fXr[3];     //rec. position according helix
108   //
109   Double_t       fRs[2];     // minimum radius in rphi intersection
110   Double_t       fDistMinR; // distance at minimal radius
111   Double_t       fPm[3];    //momentum at the vertex mother
112   Double_t       fAngle[3]; //three angles
113   Double_t       fRr;       // rec position of the vertex 
114   Int_t          fLab[2];   //MC label of the partecle
115   Float_t        fPointAngleFi; //point angle fi
116   Float_t        fPointAngleTh; //point angle theta
117   Float_t        fPointAngle;   //point angle full
118   Int_t          fV0Status;       // status of the kink
119   AliV0*         fV0tpc;           // Vo information from reconsturction according TPC
120   AliV0*         fV0its;           // Vo information from reconsturction according ITS
121   AliV0*         fV0rec;           // V0 information form the reconstruction
122   Int_t          fMultiple;     // how man times V0 was recostructed 
123   Int_t          fV0Multiple;   // how man times was V0 reconstucted
124   Int_t          fRecStatus;    // status form the reconstuction
125   ClassDef(AliESDRecV0Info,2)   // container for  
126 };
127
128
129
130 class AliESDRecKinkInfo: public TObject {
131 friend class  AliRecInfoMaker;
132 public:
133   void Update();
134 protected:
135   AliESDRecInfo  fT1;      //track1
136   AliESDRecInfo  fT2;      //track2  
137   AliESDkink     fKink;    //kink
138   Double_t       fDist1;    //info about closest distance according closest MC - linear DCA
139   Double_t       fDist2;    //info about closest distance parabolic DCA
140   Double_t       fInvMass;  //reconstructed invariant mass -
141   //
142   Double_t       fPdr[3];    //momentum at vertex daughter  - according approx at DCA
143   Double_t       fXr[3];     //rec. position according helix
144   //
145   Double_t       fPm[3];    //momentum at the vertex mother
146   Double_t       fAngle[3]; //three angles
147   Double_t       fRr;       // rec position of the vertex 
148   Double_t       fMinR;     // minimum radius in rphi intersection
149   Double_t       fDistMinR; // distance at minimal radius
150   Int_t          fLab[2];   //MC label of the partecle
151   Float_t        fPointAngleFi; //point angle fi
152   Float_t        fPointAngleTh; //point angle theta
153   Float_t        fPointAngle;   //point angle full
154   Int_t          fStatus;       //status -tracks 
155   Int_t          fRecStatus;    //kink -status- 0 - not found  1-good -  fake
156   Int_t          fMultiple;     // how many times was kink reconstructed
157   Int_t          fKinkMultiple; // how many times was kink reconstructed
158   ClassDef(AliESDRecKinkInfo,1)   // container for  
159 };
160
161 #endif