//-------------------------------------------------------------------------
#include "AliVEventHandler.h"
#include "AliHeader.h"
+#include <TExMap.h>
+
class TFile;
class TTree;
class TParticle;
AliMCEventHandler();
AliMCEventHandler(const char* name, const char* title);
virtual ~AliMCEventHandler();
- virtual void SetOutputFileName(char* /* fname */) {;}
- virtual char* GetOutputFileName() {return 0;}
- virtual void SetInputPath(char* fname);
+ virtual void SetOutputFileName(const char* /* fname */) {;}
+ virtual const char* GetOutputFileName() {return 0;}
+ virtual void SetInputPath(const char* fname);
virtual void SetInputTree(TTree* /*tree*/) {;}
- virtual TString* GetInputPath() {return fPathName;}
+ virtual TString* GetInputPath() const {return fPathName;}
virtual Bool_t Init(Option_t* opt);
virtual Bool_t InitIO(Option_t* opt) {return Init(opt);};
virtual Bool_t Init(TTree* /*tree*/, Option_t* /*opt*/) {return kTRUE;}
virtual Bool_t GetEvent(Int_t iev);
virtual void SetReadTR(Bool_t flag) { fReadTR = flag; }
//
- AliMCEvent* MCEvent() {return fMCEvent;}
- TTree* TreeTR() {return fTreeTR;}
+ AliMCEvent* MCEvent() const {return fMCEvent;}
+ TTree* TreeTR() const {return fTreeTR;}
+ TTree* TreeK() const {return fTreeK;}
Int_t GetParticleAndTR(Int_t i, TParticle*& particle, TClonesArray*& trefs);
void DrawCheck(Int_t i, Int_t search=0);
+ Bool_t InitOk() {return fInitOk;}
+ // Label manipulation
+ void SelectParticle(Int_t i);
+ Bool_t IsParticleSelected(Int_t i);
+ void CreateLabelMap();
+ Int_t GetNewLabel(Int_t i);
+
private:
Bool_t OpenFile(Int_t i);
+ void VerifySelectedParticles();
AliMCEventHandler(const AliMCEventHandler& handler);
AliMCEventHandler& operator=(const AliMCEventHandler& handler);
private:
TTree *fTreeTR; //! TreeTR (track references tree)
TDirectoryFile *fDirK; //! Directory for Kine Tree
TDirectoryFile *fDirTR; //! Directory for TR Tree
+ TExMap fParticleSelected; //! List of selected MC particles for t
+ TExMap fLabelMap; //! Stores the Map of MC (ESDLabel,AODlabel)
Int_t fNEvent; //! Number of events
Int_t fEvent; //! Current event
TString *fPathName; //! Input file path
- char *fExtension; //! File name extension
+ const Char_t *fExtension; //! File name extension
Int_t fFileNumber; //! Input file number
Int_t fEventsPerFile; //! Number of events per file
Bool_t fReadTR; // determines if TR shall be read
+ Bool_t fInitOk; // Initialization ok
ClassDef(AliMCEventHandler,1) //MC Truth EventHandler class
};
#endif