]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSRecoParam.cxx
fix in calling of gaussian spread function
[u/mrichter/AliRoot.git] / ITS / AliITSRecoParam.cxx
index 9d4dba7375eff308584d864790b811f3b83198f2..296e5e50abc261626eb6b705c1b6bcfbfaba05d2 100644 (file)
@@ -14,6 +14,7 @@
  **************************************************************************/
 
 #include "AliITSRecoParam.h"
+#include "AliESDV0Params.h"
 #include "AliLog.h"
 
 /* $Id$ */
@@ -30,8 +31,6 @@
 ClassImp(AliITSRecoParam)
 
 const Int_t AliITSRecoParam::fgkLayersNotToSkip[AliITSgeomTGeo::kNLayers]={0,0,0,0,0,0};
-const Int_t AliITSRecoParam::fgkLastLayerToTrackTo=0;
-const Int_t AliITSRecoParam::fgkMaxDetectorPerLayer=1000;
 const Double_t AliITSRecoParam::fgkriw=80.0;
 const Double_t AliITSRecoParam::fgkdiw=0.0053;
 const Double_t AliITSRecoParam::fgkX0iw=30.0;
@@ -58,8 +57,8 @@ const Double_t AliITSRecoParam::fgkX0Air=21.82;
 const Double_t AliITSRecoParam::fgkX0Be=65.19;
 const Double_t AliITSRecoParam::fgkBoundaryWidth=0.2;
 const Double_t AliITSRecoParam::fgkDeltaXNeighbDets=0.5;
-const Double_t AliITSRecoParam::fgkSPDdetzlength=6.960; // 7.072-2*0.056
-const Double_t AliITSRecoParam::fgkSPDdetxlength=1.298; // 1.410-2*0.056
+const Double_t AliITSRecoParam::fgkSPDdetzlength=6.960;
+const Double_t AliITSRecoParam::fgkSPDdetxlength=1.298;
 
 //_____________________________________________________________________________
 AliITSRecoParam::AliITSRecoParam() : AliDetectorRecoParam(),
@@ -76,6 +75,7 @@ fVtxr3DPhiCutLoose(0.),
 fVtxr3DPhiCutTight(0.),
 fVtxr3DDCACut(0.),
 fVtxr3DPileupAlgo(1),
+fVtxr3DHighMultAlgo(1),
 fMaxSnp(1.),
 fNSigmaYLayerForRoadY(0),
 fNSigmaRoadY(0),
@@ -134,8 +134,19 @@ fMaxMissingClustersOutPlaneEff(5),
 fRequireClusterInOuterLayerPlaneEff(kFALSE),
 fRequireClusterInInnerLayerPlaneEff(kFALSE),
 fOnlyConstraintPlaneEff(kFALSE),
-fNSigXFromBoundaryPlaneEff(1.),
-fNSigZFromBoundaryPlaneEff(1.),
+fNSigXFromBoundaryPlaneEff(0.),
+fNSigZFromBoundaryPlaneEff(0.),
+fDistXFromBoundaryPlaneEff(0.),
+fDistZFromBoundaryPlaneEff(0.),
+fSwitchOnMaxDistNSigFrmBndPlaneEff(kFALSE),
+fSwitchOffStdSearchClusPlaneEff(kFALSE),
+fNSigXSearchClusterPlaneEff(0.),
+fNSigZSearchClusterPlaneEff(0.),
+fDistXSearchClusterPlaneEff(0.),
+fDistZSearchClusterPlaneEff(0.),
+fSwitchOnMaxDistNSigSrhClusPlaneEff(kFALSE),
+fDCACutPlaneEff(999.),
+fVertexChi2CutPlaneEff(999999999.),
 fImproveWithVertex(kFALSE),
 fExtendedEtaAcceptance(kFALSE),
 fUseBadZonesFromOCDB(kTRUE),
@@ -147,7 +158,7 @@ fOuterStartLayerSA(2),
 fInnerStartLayerSA(3),
 fMinNPointsSA(3),
 fFactorSAWindowSizes(1.),
-fNLoopsSA(33),
+fNLoopsSA(32),
 fMinPhiSA(0.002),
 fMaxPhiSA(0.0145),
 fMinLambdaSA(0.003),
@@ -155,6 +166,11 @@ fMaxLambdaSA(0.008),
 fMinClusterChargeSA(0.),
 fSAOnePointTracks(kFALSE),
 fSAUseAllClusters(kFALSE),
+fMaxSPDcontrForSAToUseAllClusters(1000000),
+fSAUsedEdxInfo(kFALSE),
+fSelectBestMIP03(kFALSE),
+fFlagFakes(kFALSE),
+fUseImproveKalman(kFALSE),
 fFindV0s(kTRUE),
 fStoreLikeSignV0s(kFALSE),
 fUseUnfoldingInClusterFinderSPD(kFALSE),
