]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSVertexerZTest.C
- fixing warnings/coverity
[u/mrichter/AliRoot.git] / ITS / AliITSVertexerZTest.C
index f658b66756737d4916cdf2de345ed5489ed52b87..9c70bb291025d7a090dd1feb6c1cc3583eee3f2f 100644 (file)
@@ -1,5 +1,6 @@
 #if !defined(__CINT__) || defined(__MAKECINT__)
 #include <TFile.h>
+#include <TGeoManager.h>
 #include <TH1F.h>
 #include <TH2F.h>
 #include <TTree.h>
@@ -7,40 +8,59 @@
 #include <AliRun.h>
 #include <AliHeader.h>
 #include <AliGenEventHeader.h>
-#include <AliITSVertexerPPZ.h>
+#include <AliGeomManager.h>
+#include <AliITSVertexerZ.h>
+#include <AliRunLoader.h>
+#include <AliITSLoader.h>
 
 #endif
 
-void AliITSVertexerZTest(Float_t delphi=0.05,Float_t window=3.,Float_t initx=0., Float_t inity=0.,TString FileWithKine="galice.root", TString FileWithRecP="galice.root"){
+void AliITSVertexerZTest(Float_t delphi=0.05,Float_t window=3.,Float_t initx=0., Float_t inity=0.,TString FileIn="galice.root"){
   // delphi ---> azimuthal range to accept tracklets
   // window ---> window in Z around the peak of tracklets proj. in mm
-  Int_t kDebug = 0;
+  Int_t kDebug = 50;
   TH2F *diff2 = new TH2F("diff2","Zfound vs Ztrue",100,-6,6,100,-6,6); 
   TH1F *diff1 = new TH1F("diff1","Zfound - Ztrue(#mu m)",100,-500,500);
   delete gAlice;
   gAlice = 0;
-  TFile *in = new TFile(FileWithKine.Data());
-  gAlice = (AliRun*)in->Get("gAlice");
-  if(FileWithKine != FileWithRecP)gAlice->SetTreeRFileName(FileWithRecP);
-  TFile *fo = new TFile("vertici.root","recreate");
-  AliITSVertexerPPZ *dovert = new AliITSVertexerPPZ(in,fo,initx,inity);
-  dovert->SetDebug(0);
-  dovert->SetDiffPhiMax(delphi);
-  dovert->SetWindow(window);
+  AliRunLoader *rl = AliRunLoader::Open(FileIn.Data());
+  Int_t retval = rl->LoadgAlice();
+  if(retval){
+    cerr<<"AliITSVertexerZTest.C: AliRun object not found"<<endl;
+    return;
+  }
+  retval = rl->LoadHeader();
+  if (retval){
+    cerr<<"AliITSVertexerZTest.C : LoadHeader returned error"<<endl;
+    return;
+  }
+  retval = rl->LoadKinematics();
+  if (retval){
+    cerr<<"AliITSVertexerZTest.C : LoadKinematics returned error"<<endl;
+    return;
+  }
+  
+  AliGeomManager::LoadGeometry("geometry.root");
+
+  AliITSVertexerZ *dovert = new AliITSVertexerZ(initx,inity);
+  dovert->Init("default");
+  //dovert->SetDebug(0);
+  //  dovert->SetDiffPhiMax(delphi);
+  //  dovert->SetWindow(window);
   dovert->PrintStatus();
-  Int_t meno100=0;
-  Int_t meno200=0;
-  Int_t meno110=0;
   Int_t sigmazero=0;
-  AliITSVertex *vert = 0;
-  for(Int_t i=0; i<gAlice->TreeE()->GetEntries(); i++){
-    gAlice->GetEvent(i);
+  AliESDVertex *vert = 0;
+  AliITSLoader* itsloader =  (AliITSLoader*) rl->GetLoader("ITSLoader");
+  itsloader->LoadRecPoints("read");
+  for(Int_t i=0; i<rl->TreeE()->GetEntries(); i++){
+    rl->GetEvent(i);
     // The true Z coord. is fetched for comparison
-    AliHeader *header = gAlice->GetHeader();
+    AliHeader *header = rl->GetHeader();
     AliGenEventHeader* genEventHeader = header->GenEventHeader();
     TArrayF primaryVertex(3);
     genEventHeader->PrimaryVertex(primaryVertex);
-    vert = dovert->FindVertexForCurrentEvent(i);
+    TTree* cltree = itsloader->TreeR();
+    vert = dovert->FindVertexForCurrentEvent(cltree);
     if(kDebug>0){
       // Prints the results
       cout <<"========================================================\n";
@@ -48,42 +68,26 @@ void AliITSVertexerZTest(Float_t delphi=0.05,Float_t window=3.,Float_t initx=0.,
       if(vert){
        cout<<"FOUND: "<<vert->GetZv()<<"; ";
        cout<<vert->GetZRes()<<"; "<<vert->GetNContributors()<<endl;
+       cout <<" True Z position "<<primaryVertex[2]<<", diff= ";
+       cout<<(primaryVertex[2]-vert->GetZv())*10000.<<endl;
+      } else {
+       cout<<"NOT FOUND"<<endl;
       }
-      else {
-       cout<<"NOT FOUND - fZFound= "<<dovert->GetZFound();
-       cout<<" fZsig= "<<dovert->GetZsig()<<endl;
-       if(dovert->GetZFound() == -100) meno100++;
-       if(dovert->GetZFound() == -200) meno200++;
-       if(dovert->GetZFound() == -110) meno110++;
-      }
-      cout <<" True Z position "<<primaryVertex[2]<<", diff= ";
-      cout<<(primaryVertex[2]-dovert->GetZFound())*10000.<<endl;
     }
     if(vert){
-      Double_t pos[3];
-      for(Int_t kk=0;kk<3;kk++)pos[kk]=(Double_t)primaryVertex[kk];
-      vert->SetTruePos(pos);
       Float_t found = vert->GetZv();
       diff2->Fill(primaryVertex[2],found);
       found = 10000.*(found-primaryVertex[2]);
       if(vert->GetZRes()!=0){
        diff1->Fill(found);
-      }
-      else {
+      } else {
        sigmazero++;
       }
       dovert->WriteCurrentVertex();
     }
   }
-  in->Close();
-  fo->Close();
-  delete in;
-  delete fo;
   if(kDebug>0){
-    cout<<"Number of bad vertices with code  -100: "<<meno100<<endl;
-    cout<<"Number of bad vertices with code  -110: "<<meno110<<endl;
-    cout<<"Number of bad vertices with code  -200: "<<meno200<<endl;
     cout<<"Only one tracklet (sigma = 0) "<<sigmazero<<endl;
   }
-
+  
 }