@@ -54,6 +54,7 @@ struct HfTaskDirectedFlowCharmHadrons {
5454 Configurable<float > centralityMax{" centralityMax" , 100 ., " Maximum centrality accepted in SP computation" };
5555 Configurable<bool > storeMl{" storeMl" , false , " Flag to store ML scores" };
5656 Configurable<bool > direct{" direct" , false , " Flag to calculate direct v1 odd and even" };
57+ Configurable<bool > correction{" correction" , false , " Flag for correction" };
5758 Configurable<bool > userap{" userap" , false , " Flag to fill rapidity vs eta " };
5859 Configurable<std::string> ccdbUrl{" ccdbUrl" , " http://alice-ccdb.cern.ch" , " url of the ccdb repository" };
5960 Configurable<std::vector<int >> classMl{" classMl" , {0 , 2 }, " Indices of BDT scores to be stored. Two indexes max." };
@@ -121,17 +122,19 @@ struct HfTaskDirectedFlowCharmHadrons {
121122
122123 if (direct) {
123124 registry.add (" hpQxytpvscent" , " hpQxytpvscent" , HistType::kTHnSparseF , {thnAxisCent, thnAxisScalarProd}, true );
124- registry.add (" hpuxyQxypvscentpteta" , " hpuxyQxypvscentpteta" , HistType::kTHnSparseF , axes, true );
125- registry.add (" hpuxyQxytvscentpteta" , " hpuxyQxytvscentpteta" , HistType::kTHnSparseF , axes, true );
126125 registry.add (" hpoddvscentpteta" , " hpoddvscentpteta" , HistType::kTHnSparseF , axes, true );
127126 registry.add (" hpevenvscentpteta" , " hpevenvscentpteta" , HistType::kTHnSparseF , axes, true );
128-
129- registry.add (" hpQxpvscent" , " hpQxpvscent" , HistType::kTHnSparseF , {thnAxisCent, thnAxisScalarProd}, true );
130- registry.add (" hpQypvscent" , " hpQypvscent" , HistType::kTHnSparseF , {thnAxisCent, thnAxisScalarProd}, true );
131- registry.add (" hpQxtvscent" , " hpQxtvscent" , HistType::kTHnSparseF , {thnAxisCent, thnAxisScalarProd}, true );
132- registry.add (" hpQytvscent" , " hpQytvscent" , HistType::kTHnSparseF , {thnAxisCent, thnAxisScalarProd}, true );
133- registry.add (" hpuxvscentpteta" , " hpuxvscentpteta" , HistType::kTHnSparseF , axes, true );
134- registry.add (" hpuyvscentpteta" , " hpuyvscentpteta" , HistType::kTHnSparseF , axes, true );
127+ if (correction) {
128+ registry.add (" hpuxyQxypvscentpteta" , " hpuxyQxypvscentpteta" , HistType::kTHnSparseF , axes, true );
129+ registry.add (" hpuxyQxytvscentpteta" , " hpuxyQxytvscentpteta" , HistType::kTHnSparseF , axes, true );
130+
131+ registry.add (" hpQxpvscent" , " hpQxpvscent" , HistType::kTHnSparseF , {thnAxisCent, thnAxisScalarProd}, true );
132+ registry.add (" hpQypvscent" , " hpQypvscent" , HistType::kTHnSparseF , {thnAxisCent, thnAxisScalarProd}, true );
133+ registry.add (" hpQxtvscent" , " hpQxtvscent" , HistType::kTHnSparseF , {thnAxisCent, thnAxisScalarProd}, true );
134+ registry.add (" hpQytvscent" , " hpQytvscent" , HistType::kTHnSparseF , {thnAxisCent, thnAxisScalarProd}, true );
135+ registry.add (" hpuxvscentpteta" , " hpuxvscentpteta" , HistType::kTHnSparseF , axes, true );
136+ registry.add (" hpuyvscentpteta" , " hpuyvscentpteta" , HistType::kTHnSparseF , axes, true );
137+ }
135138 } else {
136139 registry.add (" hpQxtQxpvscent" , " hpQxtQxpvscent" , HistType::kTHnSparseF , {thnAxisCent, thnAxisScalarProd}, true );
137140 registry.add (" hpQytQypvscent" , " hpQytQypvscent" , HistType::kTHnSparseF , {thnAxisCent, thnAxisScalarProd}, true );
@@ -212,10 +215,12 @@ struct HfTaskDirectedFlowCharmHadrons {
212215 // correlations in the denominators for SP calculation
213216 if (direct) {
214217 registry.fill (HIST (" hpQxytpvscent" ), cent, Qxytp);
215- registry.fill (HIST (" hpQxpvscent" ), cent, qxZDCA);
216- registry.fill (HIST (" hpQxtvscent" ), cent, qxZDCC);
217- registry.fill (HIST (" hpQypvscent" ), cent, qyZDCA);
218- registry.fill (HIST (" hpQytvscent" ), cent, qyZDCC);
218+ if (correction) {
219+ registry.fill (HIST (" hpQxpvscent" ), cent, qxZDCA);
220+ registry.fill (HIST (" hpQxtvscent" ), cent, qxZDCC);
221+ registry.fill (HIST (" hpQypvscent" ), cent, qyZDCA);
222+ registry.fill (HIST (" hpQytvscent" ), cent, qyZDCC);
223+ }
219224 } else {
220225 registry.fill (HIST (" hpQxtQxpvscent" ), cent, QxtQxp);
221226 registry.fill (HIST (" hpQytQypvscent" ), cent, QytQyp);
@@ -305,14 +310,15 @@ struct HfTaskDirectedFlowCharmHadrons {
305310
306311 if (storeMl) {
307312 if (direct) {
308- registry.fill (HIST (" hpuxyQxypvscentpteta" ), massCand, cent, ptCand, etaCand, uxyQxyp, sign, outputMl[0 ], outputMl[1 ]);
309- registry.fill (HIST (" hpuxyQxytvscentpteta" ), massCand, cent, ptCand, etaCand, uxyQxyt, sign, outputMl[0 ], outputMl[1 ]);
310313 registry.fill (HIST (" hpoddvscentpteta" ), massCand, cent, ptCand, etaCand, oddv1, sign, outputMl[0 ], outputMl[1 ]);
311314 registry.fill (HIST (" hpevenvscentpteta" ), massCand, cent, ptCand, etaCand, evenv1, sign, outputMl[0 ], outputMl[1 ]);
315+ if (correction) {
316+ registry.fill (HIST (" hpuxyQxypvscentpteta" ), massCand, cent, ptCand, etaCand, uxyQxyp, sign, outputMl[0 ], outputMl[1 ]);
317+ registry.fill (HIST (" hpuxyQxytvscentpteta" ), massCand, cent, ptCand, etaCand, uxyQxyt, sign, outputMl[0 ], outputMl[1 ]);
312318
313- registry.fill (HIST (" hpuxvscentpteta" ), massCand, cent, ptCand, etaCand, ux, sign, outputMl[0 ], outputMl[1 ]);
314- registry.fill (HIST (" hpuyvscentpteta" ), massCand, cent, ptCand, etaCand, uy, sign, outputMl[0 ], outputMl[1 ]);
315-
319+ registry.fill (HIST (" hpuxvscentpteta" ), massCand, cent, ptCand, etaCand, ux, sign, outputMl[0 ], outputMl[1 ]);
320+ registry.fill (HIST (" hpuyvscentpteta" ), massCand, cent, ptCand, etaCand, uy, sign, outputMl[0 ], outputMl[1 ]);
321+ }
316322 } else {
317323 registry.fill (HIST (" hpuxQxpvscentpteta" ), massCand, cent, ptCand, etaCand, uxQxp, sign, outputMl[0 ], outputMl[1 ]);
318324 registry.fill (HIST (" hpuyQypvscentpteta" ), massCand, cent, ptCand, etaCand, uyQyp, sign, outputMl[0 ], outputMl[1 ]);
@@ -324,13 +330,16 @@ struct HfTaskDirectedFlowCharmHadrons {
324330 }
325331 } else {
326332 if (direct) {
327- registry.fill (HIST (" hpuxyQxypvscentpteta" ), massCand, cent, ptCand, etaCand, uxyQxyp, sign);
328- registry.fill (HIST (" hpuxyQxytvscentpteta" ), massCand, cent, ptCand, etaCand, uxyQxyt, sign);
329333 registry.fill (HIST (" hpoddvscentpteta" ), massCand, cent, ptCand, etaCand, oddv1, sign);
330334 registry.fill (HIST (" hpevenvscentpteta" ), massCand, cent, ptCand, etaCand, evenv1, sign);
331335
332- registry.fill (HIST (" hpuxvscentpteta" ), massCand, cent, ptCand, etaCand, ux, sign);
333- registry.fill (HIST (" hpuyvscentpteta" ), massCand, cent, ptCand, etaCand, uy, sign);
336+ if (correction) {
337+ registry.fill (HIST (" hpuxyQxypvscentpteta" ), massCand, cent, ptCand, etaCand, uxyQxyp, sign);
338+ registry.fill (HIST (" hpuxyQxytvscentpteta" ), massCand, cent, ptCand, etaCand, uxyQxyt, sign);
339+
340+ registry.fill (HIST (" hpuxvscentpteta" ), massCand, cent, ptCand, etaCand, ux, sign);
341+ registry.fill (HIST (" hpuyvscentpteta" ), massCand, cent, ptCand, etaCand, uy, sign);
342+ }
334343 } else {
335344 registry.fill (HIST (" hpuxQxpvscentpteta" ), massCand, cent, ptCand, etaCand, uxQxp, sign);
336345 registry.fill (HIST (" hpuyQypvscentpteta" ), massCand, cent, ptCand, etaCand, uyQyp, sign);
0 commit comments