]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliESD.cxx
Storing the trigger class mask into the raw data header. Should be ok for TPC,PHOS...
[u/mrichter/AliRoot.git] / STEER / AliESD.cxx
index 1c80105616a7a41d355d532d5982d724d361033e..e96e56c5a5c4a456b8d05edbcf1b1d19c9cf183a 100644 (file)
@@ -23,6 +23,7 @@
 //-----------------------------------------------------------------
 
 #include "AliESD.h"
+#include "AliESDfriend.h"
 
 ClassImp(AliESD)
 
@@ -35,9 +36,9 @@ AliESD::AliESD():
   fMagneticField(0),
   fZDCN1Energy(0),
   fZDCP1Energy(0),
-  fZDCEMEnergy(0),
   fZDCN2Energy(0),
   fZDCP2Energy(0),
+  fZDCEMEnergy(0),
   fZDCParticipants(0),
   fT0zVertex(0),
   fPrimaryVertex(),
@@ -46,6 +47,7 @@ AliESD::AliESD():
   fHLTHoughTracks("AliESDHLTtrack",15000),
   fMuonTracks("AliESDMuonTrack",30),
   fPmdTracks("AliESDPmdTrack",3000),
+  fTrdTracks("AliESDTrdTrack",300),
   fV0s("AliESDv0",200),  
   fCascades("AliESDcascade",20),
   fKinks("AliESDkink",4000),
@@ -71,6 +73,7 @@ AliESD::~AliESD()
   fHLTHoughTracks.Delete();
   fMuonTracks.Delete();
   fPmdTracks.Delete();
+  fTrdTracks.Delete();
   fV0s.Delete();
   fCascades.Delete();
   fKinks.Delete();
@@ -109,9 +112,9 @@ void AliESD::Reset()
   fMagneticField=0;
   fZDCN1Energy=0;
   fZDCP1Energy=0;
-  fZDCEMEnergy=0;
   fZDCN2Energy=0;
   fZDCP2Energy=0;
+  fZDCEMEnergy=0;
   fZDCParticipants=0;
   fT0zVertex=0;
   fPrimaryVertex.Reset();
@@ -120,6 +123,7 @@ void AliESD::Reset()
   fHLTHoughTracks.Clear();
   fMuonTracks.Clear();
   fPmdTracks.Clear();
+  fTrdTracks.Clear();
   fV0s.Clear();
   fCascades.Clear();
   fCaloClusters.Clear();
@@ -155,6 +159,7 @@ void AliESD::Print(Option_t *) const
   printf("                 emcal     %d\n", GetNumberOfEMCALClusters());
   printf("                 muon      %d\n", GetNumberOfMuonTracks());
   printf("                 pmd       %d\n", GetNumberOfPmdTracks());
+  printf("                 trd       %d\n", GetNumberOfTrdTracks());
   printf("                 v0        %d\n", GetNumberOfV0s());
   printf("                 cascades  %d\n)", GetNumberOfCascades());
   printf("                 kinks     %d\n)", GetNumberOfKinks());
@@ -162,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);
+  }
+}