]>
Commit | Line | Data |
---|---|---|
06d06fbb | 1 | #ifndef ALIRECINFOMAKER_H |
2 | #define ALIRECINFOMAKER_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 AliRecInfoMaker // | |
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 "AliESD.h" | |
1a167b98 | 18 | #include "AliESDEvent.h" |
06d06fbb | 19 | |
20 | #include "AliESDtrack.h" | |
21 | #include "AliV0.h" | |
22 | #include "AliESDfriendTrack.h" | |
23 | #include "AliITStrackMI.h" | |
24 | #include "AliTRDtrack.h" | |
25 | class AliTPCseed; | |
26 | ||
27 | ||
28 | ||
29 | ||
30 | //////////////////////////////////////////////////////////////////////// | |
31 | // | |
32 | // Start of implementation of the class AliRecInfoMaker | |
33 | // | |
34 | //////////////////////////////////////////////////////////////////////// | |
35 | ||
36 | class AliRecInfoMaker { | |
37 | ||
38 | public: | |
06d06fbb | 39 | AliRecInfoMaker(const char* fnGenTracks, |
40 | const char* fnCmpRes ="cmpTracks.root", | |
1a167b98 | 41 | const char* fnGalice ="galice.root", |
06d06fbb | 42 | Int_t nEvents=1, Int_t firstEvent=0); |
43 | virtual ~AliRecInfoMaker(); | |
44 | void Reset(); | |
45 | Int_t Exec(); | |
46 | Int_t Exec(Int_t nEvents, Int_t firstEventNr); | |
47 | Int_t SetIO(); | |
48 | Int_t SetIO(Int_t eventNr ); | |
49 | void CreateTreeCmp(); | |
50 | void CloseOutputFile(); | |
51 | Bool_t ConnectGenTree(); | |
52 | Int_t TreeGenLoop(Int_t eventNr); | |
53 | Int_t TreeTLoop(); | |
54 | Int_t BuildKinkInfo0(Int_t eventNr); // build kink info 0 | |
55 | Int_t BuildV0Info(Int_t eventNr); // build kink info 0 | |
56 | void SetFirstEventNr(Int_t i) {fFirstEventNr = i;} | |
57 | void SetNEvents(Int_t i) {fNEvents = i;} | |
58 | void SetDebug(Int_t level) {fDebug = level;} | |
59 | ||
60 | // tmp method, should go to TrackReferenceESD | |
61 | static TVector3 TR2Local(AliTrackReference *trackRef, | |
62 | AliTPCParam *paramTPC); | |
63 | static AliTPCParam * GetTPCParam(); | |
64 | private: | |
65 | ||
66 | Int_t fEventNr; //! current event number | |
67 | Int_t fNEvents; //! number of events to process | |
68 | Int_t fFirstEventNr; //! first event to process | |
69 | // | |
70 | char fFnCmp[1000]; //! output file name with cmp tracks | |
71 | TFile *fFileCmp; //! output file with cmp tracks | |
72 | TTree *fTreeCmp; //! output tree with cmp tracks | |
73 | TTree *fTreeCmpKinks; //! output tree with cmp Kinks | |
74 | TTree *fTreeCmpV0; //! output tree with cmp V0 | |
75 | // | |
76 | char fFnGenTracks[1000]; //! input file name with gen tracks | |
77 | TFile *fFileGenTracks; | |
78 | TTree *fTreeGenTracks; | |
79 | TTree *fTreeGenKinks; // tree with gen kinks | |
80 | TTree *fTreeGenV0; // tree with gen V0 | |
81 | // | |
82 | // | |
06d06fbb | 83 | // |
84 | AliRunLoader * fLoader; //! pointer to the run loader | |
85 | //TTree *fTreeRecTracks; //! tree with reconstructed tracks | |
86 | // | |
87 | Short_t *fIndexRecTracks; //! index of particle label in the TreeT_ESD | |
88 | Short_t *fFakeRecTracks; //! number of fake tracks | |
89 | Short_t *fMultiRecTracks; //! number of multiple reconstructions | |
90 | // | |
91 | Short_t *fIndexRecKinks; //! index of particle label in treeesd | |
92 | Short_t *fMultiRecKinks; //! number of multiple reconstructions | |
93 | Short_t *fSignedKinks; //! indicator that kink was not fake | |
94 | // | |
95 | Short_t *fIndexRecV0; //! index of particle label in treeesd | |
96 | Short_t *fMultiRecV0; //! number of multiple reconstructions | |
97 | Short_t *fSignedV0; //! indicator that kink was not fake | |
98 | // | |
99 | TObjArray *fRecArray; // container with rec infos | |
1a167b98 | 100 | AliESDEvent *fEvent; //!event |
06d06fbb | 101 | AliESDfriend *fESDfriend; //!event friend |
102 | // | |
103 | AliTPCParam* fParamTPC; //! AliTPCParam | |
104 | Int_t fNParticles; //! number of particles in the input tree genTracks | |
105 | Int_t fDebug; //! debug flag | |
106 | Int_t fNextTreeGenEntryToRead; //! last entry already read from genTracks tree | |
107 | Int_t fNextKinkToRead; //! last entry already read from genKinks tree | |
108 | Int_t fNextV0ToRead; //! last entry already read from genV0 tree | |
109 | // | |
110 | AliMCInfo* fMCInfo; //! MC information writen per particle | |
111 | AliGenKinkInfo* fGenKinkInfo; //! MC information writen per Kink | |
112 | AliGenV0Info* fGenV0Info; //! MC information writen per Kink | |
113 | AliESDRecInfo* fRecInfo; //! Rec. information writen per particle | |
114 | AliESDfriendTrack* fFriend; //! friend track | |
115 | AliESDRecKinkInfo* fRecKinkInfo; //! reconstructed kink info | |
116 | AliESDRecV0Info* fRecV0Info; //! reconstructed kink info | |
117 | // | |
118 | ||
119 | ClassDef(AliRecInfoMaker,1) // class which creates and fills tree with ESDGenTrack objects | |
120 | }; | |
121 | ||
122 | ||
123 | #endif |