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