Removing MC position of the primary vertex (Jouri)
[u/mrichter/AliRoot.git] / macros / mcminiesd.C
index 244abf0..2915a2e 100644 (file)
@@ -38,6 +38,7 @@
 #include "AliHeader.h"
 #include "AliGenEventHeader.h"
 #include "AliTPCtrack.h"
+#include "AliTracker.h"
 
 #endif
 
@@ -62,24 +63,26 @@ 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());
+  }
+  else
+    vtxOut = new AliESDVertex();
   
   esdOut->SetVertex(vtxOut);
 }
@@ -100,7 +103,7 @@ void selectMiniESD(AliESD* esdIn, AliESD* &esdOut) {
 
   // Copy the general information
   copyGeneralESDInfo(esdIn, esdOut);
-     
+
   // Select tracks
   Int_t ntrk = esdIn->GetNumberOfTracks();
   
@@ -378,9 +381,6 @@ void kinetree(AliRunLoader* runLoader, AliESD* &esdOut, TClonesArray* &ministack
 
   copyGeneralESDInfo(esdOut,esdNew);
 
-  // Needed by the TPC track
-  AliKalmanTrack::SetConvConst(1000/0.299792458/esdOut->GetMagneticField());
-
   // Tracks
   Int_t nrec = esdOut->GetNumberOfTracks();
   for(Int_t irec=0; irec<nrec; irec++) {
@@ -536,6 +536,9 @@ void mcminiesd() {
   runLoader->LoadgAlice();
   gAlice = runLoader->GetAliRun();
 
+  // Magnetic field
+  AliTracker::SetFieldMap(gAlice->Field(),1); // 1 means uniform magnetic field
+
   // Now load kinematics and event header
   runLoader->LoadKinematics();
   runLoader->LoadHeader();