]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSRecoParam.cxx
For Pythia with tune don't switch off MI in ConfigHeavyFlavor
[u/mrichter/AliRoot.git] / ITS / AliITSRecoParam.cxx
index 13d18021a3bf9332d6e97ddc77a8228804f6515e..b6f973f983dfcac5b9d60fe4f6f3ad41449b882e 100644 (file)
@@ -45,7 +45,7 @@ const Double_t AliITSRecoParam::fgkdm=0.40;
 const Double_t AliITSRecoParam::fgkrs=50.0;
 const Double_t AliITSRecoParam::fgkds=0.001;
 const Double_t AliITSRecoParam::fgkrInsideITSscreen=49.0;
-const Double_t AliITSRecoParam::fgkrInsideSPD1=3.7;
+const Double_t AliITSRecoParam::fgkrInsideSPD1=3.5;
 const Double_t AliITSRecoParam::fgkrPipe=3.;
 const Double_t AliITSRecoParam::fgkrInsidePipe=2.7;
 const Double_t AliITSRecoParam::fgkrOutsidePipe=3.3;
@@ -75,6 +75,7 @@ fVtxr3DRCutNarrow(0.),
 fVtxr3DPhiCutLoose(0.),
 fVtxr3DPhiCutTight(0.),
 fVtxr3DDCACut(0.),
+fVtxr3DPileupAlgo(1),
 fMaxSnp(1.),
 fNSigmaYLayerForRoadY(0),
 fNSigmaRoadY(0),
@@ -108,8 +109,9 @@ fZWindowDeadZone(0),
 fSigmaXDeadZoneHit2(0),
 fSigmaZDeadZoneHit2(0),
 fXPassDeadZoneHits(0),
+fSkipSubdetsNotInTriggerCluster(kTRUE),
 fUseTGeoInTracker(3),
-fStepSizeTGeo(0.1),
+fStepSizeTGeo(5.),
 fAllowSharedClusters(kTRUE),
 fClusterErrorsParam(1),
 fComputePlaneEff(kFALSE),
@@ -118,7 +120,9 @@ fUseTrackletsPlaneEff(kFALSE),
 fMCTrackletsPlaneEff(kFALSE),
 fBkgTrackletsPlaneEff(kFALSE),
 fTrackleterPhiWindowL1(0.10),
+fTrackleterPhiWindowL2(0.07),
 fTrackleterZetaWindowL1(0.6),
+fTrackleterZetaWindowL2(0.4),
 fUpdateOncePerEventPlaneEff(kTRUE),
 fMinContVtxPlaneEff(3),
 fIPlanePlaneEff(0),
@@ -150,17 +154,37 @@ fFindV0s(kTRUE),
 fStoreLikeSignV0s(kFALSE),
 fUseUnfoldingInClusterFinderSPD(kFALSE),
 fUseUnfoldingInClusterFinderSDD(kTRUE),
-fUseUnfoldingInClusterFinderSSD(kTRUE),
+fUseUnfoldingInClusterFinderSSD(kFALSE),
+fUseBadChannelsInClusterFinderSSD(kFALSE),
+fUseSDDCorrectionMaps(kTRUE),
 fUseSDDClusterSizeSelection(kFALSE),
 fMinClusterChargeSDD(0.),
 fUseChargeMatchingInClusterFinderSSD(kTRUE),
-fTrackleterOnlyOneTrackletPerC2(kTRUE),
 fTrackleterPhiWindow(0.08),
-fTrackleterZetaWindow(1.00),
+fTrackleterThetaWindow(0.025),
+fTrackleterPhiShift(0.0045),
 fTrackleterRemoveClustersFromOverlaps(kFALSE),
 fTrackleterPhiOverlapCut(0.005),
 fTrackleterZetaOverlapCut(0.05),
