X-Git-Url: http://git.uio.no/git/?p=u%2Fmrichter%2FAliRoot.git;a=blobdiff_plain;f=PWG2%2FFEMTOSCOPY%2FAliFemto%2FReader%2FAliFemtoEventReaderESD.cxx;h=b2dbfa5478aa7149cab186c1f2f371ef9a13546b;hp=a6062ec71ace9503ba3fde0b32e09ad489552f73;hb=75c432a7d7c848240fcddcb2f4a087ff055cb047;hpb=b2f60a914eaddaf37a3240a48d1102dd9a7f6e55 diff --git a/PWG2/FEMTOSCOPY/AliFemto/Reader/AliFemtoEventReaderESD.cxx b/PWG2/FEMTOSCOPY/AliFemto/Reader/AliFemtoEventReaderESD.cxx index a6062ec71ac..b2dbfa5478a 100644 --- a/PWG2/FEMTOSCOPY/AliFemto/Reader/AliFemtoEventReaderESD.cxx +++ b/PWG2/FEMTOSCOPY/AliFemto/Reader/AliFemtoEventReaderESD.cxx @@ -1,23 +1,24 @@ +//////////////////////////////////////////////////////////////////////////////// +/// /// +/// AliFemtoEventReaderESD - the reader class for the Alice ESD /// +/// Reads in ESD information and converts it into internal AliFemtoEvent /// +/// Reads in AliESDfriend to create shared hit/quality information /// +/// Authors: Marek Chojnacki mchojnacki@knf.pw.edu.pl /// +/// Adam Kisiel kisiel@mps.ohio-state.edu /// +/// /// +//////////////////////////////////////////////////////////////////////////////// + /* *$Id$ *$Log$ - *Revision 1.1.1.1 2007/04/25 15:38:41 panos - *Importing the HBT code dir - * - *Revision 1.5 2007-04-03 16:00:08 mchojnacki - *Changes to iprove memory managing + *Revision 1.4 2007/04/27 07:28:34 akisiel + *Remove event number reading due to interface changes * - *Revision 1.4 2007/03/13 15:30:03 mchojnacki - *adding reader for simulated data + *Revision 1.3 2007/04/27 07:25:16 akisiel + *Make revisions needed for compilation from the main AliRoot tree * - *Revision 1.3 2007/03/08 14:58:03 mchojnacki - *adding some alice stuff - * - *Revision 1.2 2007/03/07 13:36:16 mchojnacki - *Add some comments - * - *Revision 1.1.1.1 2007/03/07 10:14:49 mchojnacki - *First version on CVS + *Revision 1.1.1.1 2007/04/25 15:38:41 panos + *Importing the HBT code dir * */ @@ -53,10 +54,13 @@ AliFemtoEventReaderESD::AliFemtoEventReaderESD(): fNumberofEvent(0), fCurEvent(0), fCurFile(0), + fListOfFiles(0x0), fTree(0x0), fEvent(0x0), fEsdFile(0x0), - fEventFriend(0) + fEventFriend(0), + fSharedList(0x0), + fClusterPerPadrow(0x0) { fClusterPerPadrow = (list **) malloc(sizeof(list *) * AliESDfriendTrack::kMaxTPCcluster); for (int tPad=0; tPadCloneTree(); + fEvent = new AliESD(*aReader.fEvent); + fEsdFile = new TFile(aReader.fEsdFile->GetName()); + fEventFriend = aReader.fEventFriend; + fClusterPerPadrow = (list **) malloc(sizeof(list *) * AliESDfriendTrack::kMaxTPCcluster); + for (int tPad=0; tPad(); + list::iterator iter; + for (iter=aReader.fClusterPerPadrow[tPad]->begin(); iter!=aReader.fClusterPerPadrow[tPad]->end(); iter++) { + fClusterPerPadrow[tPad]->push_back(*iter); + } + } + fSharedList = (list **) malloc(sizeof(list *) * AliESDfriendTrack::kMaxTPCcluster); + for (int tPad=0; tPad(); + list::iterator iter; + for (iter=aReader.fSharedList[tPad]->begin(); iter!=aReader.fSharedList[tPad]->end(); iter++) { + fSharedList[tPad]->push_back(*iter); + } + } + for (unsigned int veciter = 0; veciterCloneTree(); + if (fEvent) delete fEvent; + fEvent = new AliESD(*aReader.fEvent); + if (fEsdFile) delete fEsdFile; + fEsdFile = new TFile(aReader.fEsdFile->GetName()); + + fEventFriend = aReader.fEventFriend; + + if (fClusterPerPadrow) { + for (int tPad=0; tPadclear(); + delete fClusterPerPadrow[tPad]; + } + delete [] fClusterPerPadrow; + } + + if (fSharedList) { + for (int tPad=0; tPadclear(); + delete fSharedList[tPad]; + } + delete [] fSharedList; + } + + fClusterPerPadrow = (list **) malloc(sizeof(list *) * AliESDfriendTrack::kMaxTPCcluster); + for (int tPad=0; tPad(); + list::iterator iter; + for (iter=aReader.fClusterPerPadrow[tPad]->begin(); iter!=aReader.fClusterPerPadrow[tPad]->end(); iter++) { + fClusterPerPadrow[tPad]->push_back(*iter); + } + } + fSharedList = (list **) malloc(sizeof(list *) * AliESDfriendTrack::kMaxTPCcluster); + for (int tPad=0; tPad(); + list::iterator iter; + for (iter=aReader.fSharedList[tPad]->begin(); iter!=aReader.fSharedList[tPad]->end(); iter++) { + fSharedList[tPad]->push_back(*iter); + } + } + for (unsigned int veciter = 0; veciterAddFriend("esdFriendTree",tFriendFileName.c_str()); fTree->SetBranchAddress("ESDfriend",&fEventFriend); +// chain->SetBranchStatus("*",0); +// chain->SetBranchStatus("fUniqueID",1); +// chain->SetBranchStatus("fTracks",1); +// chain->SetBranchStatus("fTracks.*",1); +// chain->SetBranchStatus("fTracks.fTPCindex[160]",1); + fTree->SetBranchStatus("fTracks.fCalibContainer",0); + + fNumberofEvent=fTree->GetEntries(); cout<<"Number of Entries in file "<SetEventNumber(fEvent->GetEventNumber()); + // hbtEvent->SetEventNumber(fEvent->GetEventNumber()); hbtEvent->SetRunNumber(fEvent->GetRunNumber()); //hbtEvent->SetNumberOfTracks(fEvent->GetNumberOfTracks()); hbtEvent->SetMagneticField(fEvent->GetMagneticField()*kilogauss);//to check if here is ok @@ -243,7 +357,7 @@ AliFemtoEvent* AliFemtoEventReaderESD::ReturnHbtEvent() for (int tNcl=0; tNcl= 0) { tClustIter = find(fClusterPerPadrow[tNcl]->begin(), fClusterPerPadrow[tNcl]->end(), tTrackIndices[tNcl]); - if (tClustIter == fClusterPerPadrow[tNcl]->end()) { + if (tClustIter == fClusterPerPadrow[tNcl]->end()) { fClusterPerPadrow[tNcl]->push_back(tTrackIndices[tNcl]); } else { @@ -260,7 +374,7 @@ AliFemtoEvent* AliFemtoEventReaderESD::ReturnHbtEvent() AliFemtoTrack* trackCopy = new AliFemtoTrack(); const AliESDtrack *esdtrack=fEvent->GetTrack(i);//getting next track - const AliESDfriendTrack *tESDfriendTrack = esdtrack->GetFriendTrack(); + // const AliESDfriendTrack *tESDfriendTrack = esdtrack->GetFriendTrack(); trackCopy->SetCharge((short)esdtrack->GetSign());