]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG1/AliRecInfo.h
Changes needed by the updated track references
[u/mrichter/AliRoot.git] / PWG1 / AliRecInfo.h
CommitLineData
06d06fbb 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"
83200484 17#include "AliESDEvent.h"
06d06fbb 18#include "AliESDtrack.h"
19#include "AliV0.h"
20#include "AliESDfriendTrack.h"
21#include "AliITStrackMI.h"
22#include "AliTRDtrack.h"
23class AliTPCseed;
24
25/////////////////////////////////////////////////////////////////////////
26class AliESDRecInfo: public TObject {
83200484 27 friend class AliRecInfoMaker;
28 friend class AliESDRecV0Info;
29 friend class AliESDRecKinkInfo;
30
06d06fbb 31public:
32 AliESDRecInfo();
33 AliESDRecInfo(const AliESDRecInfo& recinfo);
34 ~AliESDRecInfo();
35 void UpdatePoints(AliESDtrack* track);
83200484 36 void Update(AliMCInfo* info,AliTPCParam * par, Bool_t reconstructed);
06d06fbb 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;}
83200484 45protected:
06d06fbb 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
78private:
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
95class AliESDRecV0Info: public TObject {
83200484 96 friend class AliRecInfoMaker;
06d06fbb 97public:
98 void Update(Float_t vertex[3]);
83200484 99protected:
06d06fbb 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
83200484 122 Int_t fMultiple; // how man times V0 was recostructed
123 Int_t fV0Multiple; // how man times was V0 reconstucted
06d06fbb 124 Int_t fRecStatus; // status form the reconstuction
125 ClassDef(AliESDRecV0Info,2) // container for
126};
127
128
129
130class AliESDRecKinkInfo: public TObject {
83200484 131friend class AliRecInfoMaker;
06d06fbb 132public:
133 void Update();
83200484 134protected:
06d06fbb 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
83200484 156 Int_t fMultiple; // how many times was kink reconstructed
157 Int_t fKinkMultiple; // how many times was kink reconstructed
06d06fbb 158 ClassDef(AliESDRecKinkInfo,1) // container for
159};
160
161#endif