3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
8 //////////////////////////////////////////////////////////////////////////////
10 // collect together MC info and Rec info for comparison purposes
11 // - effieciency studies and so on// //
12 // marian.ivanov@cern.ch //
13 //////////////////////////////////////////////////////////////////////////////
17 #include "AliESDEvent.h"
18 #include "AliESDtrack.h"
20 #include "AliESDfriendTrack.h"
21 #include "AliITStrackMI.h"
22 #include "AliTRDtrack.h"
25 /////////////////////////////////////////////////////////////////////////
26 class AliESDRecInfo: public TObject {
27 friend class AliRecInfoMaker;
28 friend class AliESDRecV0Info;
29 friend class AliESDRecKinkInfo;
33 AliESDRecInfo(const AliESDRecInfo& recinfo);
35 void UpdatePoints(AliESDtrack* track);
36 void Update(AliMCInfo* info,AliTPCParam * par, Bool_t reconstructed);
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;}
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
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
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
85 ClassDef(AliESDRecInfo,2) // container for
90 /////////////////////////////////////////////////////////
91 /////////////////////////////////////////////////////////
92 /////////////////////////////////////////////////////////
95 class AliESDRecV0Info: public TObject {
96 friend class AliRecInfoMaker;
98 void Update(Float_t vertex[3]);
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 -
106 Double_t fPdr[3]; //momentum at vertex daughter - according approx at DCA
107 Double_t fXr[3]; //rec. position according helix
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
130 class AliESDRecKinkInfo: public TObject {
131 friend class AliRecInfoMaker;
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 -
142 Double_t fPdr[3]; //momentum at vertex daughter - according approx at DCA
143 Double_t fXr[3]; //rec. position according helix
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