// Call configuration file
}
+//______________________________________________________________________________
+Bool_t AliAnalysisTaskESDfilter::Notify()
+{
+// Notify method.
+ AddMetadataToUserInfo();
+ return kTRUE;
+}
+
+//______________________________________________________________________________
+Bool_t AliAnalysisTaskESDfilter::AddMetadataToUserInfo()
+{
+// Copy metadata to AOD user info.
+ static Bool_t copyFirst = kFALSE;
+ if (!copyFirst) {
+ AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
+ if (!mgr) {
+ AliError("AliAnalysisTaskESDfilter::AddMetadataToUserInfo() : No analysis manager !");
+ return kFALSE;
+ }
+ TTree *esdTree = mgr->GetTree()->GetTree();
+ if (!esdTree) return kFALSE;
+ TNamed *alirootVersion = (TNamed*)esdTree->GetUserInfo()->FindObject("alirootVersion");
+ if (!alirootVersion) return kFALSE;
+ AliAODHandler *aodHandler = dynamic_cast<AliAODHandler*>(mgr->GetOutputEventHandler());
+ if (!aodHandler) return kFALSE;
+ TTree *aodTree = aodHandler->GetTree();
+ if (!aodTree) return kFALSE;
+ aodTree->GetUserInfo()->Add(new TNamed(*alirootVersion));
+ copyFirst = kTRUE;
+ }
+ return kTRUE;
+}
+
//______________________________________________________________________________
void AliAnalysisTaskESDfilter::PrintTask(Option_t *option, Int_t indent) const
{
virtual void UserCreateOutputObjects();
virtual void Init();
virtual void LocalInit() {Init();}
+ virtual Bool_t Notify();
virtual void UserExec(Option_t *option);
virtual void Terminate(Option_t *option);
void GetCascadeCuts(Double_t cuts[8]) const {for (Int_t icut = 0; icut<8; icut++) cuts[icut] = fCascadeCuts[icut];}
+ Bool_t AddMetadataToUserInfo();
void PrintTask(Option_t *option="all", Int_t indent=0) const;
void DisableVZERO() { fIsVZEROEnabled = kFALSE; }