**************************************************************************/
#include "AliITSRecoParam.h"
+#include "AliESDV0Params.h"
#include "AliLog.h"
/* $Id$ */
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),
fMaxRoad(0),
fMaxChi2In(0),
fChi2PerCluster(0),
+fSearchForExtras(kTRUE),
fXV(0),
fYV(0),
fZV(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),
fMinClusterChargeSA(0.),
fSAOnePointTracks(kFALSE),
fSAUseAllClusters(kFALSE),
+fMaxSPDcontrForSAToUseAllClusters(1000000),
+fSAUsedEdxInfo(kFALSE),
+fSelectBestMIP03(kFALSE),
+fFlagFakes(kFALSE),
+fUseImproveKalman(kFALSE),
fFindV0s(kTRUE),
fStoreLikeSignV0s(kFALSE),
fUseUnfoldingInClusterFinderSPD(kFALSE),
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),
fMultCutK0SFromDecay(-10.),
fMultCutMaxDCA(1.),
//
+fCorrectLorentzAngleSPD(kTRUE),
+fTanLorentzAngleHolesSPD(0.017455), // tan(1 degree)
+fCorrectLorentzAngleSSD(kTRUE),
+fTanLorentzAngleHolesSSD(0.016), // tan(0.94 degrees)
+fTanLorentzAngleElectronsSSD(0.068), // tan(3.98 degrees)
+//
+fOptReco("All"),
fESDV0Params(NULL)
{
//
// make default reconstruction parameters for hig flux env.
//
AliITSRecoParam *param = new AliITSRecoParam();
- param->SetVertexerZ();
-
+ param->SetVertexer3DDefaults();
+ param->SetSPDVertexerPileupAlgoOff();
// use of bads from OCDB
param->SetUseBadZonesFromOCDB(kTRUE);
param->SetUseSingleBadChannelsFromOCDB(kFALSE);
param->fMaxChi2sR[4] = 30.;
param->fMaxChi2sR[5] = 40.;
+
param->fChi2PerCluster = 9.;
// not used
+ param->fSearchForExtras = kFALSE;
param->fXV = 0.;
param->fYV = 0.;
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;
}
//_____________________________________________________________________________
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;
}
//_____________________________________________________________________________
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;
+}