]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Updated access to the ESF friend information (Yu.Belikov)
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 26 Apr 2006 15:43:21 +0000 (15:43 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 26 Apr 2006 15:43:21 +0000 (15:43 +0000)
STEER/AliESD.cxx
STEER/AliESD.h
STEER/AliESDfriend.cxx
STEER/AliESDfriend.h
STEER/AliESDtrack.cxx
STEER/AliESDtrack.h
STEER/AliReconstruction.cxx

index 4e96fac2c283a55789678dd345c43068e220e906..e96e56c5a5c4a456b8d05edbcf1b1d19c9cf183a 100644 (file)
@@ -23,6 +23,7 @@
 //-----------------------------------------------------------------
 
 #include "AliESD.h"
+#include "AliESDfriend.h"
 
 ClassImp(AliESD)
 
@@ -166,3 +167,32 @@ void AliESD::Print(Option_t *) const
   printf("                 CaloClusters %d\n)", GetNumberOfCaloClusters());
   printf("                 FMD       %s\n)", (fESDFMD ? "yes" : "no"));
 }
+
+void AliESD::SetESDfriend(const AliESDfriend *ev) {
+  //
+  // Attaches the complementary info to the ESD
+  //
+  if (!ev) return;
+
+  Int_t ntrk=ev->GetNumberOfTracks();
+
+  for (Int_t i=0; i<ntrk; i++) {
+    const AliESDfriendTrack *f=ev->GetTrack(i);
+    GetTrack(i)->SetFriendTrack(f);
+  }
+}
+
+void AliESD::GetESDfriend(AliESDfriend *ev) const {
+  //
+  // Extracts the complementary info from the ESD
+  //
+  if (!ev) return;
+
+  Int_t ntrk=GetNumberOfTracks();
+
+  for (Int_t i=0; i<ntrk; i++) {
+    const AliESDtrack *t=GetTrack(i);
+    const AliESDfriendTrack *f=t->GetFriendTrack();
+    ev->AddTrack(f);
+  }
+}
index fc6c304121aa37e359869c8b730bb62c8ede3c08..19560eccdc7589733e8b940acf35819a0a0b31ea 100644 (file)
 #include "AliESDV0MI.h"
 #include "AliESDFMD.h"
 
+class AliESDfriend;
+
 class AliESD : public TObject {
 public:
   AliESD();
   virtual ~AliESD(); 
 
+  void SetESDfriend(const AliESDfriend *f);
+  void GetESDfriend(AliESDfriend *f) const;
+
   void SetEventNumber(Int_t n) {fEventNumber=n;}
   void SetRunNumber(Int_t n) {fRunNumber=n;}
   void SetTrigger(Long_t n) {fTrigger=n;}
index ea8e1de5516d3dd6592f89a2ac07ed1a88707ad3..9a878e0d14024c4ba1fbbdf04a2e26ff5bee058d 100644 (file)
@@ -21,8 +21,6 @@
 //-------------------------------------------------------------------------
 
 #include "AliESDfriend.h"
-#include "AliESDfriendTrack.h"
-#include "AliESD.h"
 
 ClassImp(AliESDfriend)
 
@@ -40,21 +38,6 @@ AliESDfriend::AliESDfriend(const AliESDfriend &f):TObject(f),fTracks(f.fTracks)
  //
 }
 
-AliESDfriend::AliESDfriend(const AliESD &event): TObject(event),
-fTracks("AliESDfriendTrack",event.GetNumberOfTracks()) {
-  //
-  // Extracts the additional info from the ESD
-  //
-  Int_t ntrk=event.GetNumberOfTracks();
-
-  for (Int_t i=0; i<ntrk; i++) {
-    const AliESDtrack *t=event.GetTrack(i);
-    AliESDfriendTrack *ft=(AliESDfriendTrack *)t->GetFriendTrack();
-    ft->Set1P(t->Get1P());
-    new (fTracks[fTracks.GetEntriesFast()]) AliESDfriendTrack(*ft); 
-  }
-}
-
 AliESDfriend::~AliESDfriend() {
   //
   // Destructor
index b59da6a294f88c2db48c87f4efce66eff0704658..52da2bd8b1674db0800faa2db902750bed627e3a 100644 (file)
 #include <TObject.h>
 #include <TClonesArray.h>
 
-class AliESD;
-class AliESDfriendTrack;
+#include <AliESDfriendTrack.h>
 
 //_____________________________________________________________________________
 class AliESDfriend : public TObject {
 public:
   AliESDfriend();
   AliESDfriend(const AliESDfriend &);
-  AliESDfriend(const AliESD &);
   virtual ~AliESDfriend();
 
   Int_t GetNumberOfTracks() const {return fTracks.GetEntriesFast();}
   AliESDfriendTrack *GetTrack(Int_t i) const {
-    return (AliESDfriendTrack *)fTracks.UncheckedAt(i);
+     return (AliESDfriendTrack *)fTracks.UncheckedAt(i);
+  }
+  void AddTrack(const AliESDfriendTrack *t) {
+     new(fTracks[fTracks.GetEntriesFast()]) AliESDfriendTrack(*t);
   }
 
 protected:
index 17df5deb3727f4dbdf4f108959012071b2cc2cb8..1b384ae295e2d877411aa763796ee61b98eb2953 100644 (file)
@@ -24,7 +24,6 @@
 
 #include "AliESDVertex.h"
 #include "AliESDtrack.h"
-#include "AliESDfriendTrack.h"
 #include "AliKalmanTrack.h"
 #include "AliLog.h"
 #include "AliTrackPointArray.h"
index be8c418912040bbab5684692c6309483e844afd6..d4d8c1af1dc61b35deda613cdcccc60126b657eb 100644 (file)
@@ -37,6 +37,9 @@ public:
   AliESDtrack(const AliESDtrack& track);
   virtual ~AliESDtrack();
   const AliESDfriendTrack *GetFriendTrack() const {return fFriendTrack;}
+  void SetFriendTrack(const AliESDfriendTrack *t) {
+    delete fFriendTrack; fFriendTrack=new AliESDfriendTrack(*t);
+  }
   void MakeMiniESDtrack();
   void SetID(Int_t id) { fID =id;}
   Int_t GetID() const { return fID;}
index edf38ffa18177ce1f62161063c374f785e500dd0..26b56ca014139e0683ccb07354b291d650208429 100644 (file)
@@ -676,7 +676,8 @@ Bool_t AliReconstruction::Run(const char* input,
 
     // write ESD friend
     if (fWriteESDfriend) {
-       esdf=new AliESDfriend(*esd);
+       esdf=new AliESDfriend();
+       esd->GetESDfriend(esdf);
        treef->Fill();  
     }