From ed97dc985f38b053406b6eddbf69afa23128e5cc Mon Sep 17 00:00:00 2001 From: morsch Date: Thu, 15 Nov 2007 20:52:09 +0000 Subject: [PATCH] Pass event number as argument of AliVEventHandler::BeginEvent --- ANALYSIS/AliAnalysisManager.cxx | 20 +++++++++++--------- STEER/AliAODHandler.h | 2 +- STEER/AliAODInputHandler.h | 1 - STEER/AliESDInputHandler.cxx | 2 +- STEER/AliESDInputHandler.h | 2 +- STEER/AliInputEventHandler.h | 2 +- STEER/AliMCEvent.cxx | 7 +++++-- STEER/AliMCEventHandler.cxx | 16 +++++++++++----- STEER/AliMCEventHandler.h | 2 +- STEER/AliVEventHandler.h | 2 +- 10 files changed, 33 insertions(+), 23 deletions(-) diff --git a/ANALYSIS/AliAnalysisManager.cxx b/ANALYSIS/AliAnalysisManager.cxx index f75df58170c..ccabe11842d 100644 --- a/ANALYSIS/AliAnalysisManager.cxx +++ b/ANALYSIS/AliAnalysisManager.cxx @@ -302,9 +302,9 @@ Bool_t AliAnalysisManager::Process(Long64_t entry) if (fDebug > 1) { cout << "->AliAnalysisManager::Process()" << endl; } - if (fInputEventHandler) fInputEventHandler ->BeginEvent(); - if (fOutputEventHandler) fOutputEventHandler ->BeginEvent(); - if (fMCtruthEventHandler) fMCtruthEventHandler->BeginEvent(); + if (fInputEventHandler) fInputEventHandler ->BeginEvent(entry); + if (fOutputEventHandler) fOutputEventHandler ->BeginEvent(entry); + if (fMCtruthEventHandler) fMCtruthEventHandler->BeginEvent(entry); GetEntry(entry); ExecAnalysis(); @@ -764,11 +764,13 @@ void AliAnalysisManager::ExecAnalysis(Option_t *option) return; } cont->SetData(fTree); // This will notify all consumers + Long64_t entry = fTree->GetTree()->GetReadEntry(); + // // Call BeginEvent() for optional input/output and MC services - if (fInputEventHandler) fInputEventHandler ->BeginEvent(); - if (fOutputEventHandler) fOutputEventHandler ->BeginEvent(); - if (fMCtruthEventHandler) fMCtruthEventHandler->BeginEvent(); + if (fInputEventHandler) fInputEventHandler ->BeginEvent(entry); + if (fOutputEventHandler) fOutputEventHandler ->BeginEvent(entry); + if (fMCtruthEventHandler) fMCtruthEventHandler->BeginEvent(entry); // // Execute the tasks TIter next1(cont->GetConsumers()); @@ -790,9 +792,9 @@ void AliAnalysisManager::ExecAnalysis(Option_t *option) // The event loop is not controlled by TSelector // // Call BeginEvent() for optional input/output and MC services - if (fInputEventHandler) fInputEventHandler ->BeginEvent(); - if (fOutputEventHandler) fOutputEventHandler ->BeginEvent(); - if (fMCtruthEventHandler) fMCtruthEventHandler->BeginEvent(); + if (fInputEventHandler) fInputEventHandler ->BeginEvent(-1); + if (fOutputEventHandler) fOutputEventHandler ->BeginEvent(-1); + if (fMCtruthEventHandler) fMCtruthEventHandler->BeginEvent(-1); TIter next2(fTopTasks); while ((task=(AliAnalysisTask*)next2())) { task->SetActive(kTRUE); diff --git a/STEER/AliAODHandler.h b/STEER/AliAODHandler.h index f43edc92cdc..a143e8d8f8f 100644 --- a/STEER/AliAODHandler.h +++ b/STEER/AliAODHandler.h @@ -27,7 +27,7 @@ class AliAODHandler : public AliVEventHandler { virtual void SetOutputFileName(char* fname) {fName = fname;} virtual char* GetOutputFileName() {return fName;} virtual Bool_t InitIO(Option_t* option); - virtual Bool_t BeginEvent(){ return kTRUE;} + virtual Bool_t BeginEvent(Long64_t /*entry*/) {return kTRUE;} // needed to prevent warning of hidden virtual Bool_t TObject::Notify() virtual Bool_t Notify() { return AliVEventHandler::Notify(); }; virtual Bool_t Notify(const char * /* path */) {return kTRUE;} diff --git a/STEER/AliAODInputHandler.h b/STEER/AliAODInputHandler.h index 22099926989..700068c7578 100644 --- a/STEER/AliAODInputHandler.h +++ b/STEER/AliAODInputHandler.h @@ -20,7 +20,6 @@ class AliAODInputHandler : public AliInputEventHandler { AliAODInputHandler(const char* name, const char* title); virtual ~AliAODInputHandler(); virtual Bool_t InitIO(Option_t* opt); - virtual Bool_t BeginEvent() {return kTRUE;} AliAODEvent *GetEvent() const {return fEvent;} private: AliAODEvent *fEvent; //! Pointer to the event diff --git a/STEER/AliESDInputHandler.cxx b/STEER/AliESDInputHandler.cxx index 18ad703fc47..02568805b94 100644 --- a/STEER/AliESDInputHandler.cxx +++ b/STEER/AliESDInputHandler.cxx @@ -56,7 +56,7 @@ Bool_t AliESDInputHandler::InitIO(Option_t* opt) return kTRUE; } -Bool_t AliESDInputHandler::BeginEvent() +Bool_t AliESDInputHandler::BeginEvent(Long64_t /*entry*/) { // Copy from old to new format if necessary AliESD* old = ((AliESDEvent*) fEvent)->GetAliESDOld(); diff --git a/STEER/AliESDInputHandler.h b/STEER/AliESDInputHandler.h index 9c9da7cd482..c6206b8ee3b 100644 --- a/STEER/AliESDInputHandler.h +++ b/STEER/AliESDInputHandler.h @@ -20,7 +20,7 @@ class AliESDInputHandler : public AliInputEventHandler { AliESDInputHandler(const char* name, const char* title); virtual ~AliESDInputHandler(); virtual Bool_t InitIO(Option_t* opt); - virtual Bool_t BeginEvent(); + virtual Bool_t BeginEvent(Long64_t entry); AliESDEvent *GetEvent() const {return fEvent;} private: AliESDEvent *fEvent; //! Pointer to the event diff --git a/STEER/AliInputEventHandler.h b/STEER/AliInputEventHandler.h index 604f2e61290..e2f7f94b719 100644 --- a/STEER/AliInputEventHandler.h +++ b/STEER/AliInputEventHandler.h @@ -24,7 +24,7 @@ class AliInputEventHandler : public AliVEventHandler { virtual void SetOutputFileName(char* /*fname*/) {;} virtual char *GetOutputFileName() {return 0;} virtual Bool_t InitIO(Option_t* /*opt*/) {return kTRUE;} - virtual Bool_t BeginEvent() {return kTRUE;} + virtual Bool_t BeginEvent(Long64_t /*entry*/) {return kTRUE;} // needed to prevent warning of hidden virtual Bool_t TObject::Notify() virtual Bool_t Notify() { return AliVEventHandler::Notify(); }; virtual Bool_t Notify(const char */*path*/) {return kTRUE;} diff --git a/STEER/AliMCEvent.cxx b/STEER/AliMCEvent.cxx index d22440c421b..1ce528b27d6 100644 --- a/STEER/AliMCEvent.cxx +++ b/STEER/AliMCEvent.cxx @@ -97,8 +97,11 @@ void AliMCEvent::ConnectTreeK (TTree* tree) fStack->GetEvent(); fNparticles = fStack->GetNtrack(); fNprimaries = fStack->GetNprimary(); - AliInfo(Form("AliMCEvent: Number of particles: %5d (all) %5d (primaries)\n", - fNparticles, fNprimaries)); + Int_t iev = fHeader->GetEvent(); + Int_t ievr = fHeader->GetEventNrInRun(); + + AliInfo(Form("AliMCEvent# %5d %5d: Number of particles: %5d (all) %5d (primaries)\n", + iev, ievr, fNparticles, fNprimaries)); // This is a cache for the TParticles converted to MCParticles on user request if (fMCParticleMap) { diff --git a/STEER/AliMCEventHandler.cxx b/STEER/AliMCEventHandler.cxx index 6c6470ebb08..f555489353c 100644 --- a/STEER/AliMCEventHandler.cxx +++ b/STEER/AliMCEventHandler.cxx @@ -195,15 +195,21 @@ Bool_t AliMCEventHandler::OpenFile(Int_t i) return ok; } -Bool_t AliMCEventHandler::BeginEvent() +Bool_t AliMCEventHandler::BeginEvent(Long64_t entry) { // Read the next event - fEvent++; - if (fEvent >= fNEvent) { - AliWarning(Form("AliMCEventHandler: Event number out of range %5d\n", fEvent)); + if (entry == -1) { + fEvent++; + entry = fEvent; + } else { + fEvent = entry; + } + + if (entry >= fNEvent) { + AliWarning(Form("AliMCEventHandler: Event number out of range %5d\n", entry)); return kFALSE; } - return GetEvent(fEvent); + return GetEvent(entry); } Int_t AliMCEventHandler::GetParticleAndTR(Int_t i, TParticle*& particle, TClonesArray*& trefs) diff --git a/STEER/AliMCEventHandler.h b/STEER/AliMCEventHandler.h index 0a4252b392a..88972c9abf7 100644 --- a/STEER/AliMCEventHandler.h +++ b/STEER/AliMCEventHandler.h @@ -40,7 +40,7 @@ public: virtual void SetInputTree(TTree* /*tree*/) {;} virtual TString* GetInputPath() {return fPathName;} virtual Bool_t InitIO(Option_t* opt); - virtual Bool_t BeginEvent(); + virtual Bool_t BeginEvent(Long64_t entry); // needed to prevent warning of hidden virtual Bool_t TObject::Notify() virtual Bool_t Notify() { return AliVEventHandler::Notify(); }; virtual Bool_t Notify(const char* path); diff --git a/STEER/AliVEventHandler.h b/STEER/AliVEventHandler.h index d77a55b8e1a..99cf9a87ef6 100644 --- a/STEER/AliVEventHandler.h +++ b/STEER/AliVEventHandler.h @@ -27,7 +27,7 @@ class AliVEventHandler : public TNamed { virtual void SetInputTree(TTree* tree) = 0; // Steering virtual Bool_t InitIO(Option_t* opt) = 0; - virtual Bool_t BeginEvent() = 0; + virtual Bool_t BeginEvent(Long64_t entry) = 0; // needed to prevent warning of hidden virtual Bool_t TObject::Notify() virtual Bool_t Notify() { return TNamed::Notify(); }; virtual Bool_t Notify(const char *path) = 0; -- 2.39.3