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