-fUseCosmicRunShiftsSSD(kFALSE)
+fUseCosmicRunShiftsSSD(kFALSE),
+fSPDRemoveNoisyFlag(kTRUE),
+fSPDRemoveDeadFlag(kTRUE),
+fVertexerFastSmearX(0.005),
+fVertexerFastSmearY(0.005),
+fVertexerFastSmearZ(0.01),
+fAlignFilterCosmics(kFALSE),
+fAlignFilterCosmicMergeTracks(kTRUE),
+fAlignFilterMinITSPoints(4),
+fAlignFilterMinITSPointsMerged(4),
+fAlignFilterOnlyITSSATracks(kTRUE),
+fAlignFilterOnlyITSTPCTracks(kFALSE),
+fAlignFilterSkipExtra(kFALSE),
+fAlignFilterMaxMatchingAngle(0.085),
+fAlignFilterMinAngleWrtModulePlanes(0.52),
+fAlignFilterMinPt(0.),
+fAlignFilterMaxPt(1.e10),
+fAlignFilterFillQANtuples(kTRUE),
+fESDV0Params(NULL)
 {
   //
   // constructor
@@ -171,14 +195,73 @@ fUseCosmicRunShiftsSSD(kFALSE)
   SetLayersParameters();
   for(Int_t i=0; i<AliITSgeomTGeo::kNLayers; i++) fLayersToSkip[i]=0;
   SetUseTGeoInTracker(3);
-  SetStepSizeTGeo(0.1);
+  SetStepSizeTGeo(5.);
   SetAllowSharedClusters(kTRUE);
   SetFindV0s(kTRUE);
   SetAddVirtualClustersInDeadZone(kFALSE);
   SetUseAmplitudeInfo(kTRUE);
   SetClusterErrorsParam(1);
   SetClusterMisalError(0.);
+  SetClusterMisalErrorBOn(0.);
   SetVertexer3DDefaults();
+
+  for(Int_t i=0; i<AliITSgeomTGeo::kNLayers; i++) fAlignFilterUseLayer[i]=kTRUE;
+  fESDV0Params = new AliESDV0Params();
+  
+  fESDV0Params->SetMaxDist0(0.1);
+  fESDV0Params->SetMaxDist1(0.1);
+  fESDV0Params->SetMaxDist(1.);
+  fESDV0Params->SetMinPointAngle(0.85);
+  fESDV0Params->SetMinPointAngle2(0.99);
+  fESDV0Params->SetMinR(0.5);
+  fESDV0Params->SetMaxR(220.);
+  fESDV0Params->SetMinPABestConst(0.9999);
+  fESDV0Params->SetMaxRBestConst(10.);
+  fESDV0Params->SetCausality0Cut(0.19);
+  fESDV0Params->SetLikelihood01Cut(0.45);
+  fESDV0Params->SetLikelihood1Cut(0.5);  
+  fESDV0Params->SetCombinedCut(0.55);
+  fESDV0Params->SetMinClFullTrk(5.0);
+  fESDV0Params->SetMinTgl0(1.05);
+  fESDV0Params->SetMinRTgl0(40.0);
+
+  fESDV0Params->SetMinNormDistForbTgl0(3.0);
+  fESDV0Params->SetMinClForb0(4.5);
+  fESDV0Params->SetMinNormDistForb1(3.0);
+  fESDV0Params->SetMinNormDistForb2(2.0);
+  fESDV0Params->SetMinNormDistForb3(1.0);
+  fESDV0Params->SetMinNormDistForb4(4.0);
+  fESDV0Params->SetMinNormDistForb5(5.0);
+  fESDV0Params->SetMinNormDistForbProt(2.0);
+  fESDV0Params->SetMaxPidProbPionForb(0.5);
+
+  fESDV0Params->SetMinRTPCdensity(40.);
+  fESDV0Params->SetMaxRTPCdensity0(110.);
+  fESDV0Params->SetMaxRTPCdensity10(120.);
+  fESDV0Params->SetMaxRTPCdensity20(130.);
+  fESDV0Params->SetMaxRTPCdensity30(140.);
+
+  fESDV0Params->SetMinTPCdensity(0.6);
+  fESDV0Params->SetMinTgl1(1.1);
+  fESDV0Params->SetMinTgl2(1.0);
+  fESDV0Params->SetMinchi2before0(16.);
+  fESDV0Params->SetMinchi2before1(16.);
+  fESDV0Params->SetMinchi2after0(16.);
+  fESDV0Params->SetMinchi2after1(16.);
+  fESDV0Params->SetAddchi2SharedCl(18.);
+  fESDV0Params->SetAddchi2NegCl0(25.);
+  fESDV0Params->SetAddchi2NegCl1(30.);
+  fESDV0Params->SetSigp0Par0(0.0001);
+  fESDV0Params->SetSigp0Par1(0.001);
+  fESDV0Params->SetSigp0Par2(0.1);
+  fESDV0Params->SetSigpPar0(0.5);
+  fESDV0Params->SetSigpPar1(0.6);
+  fESDV0Params->SetSigpPar2(0.4);
+  fESDV0Params->SetMaxDcaLh0(0.5);
+  fESDV0Params->SetStreamLevel(0);
+  fESDV0Params->SetChi2KF(100);
+  fESDV0Params->SetRobustChi2KF(100);
+  
 }
 //_____________________________________________________________________________
 AliITSRecoParam::~AliITSRecoParam() 
