Skip to content

Commit ab6e7dd

Browse files
Refactor configurable parameters for charm analysis
1 parent 3154a04 commit ab6e7dd

1 file changed

Lines changed: 25 additions & 25 deletions

File tree

‎PWGHF/HFC/Tasks/taskCharmHadronsCharmFemtoDream.cxx‎

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -62,22 +62,22 @@ struct HfTaskCharmHadronsCharmFemtoDream {
6262
Produces<aod::FDHfCharmDstar> rowFemtoResultCharmDstar;
6363
Produces<aod::FDHfColl> rowFemtoResultColl;
6464

65-
Configurable<float> ptMinD0{"ptMinD0", 0.f, "Minimum D0 pT"};
66-
Configurable<float> ptMaxD0{"ptMaxD0", 36.f, "Maximum D0 pT"};
67-
Configurable<float> ptMinDstar{"ptMinDstar", 0.f, "Minimum Dstar pT"};
68-
Configurable<float> ptMaxDstar{"ptMaxDstar", 36.f, "Maximum Dstar pT"};
69-
Configurable<float> etaMax{"etaMax", 0.8f, "Maximum absolute candidate eta"};
70-
Configurable<float> massMinD0{"massMinD0", 1.7f, "Minimum D0 mass (keep sidebands)"};
71-
Configurable<float> massMaxD0{"massMaxD0", 2.0f, "Maximum D0 mass"};
72-
Configurable<float> deltaMassMin{"deltaMassMin", MassPiPlus, "Minimum Dstar-D0 mass difference"};
73-
Configurable<float> deltaMassMax{"deltaMassMax", 0.17f, "Maximum Dstar-D0 mass difference"};
74-
Configurable<float> daughterMassMin{"daughterMassMin", 1.80f, "Minimum Dstar daughter D0 mass"};
75-
Configurable<float> daughterMassMax{"daughterMassMax", 1.93f, "Maximum Dstar daughter D0 mass"};
65+
Configurable<float> ptD0Min{"ptD0Min", 0.f, "Minimum D0 pT"};
66+
Configurable<float> ptD0Max{"ptD0Max", 36.f, "Maximum D0 pT"};
67+
Configurable<float> ptDstarMin{"ptDstarMin", 0.f, "Minimum Dstar pT"};
68+
Configurable<float> ptDstarMax{"ptDstarMax", 36.f, "Maximum Dstar pT"};
69+
Configurable<float> etaCandMax{"etaCandMax", 0.8f, "Maximum absolute candidate eta"};
70+
Configurable<float> massD0Min{"massD0Min", 1.7f, "Minimum D0 mass (keep sidebands)"};
71+
Configurable<float> massD0Max{"massD0Max", 2.0f, "Maximum D0 mass"};
72+
Configurable<float> deltaMassDstarMin{"deltaMassDstarMin", MassPiPlus, "Minimum Dstar-D0 mass difference"};
73+
Configurable<float> deltaMassDstarMax{"deltaMassDstarMax", 0.17f, "Maximum Dstar-D0 mass difference"};
74+
Configurable<float> massD0DaughterMin{"massD0DaughterMin", 1.80f, "Minimum Dstar daughter D0 mass"};
75+
Configurable<float> massD0DaughterMax{"massD0DaughterMax", 1.93f, "Maximum Dstar daughter D0 mass"};
7676
Configurable<bool> useMl{"useMl", false, "Require valid ML scores and apply score cuts"};
77-
Configurable<float> d0BkgBdtMax{"d0BkgBdtMax", 1.f, "Maximum D0 background score"};
78-
Configurable<float> d0PromptBdtMin{"d0PromptBdtMin", 0.f, "Minimum D0 prompt score"};
79-
Configurable<float> dstarBkgBdtMax{"dstarBkgBdtMax", 1.f, "Maximum Dstar background score"};
80-
Configurable<float> dstarPromptBdtMin{"dstarPromptBdtMin", 0.f, "Minimum Dstar prompt score"};
77+
Configurable<float> bkgBdtD0Max{"bkgBdtD0Max", 1.f, "Maximum D0 background score"};
78+
Configurable<float> promptBdtD0Min{"promptBdtD0Min", 0.f, "Minimum D0 prompt score"};
79+
Configurable<float> bkgBdtDstarMax{"bkgBdtDstarMax", 1.f, "Maximum Dstar background score"};
80+
Configurable<float> promptBdtDstarMin{"promptBdtDstarMin", 0.f, "Minimum Dstar prompt score"};
8181
Configurable<int> charmHadCandSel{"charmHadCandSel", 1, "Minimum reduced charm candidate selection flag"};
8282
struct : ConfigurableGroup {
8383
std::string prefix = "eventSel";
@@ -107,8 +107,8 @@ struct HfTaskCharmHadronsCharmFemtoDream {
107107
Preslice<FilteredCharmCand2Prongs> perCollisionD0 = aod::femtodreamparticle::fdCollisionId;
108108
Preslice<FilteredCharmCandDstars> perCollisionDstar = aod::femtodreamparticle::fdCollisionId;
109109

110-
Partition<FilteredCharmCand2Prongs> partitionCharmHadron2Prong = ifnode(useMl, aod::fdhf::bdtBkg <= d0BkgBdtMax && aod::fdhf::bdtPrompt >= d0PromptBdtMin, Node{LiteralNode{true}});
111-
Partition<FilteredCharmCandDstars> partitionCharmHadronDstar = ifnode(useMl, aod::fdhf::bdtBkg <= dstarBkgBdtMax && aod::fdhf::bdtPrompt >= dstarPromptBdtMin, Node{LiteralNode{true}});
110+
Partition<FilteredCharmCand2Prongs> partitionCharmHadron2Prong = ifnode(useMl, aod::fdhf::bdtBkg <= bkgBdtD0Max && aod::fdhf::bdtPrompt >= promptBdtD0Min, Node{LiteralNode{true}});
111+
Partition<FilteredCharmCandDstars> partitionCharmHadronDstar = ifnode(useMl, aod::fdhf::bdtBkg <= bkgBdtDstarMax && aod::fdhf::bdtPrompt >= promptBdtDstarMin, Node{LiteralNode{true}});
112112

113113
ConfigurableAxis mixingBinMult{"mixingBinMult", {VARIABLE_WIDTH, 0.f, 20.f, 60.f, 200.f}, "Mixing bins - multiplicity"};
114114
ConfigurableAxis mixingBinMultPercentile{"mixingBinMultPercentile", {VARIABLE_WIDTH, 0.f, 100.f}, "Mixing bins - multiplicity percentile"};
@@ -124,17 +124,17 @@ struct HfTaskCharmHadronsCharmFemtoDream {
124124
if (doprocessD0D0 == doprocessD0Dstar) {
125125
LOGP(fatal, "Enable exactly one charm-charm analysis process");
126126
}
127-
if (mixSetting.mixingDepth < 0 || mixSetting.mixingBinPolicy < 0 || mixSetting.mixingBinPolicy > MixingBinPolicyMax || ptMinD0 < 0 || ptMinD0 >= ptMaxD0 || ptMinDstar < 0 || ptMinDstar >= ptMaxDstar || etaMax <= 0 || massMinD0 >= massMaxD0 || deltaMassMin >= deltaMassMax || daughterMassMin >= daughterMassMax || charmHadCandSel < 1 || eventSel.multMin > eventSel.multMax || eventSel.multPercentileMin > eventSel.multPercentileMax) {
127+
if (mixSetting.mixingDepth < 0 || mixSetting.mixingBinPolicy < 0 || mixSetting.mixingBinPolicy > MixingBinPolicyMax || ptD0Min < 0 || ptD0Min >= ptD0Max || ptDstarMin < 0 || ptDstarMin >= ptDstarMax || etaCandMax <= 0 || massD0Min >= massD0Max || deltaMassDstarMin >= deltaMassDstarMax || massD0DaughterMin >= massD0DaughterMax || charmHadCandSel < 1 || eventSel.multMin > eventSel.multMax || eventSel.multPercentileMin > eventSel.multPercentileMax) {
128128
LOGP(fatal, "Invalid charm-charm selection or mixing configuration");
129129
}
130130
colBinningMult = {{mixingBinVztx, mixingBinMult}, true};
131131
colBinningMultPercentile = {{mixingBinVztx, mixingBinMultPercentile}, true};
132132
colBinningMultMultPercentile = {{mixingBinVztx, mixingBinMult, mixingBinMultPercentile}, true};
133133
const AxisSpec kstar{400, 0., 2., "k* (GeV/c)"};
134-
const AxisSpec massD0{300, massMinD0.value, massMaxD0.value, "M(Kpi) (GeV/c2)"};
135-
const AxisSpec deltaMass{310, deltaMassMin.value, deltaMassMax.value, "Delta M (GeV/c2)"};
136-
const AxisSpec pt{72, ptMinD0.value, ptMaxD0.value, "D0 pT (GeV/c)"};
137-
const AxisSpec ptStar{72, ptMinDstar.value, ptMaxDstar.value, "Dstar pT (GeV/c)"};
134+
const AxisSpec massD0{300, massD0Min.value, massD0Max.value, "M(Kpi) (GeV/c2)"};
135+
const AxisSpec deltaMass{310, deltaMassDstarMin.value, deltaMassDstarMax.value, "Delta M (GeV/c2)"};
136+
const AxisSpec pt{72, ptD0Min.value, ptD0Max.value, "D0 pT (GeV/c)"};
137+
const AxisSpec ptStar{72, ptDstarMin.value, ptDstarMax.value, "Dstar pT (GeV/c)"};
138138
const AxisSpec mult{mixingBinMult, "NTracksPV"};
139139
const AxisSpec channel{static_cast<int>(NPairChannels), -0.5, static_cast<double>(NPairChannels) - 0.5, "0=D0D0 LS,1=D0barD0bar LS,2=D0D0bar US,3=D0D*+ LS,4=D0barD*- LS,5=D0D*- US,6=D0barD*+ US"};
140140
registry.add("SE/D0D0", "Same event", kTHnSparseF, {kstar, massD0, massD0, pt, pt, mult, channel});
@@ -206,20 +206,20 @@ struct HfTaskCharmHadronsCharmFemtoDream {
206206
template <bool IsDstar, bool FillQa = false, typename Row>
207207
bool select(Row const& row, float& mass)
208208
{
209-
if (std::abs(row.charge()) != 1 || !std::isfinite(row.pt()) || !std::isfinite(row.eta()) || !std::isfinite(row.phi()) || std::abs(row.eta()) >= etaMax || row.pt() < (IsDstar ? ptMinDstar.value : ptMinD0.value) || row.pt() >= (IsDstar ? ptMaxDstar.value : ptMaxD0.value)) {
209+
if (std::abs(row.charge()) != 1 || !std::isfinite(row.pt()) || !std::isfinite(row.eta()) || !std::isfinite(row.phi()) || std::abs(row.eta()) >= etaCandMax || row.pt() < (IsDstar ? ptDstarMin.value : ptD0Min.value) || row.pt() >= (IsDstar ? ptDstarMax.value : ptD0Max.value)) {
210210
return false;
211211
}
212212
const std::array<double, 2> masses = row.charge() > 0 ? std::array{MassPiPlus, MassKPlus} : std::array{MassKPlus, MassPiPlus};
213213
if constexpr (IsDstar) {
214214
const float daughterMass = row.mDaughD0(masses);
215-
if (!std::isfinite(daughterMass) || daughterMass < daughterMassMin || daughterMass >= daughterMassMax) {
215+
if (!std::isfinite(daughterMass) || daughterMass < massD0DaughterMin || daughterMass >= massD0DaughterMax) {
216216
return false;
217217
}
218218
mass = row.m(std::array{masses[0], masses[1], MassPiPlus}) - daughterMass;
219219
} else {
220220
mass = row.m(masses);
221221
}
222-
if (!std::isfinite(mass) || mass < (IsDstar ? deltaMassMin.value : massMinD0.value) || mass >= (IsDstar ? deltaMassMax.value : massMaxD0.value)) {
222+
if (!std::isfinite(mass) || mass < (IsDstar ? deltaMassDstarMin.value : massD0Min.value) || mass >= (IsDstar ? deltaMassDstarMax.value : massD0Max.value)) {
223223
return false;
224224
}
225225
if constexpr (IsDstar) {

0 commit comments

Comments
 (0)