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();
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());
// 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);
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;}
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
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();
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
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;}
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) {
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)
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);
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;