]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSReconstructor.cxx
Changes requested in report #61429: PID: Separating response functions from ESD ...
[u/mrichter/AliRoot.git] / ITS / AliITSReconstructor.cxx
index 7b5c3cb4a08e0ce178bd73ff44393d6796ea5850..63fb7284dc8dd8e0bd24a9406c13a955c57e48ec 100644 (file)
@@ -38,9 +38,6 @@
 #include "AliITSVertexerZ.h"
 #include "AliITSVertexerCosmics.h"
 #include "AliESDEvent.h"
-#include "AliITSpidESD.h"
-#include "AliITSpidESD1.h"
-#include "AliITSpidESD2.h"
 #include "AliITSInitGeometry.h"
 #include "AliITSTrackleterSPDEff.h"
 
@@ -49,7 +46,6 @@ ClassImp(AliITSReconstructor)
 
 //___________________________________________________________________________
 AliITSReconstructor::AliITSReconstructor() : AliReconstructor(),
-fItsPID(0),
 fDetTypeRec(0)
 {
   // Default constructor
@@ -57,25 +53,8 @@ fDetTypeRec(0)
  //___________________________________________________________________________
 AliITSReconstructor::~AliITSReconstructor(){
 // destructor
-  delete fItsPID;
   if(fDetTypeRec) delete fDetTypeRec;
 } 
-//______________________________________________________________________
-AliITSReconstructor::AliITSReconstructor(const AliITSReconstructor &ob) :AliReconstructor(ob),
-fItsPID(ob.fItsPID),
-fDetTypeRec(ob.fDetTypeRec)
-
-{
-  // Copy constructor
-}
-
-//______________________________________________________________________
-AliITSReconstructor& AliITSReconstructor::operator=(const AliITSReconstructor&  ob ){
-  // Assignment operator
-  this->~AliITSReconstructor();
-  new(this) AliITSReconstructor(ob);
-  return *this;
-}
 
 //______________________________________________________________________
 void AliITSReconstructor::Init() {
@@ -124,7 +103,7 @@ void AliITSReconstructor::Reconstruct(AliRawReader* rawReader, TTree *clustersTr
 AliTracker* AliITSReconstructor::CreateTrackleter() const
 {
 // create the SPD trackeleter (for SPD PlaneEfficiency evaluation)
-  if(!GetRecoParam()->GetComputePlaneEff() && !GetRecoParam()->GetUseTrackletsPlaneEff()) return NULL;
+  if(!GetRecoParam()->GetComputePlaneEff() || !GetRecoParam()->GetUseTrackletsPlaneEff()) return NULL;
   //Int_t trackerOpt = GetRecoParam()->GetTracker();
   AliTracker* trackleter;
   trackleter = new AliITSTrackleterSPDEff();
@@ -133,12 +112,12 @@ AliTracker* AliITSReconstructor::CreateTrackleter() const
   if(GetRecoParam()->GetBkgTrackletsPlaneEff()) spdtrackleter->SetReflectClusterAroundZAxisForLayer(1,kTRUE);
   if(GetRecoParam()->GetMCTrackletsPlaneEff()) spdtrackleter->SetMC();
   spdtrackleter->SetHistOn();
-  spdtrackleter->SetPhiWindow(GetRecoParam()->GetTrackleterPhiWindow());
-  spdtrackleter->SetZetaWindow(GetRecoParam()->GetTrackleterZetaWindow());
+  spdtrackleter->SetPhiWindowL2(GetRecoParam()->GetTrackleterPhiWindowL2());
+  spdtrackleter->SetZetaWindowL2(GetRecoParam()->GetTrackleterZetaWindowL2());
   spdtrackleter->SetPhiWindowL1(GetRecoParam()->GetTrackleterPhiWindowL1());
   spdtrackleter->SetZetaWindowL1(GetRecoParam()->GetTrackleterZetaWindowL1());
   if(GetRecoParam()->GetUpdateOncePerEventPlaneEff()) spdtrackleter->SetUpdateOncePerEventPlaneEff();
-  //spdtrackleter->(GetRecoParam()->GetMinContVtxPlaneEff()); // to be implemented
+  spdtrackleter->SetMinContVtx(GetRecoParam()->GetMinContVtxPlaneEff());
   return trackleter;
 }
 
@@ -176,16 +155,17 @@ AliTracker* AliITSReconstructor::CreateTracker() const
   Int_t pidOpt = GetRecoParam()->GetPID();
 
   AliITSReconstructor* nc = const_cast<AliITSReconstructor*>(this);
+  /*
   if(pidOpt==1){
     Info("FillESD","ITS LandauFitPID option has been selected\n");
-    nc->fItsPID = new AliITSpidESD2((AliITStrackerMI*)tracker);
+    nc->fItsPID = new AliITSpidESD2();
   }
   else{
     Info("FillESD","ITS default PID\n");
     Double_t parITS[] = {79.,0.13, 5.}; //IB: this is  "pp tuning"
     nc->fItsPID = new AliITSpidESD1(parITS);
   }
+  */ 
   return tracker;
   
 }
@@ -198,35 +178,34 @@ AliVertexer* AliITSReconstructor::CreateVertexer() const
   AliITSVertexer *vptr;
   Int_t vtxOpt = GetRecoParam()->GetVertexer();
   if(vtxOpt==3){
-    Info("CreateVertexer","a AliITSVertexerIons object has been selected\n");
+    AliInfo("AliITSVertexerIons has been selected");
     vptr =  new AliITSVertexerIons();
   }
   else if(vtxOpt==4){
     Double_t smear[3]={GetRecoParam()->GetVertexerFastSmearX(),
                       GetRecoParam()->GetVertexerFastSmearY(),
                       GetRecoParam()->GetVertexerFastSmearZ()};
-    Info("CreateVertexer","a AliITSVertexerFast object has been selected\n"); 
+    AliInfo("AliITSVertexerFast has been selected"); 
     vptr = new AliITSVertexerFast(smear);
   }
   else if(vtxOpt==1){
-    Info("CreateVertexer","a AliITSVertexerZ object has been selected\n");
+    AliInfo("AliITSVertexerZ has been selected");
     vptr =  new AliITSVertexerZ();
   }
   else if(vtxOpt==2){
-    Info("CreateVertexer","a AliITSVertexerCosmics object has been selected\n");
+    AliInfo("AliITSVertexerCosmics has been selected");
     vptr = new AliITSVertexerCosmics();
   }
   else if(vtxOpt==5){ 
-    Info("CreateVertexer","vertex is fixed in the position of the TDI\n");
+    AliInfo("Vertex is fixed in the position of the TDI\n");
     vptr = new AliITSVertexerFixed("TDI");
   }
   else if(vtxOpt==6){ 
-    Info("CreateVertexer","vertex is fixed in the position of the TED\n");
+    AliInfo("Vertex is fixed in the position of the TED\n");
     vptr = new AliITSVertexerFixed("TED");
   }
   else {
   // by default an AliITSVertexer3D object is instatiated
-    Info("CreateVertexer","a AliITSVertexer3D object has been selected\n");
     AliITSVertexer3D*  vtxr = new AliITSVertexer3D();
     Float_t dzw=GetRecoParam()->GetVertexer3DWideFiducialRegionZ();
     Float_t drw=GetRecoParam()->GetVertexer3DWideFiducialRegionR();
@@ -239,6 +218,9 @@ AliVertexer* AliITSReconstructor::CreateVertexer() const
     vtxr->SetDeltaPhiCuts(dphil,dphit);
     Float_t dcacut=GetRecoParam()->GetVertexer3DDCACut();
     vtxr->SetDCACut(dcacut);
+    Int_t pileupAlgo=GetRecoParam()->GetSPDVertexerPileupAlgo();
+    vtxr->SetPileupAlgo(pileupAlgo);
+    AliInfo(Form("AliITSVertexer3D with pileup algo %d has been selected",pileupAlgo));
     vptr = vtxr;
   }
   vptr->SetDetTypeRec(fDetTypeRec);
@@ -246,19 +228,12 @@ AliVertexer* AliITSReconstructor::CreateVertexer() const
 }
 
 //_____________________________________________________________________________
-void AliITSReconstructor::FillESD(TTree * /*digitsTree*/, TTree *clustersTree
+void AliITSReconstructor::FillESD(TTree * /*digitsTree*/, TTree * /*clustersTree*/
                                  AliESDEvent* esd) const
 {
 // make PID, find V0s and cascade
-  if(fItsPID!=0) {
-    Int_t pidOpt = GetRecoParam()->GetPID();
-    if(pidOpt==1){
-      fItsPID->MakePID(clustersTree,esd);
-    }else{
-      fItsPID->MakePID(esd);
-    }
-  }
-  else {
-    Error("FillESD","!! cannot do the PID !!\n");
-  }
+/* Now done in AliESDpid
+  if(fItsPID!=0) fItsPID->MakePID(esd);
+  else AliError("!! cannot do the PID !!");
+*/
 }