]>
Commit | Line | Data |
---|---|---|
033693d3 | 1 | // -*- mode: C++ -*- |
5fe09262 | 2 | #ifndef ALIMCEVENTHANDLER_H |
3 | #define ALIMCEVENTHANDLER_H | |
033693d3 | 4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | ||
8 | /* $Id$ */ | |
9 | ||
10 | //------------------------------------------------------------------------- | |
11 | // Class AliMCEvent | |
12 | // This class gives access to MC truth during the analysis. | |
13 | // Monte Carlo truth is containe in the kinematics tree (produced particles) and | |
14 | // the tree of reference hits. | |
15 | // | |
16 | // Origin: Andreas Morsch, CERN, andreas.morsch@cern.ch | |
17 | //------------------------------------------------------------------------- | |
18 | ||
d2f1d9ef | 19 | #include "AliVEventHandler.h" |
47b95647 | 20 | #include "AliHeader.h" |
033693d3 | 21 | class TFile; |
22 | class TTree; | |
23 | class TParticle; | |
0a05cd41 | 24 | class TString; |
033693d3 | 25 | class TClonesArray; |
5efedd31 | 26 | class TDirectoryFile; |
27 | ||
033693d3 | 28 | class AliHeader; |
47b95647 | 29 | class AliGenEventHeader; |
033693d3 | 30 | class AliStack; |
31 | ||
32 | ||
d2f1d9ef | 33 | class AliMCEventHandler : public AliVEventHandler |
033693d3 | 34 | { |
35 | public: | |
5fe09262 | 36 | AliMCEventHandler(); |
37 | AliMCEventHandler(const char* name, const char* title); | |
38 | virtual ~AliMCEventHandler(); | |
033693d3 | 39 | virtual void SetOutputFileName(char* /* fname */) {;} |
40 | virtual char* GetOutputFileName() {return 0;} | |
0a05cd41 | 41 | virtual void SetInputPath(char* fname); |
42 | virtual TString* GetInputPath() {return fPathName;} | |
033693d3 | 43 | virtual Bool_t InitIO(Option_t* opt); |
44 | virtual Bool_t BeginEvent(); | |
890126ab | 45 | virtual Bool_t Notify(const char* path); |
033693d3 | 46 | virtual Bool_t FinishEvent(); |
47 | virtual Bool_t Terminate(); | |
48 | virtual Bool_t TerminateIO(); | |
5fe09262 | 49 | virtual void ResetIO(); |
9aea8469 | 50 | virtual Bool_t GetEvent(Int_t iev); |
033693d3 | 51 | // |
47b95647 | 52 | AliStack* Stack() {return fStack;} |
53 | AliHeader* Header() {return fHeader;} | |
54 | AliGenEventHeader* GenEventHeader() {return (fHeader->GenEventHeader());} | |
033693d3 | 55 | TTree* TreeTR() {return fTreeTR;} |
56 | Int_t GetParticleAndTR(Int_t i, TParticle*& particle, TClonesArray*& trefs); | |
2d8f26f6 | 57 | void DrawCheck(Int_t i, Int_t search=0); |
5fe09262 | 58 | private: |
9aea8469 | 59 | Bool_t OpenFile(Int_t i); |
5fe09262 | 60 | void ReorderAndExpandTreeTR(); |
61 | ||
033693d3 | 62 | private: |
63 | TFile *fFileE; //! File with TreeE | |
64 | TFile *fFileK; //! File with TreeK | |
65 | TFile *fFileTR; //! File with TreeTR | |
5fe09262 | 66 | TFile *fTmpFileTR; //! Temporary file with TreeTR to read old format |
033693d3 | 67 | TTree *fTreeE; //! TreeE (Event Headers) |
68 | TTree *fTreeK; //! TreeK (kinematics tree) | |
69 | TTree *fTreeTR; //! TreeTR (track references tree) | |
5fe09262 | 70 | TTree *fTmpTreeTR; //! Temporary tree TR to read old format |
5efedd31 | 71 | TDirectoryFile *fDirK; //! Directory for Kine Tree |
72 | TDirectoryFile *fDirTR; //! Directory for TR Tree | |
033693d3 | 73 | AliStack *fStack; //! Current pointer to stack |
74 | AliHeader *fHeader; //! Current pointer to header | |
5fe09262 | 75 | TClonesArray *fTrackReferences; //! Current list of track references |
033693d3 | 76 | Int_t fNEvent; //! Number of events |
77 | Int_t fEvent; //! Current event | |
78 | Int_t fNprimaries; //! Number of primaries | |
5fe09262 | 79 | Int_t fNparticles; //! Number of particles |
0a05cd41 | 80 | TString *fPathName; //! Input file path |
9aea8469 | 81 | char *fExtension; //! File name extension |
82 | Int_t fFileNumber; //! Input file number | |
83 | Int_t fEventsPerFile; //! Number of events per file | |
5fe09262 | 84 | ClassDef(AliMCEventHandler,1) //MC Truth EventHandler class |
033693d3 | 85 | }; |
86 | #endif | |
87 |