Added in AliITSRecoParam a parameter to choose which SPD-vertexer pileup algorithm...
authorprino <prino@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 30 Jun 2009 16:28:05 +0000 (16:28 +0000)
committerprino <prino@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 30 Jun 2009 16:28:05 +0000 (16:28 +0000)
ITS/AliITSRecoParam.cxx
ITS/AliITSRecoParam.h
ITS/AliITSReconstructor.cxx

index 7909475..3282a76 100644 (file)
@@ -75,6 +75,7 @@ fVtxr3DRCutNarrow(0.),
 fVtxr3DPhiCutLoose(0.),
 fVtxr3DPhiCutTight(0.),
 fVtxr3DDCACut(0.),
+fVtxr3DPileupAlgo(1),
 fMaxSnp(1.),
 fNSigmaYLayerForRoadY(0),
 fNSigmaRoadY(0),
index fdd853e..3d29ff1 100644 (file)
@@ -118,6 +118,10 @@ class AliITSRecoParam : public AliDetectorRecoParam
     SetVertexer3DDeltaPhiCuts();
     SetVertexer3DDCACut();    
   }
+  void SetSPDVertexerPileupAlgoZ(){fVtxr3DPileupAlgo=0;}
+  void SetSPDVertexerPileupAlgo3DTwoSteps(){fVtxr3DPileupAlgo=1;}
+  void SetSPDVertexerPileupAlgo3DOneShot(){fVtxr3DPileupAlgo=2;}
+  
 
   Float_t  GetVertexer3DWideFiducialRegionZ() const {return fVtxr3DZCutWide;}
   Float_t  GetVertexer3DWideFiducialRegionR() const {return fVtxr3DRCutWide;}
@@ -126,7 +130,7 @@ class AliITSRecoParam : public AliDetectorRecoParam
   Float_t  GetVertexer3DLooseDeltaPhiCut() const {return fVtxr3DPhiCutLoose;}
   Float_t  GetVertexer3DTightDeltaPhiCut() const {return fVtxr3DPhiCutTight;}
   Float_t  GetVertexer3DDCACut() const {return fVtxr3DDCACut;}
-  
+  Int_t    GetSPDVertexerPileupAlgo() const {return fVtxr3DPileupAlgo;}
 
   Double_t GetSigmaY2(Int_t i) const { return fSigmaY2[i]; }
   Double_t GetSigmaZ2(Int_t i) const { return fSigmaZ2[i]; }
@@ -409,6 +413,7 @@ class AliITSRecoParam : public AliDetectorRecoParam
   Int_t  fPID;      // ITS PID method to be used (see AliITSReconstructor)
 
 
+  // SPD 3D Vertexer configuration
   Float_t fVtxr3DZCutWide;    // Z extension of the wide fiducial region for vertexer 3D
   Float_t fVtxr3DRCutWide;    // R extension of the wide fiducial region for vertexer 3D
   Float_t fVtxr3DZCutNarrow;  // Z extension of the narrow fiducial region for vertexer 3D
@@ -416,6 +421,7 @@ class AliITSRecoParam : public AliDetectorRecoParam
   Float_t fVtxr3DPhiCutLoose; // loose deltaPhi cut to define tracklets in vertexer 3D
   Float_t fVtxr3DPhiCutTight; // tight deltaPhi cut to define tracklets in vertexer 3D
   Float_t fVtxr3DDCACut;      // cut on tracklet-to-tracklet DCA in vertexer3D
+  Int_t   fVtxr3DPileupAlgo;  // pileup algorithm (0 = VtxZ, 1 = 3D - 2 step, 2 = 3D all in once)
 
   Int_t fLayersToSkip[AliITSgeomTGeo::kNLayers]; // array with layers to skip (MI,SA)
 
@@ -576,7 +582,7 @@ class AliITSRecoParam : public AliDetectorRecoParam
   Bool_t  fAlignFilterFillQANtuples;      // fill QA ntuples  
 
 
-  ClassDef(AliITSRecoParam,21) // ITS reco parameters
+  ClassDef(AliITSRecoParam,22) // ITS reco parameters
 };
 
 #endif
index 8130078..f18da62 100644 (file)
@@ -198,35 +198,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 +238,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);