@@ -87,6 +87,14 @@ struct MeanptFluctuationsAnalysis {
8787 Configurable<bool > cfgEvSelUseGoodZvtxFT0vsPV{" cfgEvSelUseGoodZvtxFT0vsPV" , true , " GoodZvertex and FT0 vs PV cut" };
8888 Configurable<int > cfgCentralityEstimator{" cfgCentralityEstimator" , 1 , " Centrlaity estimatore choice: 1-->FT0C, 2-->FT0A; 3-->FT0M, 4-->FV0A" };
8989
90+ // pT dep DCAxy and DCAz cuts
91+ Configurable<bool > cfgUsePtDepDCAxy{" cfgUsePtDepDCAxy" , true , " Use pt-dependent DCAxy cut" };
92+ Configurable<bool > cfgUsePtDepDCAz{" cfgUsePtDepDCAz" , true , " Use pt-dependent DCAz cut" };
93+ O2_DEFINE_CONFIGURABLE (cfgDCAxyFunc, std::string, " (0.0026+0.005/(x^1.01))" , " Functional form of pt-dependent DCAxy cut" );
94+ O2_DEFINE_CONFIGURABLE (cfgDCAzFunc, std::string, " (0.0026+0.005/(x^1.01))" , " Functional form of pt-dependent DCAz cut" );
95+ TF1* fPtDepDCAxy = nullptr ;
96+ TF1* fPtDepDCAz = nullptr ;
97+
9098 O2_DEFINE_CONFIGURABLE (cfgEvSelMultCorrelation, bool , true , " Multiplicity correlation cut" )
9199 O2_DEFINE_CONFIGURABLE (cfgEvSelV0AT0ACut, bool , true , " V0A T0A 5 sigma cut" )
92100 struct : ConfigurableGroup {
@@ -183,6 +191,8 @@ struct MeanptFluctuationsAnalysis {
183191 histos.add (" hDcaZ" , " ;#it{dca}_{Z}" , kTH1F , {{1000 , -5 , 5 }});
184192 histos.add (" his2DdcaXYvsPt" , " " , {HistType::kTH2D , {ptAxis, {1000 , -1 , 1 }}});
185193 histos.add (" his2DdcaZvsPt" , " " , {HistType::kTH2D , {ptAxis, {1000 , -1 , 1 }}});
194+ histos.add (" his2DdcaXYvsPtPtBeforePtDepSel" , " " , {HistType::kTH2D , {ptAxis, {1000 , -1 , 1 }}});
195+ histos.add (" his2DdcaZvsPtPtBeforePtDepSel" , " " , {HistType::kTH2D , {ptAxis, {1000 , -1 , 1 }}});
186196 histos.add (" hMeanPt" , " " , kTProfile , {centAxis});
187197 histos.add (" Hist2D_globalTracks_PVTracks" , " " , {HistType::kTH2D , {nchAxis, nchAxis}});
188198 histos.add (" Hist2D_cent_nch" , " " , {HistType::kTH2D , {nchAxis, centAxis}});
@@ -300,6 +310,13 @@ struct MeanptFluctuationsAnalysis {
300310 cfgFuncParas.fT0AV0ASigma ->SetParameters (463.4144 , 6.796509e-02 , -9.097136e-07 , 7.971088e-12 , -2.600581e-17 );
301311 }
302312
313+ if (cfgUsePtDepDCAxy) {
314+ fPtDepDCAxy = new TF1 (" ptDepDCAxy" , Form (" %s" , cfgDCAxyFunc->c_str ()), 0.001 , 1000 );
315+ }
316+ if (cfgUsePtDepDCAz) {
317+ fPtDepDCAz = new TF1 (" ptDepDCAz" , Form (" %s" , cfgDCAzFunc->c_str ()), 0.001 , 1000 );
318+ }
319+
303320 } // ! end init function
304321
305322 template <typename TCollision>
@@ -649,6 +666,16 @@ struct MeanptFluctuationsAnalysis {
649666 continue ;
650667 }
651668
669+ histos.fill (HIST (" his2DdcaXYvsPtBeforePtDepSel" ), track.pt (), track.dcaXY ());
670+ histos.fill (HIST (" his2DdcaZvsPtPtBeforePtDepSel" ), track.pt (), track.dcaZ ());
671+
672+ if (cfgUsePtDepDCAxy && !(std::abs (track.dcaXY ()) < fPtDepDCAxy ->Eval (track.pt ()))) {
673+ continue ;
674+ }
675+ if (cfgUsePtDepDCAz && !(std::abs (track.dcaZ ()) < fPtDepDCAz ->Eval (track.pt ()))) {
676+ continue ;
677+ }
678+
652679 if (particle.isPhysicalPrimary ()) {
653680 if ((particle.pt () > cfgCutPtLower) && (particle.pt () < cfgCutPreSelPt) && (std::abs (particle.eta ()) < cfgCutPreSelEta)) {
654681 histos.fill (HIST (" hP" ), track.p ());
@@ -776,6 +803,16 @@ struct MeanptFluctuationsAnalysis {
776803 continue ;
777804 }
778805
806+ histos.fill (HIST (" his2DdcaXYvsPtBeforePtDepSel" ), track.pt (), track.dcaXY ());
807+ histos.fill (HIST (" his2DdcaZvsPtPtBeforePtDepSel" ), track.pt (), track.dcaZ ());
808+
809+ if (cfgUsePtDepDCAxy && !(std::abs (track.dcaXY ()) < fPtDepDCAxy ->Eval (track.pt ()))) {
810+ continue ;
811+ }
812+ if (cfgUsePtDepDCAz && !(std::abs (track.dcaZ ()) < fPtDepDCAz ->Eval (track.pt ()))) {
813+ continue ;
814+ }
815+
779816 histos.fill (HIST (" hP" ), track.p ());
780817 histos.fill (HIST (" hPt" ), track.pt ());
781818 histos.fill (HIST (" hEta" ), track.eta ());
0 commit comments