Merging changes from v4-04-Release
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 24 May 2006 15:30:03 +0000 (15:30 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 24 May 2006 15:30:03 +0000 (15:30 +0000)
STEER/AliESD.cxx
STEER/AliESDtrack.cxx
macros/mcminiesd.C

index 60beb8b..a13cc0f 100644 (file)
@@ -157,10 +157,11 @@ void AliESD::Print(Option_t *) const
         GetRunNumber(),
         GetTriggerMask(),
         GetMagneticField() );
-  printf("Vertex: (%.4f +- %.4f, %.4f +- %.4f, %.4f +- %.4f) cm\n",
-        fPrimaryVertex->GetXv(), fPrimaryVertex->GetXRes(),
-        fPrimaryVertex->GetYv(), fPrimaryVertex->GetYRes(),
-        fPrimaryVertex->GetZv(), fPrimaryVertex->GetZRes());
+  if (fPrimaryVertex)
+    printf("Vertex: (%.4f +- %.4f, %.4f +- %.4f, %.4f +- %.4f) cm\n",
+          fPrimaryVertex->GetXv(), fPrimaryVertex->GetXRes(),
+          fPrimaryVertex->GetYv(), fPrimaryVertex->GetYRes(),
+          fPrimaryVertex->GetZv(), fPrimaryVertex->GetZRes());
   printf("Event from reconstruction version %d \n",fRecoVersion);
   printf("Number of tracks: \n");
   printf("                 charged   %d\n", GetNumberOfTracks());
index d23ca0e..86b1365 100644 (file)
@@ -186,7 +186,7 @@ AliESDtrack::AliESDtrack(const AliESDtrack& track):
   fRICHmipX(track.fRICHmipX),
   fRICHmipY(track.fRICHmipY),
   fPoints(0),
-  fFriendTrack(new AliESDfriendTrack(*(track.fFriendTrack)))
+  fFriendTrack(0)
 {
   //
   //copy constructor
@@ -218,6 +218,7 @@ AliESDtrack::AliESDtrack(const AliESDtrack& track):
   if (track.fOp) fOp=new AliExternalTrackParam(*track.fOp);
 
   if (track.fPoints) fPoints=new AliTrackPointArray(*(track.fPoints));
+  if (track.fFriendTrack) fFriendTrack=new AliESDfriendTrack(*(track.fFriendTrack));
 }
 
 //_______________________________________________________________________
@@ -259,11 +260,7 @@ void AliESDtrack::MakeMiniESDtrack(){
   // fD: Impact parameter in XY-plane
   // fZ: Impact parameter in Z 
   // fR[AliPID::kSPECIES]: combined "detector response probability"
-  // Running track parameters
-  // fRalpha: track rotation angle
-  // fRx: X-coordinate of the track reference plane 
-  // fRp[5]: external track parameters  
-  // fRc[15]: external cov. matrix of the track parameters
+  // Running track parameters in the base class (AliExternalTrackParam)
   
   fTrackLength = 0;
   for (Int_t i=0;i<AliPID::kSPECIES;i++) fTrackTime[i] = 0;
@@ -337,6 +334,8 @@ void AliESDtrack::MakeMiniESDtrack(){
   fRICHphi = 0;      
   fRICHdx = 0;     
   fRICHdy = 0;      
+  fRICHmipX = 0;
+  fRICHmipY = 0;
 
   delete fFriendTrack; fFriendTrack = 0;
   delete fPoints; fPoints = 0;
index a3fd5c8..41685b6 100644 (file)
@@ -63,24 +63,29 @@ void copyGeneralESDInfo(AliESD* esdIn, AliESD* esdOut) {
   esdOut->SetRunNumber(esdIn->GetRunNumber());
   
   // Trigger
-  esdOut->SetTrigger(esdIn->GetTrigger());
+  esdOut->SetTriggerMask(esdIn->GetTriggerMask());
 
   // Magnetic field
   esdOut->SetMagneticField(esdIn->GetMagneticField());
 
   // Copy ESD vertex
   const AliESDVertex * vtxIn = esdIn->GetVertex();
-  Double_t pos[3];
-  vtxIn->GetXYZ(pos);
-  Double_t cov[6];
-  vtxIn->GetCovMatrix(cov);
+  AliESDVertex * vtxOut = 0x0;
+  if (vtxIn) {
+    Double_t pos[3];
+    vtxIn->GetXYZ(pos);
+    Double_t cov[6];
+    vtxIn->GetCovMatrix(cov);
   
-  AliESDVertex * vtxOut = new AliESDVertex(pos,cov,
-                                          vtxIn->GetChi2(),
-                                          vtxIn->GetNContributors());
-  Double_t tp[3];
-  vtxIn->GetTruePos(tp);
-  vtxOut->SetTruePos(tp);
+    vtxOut = new AliESDVertex(pos,cov,
+                                            vtxIn->GetChi2(),
+                                            vtxIn->GetNContributors());
+    Double_t tp[3];
+    vtxIn->GetTruePos(tp);
+    vtxOut->SetTruePos(tp);
+  }
+  else
+    vtxOut = new AliESDVertex();
   
   esdOut->SetVertex(vtxOut);
 }
@@ -101,7 +106,7 @@ void selectMiniESD(AliESD* esdIn, AliESD* &esdOut) {
 
   // Copy the general information
   copyGeneralESDInfo(esdIn, esdOut);
-     
+
   // Select tracks
   Int_t ntrk = esdIn->GetNumberOfTracks();