Skip to content

Commit dff8256

Browse files
committed
add Nsigma DCAxy for systematics
1 parent 4d53821 commit dff8256

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

PWGCF/Flow/Tasks/flowTask.cxx

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,10 @@ struct FlowTask {
167167
O2_DEFINE_CONFIGURABLE(cfgDptDisCutLow, std::string, "", "CCDB path to dpt lower boundary")
168168
O2_DEFINE_CONFIGURABLE(cfgDptDisCutHigh, std::string, "", "CCDB path to dpt higher boundary")
169169
ConfigurableAxis cfgDptDisAxisNormal{"cfgDptDisAxisNormal", {200, -1., 1.}, "normalized axis"};
170+
// Functional form of pt-dependent DCAxy cut
171+
TF1* fPtDepDCAxy = nullptr;
172+
O2_DEFINE_CONFIGURABLE(cfgDCAxyNSigma, float, 0, "0: disable; Cut on number of sigma deviations from expected DCA in the transverse direction, nsigma=7 is the same with global track");
173+
O2_DEFINE_CONFIGURABLE(cfgDCAxy, std::string, "(0.0026+0.005/(x^1.01))", "Functional form of pt-dependent DCAxy cut");
170174
} cfgFuncParas;
171175

172176
ConfigurableAxis axisPtHist{"axisPtHist", {100, 0., 10.}, "pt axis for histograms"};
@@ -571,6 +575,12 @@ struct FlowTask {
571575
funcV4 = new TF1("funcV4", "[0]+[1]*x+[2]*x*x+[3]*x*x*x+[4]*x*x*x*x", 0, 100);
572576
funcV4->SetParameters(0.008845, 0.000259668, -3.24435e-06, 4.54837e-08, -6.01825e-10);
573577
}
578+
579+
if (cfgFuncParas.cfgDCAxyNSigma) {
580+
cfgFuncParas.fPtDepDCAxy = new TF1("ptDepDCAxy", Form("[0]*%s", cfgFuncParas.cfgDCAxy->c_str()), 0.001, 1000);
581+
cfgFuncParas.fPtDepDCAxy->SetParameter(0, cfgFuncParas.cfgDCAxyNSigma);
582+
LOGF(info, "DCAxy pt-dependence function: %s", Form("[0]*%s", cfgFuncParas.cfgDCAxy->c_str()));
583+
}
574584
}
575585

576586
void createOutputObjectsForRun(int runNumber)
@@ -861,6 +871,8 @@ struct FlowTask {
861871
template <typename TTrack>
862872
bool trackSelected(TTrack track)
863873
{
874+
if (cfgFuncParas.cfgDCAxyNSigma && (std::fabs(track.dcaXY()) > cfgFuncParas.fPtDepDCAxy->Eval(track.pt())))
875+
return false;
864876
return ((track.tpcNClsFound() >= cfgCutTPCclu) && (track.tpcNClsCrossedRows() >= cfgCutTPCCrossedRows) && (track.itsNCls() >= cfgCutITSclu));
865877
}
866878

0 commit comments

Comments
 (0)