@@ -186,6 +269,10 @@ AliITSRecoParam::~AliITSRecoParam()
   //
   // destructor
   //  
+  if(fESDV0Params){
+    delete fESDV0Params;
+    fESDV0Params=NULL;
+  }
 }
 //_____________________________________________________________________________
 AliITSRecoParam *AliITSRecoParam::GetHighFluxParam() 
@@ -203,7 +290,8 @@ AliITSRecoParam *AliITSRecoParam::GetHighFluxParam()
   param->SetExtendedEtaAcceptance(kFALSE);
   // allow to skip layer if no cluster and no bad
   param->SetAllowProlongationWithEmptyRoad(kFALSE);
-
+  // set event specie
+  param->SetEventSpecie(AliRecoParam::kHighMult);
 
   param->fMaxSnp = 0.95;
 
@@ -284,6 +372,8 @@ AliITSRecoParam *AliITSRecoParam::GetHighFluxParam()
   param->fSigmaXDeadZoneHit2 = 0.004/12.;
   param->fSigmaZDeadZoneHit2 = 0.001/12.;
   param->fXPassDeadZoneHits = 0.018;
+
+
   
   return param;
 }
@@ -303,7 +393,8 @@ AliITSRecoParam *AliITSRecoParam::GetLowFluxParam()
   param->SetExtendedEtaAcceptance(kTRUE);
   // allow to skip layer if no cluster and no bad
   param->SetAllowProlongationWithEmptyRoad(kTRUE);
-
+  // set event specie
+  param->SetEventSpecie(AliRecoParam::kLowMult);
 
   param->fMaxSnp = 0.95;
 
@@ -387,6 +478,23 @@ AliITSRecoParam *AliITSRecoParam::GetLowFluxParam()
   param->SetNLoopsSA(20);
   param->fMaxPhiSA = 0.07;
   param->fMaxLambdaSA = 0.04;
+
+  param->GetESDV0Params()->SetMinRTgl0(0.5);
+  param->GetESDV0Params()->SetMaxDist(1.5);
+  param->GetESDV0Params()->SetMaxDcaLh0(1.5);
+  param->GetESDV0Params()->SetMaxRBestConst(80);
+  param->GetESDV0Params()->SetMinPABestConst(0.99);
+  param->GetESDV0Params()->SetMinNormDistForbTgl0(1.);
+  param->GetESDV0Params()->SetMinNormDistForb1(2.);
+  param->GetESDV0Params()->SetMinNormDistForbProt(1.);
+  param->GetESDV0Params()->SetMaxPidProbPionForb(0.7);
+  param->GetESDV0Params()->SetLikelihood01Cut(0.3);
+  param->GetESDV0Params()->SetLikelihood1Cut(0.35);
+  param->GetESDV0Params()->SetCombinedCut(0.4);
+
+
+
   return param;
 }
 //_____________________________________________________________________________
@@ -400,12 +508,60 @@ AliITSRecoParam *AliITSRecoParam::GetCosmicTestParam()
   // vertexer for cosmics
   param->SetVertexer(2);
 
