]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliGRPRecoParam.cxx
New D0 pp 7 systematics (Andrea)
[u/mrichter/AliRoot.git] / STEER / AliGRPRecoParam.cxx
index fc4ef23acbd9000e0692e9260d80670a3858ea31..43618689ae9681011707eaffd5ae1594d0f4dd82 100644 (file)
@@ -29,7 +29,9 @@ ClassImp(AliGRPRecoParam)
 //_____________________________________________________________________________
 AliGRPRecoParam::AliGRPRecoParam() : AliDetectorRecoParam(),
 fMostProbablePt(0.350),
-fVertexerTracksNCuts(10),
+fVertexerTracksConstraintITS(kTRUE),
+fVertexerTracksConstraintTPC(kTRUE),
+fVertexerTracksNCuts(12),
 fVertexerTracksITSdcacut(0.1),
 fVertexerTracksITSdcacutIter0(0.1),
 fVertexerTracksITSmaxd0z0(0.5),
@@ -40,6 +42,8 @@ fVertexerTracksITSnindetfitter(100.),
 fVertexerTracksITSmaxtgl(1000.), 
 fVertexerTracksITSfidR(3.),
 fVertexerTracksITSfidZ(30.),
+fVertexerTracksITSalgo(1.),
+fVertexerTracksITSalgoIter0(4.),
 fVertexerTracksTPCdcacut(0.1),
 fVertexerTracksTPCdcacutIter0(1.0),
 fVertexerTracksTPCmaxd0z0(5.),
@@ -49,7 +53,26 @@ fVertexerTracksTPCnsigma(3.),
 fVertexerTracksTPCnindetfitter(0.1),
 fVertexerTracksTPCmaxtgl(1.5), 
 fVertexerTracksTPCfidR(3.),
