Dependencies on MC truth in reconstruction limited to rec. of MC data for comparison...
authormasera <masera@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 28 Mar 2007 17:12:45 +0000 (17:12 +0000)
committermasera <masera@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 28 Mar 2007 17:12:45 +0000 (17:12 +0000)
ITS/AliITSClusterFinderV2.cxx
ITS/AliITSDigits2RecPoints.C
ITS/AliITSVertexerFast.cxx
ITS/AliITSVertexerZ.cxx
ITS/AliITSclustererV2.cxx
ITS/AliITSpidESD2.cxx
ITS/AliITSreconstruction.cxx

index 6e675d19d63fb3ba80e3b7a8760f55064dff4566..836b857793a42ad9e6a3579a88e256354c4dc928 100644 (file)
@@ -59,19 +59,23 @@ void AliITSClusterFinderV2::CheckLabels2(Int_t lab[10]) {
   //------------------------------------------------------------
   // Tries to find mother's labels
   //------------------------------------------------------------
-  Int_t nlabels =0; 
-  for (Int_t i=0;i<10;i++) if (lab[i]>=0) nlabels++;
-  if(nlabels == 0) return; // In case of no labels just exit
+  AliRunLoader *rl = AliRunLoader::GetRunLoader();
+  TTree *trK=(TTree*)rl->TreeK();
 
+  if(trK){
+    Int_t nlabels =0; 
+    for (Int_t i=0;i<10;i++) if (lab[i]>=0) nlabels++;
+    if(nlabels == 0) return; // In case of no labels just exit
 
-  Int_t ntracks = gAlice->GetMCApp()->GetNtrack();
 
-  for (Int_t i=0;i<10;i++){
-    Int_t label = lab[i];
-    if (label>=0 && label<ntracks) {
-      TParticle *part=(TParticle*)gAlice->GetMCApp()->Particle(label);
+    Int_t ntracks = gAlice->GetMCApp()->GetNtrack();
 
-      if (part->P() < 0.02) {
+    for (Int_t i=0;i<10;i++){
+      Int_t label = lab[i];
+      if (label>=0 && label<ntracks) {
+       TParticle *part=(TParticle*)gAlice->GetMCApp()->Particle(label);
+
+       if (part->P() < 0.02) {
          Int_t m=part->GetFirstMother();
          if (m<0) {    
            continue;
@@ -80,66 +84,69 @@ void AliITSClusterFinderV2::CheckLabels2(Int_t lab[10]) {
            continue;
          }
          lab[i]=m;       
+       }
+       else
+         if (part->P() < 0.12 && nlabels>3) {
+           lab[i]=-2;
+           nlabels--;
+         } 
       }
-      else
-       if (part->P() < 0.12 && nlabels>3) {
+      else{
+       if ( (label>ntracks||label <0) && nlabels>3) {
          lab[i]=-2;
          nlabels--;
        } 
-    }
-    else{
-      if ( (label>ntracks||label <0) && nlabels>3) {
-       lab[i]=-2;
-       nlabels--;
-      } 
-    }
-  }  
-  if (nlabels>3){
-    for (Int_t i=0;i<10;i++){
-      if (nlabels>3){
-       Int_t label = lab[i];
-       if (label>=0 && label<ntracks) {
-         TParticle *part=(TParticle*)gAlice->GetMCApp()->Particle(label);
-         if (part->P() < 0.1) {
-           lab[i]=-2;
-           nlabels--;
+      }
+    }  
+    if (nlabels>3){
+      for (Int_t i=0;i<10;i++){
+       if (nlabels>3){
+         Int_t label = lab[i];
+         if (label>=0 && label<ntracks) {
+           TParticle *part=(TParticle*)gAlice->GetMCApp()->Particle(label);
+           if (part->P() < 0.1) {
+             lab[i]=-2;
+             nlabels--;
+           }
          }
        }
       }
     }
-  }
 
-  //compress labels -- if multi-times the same
-  Int_t lab2[10];
-  for (Int_t i=0;i<10;i++) lab2[i]=-2;
-  for (Int_t i=0;i<10  ;i++){
-    if (lab[i]<0) continue;
-    for (Int_t j=0;j<10 &&lab2[j]!=lab[i];j++){
-      if (lab2[j]<0) {
-       lab2[j]= lab[i];
-       break;
+    //compress labels -- if multi-times the same
+    Int_t lab2[10];
+    for (Int_t i=0;i<10;i++) lab2[i]=-2;
+    for (Int_t i=0;i<10  ;i++){
+      if (lab[i]<0) continue;
+      for (Int_t j=0;j<10 &&lab2[j]!=lab[i];j++){
+       if (lab2[j]<0) {
+         lab2[j]= lab[i];
+         break;
+       }
       }
     }
-  }
-  for (Int_t j=0;j<10;j++) lab[j]=lab2[j];
+    for (Int_t j=0;j<10;j++) lab[j]=lab2[j];
   
+  }
 }
 
 //______________________________________________________________________
 void AliITSClusterFinderV2::AddLabel(Int_t lab[10], Int_t label) {
-
   //add label to the cluster
+  AliRunLoader *rl = AliRunLoader::GetRunLoader();
+  TTree *trK=(TTree*)rl->TreeK();
+  if(trK){
+    if(label<0) return; // In case of no label just exit
 
-  if(label<0) return; // In case of no label just exit
-
-  Int_t ntracks = gAlice->GetMCApp()->GetNtrack();
-  if (label>ntracks) return;
-  for (Int_t i=0;i<10;i++){
-    //    if (label<0) break;
-    if (lab[i]==label) break;
-    if (lab[i]<0) {
-      lab[i]= label;
-      break;
+    Int_t ntracks = gAlice->GetMCApp()->GetNtrack();
+    if (label>ntracks) return;
+    for (Int_t i=0;i<10;i++){
+      //    if (label<0) break;
+      if (lab[i]==label) break;
+      if (lab[i]<0) {
+       lab[i]= label;
+       break;
+      }
     }
   }
 }
index 8241d2a169f885059abf735e3759a800c79efefe..4ed7026f092337c842cb336468e8e6d0caadd90c 100644 (file)
@@ -1,14 +1,16 @@
 #if !defined(__CINT__) || defined(__MAKECINT__)
 
-#include "Riostream.h"
-#include "TClassTable.h"
-#include "TDatime.h"
-#include "TStopwatch.h"
+#include <Riostream.h>
+#include <TClassTable.h>
+#include <TDatime.h>
+#include <TGeoManager.h>
+#include <TROOT.h>
+#include <TStopwatch.h>
 #include "AliRun.h"
 #include "AliRunDigitizer.h"
+#include "AliITSDetTypeRec.h"
 #include "AliITSDigitizer.h"
 #include "AliITS.h"
-#include "AliITSDetType.h"
 #include "AliITSresponseSDD.h"
 #include "AliITSreconstruction.h"
 
 #define DEBUG
 
 Int_t AliITSDigits2RecPoints(TString filename="galice.root",TString fileRP=""){
-    // Standard ITS Digits to RecPoints.
+  // Standard ITS Digits to RecPoints.
 
-    // Dynamically link some shared libs
-    if (gClassTable->GetID("AliRun") < 0) {
-      gROOT->ProcessLine(".x $(ALICE_ROOT)/macros/loadlibs.C");
-    }else if (gAlice){
-      delete gAlice->GetRunLoader();
-      delete gAlice;
-      gAlice=0;
-     } // end if
+  // Get geometry
+  TGeoManager::Import("geometry.root");
 
-    TStopwatch timer;
+  // Dynamically link some shared libs
+  if (gClassTable->GetID("AliRun") < 0) {
+    gROOT->ProcessLine(".x $(ALICE_ROOT)/macros/loadlibs.C");
+  }else if (gAlice){
+    delete gAlice->GetRunLoader();
+    delete gAlice;
+    gAlice=0;
+  } // end if
+
+  TStopwatch timer;
 #ifdef DEBUG
-    cout << "Creating reconstructed points from digits for the ITS..." << endl;
+  cout << "Creating reconstructed points from digits for the ITS..." << endl;
 #endif
-    AliITSreconstruction *itsr = new AliITSreconstruction(filename);
+  AliITSreconstruction *itsr = new AliITSreconstruction(filename);
 
-    timer.Start();
-    if(!(fileRP.IsNull()))itsr->SetOutputFile(fileRP);
-    itsr->Init();
-    itsr->Exec(); 
-    timer.Stop(); 
-    timer.Print();
-    delete itsr;
-    return 0;
+  timer.Start();
+  if(!(fileRP.IsNull()))itsr->SetOutputFile(fileRP);
+  itsr->Init();
+  itsr->Exec(); 
+  timer.Stop(); 
+  timer.Print();
+  delete itsr;
+  return 0;
 }
index 21caef51345a92ba62fd7ceb31be553457444119..3bc1159cb38331352a7ef3ad31752b3c3808d74c 100644 (file)
@@ -40,6 +40,10 @@ fSmear(0)
 {
   // Default Constructor
   fSmear = 0;
+  AliRunLoader *rl =AliRunLoader::GetRunLoader();
+  TTree *trK=(TTree*)rl->TreeK();
+  if(!trK)AliFatal("This class should be used only with simulated events!!");
+  rl->LoadHeader(); 
 }
 
 //______________________________________________________________________
@@ -50,8 +54,14 @@ fSmear(0)
   fSmear = new Double_t[3];
   for(Int_t i=0;i<3;i++)fSmear[i]=smear[i];
   Info("AliITSVertexerFast","Gaussian smaring of the generated vertex. Parameters %f12.5 , %f12.5 , %f12.5 \n",fSmear[0],fSmear[1],fSmear[2]);
+  AliRunLoader *rl =AliRunLoader::GetRunLoader();
+  TTree *trK=(TTree*)rl->TreeK();
+  if(!trK)AliFatal("This class should be used only with simulated events!!");
+  rl->LoadHeader(); 
+
 }
 
+
 //______________________________________________________________________
 AliITSVertexerFast::~AliITSVertexerFast(){
   // Destructor
@@ -66,10 +76,10 @@ AliESDVertex* AliITSVertexerFast::FindVertexForCurrentEvent(Int_t evnumb){
   AliRunLoader *rl =AliRunLoader::GetRunLoader();
   rl->GetEvent(evnumb);
   TArrayF primaryVertex(3);  // true vertex
-  AliHeader* header = gAlice->GetHeader();
+  AliHeader* header = rl->GetAliRun()->GetHeader();
   AliGenEventHeader* genEventHeader = header->GenEventHeader();   
   genEventHeader->PrimaryVertex(primaryVertex); 
-
+  
   // Smearing
   Double_t vrttrue[3],vrtx[3];
   for(Int_t k=0; k<3;k++){
@@ -81,6 +91,7 @@ AliESDVertex* AliITSVertexerFast::FindVertexForCurrentEvent(Int_t evnumb){
   fCurrentVertex = new AliESDVertex(vrtx,fSmear,name);
   fCurrentVertex->SetTruePos(vrttrue);
   return fCurrentVertex;
+  
 }
 
 //______________________________________________________________________
index 3c7ff3da589cd56dac983158d9f9bd26d971b2be..d1577a1a3ffc04e04f048d9520aefb17e189fc66 100644 (file)
@@ -92,6 +92,7 @@ fWindowWidth(0) {
   SetPPsetting();
   ConfigIterations();
   SetWindowWidth();
+  SetVtxStart((Double_t)x0,(Double_t)y0,0.);
 
 }
 
index de5519101e73ec13032e71d78d59853d7c4058d5..0113a3f195ad2844b6f36f9e331ae5bae7c7d085 100644 (file)
@@ -3,8 +3,7 @@
 //
 //          Origin: Iouri Belikov, CERN, Jouri.Belikov@cern.ch
 //-------------------------------------------------------------------------
-//uncomment the line below for running with V1 cluster finder classes 
-//#define V1
+
 
 #include "AliRun.h"
 
@@ -257,27 +256,32 @@ static void CheckLabels(Int_t lab[3]) {
   //------------------------------------------------------------
   // Tries to find mother's labels
   //------------------------------------------------------------
+  AliRunLoader *rl = AliRunLoader::GetRunLoader();
+  TTree *trK=(TTree*)rl->TreeK();
+
+  if(trK){
     Int_t label=lab[0];
     if (label>=0) {
-       TParticle *part=(TParticle*)gAlice->GetMCApp()->Particle(label);
-       label=-3;
-       while (part->P() < 0.005) {
-          Int_t m=part->GetFirstMother();
-          if (m<0) {
-             Info("CheckLabels","Primary momentum: %f",part->P()); 
-             break;
-          }
-          if (part->GetStatusCode()>0) {
-             Info("CheckLabels","Primary momentum: %f",part->P()); 
-             break;
-          }
-          label=m;
-          part=(TParticle*)gAlice->GetMCApp()->Particle(label);
-        }
-        if      (lab[1]<0) lab[1]=label;
-        else if (lab[2]<0) lab[2]=label;
-        else ;//cerr<<"CheckLabels : No empty labels !\n";
+      TParticle *part=(TParticle*)gAlice->GetMCApp()->Particle(label);
+      label=-3;
+      while (part->P() < 0.005) {
+       Int_t m=part->GetFirstMother();
+       if (m<0) {
+         Info("CheckLabels","Primary momentum: %f",part->P()); 
+         break;
+       }
+       if (part->GetStatusCode()>0) {
+         Info("CheckLabels","Primary momentum: %f",part->P()); 
+         break;
+       }
+       label=m;
+       part=(TParticle*)gAlice->GetMCApp()->Particle(label);
+      }
+      if      (lab[1]<0) lab[1]=label;
+      else if (lab[2]<0) lab[2]=label;
+      else ;//cerr<<"CheckLabels : No empty labels !\n";
     }
+  }
 }
 
 /*
@@ -312,17 +316,21 @@ static void CheckLabels2(Int_t lab[10]) {
   //------------------------------------------------------------
   // Tries to find mother's labels
   //------------------------------------------------------------
-  Int_t nlabels =0; 
-  for (Int_t i=0;i<10;i++) if (lab[i]>=0) nlabels++;
-  if(nlabels == 0) return; // In case of no labels just exit
+  AliRunLoader *rl = AliRunLoader::GetRunLoader();
+  TTree *trK=(TTree*)rl->TreeK();
 
-  Int_t ntracks = gAlice->GetMCApp()->GetNtrack();
+  if(trK){
+    Int_t nlabels =0; 
+    for (Int_t i=0;i<10;i++) if (lab[i]>=0) nlabels++;
+    if(nlabels == 0) return; // In case of no labels just exit
 
-  for (Int_t i=0;i<10;i++){
-    Int_t label = lab[i];
-    if (label>=0 && label<ntracks) {
-      TParticle *part=(TParticle*)gAlice->GetMCApp()->Particle(label);
-      if (part->P() < 0.02) {
+    Int_t ntracks = gAlice->GetMCApp()->GetNtrack();
+
+    for (Int_t i=0;i<10;i++){
+      Int_t label = lab[i];
+      if (label>=0 && label<ntracks) {
+       TParticle *part=(TParticle*)gAlice->GetMCApp()->Particle(label);
+       if (part->P() < 0.02) {
          Int_t m=part->GetFirstMother();
          if (m<0) {    
            continue;
@@ -331,63 +339,69 @@ static void CheckLabels2(Int_t lab[10]) {
            continue;
          }
          lab[i]=m;       
+       }
+       else
+         if (part->P() < 0.12 && nlabels>3) {
+           lab[i]=-2;
+           nlabels--;
+         } 
       }
-      else
-       if (part->P() < 0.12 && nlabels>3) {
+      else{
+       if ( (label>ntracks||label <0) && nlabels>3) {
          lab[i]=-2;
          nlabels--;
        } 
-    }
-    else{
-      if ( (label>ntracks||label <0) && nlabels>3) {
-       lab[i]=-2;
-       nlabels--;
-      } 
-    }
-  }  
-  if (nlabels>3){
-    for (Int_t i=0;i<10;i++){
-      if (nlabels>3){
-       Int_t label = lab[i];
-       if (label>=0 && label<ntracks) {
-         TParticle *part=(TParticle*)gAlice->GetMCApp()->Particle(label);
-         if (part->P() < 0.1) {
-           lab[i]=-2;
-           nlabels--;
+      }
+    }  
+    if (nlabels>3){
+      for (Int_t i=0;i<10;i++){
+       if (nlabels>3){
+         Int_t label = lab[i];
+         if (label>=0 && label<ntracks) {
+           TParticle *part=(TParticle*)gAlice->GetMCApp()->Particle(label);
+           if (part->P() < 0.1) {
+             lab[i]=-2;
+             nlabels--;
+           }
          }
        }
       }
     }
-  }
 
-  //compress labels -- if multi-times the same
-  Int_t lab2[10];
-  for (Int_t i=0;i<10;i++) lab2[i]=-2;
-  for (Int_t i=0;i<10  ;i++){
-    if (lab[i]<0) continue;
-    for (Int_t j=0;j<10 &&lab2[j]!=lab[i];j++){
-      if (lab2[j]<0) {
-       lab2[j]= lab[i];
-       break;
+    //compress labels -- if multi-times the same
+    Int_t lab2[10];
+    for (Int_t i=0;i<10;i++) lab2[i]=-2;
+    for (Int_t i=0;i<10  ;i++){
+      if (lab[i]<0) continue;
+      for (Int_t j=0;j<10 &&lab2[j]!=lab[i];j++){
+       if (lab2[j]<0) {
+         lab2[j]= lab[i];
+         break;
+       }
       }
     }
+    for (Int_t j=0;j<10;j++) lab[j]=lab2[j];
   }
-  for (Int_t j=0;j<10;j++) lab[j]=lab2[j];
-  
 }
 
 static void AddLabel(Int_t lab[10], Int_t label) {
+// add label of the particle in the kine tree which originates this cluster
+// (used for reconstruction of MC data only, for comparison purposes)
+  AliRunLoader *rl = AliRunLoader::GetRunLoader();
+  TTree *trK=(TTree*)rl->TreeK();
 
-  if(label<0) return; // In case of no label just exit
+  if(trK){
+    if(label<0) return; // In case of no label just exit
 
-  Int_t ntracks = gAlice->GetMCApp()->GetNtrack();
-  if (label>ntracks) return;
-  for (Int_t i=0;i<10;i++){
-    //    if (label<0) break;
-    if (lab[i]==label) break;
-    if (lab[i]<0) {
-      lab[i]= label;
-      break;
+    Int_t ntracks = gAlice->GetMCApp()->GetNtrack();
+    if (label>ntracks) return;
+    for (Int_t i=0;i<10;i++){
+      //    if (label<0) break;
+      if (lab[i]==label) break;
+      if (lab[i]<0) {
+       lab[i]= label;
+       break;
+      }
     }
   }
 }
@@ -419,7 +433,6 @@ void AliITSclustererV2::RecPoints2Clusters
 
 //***********************************
 
-#ifndef V1
 
 void AliITSclustererV2:: 
 FindCluster(Int_t k,Int_t maxz,AliBin *bins,Int_t &n,Int_t *idx) {
@@ -1673,79 +1686,3 @@ void AliITSclustererV2::FindClustersSSD(AliITSRawStream* input,
   Info("FindClustersSSD", "found clusters in ITS SSD: %d", nClustersSSD);
 }
 
-#else   //V1
-
-#include "AliITSDetType.h"
-#include "AliITS.h"
-#include "AliITSsegmentationSPD.h"
-#include "AliITSClusterFinderSPD.h"
-
-#include "AliITSresponseSDD.h"
-#include "AliITSsegmentationSDD.h"
-#include "AliITSClusterFinderSDD.h"
-
-#include "AliITSsegmentationSSD.h"
-#include "AliITSClusterFinderSSD.h"
-
-
-void AliITSclustererV2::
-FindClustersSPD(const TClonesArray *digits, TClonesArray *clusters) {
-  //------------------------------------------------------------
-  // Actual SPD cluster finding based on AliITSClusterFinderSPD
-  //------------------------------------------------------------
-  static AliITS *its=(AliITS*)gAlice->GetModule("ITS");
-  static TClonesArray *points=its->RecPoints();
-  static AliITSsegmentationSPD *seg=
-         (AliITSsegmentationSPD *)its->DetType(0)->GetSegmentationModel();
-  static AliITSClusterFinderSPD cf(seg, (TClonesArray*)digits, points);
-
-  cf.FindRawClusters(fI);
-  RecPoints2Clusters(points, fI, clusters);
-  its->ResetRecPoints();
-
-}
-
-void AliITSclustererV2::
-FindClustersSDD(const TClonesArray *digits, TClonesArray *clusters) {
-  //------------------------------------------------------------
-  // Actual SDD cluster finding based on AliITSClusterFinderSDD
-  //------------------------------------------------------------
-  static AliITS *its=(AliITS*)gAlice->GetModule("ITS");
-  static TClonesArray *points=its->RecPoints();
-  static AliITSresponseSDD *resp=
-        (AliITSresponseSDD *)its->DetType(1)->GetResponseModel();
-  static AliITSsegmentationSDD *seg=
-         (AliITSsegmentationSDD *)its->DetType(1)->GetSegmentationModel();
-  static AliITSClusterFinderSDD 
-         cf(seg,resp,(TClonesArray*)digits,its->ClustersAddress(1));
-
-  cf.FindRawClusters(fI);
-  Int_t nc=points->GetEntriesFast();
-  while (nc--) { //To be consistent with the SSD cluster charges
-     AliITSRecPoint *p=(AliITSRecPoint*)points->UncheckedAt(nc);
-     p->SetQ(p->GetQ()/12.);
-  }
-  RecPoints2Clusters(points, fI, clusters);
-  its->ResetClusters(1);
-  its->ResetRecPoints();
-
-}
-
-void AliITSclustererV2::
-FindClustersSSD(const TClonesArray *digits, TClonesArray *clusters) {
-  //------------------------------------------------------------
-  // Actual SSD cluster finding based on AliITSClusterFinderSSD
-  //------------------------------------------------------------
-  static AliITS *its=(AliITS*)gAlice->GetModule("ITS");
-  static TClonesArray *points=its->RecPoints();
-  static AliITSsegmentationSSD *seg=
-         (AliITSsegmentationSSD *)its->DetType(2)->GetSegmentationModel();
-  static AliITSClusterFinderSSD cf(seg,(TClonesArray*)digits);
-
-  cf.FindRawClusters(fI);
-  RecPoints2Clusters(points, fI, clusters);
-  its->ResetRecPoints();
-
-}
-
-#endif
index b21a084ef99e448684237b664f4be0a5ae817cd1..42f0f8706bcb7b17b3c070964f556d41d809802f 100644 (file)
@@ -27,7 +27,7 @@
 #include "AliESD.h"
 #include "AliESDtrack.h"
 #include "AliITStrackV2.h"
-#include "AliITSclusterV2.h"
+#include "AliITSRecPoint.h"
 #include "AliITStrackerMI.h"
 #include "AliITSLoader.h"
 #include "AliITSPident.h"
@@ -122,7 +122,7 @@ Int_t AliITSpidESD2::MakePID(AliESD *event)
     Int_t cluindssd1 = track->GetClusterIndex(1);
     Int_t cluindssd2 = track->GetClusterIndex(0);
     Float_t q1,q1corr,q2,q2corr,q3,q3corr,q4,q4corr;
-    AliITSclusterV2* clu1=(AliITSclusterV2*)fTracker->GetCluster(cluindsdd1);
+    AliITSRecPoint* clu1=(AliITSRecPoint*)fTracker->GetCluster(cluindsdd1);
     if(clu1!=0){
       q1=clu1->GetQ(); 
       q1corr=q1*TMath::Sqrt((1-snp*snp)/(1+tgl*tgl));
@@ -132,7 +132,7 @@ Int_t AliITSpidESD2::MakePID(AliESD *event)
       q1corr=-99;
     }
        
-    AliITSclusterV2* clu2=(AliITSclusterV2*)fTracker->GetCluster(cluindsdd2);
+    AliITSRecPoint* clu2=(AliITSRecPoint*)fTracker->GetCluster(cluindsdd2);
     if(clu2!=0){
       q2=clu2->GetQ();
       q2corr=q2*TMath::Sqrt((1-snp*snp)/(1+tgl*tgl));
@@ -142,7 +142,7 @@ Int_t AliITSpidESD2::MakePID(AliESD *event)
       q2corr=-99;
     }
     
-    AliITSclusterV2* clu3=(AliITSclusterV2*)fTracker->GetCluster(cluindssd1);
+    AliITSRecPoint* clu3=(AliITSRecPoint*)fTracker->GetCluster(cluindssd1);
     if(clu3!=0){
       q3=clu3->GetQ();
       q3corr=q3*TMath::Sqrt((1-snp*snp)/(1+tgl*tgl));
@@ -152,7 +152,7 @@ Int_t AliITSpidESD2::MakePID(AliESD *event)
       q3corr=-99;
     }
     
-    AliITSclusterV2* clu4=(AliITSclusterV2*)fTracker->GetCluster(cluindssd2);
+    AliITSRecPoint* clu4=(AliITSRecPoint*)fTracker->GetCluster(cluindssd2);
     if(clu4!=0){
       q4=clu4->GetQ();
       q4corr=q4*TMath::Sqrt((1-snp*snp)/(1+tgl*tgl));
@@ -168,9 +168,9 @@ Int_t AliITSpidESD2::MakePID(AliESD *event)
     Float_t prie=0.;
     Double_t invPt=track->Get1Pt();
     AliITSPident mypid(momits,invPt,dEdxsignal,fSp,qlay,prip,prik,pripi,prie); 
-    condprobfun[0]=0.;//el
-    condprobfun[1]=0.;//mu
-    condprobfun[2]=mypid.GetProdCondFunPi();//pi
+    condprobfun[0]=mypid.GetProdCondFunPi();//el -> ITS does not distinguish among Pi,mu,el
+    condprobfun[1]=mypid.GetProdCondFunPi();//mu -> ITS does not distinguish among Pi,mu,el
+    condprobfun[2]=mypid.GetProdCondFunPi();//pi -> ITS does not distinguish among Pi,mu,el
     condprobfun[3]=mypid.GetProdCondFunK();//kaon
     condprobfun[4]=mypid.GetProdCondFunPro();//pro
 
index dd4dbd046f2905b5b68f46099fa209abfae6ad0c..15d833aa99a07cade2cbbee84fdef63017d425f0 100644 (file)
@@ -96,14 +96,6 @@ AliITSreconstruction::AliITSreconstruction(const char* filename):
        Error("AliITSreconstruction","Can not load the session",filename);
        return;
      }
-    fRunLoader->LoadgAlice();
-    gAlice = fRunLoader->GetAliRun();
-
-    if(!gAlice) {
-          Error("AliITSreconstruction","gAlice not found on file. Aborting.");
-          fInit = kFALSE;
-          return;
-      } // end if !gAlice
 
 }
 
@@ -155,8 +147,8 @@ Bool_t AliITSreconstruction::Init(){
        Error("Init","Run Loader is NULL");
        return kFALSE;
      }
-    fRunLoader->LoadgAlice();
-    fRunLoader->LoadHeader();  
+    //  fRunLoader->LoadgAlice();
+    //   fRunLoader->LoadHeader();  
 
     fLoader = (AliITSLoader*) fRunLoader->GetLoader("ITSLoader");
     if(!fLoader) {
@@ -166,7 +158,7 @@ Bool_t AliITSreconstruction::Init(){
 
     // Now ready to init.
  
-    fRunLoader->CdGAFile();
+    //fRunLoader->CdGAFile();
     fITSgeom = fLoader->GetITSgeom();
 
     fDetTypeRec = new AliITSDetTypeRec(fLoader);
@@ -175,7 +167,7 @@ Bool_t AliITSreconstruction::Init(){
     fEnt0 = 0;
 
     //fEnt  = gAlice->GetEventsPerRun();
-    fEnt = Int_t(fRunLoader->TreeE()->GetEntries());
+    fEnt = Int_t(fRunLoader->GetNumberOfEvents());
 
     fLoader->LoadDigits("read");
     fLoader->LoadRecPoints("recreate");