+  param->SetClusterErrorsParam(2);
+  param->SetFindV0s(kFALSE);
+  param->SetAddVirtualClustersInDeadZone(kFALSE);
+  param->SetUseAmplitudeInfo(kFALSE);
+
+  // set event specie
+  param->SetEventSpecie(AliRecoParam::kCosmic);
+
+  // full use of bads from OCDB
+  param->SetUseBadZonesFromOCDB(kTRUE);
+  param->SetUseSingleBadChannelsFromOCDB(kTRUE);
+
   // find independently ITS SA tracks 
   param->SetSAUseAllClusters();
   param->SetOuterStartLayerSA(AliITSgeomTGeo::GetNLayers()-2);
 
+  //****** COSMICS 2009 (same as COSMICS 2008) *********************
+
+  // to maximize efficiency
+  param->SetAllowProlongationWithEmptyRoad();
+  param->SetMinNPointsSA(2);
+
   // larger seach windows for SA (in case of large misalignments)
-  param->SetFactorSAWindowSizes(3.); 
+  param->SetNLoopsSA(33);
+  param->SetFactorSAWindowSizes(20);
+
+  // additional error due to misal (B off)
+  param->SetClusterMisalErrorY(1.0,1.0,1.0,1.0,1.0,1.0); // [cm]
+  param->SetClusterMisalErrorZ(1.0,1.0,1.0,1.0,1.0,1.0); // [cm]
+  // additional error due to misal (B on)
+  param->SetClusterMisalErrorYBOn(0.0,0.0,0.1,0.1,0.1,0.1); // [cm]
+  param->SetClusterMisalErrorZBOn(0.1,0.1,0.1,0.1,0.1,0.1); // [cm]
+
+
+  // SDD configuration 
+  param->fUseSDDCorrectionMaps = kFALSE;
+  param->fUseSDDClusterSizeSelection=kTRUE;
+  param->fMinClusterChargeSDD=30.;
+  
+
+  // alignment data filter
+  param->SetAlignFilterCosmics(kTRUE);
+  param->SetAlignFilterCosmicMergeTracks(kTRUE); 
+  param->SetAlignFilterMinITSPoints(1);
+  param->SetAlignFilterMinITSPointsMerged(3);
+  param->SetAlignFilterOnlyITSSATracks(kTRUE);
+  param->SetAlignFilterOnlyITSTPCTracks(kFALSE);
+  param->SetAlignFilterSkipExtra(kFALSE);
+  param->SetAlignFilterMaxMatchingAngle(0.085/*5deg*/);
+  param->SetAlignFilterMinPt(0.2);          
+  param->SetAlignFilterMaxPt(1.e10);          
+  param->SetAlignFilterFillQANtuples(kTRUE);    
+
+  //******************************************************************
 
   param->fMaxSnp = 0.95;
 
@@ -487,7 +643,6 @@ AliITSRecoParam *AliITSRecoParam::GetCosmicTestParam()
   param->fSigmaZDeadZoneHit2 = 0.001/12.;
   param->fXPassDeadZoneHits = 0.018;
 
-  
   return param;
 }
 //_____________________________________________________________________________
@@ -540,8 +695,8 @@ AliITSRecoParam *AliITSRecoParam::GetPlaneEffParam(Int_t i)
     param->SetIPlanePlaneEff(i);
     param->SetComputePlaneEff(kTRUE,kFALSE);
     param->SetUseTrackletsPlaneEff(kTRUE);
-    param->SetTrackleterPhiWindow(0.07);
-    param->SetTrackleterZetaWindow(0.4);
+    param->SetTrackleterPhiWindowL2(0.07);
+    param->SetTrackleterZetaWindowL2(0.4);
     param->SetTrackleterPhiWindowL1(0.10);
     param->SetTrackleterZetaWindowL1(0.6);
     param->SetUpdateOncePerEventPlaneEff(kTRUE);
@@ -609,3 +764,4 @@ void AliITSRecoParam::PrintParameters() const
 
   return;
 }
+