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;
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(),
fVtxr3DPhiCutTight(0.),
fVtxr3DDCACut(0.),
fVtxr3DPileupAlgo(1),
+fVtxr3DHighMultAlgo(1),
fMaxSnp(1.),
fNSigmaYLayerForRoadY(0),
fNSigmaRoadY(0),
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),
fInnerStartLayerSA(3),
fMinNPointsSA(3),
fFactorSAWindowSizes(1.),
-fNLoopsSA(33),
+fNLoopsSA(32),
fMinPhiSA(0.002),
fMaxPhiSA(0.0145),
fMinLambdaSA(0.003),
fTrackleterPhiRotationAngle(0.0),
fTrackleterNStdDev(1.5),
fScaleDTBySin2T(kFALSE),
+fTrackleterStoreSPD2SingleCl(kFALSE),
+fTrackleterBuildCl2TrkRefs(kTRUE),
+//
fUseCosmicRunShiftsSSD(kFALSE),
fSPDRemoveNoisyFlag(kTRUE),
fSPDRemoveDeadFlag(kTRUE),
fTanLorentzAngleHolesSSD(0.016), // tan(0.94 degrees)
fTanLorentzAngleElectronsSSD(0.068), // tan(3.98 degrees)
//
+fOptReco("All"),
fESDV0Params(NULL)
{
//
//
// trackleter
param->fTrackleterPhiWindow = 0.06;
+ param->fTrackleterBuildCl2TrkRefs = kFALSE;
param->fScaleDTBySin2T = kTRUE;
//
param->fSelectBestMIP03 = kFALSE;//kTRUE;
param->SetNLoopsSA(20);
param->fMaxPhiSA = 0.07;
param->fMaxLambdaSA = 0.04;
-
param->GetESDV0Params()->SetMinRTgl0(0.5);
param->GetESDV0Params()->SetMaxDist(1.5);
param->GetESDV0Params()->SetLikelihood1Cut(0.35);
param->GetESDV0Params()->SetCombinedCut(0.4);
+ // trackleter
+ param->fTrackleterBuildCl2TrkRefs = kTRUE;
+
// mult reco
param->fMultCutPxDrSPDin = 0.1;
param->fMultCutPxDrSPDout = 0.15;
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)
param->fSigmaZDeadZoneHit2 = 0.001/12.;
param->fXPassDeadZoneHits = 0.018;
+ // trackleter
+ param->fTrackleterBuildCl2TrkRefs = kFALSE;
+
return param;
}
//_____________________________________________________________________________
}
+//_____________________________________________________________________________
+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;
+}