From 8bca421f13a568ec03e3effe4ec6d89b1f91c5c7 Mon Sep 17 00:00:00 2001 From: kleinb Date: Mon, 11 Jan 2010 17:18:56 +0000 Subject: [PATCH] added protection for missing AODEvent in cases we write only delta AOD (Andrei G.) --- JETAN/AliAnalysisTaskJets.cxx | 14 +++++++------- JETAN/AliJetHistos.cxx | 2 ++ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/JETAN/AliAnalysisTaskJets.cxx b/JETAN/AliAnalysisTaskJets.cxx index 550f9b9d7c3..dd48fe8433f 100644 --- a/JETAN/AliAnalysisTaskJets.cxx +++ b/JETAN/AliAnalysisTaskJets.cxx @@ -123,7 +123,7 @@ void AliAnalysisTaskJets::UserCreateOutputObjects() TClonesArray *tca = new TClonesArray("AliAODJet", 0); tca->SetName(fNonStdBranch.Data()); AddAODBranch("TClonesArray",&tca,fNonStdFile.Data()); - if(!AODEvent()->FindListObject(Form("%s_%s",AliAODJetEventBackground::StdBranchName(),fNonStdBranch.Data()))){ + if(!AODEvent() || !AODEvent()->FindListObject(Form("%s_%s",AliAODJetEventBackground::StdBranchName(),fNonStdBranch.Data()))){ AliAODJetEventBackground* evBkg = new AliAODJetEventBackground(); evBkg->SetName(Form("%s_%s",AliAODJetEventBackground::StdBranchName(),fNonStdBranch.Data())); AddAODBranch("AliAODJetEventBackground",&evBkg,fNonStdFile.Data()); @@ -216,7 +216,7 @@ void AliAnalysisTaskJets::UserExec(Option_t */*option*/) // // Fill control histos TClonesArray* jarray = 0; - AliAODJetEventBackground* evBkg; + AliAODJetEventBackground* evBkg = 0; if(fNonStdBranch.Length()==0) { jarray = AODEvent()->GetJets(); @@ -224,12 +224,12 @@ void AliAnalysisTaskJets::UserExec(Option_t */*option*/) evBkg->Reset(); } else { - jarray = (TClonesArray*)(AODEvent()->FindListObject(fNonStdBranch.Data())); + if(AODEvent())jarray = (TClonesArray*)(AODEvent()->FindListObject(fNonStdBranch.Data())); if(!jarray)jarray = (TClonesArray*)(fAODExtension->GetAOD()->FindListObject(fNonStdBranch.Data())); - jarray->Delete(); // this is our responsibility, clear before filling again - evBkg = (AliAODJetEventBackground*)(AODEvent()->FindListObject(Form("%s_%s",AliAODJetEventBackground::StdBranchName(),fNonStdBranch.Data()))); + if(jarray)jarray->Delete(); // this is our responsibility, clear before filling again + if(AODEvent())evBkg = (AliAODJetEventBackground*)(AODEvent()->FindListObject(Form("%s_%s",AliAODJetEventBackground::StdBranchName(),fNonStdBranch.Data()))); if(!evBkg) evBkg = (AliAODJetEventBackground*)(fAODExtension->GetAOD()->FindListObject(Form("%s_%s",AliAODJetEventBackground::StdBranchName(),fNonStdBranch.Data()))); - evBkg->Reset(); + if(evBkg)evBkg->Reset(); } if (dynamic_cast(InputEvent()) != 0 && !fReadAODFromOutput) { @@ -246,7 +246,7 @@ void AliAnalysisTaskJets::UserExec(Option_t */*option*/) else fJetFinder->ProcessEvent2(); // V2 // Fill control histos - fHistos->FillHistos(jarray); + if(jarray)fHistos->FillHistos(jarray); // Post the data PostData(1, fListOfHistos); diff --git a/JETAN/AliJetHistos.cxx b/JETAN/AliJetHistos.cxx index 66e19991951..4e794ead488 100644 --- a/JETAN/AliJetHistos.cxx +++ b/JETAN/AliJetHistos.cxx @@ -84,6 +84,8 @@ void AliJetHistos::AddHistosToList(TList *list) void AliJetHistos::FillHistos(TClonesArray *jets) { + + if(!jets)return; Int_t nj = jets->GetEntries(); fNJetsH->Fill(nj,1); -- 2.39.3