]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSFindPrimaryVertex.C
Added contructor to create an object from the DCS file name (instead of the TMap)
[u/mrichter/AliRoot.git] / ITS / AliITSFindPrimaryVertex.C
index 388d0ea9c4b9cae8b7dfe81059e222cbb73a70df..5e343a2fd182b31d40842a716f8058cac46bac1b 100644 (file)
@@ -1,5 +1,7 @@
 #if !defined(__CINT__) || defined(__MAKECINT__)
+#include <TROOT.h>
 #include <TClassTable.h>
+#include <TStopwatch.h>
 #include <TFile.h>
 #include <TTree.h>
 #include <Riostream.h>
@@ -10,6 +12,7 @@
 #include <AliRunLoader.h>
 #include <AliITSVertexerIons.h>
 #include <AliITSLoader.h>
+#include <AliGenHijingEventHeader.h>
 #include <unistd.h>
 
 #endif
@@ -22,7 +25,7 @@ void AliITSFindPrimaryVertex(Int_t evNumber1=0,Int_t NumbofEv=1, const char *fil
     gROOT->Macro("loadlibs.C");
   } else {
     if(gAlice){
-      delete gAlice->GetRunLoader();
+      delete AliRunLoader::Instance();
       delete gAlice;
       gAlice=0;
     }
@@ -37,12 +40,16 @@ void AliITSFindPrimaryVertex(Int_t evNumber1=0,Int_t NumbofEv=1, const char *fil
   // Open output file for vertices (default name: ITS.Vertex.root 
   // and Create vertexer
 
-  AliITSVertexerIons *vertexer = new AliITSVertexerIons("default");
+  AliITSVertexerIons *vertexer = new AliITSVertexerIons();
+  vertexer->Init("default");
   //vertexer->SetDebug(1);
   
   AliESDVertex *V;
   //   Loop over events 
    
+  AliITSLoader* itsloader =  (AliITSLoader*) rl->GetLoader("ITSLoader");
+  itsloader->LoadRecPoints("read");
+
   for (int nev=evNumber1; nev< evNumber2; nev++) {
     cout<<"=============================================================\n";
     cout<<" Processing event "<<nev<<endl;
@@ -60,7 +67,8 @@ void AliITSFindPrimaryVertex(Int_t evNumber1=0,Int_t NumbofEv=1, const char *fil
     TStopwatch timer;
     timer.Start();
 
-    V=vertexer->FindVertexForCurrentEvent(nev);
+    TTree* cltree = itsloader->TreeR();
+    V=vertexer->FindVertexForCurrentEvent(cltree);
 
     TVector3 vtrue(primaryVertex[0],primaryVertex[1],primaryVertex[2]);
     TVector3 vfound(V->GetXv(),V->GetYv(),V->GetZv());
@@ -68,11 +76,6 @@ void AliITSFindPrimaryVertex(Int_t evNumber1=0,Int_t NumbofEv=1, const char *fil
     cout << "True vertex coordinates (cm) = " << vtrue.X() << " " << vtrue.Y() << " " << vtrue.Z() << endl;
     cout << "Found vertex coordinates  (cm) = " << vfound.X() << " " << vfound.Y() << " " << vfound.Z() << endl;    cout << "Difference true - found (cm) = " << dif.Mag() << " " << dif.X() << " " << dif.Y() << " " << dif.Z() << endl;
     
-    if(V){
-      Double_t pos[3];
-      for(Int_t kk=0;kk<3;kk++)pos[kk]=(Double_t)primaryVertex[kk];
-      V->SetTruePos(pos);
-    }
     timer.Stop();
     timer.Print();