X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=STEER%2FcloneAODTreeAndRemoveObject.C;h=f9ef6b8c46d1e704fec4cf3954c9740e8649cf69;hb=1b92346191d46ff36ced73b51a3e4bfd3f063543;hp=f7a911efbee92271d1fa1a08c8630bc7a89d6b15;hpb=a19c5742fae3b5947b40b2f3cf7db5f0361d1cba;p=u%2Fmrichter%2FAliRoot.git diff --git a/STEER/cloneAODTreeAndRemoveObject.C b/STEER/cloneAODTreeAndRemoveObject.C index f7a911efbee..f9ef6b8c46d 100644 --- a/STEER/cloneAODTreeAndRemoveObject.C +++ b/STEER/cloneAODTreeAndRemoveObject.C @@ -6,20 +6,25 @@ void cloneAODTreeAndRemoveObject(const char *newFileName = "AliAOD_new.root", co TFile orgFile(orgFileName, "READ"); // get original TTree TTree *orgAodTree = (TTree*)orgFile.Get("aodTree"); - // do your gymnastics with the old TTree - AliAODEvent *evOrg = new AliAODEvent(); - evOrg->ReadFromTree(orgAodTree); - // switch off one branch (and its subbranches!) orgAodTree->SetBranchStatus("tracks*", 0); - // remove TObject from the list - evOrg->RemoveObject(evOrg->GetTracks()); // open new output file TFile *newFile = new TFile(newFileName, "RECREATE"); // clone old TTree (only clones branches that are switched on) TTree *newAodTree = orgAodTree->CloneTree(); + // get the event within the new TTree + AliAODEvent *evNew = new AliAODEvent(); + evNew->ReadFromTree(newAodTree); + + // remove TObject from the list + evNew->RemoveObject(evNew->GetTracks()); + + // delete old and write new UserInfo + newAodTree->GetUserInfo()->Clear(); + newAodTree->GetUserInfo()->Add(evNew); + // write new TTree to file newAodTree->Write();