@@ -135,6 +135,8 @@ struct PidDiHadron {
135135 O2_DEFINE_CONFIGURABLE (cfgMultMultV0ALowCutFunction, std::string, " [0] + [1]*x + [2]*x*x + [3]*x*x*x + [4]*x*x*x*x - 3.*([5] + [6]*x + [7]*x*x + [8]*x*x*x + [9]*x*x*x*x)" , " Functional for multiplicity correlation cut" );
136136 O2_DEFINE_CONFIGURABLE (cfgMultMultV0ACutEnabled, bool , false , " Enable global multiplicity vs V0A multiplicity cut" )
137137 Configurable<std::vector<double >> cfgMultMultV0ACutPars{" cfgMultMultV0ACutPars" , std::vector<double >{534.893 , 184.344 , 0.423539 , -0.00331436 , 5.34622e-06 , 871.239 , 53.3735 , -0.203528 , 0.000122758 , 5.41027e-07 }, " Global multiplicity vs V0A multiplicity cut parameter values" };
138+ O2_DEFINE_CONFIGURABLE (cfgDCAxyNSigma, float , 7 , " Cut on number of sigma deviations from expected DCA in the transverse direction" );
139+ O2_DEFINE_CONFIGURABLE (cfgDCAxy, std::string, " (0.0026+0.005/(x^1.01))" , " Functional form of pt-dependent DCAxy cut" );
138140 std::vector<double > multT0CCutPars;
139141 std::vector<double > multPVT0CCutPars;
140142 std::vector<double > multGlobalPVCutPars;
@@ -149,6 +151,7 @@ struct PidDiHadron {
149151 TF1* fMultMultV0ACutHigh = nullptr ;
150152 TF1* fT0AV0AMean = nullptr ;
151153 TF1* fT0AV0ASigma = nullptr ;
154+ TF1* fPtDepDCAxy = nullptr ;
152155 } cfgFuncParas;
153156
154157 SliceCache cache;
@@ -462,6 +465,10 @@ struct PidDiHadron {
462465 cfgFuncParas.fT0AV0ASigma ->SetParameters (463.4144 , 6.796509e-02 , -9.097136e-07 , 7.971088e-12 , -2.600581e-17 );
463466 }
464467
468+ cfgFuncParas.fPtDepDCAxy = new TF1 (" ptDepDCAxy" , Form (" [0]*%s" , cfgFuncParas.cfgDCAxy ->c_str ()), 0.001 , 100 );
469+ cfgFuncParas.fPtDepDCAxy ->SetParameter (0 , cfgFuncParas.cfgDCAxyNSigma );
470+ LOGF (info, " DCAxy pt-dependence function: %s" , Form (" [0]*%s" , cfgFuncParas.cfgDCAxy ->c_str ()));
471+
465472 std::string hCentTitle = " Centrality distribution, Estimator " + std::to_string (cfgCentEstimator);
466473 // Make histograms to check the distributions after cuts
467474 if (doprocessSame || doprocessSameReso) {
@@ -578,6 +585,8 @@ struct PidDiHadron {
578585 template <typename TTrack>
579586 bool trackSelected (TTrack track)
580587 {
588+ if (cfgFuncParas.cfgDCAxyNSigma && (std::fabs (track.dcaXY ()) > cfgFuncParas.fPtDepDCAxy ->Eval (track.pt ())))
589+ return false ;
581590 return ((track.tpcNClsFound () >= cfgTpcCluster) && (track.tpcNClsCrossedRows () >= cfgTpcCrossRows) && (track.itsNCls () >= cfgITScluster));
582591 }
583592
0 commit comments