-fVertexerTracksTPCfidZ(30.)
+fVertexerTracksTPCfidZ(30.),
+fVertexerTracksTPCalgo(1.),
+fVertexerTracksTPCalgoIter0(4.),
+fVertexerV0NCuts(7),
+fVertexerV0Chi2max(33.),
+fVertexerV0DNmin(0.05),
+fVertexerV0DPmin(0.05),
+fVertexerV0DCAmax(1.5),
+fVertexerV0CPAmin(0.9),
+fVertexerV0Rmin(0.2),
+fVertexerV0Rmax(200.),
+fVertexerCascadeNCuts(8),
+fVertexerCascadeChi2max(33.),
+fVertexerCascadeDV0min(0.01),
+fVertexerCascadeMassWin(0.008),
+fVertexerCascadeDBachMin(0.01),
+fVertexerCascadeDCAmax(2.0),
+fVertexerCascadeCPAmin(0.98),
+fVertexerCascadeRmin(0.2),
+fVertexerCascadeRmax(100.)
 {
   //
   // constructor
@@ -69,6 +92,8 @@ AliGRPRecoParam::~AliGRPRecoParam()
 AliGRPRecoParam::AliGRPRecoParam(const AliGRPRecoParam& par) :
   AliDetectorRecoParam(par),
   fMostProbablePt(par.fMostProbablePt),
+  fVertexerTracksConstraintITS(par.fVertexerTracksConstraintITS),
+  fVertexerTracksConstraintTPC(par.fVertexerTracksConstraintTPC),
   fVertexerTracksNCuts(par.fVertexerTracksNCuts),
   fVertexerTracksITSdcacut(par.fVertexerTracksITSdcacut),
   fVertexerTracksITSdcacutIter0(par.fVertexerTracksITSdcacutIter0),
@@ -80,6 +105,8 @@ AliGRPRecoParam::AliGRPRecoParam(const AliGRPRecoParam& par) :
   fVertexerTracksITSmaxtgl(par.fVertexerTracksITSmaxtgl), 
   fVertexerTracksITSfidR(par.fVertexerTracksITSfidR),
   fVertexerTracksITSfidZ(par.fVertexerTracksITSfidZ),
+  fVertexerTracksITSalgo(par.fVertexerTracksITSalgo),
+  fVertexerTracksITSalgoIter0(par.fVertexerTracksITSalgoIter0),
   fVertexerTracksTPCdcacut(par.fVertexerTracksTPCdcacut),
   fVertexerTracksTPCdcacutIter0(par.fVertexerTracksTPCdcacutIter0),
   fVertexerTracksTPCmaxd0z0(par.fVertexerTracksTPCmaxd0z0),
@@ -89,7 +116,26 @@ AliGRPRecoParam::AliGRPRecoParam(const AliGRPRecoParam& par) :
   fVertexerTracksTPCnindetfitter(par.fVertexerTracksTPCnindetfitter),
   fVertexerTracksTPCmaxtgl(par.fVertexerTracksTPCmaxtgl), 
   fVertexerTracksTPCfidR(par.fVertexerTracksTPCfidR),
-  fVertexerTracksTPCfidZ(par.fVertexerTracksTPCfidZ)
+  fVertexerTracksTPCfidZ(par.fVertexerTracksTPCfidZ),
+  fVertexerTracksTPCalgo(par.fVertexerTracksTPCalgo),
+  fVertexerTracksTPCalgoIter0(par.fVertexerTracksTPCalgoIter0),
+  fVertexerV0NCuts(par.fVertexerV0NCuts),
+  fVertexerV0Chi2max(par.fVertexerV0Chi2max),
+  fVertexerV0DNmin(par.fVertexerV0DNmin),
+  fVertexerV0DPmin(par.fVertexerV0DPmin),
+  fVertexerV0DCAmax(par.fVertexerV0DCAmax),
+  fVertexerV0CPAmin(par.fVertexerV0CPAmin),
+  fVertexerV0Rmin(par.fVertexerV0Rmin),
+  fVertexerV0Rmax(par.fVertexerV0Rmax),
+  fVertexerCascadeNCuts(par.fVertexerCascadeNCuts),
+  fVertexerCascadeChi2max(par.fVertexerCascadeChi2max),
+  fVertexerCascadeDV0min(par.fVertexerCascadeDV0min),
+  fVertexerCascadeMassWin(par.fVertexerCascadeMassWin),
+  fVertexerCascadeDBachMin(par.fVertexerCascadeDBachMin),
+  fVertexerCascadeDCAmax(par.fVertexerCascadeDCAmax),
+  fVertexerCascadeCPAmin(par.fVertexerCascadeCPAmin),
+  fVertexerCascadeRmin(par.fVertexerCascadeRmin),
+  fVertexerCascadeRmax(par.fVertexerCascadeRmax)
 {
   // copy constructor
 }
@@ -110,10 +156,33 @@ AliGRPRecoParam& AliGRPRecoParam::operator = (const AliGRPRecoParam& par)
 AliGRPRecoParam *AliGRPRecoParam::GetHighFluxParam() 
 {
   //
-  // make default reconstruction  parameters for hig  flux env.
+  // make default reconstruction  parameters for high flux env.
   //
   AliGRPRecoParam *param = new AliGRPRecoParam();
 
+  // to speed up the vertexing in PbPb
+  param->fVertexerTracksITSalgoIter0 = 1.;
+  param->fVertexerTracksTPCalgoIter0 = 1.;
+
+  // tighter selections for V0s
+  param->fVertexerV0Chi2max = 33.;
+  param->fVertexerV0DNmin   = 0.1;
+  param->fVertexerV0DPmin   = 0.1;
+  param->fVertexerV0DCAmax  = 1.0;
+  param->fVertexerV0CPAmin  = 0.998;
+  param->fVertexerV0Rmin    = 0.9;
+  param->fVertexerV0Rmax    = 100.;
+
+  // tighter selections for Cascades
+  param->fVertexerCascadeChi2max  = 33.; 
+  param->fVertexerCascadeDV0min   = 0.05;  
+  param->fVertexerCascadeMassWin  = 0.008; 
+  param->fVertexerCascadeDBachMin = 0.030;
+  param->fVertexerCascadeDCAmax   = 0.3;  
+  param->fVertexerCascadeCPAmin   = 0.999;  
+  param->fVertexerCascadeRmin     = 0.9;    
+  param->fVertexerCascadeRmax     = 100.;    
+
   return param;
 }
 //_____________________________________________________________________________
@@ -127,6 +196,20 @@ AliGRPRecoParam *AliGRPRecoParam::GetLowFluxParam()
   return param;
 }
 //_____________________________________________________________________________
