From: morsch Date: Tue, 20 May 2008 10:52:55 +0000 (+0000) Subject: ReadFromTree: option for reconnection of tree added. X-Git-Url: http://git.uio.no/git/?p=u%2Fmrichter%2FAliRoot.git;a=commitdiff_plain;h=3b93c32aa120096d2b4651284de1d2973295202d ReadFromTree: option for reconnection of tree added. This is needed for multi-event analysis. --- diff --git a/STEER/AliAODEvent.cxx b/STEER/AliAODEvent.cxx index 7c0264fe71d..1ed88d1cb31 100644 --- a/STEER/AliAODEvent.cxx +++ b/STEER/AliAODEvent.cxx @@ -391,9 +391,9 @@ Int_t AliAODEvent::GetMuonTracks(TRefArray *muonTracks) const } -void AliAODEvent::ReadFromTree(TTree *tree) +void AliAODEvent::ReadFromTree(TTree *tree, Option_t* opt /*= ""*/) { - // connects aod event to tree + // Connects aod event to tree if(!tree){ Printf("%s %d AliAODEvent::ReadFromTree() Zero Pointer to Tree \n",(char*)__FILE__,__LINE__); @@ -408,12 +408,12 @@ void AliAODEvent::ReadFromTree(TTree *tree) if(aodEvent){ // Check if already connected to tree TList* connectedList = (TList*) (tree->GetUserInfo()->FindObject("AODObjectsConnectedToTree")); - if (connectedList) { - // If connected use the connected list if objects - fAODObjects->Delete(); - fAODObjects = connectedList; - GetStdContent(); - return; + if (connectedList && (strcmp(opt, "reconnect"))) { + // If connected use the connected list if objects + fAODObjects->Delete(); + fAODObjects = connectedList; + GetStdContent(); + return; } // Connect to tree // prevent a memory leak when reading back the TList @@ -460,7 +460,6 @@ void AliAODEvent::ReadFromTree(TTree *tree) while((el=(TNamed*)next())){ TString bname(el->GetName()); // check if branch exists under this Name - printf("Trying to connect branch %s\n", bname.Data()); TBranch *br = tree->GetTree()->GetBranch(bname.Data()); if(br){ tree->SetBranchAddress(bname.Data(),fAODObjects->GetObjectRef(el)); diff --git a/STEER/AliAODEvent.h b/STEER/AliAODEvent.h index 2639342112b..1d9246dbc67 100644 --- a/STEER/AliAODEvent.h +++ b/STEER/AliAODEvent.h @@ -173,7 +173,7 @@ class AliAODEvent : public AliVEvent { Int_t fmdClusSize = 0, Int_t pmdClusSize = 0); void ClearStd(); - void ReadFromTree(TTree *tree); + void ReadFromTree(TTree *tree, Option_t* opt = ""); const void WriteToTree(TTree* tree) const {tree->Branch(fAODObjects);} void Print(Option_t *option="") const;