X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ANALYSIS%2FAliAnalysisTaskSE.cxx;h=5a3aade828708c548ab5d4ba257e34535ef3a29f;hb=4134347025b179f8aa25371c730c801caa38ed40;hp=497ffa79d8b685889acc7fb9a9042f65c198ea7d;hpb=94908bce75685714fef7058cabd9977929a80128;p=u%2Fmrichter%2FAliRoot.git diff --git a/ANALYSIS/AliAnalysisTaskSE.cxx b/ANALYSIS/AliAnalysisTaskSE.cxx index 497ffa79d8b..5a3aade8287 100644 --- a/ANALYSIS/AliAnalysisTaskSE.cxx +++ b/ANALYSIS/AliAnalysisTaskSE.cxx @@ -33,6 +33,8 @@ #include "AliESD.h" #include "AliAODEvent.h" #include "AliAODHeader.h" +#include "AliAODVZERO.h" +#include "AliTOFHeader.h" #include "AliAODTracklets.h" #include "AliAODCaloCells.h" #include "AliAODCaloTrigger.h" @@ -54,6 +56,8 @@ ClassImp(AliAnalysisTaskSE) //////////////////////////////////////////////////////////////////////// AliAODHeader* AliAnalysisTaskSE::fgAODHeader = NULL; +AliTOFHeader* AliAnalysisTaskSE::fgTOFHeader = NULL; +AliAODVZERO* AliAnalysisTaskSE::fgAODVZERO = NULL; TClonesArray* AliAnalysisTaskSE::fgAODTracks = NULL; TClonesArray* AliAnalysisTaskSE::fgAODVertices = NULL; TClonesArray* AliAnalysisTaskSE::fgAODV0s = NULL; @@ -215,6 +219,19 @@ void AliAnalysisTaskSE::CreateOutputObjects() fgAODHeader = new AliAODHeader; handler->AddBranch("AliAODHeader", &fgAODHeader); } + if ((handler->NeedsTOFHeaderReplication() || merging) && !(fgTOFHeader)) + { + if (fDebug > 1) AliInfo("Replicating TOFheader"); + fgTOFHeader = new AliTOFHeader; + handler->AddBranch("AliTOFHeader", &fgTOFHeader); + } + if ((handler->NeedsVZEROReplication() || merging) && !(fgAODVZERO)) + { + if (fDebug > 1) AliInfo("Replicating VZERO"); + fgAODVZERO = new AliAODVZERO; + handler->AddBranch("AliAODVZERO", &fgAODVZERO); + } + if ((handler->NeedsTracksBranchReplication() || merging) && !(fgAODTracks)) { if (fDebug > 1) AliInfo("Replicating track branch\n"); @@ -389,6 +406,15 @@ void AliAnalysisTaskSE::Exec(Option_t* option) // copy the contents by assigment *fgAODHeader = *(aod->GetHeader()); } + if ((handler->NeedsTOFHeaderReplication() || merging) && (fgTOFHeader)) + { + *fgTOFHeader = *(aod->GetTOFHeader()); + } + if ((handler->NeedsVZEROReplication() || merging) && (fgAODVZERO)) + { + *fgAODVZERO = *(aod->GetVZEROData()); + } + if ((handler->NeedsTracksBranchReplication() || (merging && aodH->GetMergeTracks())) && (fgAODTracks)) { TClonesArray* tracks = aod->GetTracks(); @@ -814,6 +840,7 @@ void AliAnalysisTaskSE::LoadBranches() const TIter next(arr); TObject *obj; while ((obj=next())) mgr->LoadBranch(obj->GetName()); + delete arr; }