X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=STEER%2FReadESDfriend.C;h=62e3d30784f775c460593035f0bcb6c8834542ab;hb=cc545eb95f8b954e34fd3bada0e76ad3180c2cf6;hp=ec1c11a08fa6c23e5fa233ec6aa1ff8d3c485b4b;hpb=bd23a74c7475e7b37977b8b2f12de51852af4f6c;p=u%2Fmrichter%2FAliRoot.git diff --git a/STEER/ReadESDfriend.C b/STEER/ReadESDfriend.C index ec1c11a08fa..62e3d30784f 100644 --- a/STEER/ReadESDfriend.C +++ b/STEER/ReadESDfriend.C @@ -23,19 +23,24 @@ void ReadESDfriend(Bool_t readFriend=kTRUE) { for (Int_t i=0; iAddFile(name[i]); AliESDEvent *ev= new AliESDEvent(); + if(readFriend)esdTree->SetBranchStatus("ESDfriend*",1); ev->ReadFromTree(esdTree); // Attach the branch with ESD friends AliESDfriend *evf=0; if (readFriend) { - esdTree->SetBranchStatus("ESDfriend*",1); - evf = (AliESDfriend*)ev->FindListObject("AliESDfriend"); + evf = (AliESDfriend*)ev->FindListObject("AliESDfriend"); + if(!evf){ + // works for both, we just want to avoid setting the branch adress twice + // in case of the new ESD + esdTree->SetBranchAddress("ESDfriend.",&evf); + } } Int_t nev=esdTree->GetEntries(); for (Int_t i=0; iGetEntry(i); - + if(ev->GetAliESDOld())ev->CopyFromOldESD(); cout<GetNumberOfTracks(); @@ -44,25 +49,27 @@ void ReadESDfriend(Bool_t readFriend=kTRUE) { // Example: indices of the TPC clusters associated with the track number 0. if (ntr > 0) { ev->SetESDfriend(evf); //Attach the friend to the ESD - const AliESDtrack *t=ev->GetTrack(0); - Int_t idx[AliESDfriendTrack::kMaxTPCcluster]; - n=t->GetTPCclusters(idx); - cout<<"Track number 0"<GetITSClusterMap(); - cout<<" ITS cluster map (from SPDs to SSDs): "; - for (Int_t i=0; i<6; i++) printf(" Bit %d: %d\n",i,(map&(1<GetTrackPointArray(); - if (pa != 0) { - n=pa->GetNPoints(); - const Float_t *x=pa->GetX(); - cout<<" Number of track points: "<7) + const AliESDtrack *t=ev->GetTrack(0); + Int_t idx[AliESDfriendTrack::kMaxTPCcluster]; + n=t->GetTPCclusters(idx); + cout<<"Number of friend tracks: "<GetNumberOfTracks() <GetITSClusterMap(); + cout<<" ITS cluster map (from SPDs to SSDs):\n"; + for (Int_t k=0; k<6; k++) printf(" Bit %d: %d\n",k,(map&(1<GetTrackPointArray(); + if (pa != 0) { + n=pa->GetNPoints(); + const Float_t *x=pa->GetX(); + cout<<" Number of track points: "<7) cout<<" X coordinate of the 7th track point: "<