+AliGRPRecoParam *AliGRPRecoParam::GetCosmicTestParam() 
+{
+  //
+  // make default reconstruction  parameters for cosmics env.
+  //
+  AliGRPRecoParam *param = new AliGRPRecoParam();
+
+  param->SetVertexerTracksConstraintITS(kFALSE);
+  param->SetVertexerTracksConstraintTPC(kFALSE);
+  param->SetMostProbablePt(3.0);
+
+  return param;
+}
+//_____________________________________________________________________________
 void AliGRPRecoParam::GetVertexerTracksCuts(Int_t mode,Double_t *cuts) const {
   //
   // get cuts for ITS (0) or TPC (1) mode
@@ -142,6 +225,8 @@ void AliGRPRecoParam::GetVertexerTracksCuts(Int_t mode,Double_t *cuts) const {
     cuts[7] = fVertexerTracksTPCmaxtgl; 
     cuts[8] = fVertexerTracksTPCfidR;
     cuts[9] = fVertexerTracksTPCfidZ;
+    cuts[10]= fVertexerTracksTPCalgo;
+    cuts[11]= fVertexerTracksTPCalgoIter0;
   } else {
     cuts[0] = fVertexerTracksITSdcacut;
     cuts[1] = fVertexerTracksITSdcacutIter0;
@@ -153,12 +238,14 @@ void AliGRPRecoParam::GetVertexerTracksCuts(Int_t mode,Double_t *cuts) const {
     cuts[7] = fVertexerTracksITSmaxtgl; 
     cuts[8] = fVertexerTracksITSfidR;
     cuts[9] = fVertexerTracksITSfidZ;
+    cuts[10]= fVertexerTracksITSalgo;
+    cuts[11]= fVertexerTracksITSalgoIter0;
   }
 
   return;
 }
 //_____________________________________________________________________________
-void AliGRPRecoParam::SetVertexerTracksCuts(Int_t mode,Int_t ncuts,Double_t cuts[10]) {
+void AliGRPRecoParam::SetVertexerTracksCuts(Int_t mode,Int_t ncuts,Double_t cuts[12]) {
   //
   // set cuts for ITS (0) or TPC (1) mode
   //
@@ -178,6 +265,8 @@ void AliGRPRecoParam::SetVertexerTracksCuts(Int_t mode,Int_t ncuts,Double_t cuts
     fVertexerTracksTPCmaxtgl = cuts[7]; 
     fVertexerTracksTPCfidR = cuts[8];
     fVertexerTracksTPCfidZ = cuts[9];
+    fVertexerTracksTPCalgo = cuts[10];
+    fVertexerTracksTPCalgoIter0 = cuts[11];
   } else {
     fVertexerTracksITSdcacut = cuts[0];
     fVertexerTracksITSdcacutIter0 = cuts[1];
@@ -189,7 +278,75 @@ void AliGRPRecoParam::SetVertexerTracksCuts(Int_t mode,Int_t ncuts,Double_t cuts
     fVertexerTracksITSmaxtgl = cuts[7]; 
     fVertexerTracksITSfidR = cuts[8];
     fVertexerTracksITSfidZ = cuts[9];
+    fVertexerTracksITSalgo = cuts[10];
+    fVertexerTracksITSalgoIter0 = cuts[11];
   }
 
   return;
 }
+//_____________________________________________________________________________
+void AliGRPRecoParam::GetVertexerV0Cuts(Double_t *cuts) const {
+  //
+  // get cuts for AliV0vertexer
+  //
+  cuts[0] = fVertexerV0Chi2max;
+  cuts[1] = fVertexerV0DNmin;
+  cuts[2] = fVertexerV0DPmin;
+  cuts[3] = fVertexerV0DCAmax;
+  cuts[4] = fVertexerV0CPAmin;
+  cuts[5] = fVertexerV0Rmin;
+  cuts[6] = fVertexerV0Rmax;
+  return;
+}
+//_____________________________________________________________________________
+void AliGRPRecoParam::SetVertexerV0Cuts(Int_t ncuts,Double_t cuts[7]) {
+  //
+  // set cuts for AliV0vertexer
+  //
+  if(ncuts!=fVertexerV0NCuts) {
+    printf("AliGRPRecoParam: Number of AliV0vertexer cuts is %d\n",fVertexerV0NCuts);
+    return;
+  }
+  fVertexerV0Chi2max = cuts[0];
+  fVertexerV0DNmin   = cuts[1];
+  fVertexerV0DPmin   = cuts[2];
+  fVertexerV0DCAmax  = cuts[3];
+  fVertexerV0CPAmin  = cuts[4];
+  fVertexerV0Rmin    = cuts[5];
+  fVertexerV0Rmax    = cuts[6];
+  return;
+}
+//_____________________________________________________________________________
+void AliGRPRecoParam::GetVertexerCascadeCuts(Double_t *cuts) const {
+  //
+  // get cuts for AliCascadevertexer
+  //
+  cuts[0] = fVertexerCascadeChi2max;
+  cuts[1] = fVertexerCascadeDV0min;
+  cuts[2] = fVertexerCascadeMassWin;
+  cuts[3] = fVertexerCascadeDBachMin;
+  cuts[4] = fVertexerCascadeDCAmax;
+  cuts[5] = fVertexerCascadeCPAmin;
+  cuts[6] = fVertexerCascadeRmin;
+  cuts[7] = fVertexerCascadeRmax;
+  return;
+}
+//_____________________________________________________________________________
+void AliGRPRecoParam::SetVertexerCascadeCuts(Int_t ncuts,Double_t cuts[8]) {
+  //
+  // set cuts for AliCascadeVertexer
+  //
+  if(ncuts!=fVertexerCascadeNCuts) {
+    printf("AliGRPRecoParam: Number of AliCascadeVertexer cuts is %d\n",fVertexerCascadeNCuts);
+    return;
+  }
+  fVertexerCascadeChi2max  = cuts[0];
+  fVertexerCascadeDV0min   = cuts[1];
+  fVertexerCascadeMassWin  = cuts[2];
+  fVertexerCascadeDBachMin = cuts[3];
+  fVertexerCascadeDCAmax   = cuts[4];
+  fVertexerCascadeCPAmin   = cuts[5];
+  fVertexerCascadeRmin     = cuts[6];
+  fVertexerCascadeRmax     = cuts[7];
+  return;
+}