Skip to content

Commit 750f63e

Browse files
minjungkim12claude
andcommitted
[PWGHF] Add FT0A and FT0C axes to taskDplus UPC THnSparse
- Add ConfigurableAxis for FT0A and FT0C (1001 bins, -1.5 to 999.5) - Bin centers at -1, 0, 1, 2, ..., 999 for integer amplitude values - Add axes to THnSparse when doprocessDataWithMlWithUpc is enabled - Include FT0A and FT0C amplitudes in valuesToFill vector - Consistent with taskD0 implementation - Enables detailed analysis of forward detector signals in UPC events 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 9389f90 commit 750f63e

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

PWGHF/D2H/Tasks/taskDplus.cxx

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,8 @@ struct HfTaskDplus {
125125
ConfigurableAxis thnConfigAxisMlScore1{"thnConfigAxisMlScore1", {100, 0., 1.}, "axis for ML output score 1"};
126126
ConfigurableAxis thnConfigAxisMlScore2{"thnConfigAxisMlScore2", {100, 0., 1.}, "axis for ML output score 2"};
127127
ConfigurableAxis thnConfigAxisGapType{"thnConfigAxisGapType", {3, -0.5, 2.5}, "axis for UPC gap type (0=GapA, 1=GapC, 2=DoubleGap)"};
128+
ConfigurableAxis thnConfigAxisFT0A{"thnConfigAxisFT0A", {1001, -1.5, 999.5}, "axis for FT0-A amplitude (a.u.)"};
129+
ConfigurableAxis thnConfigAxisFT0C{"thnConfigAxisFT0C", {1001, -1.5, 999.5}, "axis for FT0-C amplitude (a.u.)"};
128130

129131
HistogramRegistry registry{
130132
"registry",
@@ -159,6 +161,8 @@ struct HfTaskDplus {
159161
AxisSpec const thnAxisOccupancy{thnConfigAxisOccupancy, "Occupancy"};
160162
AxisSpec const thnAxisPvContributors{thnConfigAxisPvContributors, "PV contributors"};
161163
AxisSpec const thnAxisGapType{thnConfigAxisGapType, "Gap type"};
164+
AxisSpec const thnAxisFT0A{thnConfigAxisFT0A, "FT0-A amplitude"};
165+
AxisSpec const thnAxisFT0C{thnConfigAxisFT0C, "FT0-C amplitude"};
162166

163167
registry.add("hMass", "3-prong candidates;inv. mass (#pi K #pi) (GeV/#it{c}^{2});entries", {HistType::kTH2F, {{350, 1.7, 2.05}, {vbins, "#it{p}_{T} (GeV/#it{c})"}}});
164168
registry.add("hEta", "3-prong candidates;candidate #it{#eta};entries", {HistType::kTH2F, {{100, -2., 2.}, {vbins, "#it{p}_{T} (GeV/#it{c})"}}});
@@ -214,6 +218,8 @@ struct HfTaskDplus {
214218
}
215219
if (doprocessDataWithMlWithUpc) {
216220
axes.push_back(thnAxisGapType);
221+
axes.push_back(thnAxisFT0A);
222+
axes.push_back(thnAxisFT0C);
217223
}
218224

219225
registry.add("hSparseMass", "THn for Dplus", HistType::kTHnSparseF, axes);
@@ -724,7 +730,7 @@ struct HfTaskDplus {
724730
}
725731
fillHisto(candidate);
726732
if constexpr (fillMl) {
727-
// Fill THn with gap type using lambda function similar to taskLc
733+
// Fill THn with gap type and FIT signals
728734
std::vector<float> outputMl = {-999., -999., -999.};
729735
for (unsigned int iclass = 0; iclass < classMl->size(); iclass++) {
730736
outputMl[iclass] = candidate.mlProbDplusToPiKPi()[classMl->at(iclass)];
@@ -738,6 +744,8 @@ struct HfTaskDplus {
738744
valuesToFill.push_back(occ);
739745
}
740746
valuesToFill.push_back(static_cast<double>(gapTypeInt));
747+
valuesToFill.push_back(static_cast<double>(fitInfo.ampFT0A));
748+
valuesToFill.push_back(static_cast<double>(fitInfo.ampFT0C));
741749
registry.get<THnSparse>(HIST("hSparseMass"))->Fill(valuesToFill.data());
742750
}
743751
}

0 commit comments

Comments
 (0)