Pass event number as argument of AliVEventHandler::BeginEvent
authormorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 15 Nov 2007 20:52:09 +0000 (20:52 +0000)
committermorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 15 Nov 2007 20:52:09 +0000 (20:52 +0000)
ANALYSIS/AliAnalysisManager.cxx
STEER/AliAODHandler.h
STEER/AliAODInputHandler.h
STEER/AliESDInputHandler.cxx
STEER/AliESDInputHandler.h
STEER/AliInputEventHandler.h
STEER/AliMCEvent.cxx
STEER/AliMCEventHandler.cxx
STEER/AliMCEventHandler.h
STEER/AliVEventHandler.h

index f75df58..ccabe11 100644 (file)
@@ -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);
index f43edc9..a143e8d 100644 (file)
@@ -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;}
index 2209992..700068c 100644 (file)
@@ -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 
index 18ad703..0256880 100644 (file)
@@ -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();
index 9c9da7c..c6206b8 100644 (file)
@@ -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 
index 604f2e6..e2f7f94 100644 (file)
@@ -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;}
index d22440c..1ce528b 100644 (file)
@@ -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) {
index 6c6470e..f555489 100644 (file)
@@ -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)
index 0a4252b..88972c9 100644 (file)
@@ -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);
index d77a55b..99cf9a8 100644 (file)
@@ -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;