@@ -172,6 +188,11 @@ fTrackleterRemoveClustersFromOverlaps(kFALSE),
 fTrackleterPhiOverlapCut(0.005),
 fTrackleterZetaOverlapCut(0.05),
 fTrackleterPhiRotationAngle(0.0),
+fTrackleterNStdDev(1.5),
+fScaleDTBySin2T(kFALSE),
+fTrackleterStoreSPD2SingleCl(kFALSE),
+fTrackleterBuildCl2TrkRefs(kTRUE),
+//
 fUseCosmicRunShiftsSSD(kFALSE),
 fSPDRemoveNoisyFlag(kTRUE),
 fSPDRemoveDeadFlag(kTRUE),
@@ -218,6 +239,7 @@ fCorrectLorentzAngleSSD(kTRUE),
 fTanLorentzAngleHolesSSD(0.016),  // tan(0.94 degrees)
 fTanLorentzAngleElectronsSSD(0.068), // tan(3.98 degrees)
 //
+fOptReco("All"),
 fESDV0Params(NULL)
 {
   //
@@ -316,7 +338,7 @@ AliITSRecoParam *AliITSRecoParam::GetHighFluxParam()
   //
   AliITSRecoParam *param = new AliITSRecoParam();
   param->SetVertexer3DDefaults();
-
+  param->SetSPDVertexerPileupAlgoOff();
   // use of bads from OCDB
   param->SetUseBadZonesFromOCDB(kTRUE);
   param->SetUseSingleBadChannelsFromOCDB(kFALSE);
@@ -433,6 +455,15 @@ AliITSRecoParam *AliITSRecoParam::GetHighFluxParam()
   param->fMultCutK0SFromDecay = -10.;
   param->fMultCutMaxDCA = 1.;  
   //
+  // trackleter
+  param->fTrackleterPhiWindow = 0.06;
+  param->fTrackleterBuildCl2TrkRefs = kFALSE;
+  param->fScaleDTBySin2T = kTRUE;
+  //
+  param->fSelectBestMIP03 = kFALSE;//kTRUE;
+  param->fFlagFakes       = kTRUE;
+  param->fUseImproveKalman= kFALSE;
+  //
   return param;
 }
 //_____________________________________________________________________________
@@ -536,7 +567,6 @@ AliITSRecoParam *AliITSRecoParam::GetLowFluxParam()
   param->SetNLoopsSA(20);
   param->fMaxPhiSA = 0.07;
   param->fMaxLambdaSA = 0.04;
-
  
   param->GetESDV0Params()->SetMinRTgl0(0.5);
   param->GetESDV0Params()->SetMaxDist(1.5);
@@ -551,6 +581,9 @@ AliITSRecoParam *AliITSRecoParam::GetLowFluxParam()
   param->GetESDV0Params()->SetLikelihood1Cut(0.35);
   param->GetESDV0Params()->SetCombinedCut(0.4);
 
+  // trackleter
+  param->fTrackleterBuildCl2TrkRefs = kTRUE;
+
   // mult reco
   param->fMultCutPxDrSPDin = 0.1;
   param->fMultCutPxDrSPDout = 0.15;
@@ -610,7 +643,7 @@ AliITSRecoParam *AliITSRecoParam::GetCosmicTestParam()
   param->SetMinNPointsSA(2);
 
   // larger seach windows for SA (in case of large misalignments)
-  param->SetNLoopsSA(33);
+  param->SetNLoopsSA(32);
   param->SetFactorSAWindowSizes(20);
 
   // additional error due to misal (B off)
@@ -722,6 +755,9 @@ AliITSRecoParam *AliITSRecoParam::GetCosmicTestParam()
   param->fSigmaZDeadZoneHit2 = 0.001/12.;
   param->fXPassDeadZoneHits = 0.018;
 
+  // trackleter
+  param->fTrackleterBuildCl2TrkRefs = kFALSE;
+
   return param;
 }
 //_____________________________________________________________________________
@@ -884,3 +920,18 @@ void AliITSRecoParam::PrintParameters() const
 
   return;
 }
+
+
+//_____________________________________________________________________________
+Bool_t AliITSRecoParam::SetOptReco(TString r){
+  // Set option for local reconstruction. 
+  // The string must contain at least one of the following
+  // substrings: "All", "SPD", "SDD", "SSD"
+  Bool_t isFine = kFALSE;
+  if(r.Contains("All") || r.Contains("SPD") || r.Contains("SDD") 
+     || r.Contains("SSD")){
+      isFine = kTRUE;
+      fOptReco=r;
+  }
+  return isFine;
+}