Adding cuts for comparison studies (Marian)
[u/mrichter/AliRoot.git] / PWG1 / AliESDRecInfo.h
1 #ifndef ALIESDRECINFO_H
2 #define ALIESDRECINFO_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 "AliESDkink.h"
18 class AliESDEvent;
19 class AliESDtrack;
20 class AliV0;
21 class AliESDkink;
22 class AliESDfriendTrack;
23 class AliITStrackMI;
24 class AliTRDtrack;
25 class AliTPCParam;
26 class AliTPCseed;
27
28 /////////////////////////////////////////////////////////////////////////
29 class AliESDRecInfo: public TObject {
30   friend class  AliRecInfoMaker;
31   friend class  AliESDRecV0Info;
32   friend class  AliESDRecKinkInfo;
33
34 public:
35   AliESDRecInfo();
36   AliESDRecInfo(const AliESDRecInfo& recinfo); 
37   AliESDRecInfo& operator=(const AliESDRecInfo& info);
38   ~AliESDRecInfo();
39   void Update(AliMCInfo* info,AliTPCParam * par, Bool_t reconstructed);
40   void UpdateStatus(AliMCInfo* info, Bool_t reconstructed);
41   void UpdatePoints(AliESDtrack* track);
42   void UpdateTPC(AliMCInfo* info);
43   void UpdateITS(AliMCInfo* info);
44   void UpdateTOF(AliMCInfo* info);
45   //
46   void Reset();
47   //
48   void SetESDtrack(const AliESDtrack *track);
49   AliESDtrack *GetESDtrack() const { return fESDtrack;}
50   AliESDfriendTrack *GetTrackF() const  { return fTrackF;}
51   AliTPCseed *GetTPCtrack() const { return fTPCtrack;}
52   AliITStrackMI *GetITStrack() const { return fITStrack;}
53   AliTRDtrack   *GetTRDtrack() const { return fTRDtrack;}
54   Int_t      GetStatus(Int_t i) { return fStatus[i];}
55 protected:
56   //
57   Float_t  fTPCPoints[10]; //start , biggest end points,max density .. density at the last 30 pad-rows
58   Double_t fTPCinR0[5];   //generated position of the track at inner tpc - radius [3] and fi [4]
59   Double_t fTPCinR1[5];   //reconstructed postion of the track           - radius [3] and fi [
60   Double_t fTPCinP0[5];   //generated position of the track at inner tpc
61   Double_t fTPCinP1[5];   //reconstructed postion of the track
62   Double_t fTPCAngle0[2]; // generated angle 
63   Double_t fTPCAngle1[2]; //refconstructed angle 
64   Double_t fTPCDelta[5];  // deltas
65   Double_t fTPCPools[5];  // pools
66   Double_t fITSinR0[5];   //generated position of the track at inner tpc
67   Double_t fITSinR1[5];   //reconstructed postion of the track
68   Double_t fITSinP0[5];   //generated position of the track at inner tpc
69   Double_t fITSinP1[5];   //reconstructed postion of the track
70   Double_t fITSAngle0[2]; // generated angle 
71   Double_t fITSAngle1[2]; //refconstructed angle
72   Double_t fITSDelta[5];  // deltas
73   Double_t fITSPools[5];  // pools
74   Float_t  fTRLocalCoord[3];       //local coordinates of the track ref.
75   Int_t    fStatus[4];        // status -0 not found - 1 -only in - 2 -in-out -3 -in -out-refit
76   Int_t    fLabels[2];         // labels
77
78   Bool_t   fITSOn;           // ITS refitted inward
79   Bool_t   fTRDOn;           // ITS refitted inward
80   Float_t  fDeltaP;          //delta of momenta
81   Double_t fSign;           // sign
82   Int_t    fReconstructed;         //flag if track was reconstructed
83   Int_t    fFake;             // fake track
84   Int_t    fMultiple;         // number of reconstructions
85   Bool_t   fTPCOn;           // TPC refitted inward
86   Float_t  fBestTOFmatch;        //best matching between times
87
88 private:
89   AliESDtrack   *fESDtrack;        // esd track
90   AliESDfriendTrack *fTrackF;      // friend track
91   AliTPCseed *fTPCtrack;        // tpc track
92   AliITStrackMI *fITStrack;        // its track
93   AliTRDtrack   *fTRDtrack;        // trd track
94   ClassDef(AliESDRecInfo,2)  // container for 
95 };
96
97
98 #endif