Skip to content

Commit b83df73

Browse files
authored
[PWGEM] LMee: added some Quark histograms to the HF cocktail for norm… (#9237)
1 parent 85da5fb commit b83df73

File tree

1 file changed

+100
-43
lines changed

1 file changed

+100
-43
lines changed

PWGEM/Dilepton/Tasks/lmeeHFCocktail.cxx

Lines changed: 100 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ DECLARE_SOA_COLUMN(BQuarkId, bQuarkId, int);
5252
DECLARE_SOA_COLUMN(CQuarkId, cQuarkId, int);
5353
DECLARE_SOA_COLUMN(BQuarkOriginId, bQuarkOriginId, int);
5454
DECLARE_SOA_COLUMN(CQuarkOriginId, cQuarkOriginId, int);
55+
DECLARE_SOA_COLUMN(BQuarkRap, bQuarkRap, float);
56+
DECLARE_SOA_COLUMN(CQuarkRap, cQuarkRap, float);
5557
} // namespace hftable
5658
DECLARE_SOA_TABLE(HfTable, "AOD", "HFTABLE",
5759
hftable::IsHF,
@@ -60,20 +62,46 @@ DECLARE_SOA_TABLE(HfTable, "AOD", "HFTABLE",
6062
hftable::BQuarkId,
6163
hftable::CQuarkId,
6264
hftable::BQuarkOriginId,
63-
hftable::CQuarkOriginId);
65+
hftable::CQuarkOriginId,
66+
hftable::BQuarkRap,
67+
hftable::CQuarkRap);
6468
} // namespace o2::aod
6569

66-
const char* stageNames[3] = {"gen", "eff", "eff_and_acc"};
70+
const int Nstages = 3;
71+
const char* stageNames[Nstages] = {"gen", "meas", "meas_and_acc"};
72+
// gen: normal weights applied. By default set to 1.
73+
// meas: normal and efficiency weights applied. By default set to 1.
74+
// meas_acc: normal, efficiency weights and acceptance cuts applied
75+
76+
template <typename T>
77+
void doQuark(T& p, std::vector<std::shared_ptr<TH1>> hRapQuark, float ptMin, float etaMax, int pdg)
78+
{
79+
float weight[Nstages] = {p.weight(), p.efficiency() * p.weight(), p.efficiency() * p.weight()};
80+
float pt[Nstages] = {p.pt(), p.ptSmeared(), p.ptSmeared()};
81+
float eta[Nstages] = {p.eta(), p.etaSmeared(), p.etaSmeared()};
82+
float cut_pt[Nstages] = {0., 0., ptMin};
83+
float cut_eta[Nstages] = {9999., 99999., etaMax};
84+
for (int i = 0; i < Nstages; i++) {
85+
if (pt[i] > cut_pt[i] && fabs(eta[i]) < cut_eta[i]) {
86+
if (pdg == 4)
87+
hRapQuark[i]->Fill(p.cQuarkRap(), weight[i]);
88+
else if (pdg == 5)
89+
hRapQuark[i]->Fill(p.bQuarkRap(), weight[i]);
90+
else
91+
hRapQuark[i]->Fill(999., weight[i]);
92+
}
93+
}
94+
}
6795

6896
template <typename T>
6997
void doSingle(T& p, std::vector<std::shared_ptr<TH1>> hEta, std::vector<std::shared_ptr<TH1>> hPt, std::vector<std::shared_ptr<TH2>> hPtEta, float ptMin, float etaMax)
7098
{
71-
float weight[3] = {p.weight(), p.efficiency() * p.weight(), p.efficiency() * p.weight()};
72-
float pt[3] = {p.pt(), p.ptSmeared(), p.ptSmeared()};
73-
float eta[3] = {p.eta(), p.etaSmeared(), p.etaSmeared()};
74-
float cut_pt[3] = {0., 0., ptMin};
75-
float cut_eta[3] = {9999., 99999., etaMax};
76-
for (int i = 0; i < 3; i++) {
99+
float weight[Nstages] = {p.weight(), p.efficiency() * p.weight(), p.efficiency() * p.weight()};
100+
float pt[Nstages] = {p.pt(), p.ptSmeared(), p.ptSmeared()};
101+
float eta[Nstages] = {p.eta(), p.etaSmeared(), p.etaSmeared()};
102+
float cut_pt[Nstages] = {0., 0., ptMin};
103+
float cut_eta[Nstages] = {9999., 99999., etaMax};
104+
for (int i = 0; i < Nstages; i++) {
77105
if (pt[i] > cut_pt[i] && fabs(eta[i]) < cut_eta[i]) {
78106
hEta[i]->Fill(eta[i], weight[i]);
79107
hPt[i]->Fill(pt[i], weight[i]);
@@ -93,15 +121,15 @@ void doPair(T& p1, T& p2, std::vector<std::shared_ptr<TH1>> hMee, std::vector<st
93121
ROOT::Math::PtEtaPhiMVector v2_gen(p2.pt(), p2.eta(), p2.phi(), o2::constants::physics::MassElectron);
94122
ROOT::Math::PtEtaPhiMVector v12_gen = v1_gen + v2_gen;
95123

96-
double mass[3] = {v12_gen.M(), v12.M(), v12.M()};
97-
double pt[3] = {v12_gen.Pt(), v12.Pt(), v12.Pt()};
98-
float pt1[3] = {p1.pt(), p1.ptSmeared(), p1.ptSmeared()};
99-
float pt2[3] = {p2.pt(), p2.ptSmeared(), p2.ptSmeared()};
100-
float eta1[3] = {p1.eta(), p1.etaSmeared(), p1.etaSmeared()};
101-
float eta2[3] = {p2.eta(), p2.etaSmeared(), p2.etaSmeared()};
102-
float weight[3] = {p1.weight() * p2.weight(), p1.efficiency() * p2.efficiency() * p1.weight() * p2.weight(), p1.efficiency() * p2.efficiency() * p1.weight() * p2.weight()};
103-
float cut_pt[3] = {0., 0., ptMin};
104-
float cut_eta[3] = {9999., 99999., etaMax};
124+
double mass[Nstages] = {v12_gen.M(), v12.M(), v12.M()};
125+
double pt[Nstages] = {v12_gen.Pt(), v12.Pt(), v12.Pt()};
126+
float pt1[Nstages] = {p1.pt(), p1.ptSmeared(), p1.ptSmeared()};
127+
float pt2[Nstages] = {p2.pt(), p2.ptSmeared(), p2.ptSmeared()};
128+
float eta1[Nstages] = {p1.eta(), p1.etaSmeared(), p1.etaSmeared()};
129+
float eta2[Nstages] = {p2.eta(), p2.etaSmeared(), p2.etaSmeared()};
130+
float weight[Nstages] = {p1.weight() * p2.weight(), p1.efficiency() * p2.efficiency() * p1.weight() * p2.weight(), p1.efficiency() * p2.efficiency() * p1.weight() * p2.weight()};
131+
float cut_pt[Nstages] = {0., 0., ptMin};
132+
float cut_eta[Nstages] = {9999., 99999., etaMax};
105133

106134
float deta = v1.Eta() - v2.Eta();
107135
float dphi = v1.Phi() - v2.Phi();
@@ -110,7 +138,7 @@ void doPair(T& p1, T& p2, std::vector<std::shared_ptr<TH1>> hMee, std::vector<st
110138
return;
111139
}
112140

113-
for (int i = 0; i < 3; i++) {
141+
for (int i = 0; i < Nstages; i++) {
114142
if (pt1[i] > cut_pt[i] && pt2[i] > cut_pt[i] && fabs(eta1[i]) < cut_eta[i] && fabs(eta2[i]) < cut_eta[i]) {
115143
hMee[i]->Fill(mass[i], weight[i]);
116144
hMeePtee[i]->Fill(mass[i], pt[i], weight[i]);
@@ -119,10 +147,11 @@ void doPair(T& p1, T& p2, std::vector<std::shared_ptr<TH1>> hMee, std::vector<st
119147
}
120148

121149
struct MyConfigs : ConfigurableGroup {
122-
Configurable<float> fConfigPtMin{"cfgPtMin", 0.2, "min. pT"};
123-
Configurable<float> fConfigEtaMax{"cfgEtaMax", 0.8, "max. |eta|"};
124-
ConfigurableAxis fConfigPtBins{"cfgPtBins", {200, 0.f, 10.f}, "pT binning"};
125-
ConfigurableAxis fConfigEtaBins{"cfgEtaBins", {200, -10.f, 10.f}, "eta binning"};
150+
Configurable<float> fConfigPtMin{"cfgPtMin", 0.2, "min. pT of single electrons"};
151+
Configurable<float> fConfigEtaMax{"cfgEtaMax", 0.8, "max. |eta| of single electrons"};
152+
ConfigurableAxis fConfigPtBins{"cfgPtBins", {200, 0.f, 10.f}, "single electron pT binning"};
153+
ConfigurableAxis fConfigEtaBins{"cfgEtaBins", {200, -10.f, 10.f}, "single electron eta binning"};
154+
ConfigurableAxis fConfigRapBins{"cfgRapBins", {200, -10.f, 10.f}, "Quark rapidity binning"};
126155
ConfigurableAxis fConfigMeeBins{"cfgMeeBins", {800, 0.f, 8.f}, "Mee binning"};
127156
ConfigurableAxis fConfigPteeBins{"cfgPteeBins", {400, 0.f, 10.f}, "pTee binning"};
128157
Configurable<bool> fConfigApplyDEtaDPhi{"cfgApplyDEtaDPhi", false, "flag to apply deta-phi cut"};
@@ -138,7 +167,7 @@ struct lmeehfcocktailprefilter {
138167
for (auto const& p : mcParticles) {
139168

140169
if (abs(p.pdgCode()) != 11 || o2::mcgenstatus::getHepMCStatusCode(p.statusCode()) != 1 || !p.has_mothers()) {
141-
hfTable(EFromHFType::kNoE, -1, -1, -1, -1, -1, -1);
170+
hfTable(EFromHFType::kNoE, -1, -1, -1, -1, -1, -1, -999., -999.);
142171
continue;
143172
}
144173

@@ -159,6 +188,9 @@ struct lmeehfcocktailprefilter {
159188
int cQuarkOriginId = -1;
160189
int bQuarkOriginId = -1;
161190

191+
float bQuarkRap = -999.;
192+
float cQuarkRap = -999.;
193+
162194
int isHF = EFromHFType::kNoHFE;
163195

164196
if (direct_beauty_mother) { // b->e
@@ -168,6 +200,7 @@ struct lmeehfcocktailprefilter {
168200
if (bQuarkId > -1) {
169201
auto bQuark = mcParticles.iteratorAt(bQuarkId);
170202
bQuarkOriginId = searchMothers(bQuark, mcParticles, 5, false);
203+
bQuarkRap = bQuark.y();
171204
}
172205
} else if (bHadronId > -1 && direct_charm_mother) { // b->c->e
173206
isHF = EFromHFType::kBCE;
@@ -176,12 +209,14 @@ struct lmeehfcocktailprefilter {
176209
if (bQuarkId > -1) {
177210
auto bQuark = mcParticles.iteratorAt(bQuarkId);
178211
bQuarkOriginId = searchMothers(bQuark, mcParticles, 5, false);
212+
bQuarkRap = bQuark.y();
179213
}
180214
auto cHadron = mcParticles.iteratorAt(cHadronId);
181215
cQuarkId = searchMothers(cHadron, mcParticles, 4, true);
182216
if (cQuarkId > -1) {
183217
auto cQuark = mcParticles.iteratorAt(cQuarkId);
184218
cQuarkOriginId = searchMothers(cQuark, mcParticles, 4, false);
219+
cQuarkRap = cQuark.y();
185220
}
186221
} else if (bHadronId < 0 && direct_charm_mother) { // c->e
187222
isHF = EFromHFType::kCE;
@@ -190,10 +225,11 @@ struct lmeehfcocktailprefilter {
190225
if (cQuarkId > -1) {
191226
auto cQuark = mcParticles.iteratorAt(cQuarkId);
192227
cQuarkOriginId = searchMothers(cQuark, mcParticles, 4, false);
228+
cQuarkRap = cQuark.y();
193229
}
194230
}
195231

196-
hfTable(isHF, bHadronId, cHadronId, bQuarkId, cQuarkId, bQuarkOriginId, cQuarkOriginId);
232+
hfTable(isHF, bHadronId, cHadronId, bQuarkId, cQuarkId, bQuarkOriginId, cQuarkOriginId, bQuarkRap, cQuarkRap);
197233
}
198234
}
199235
};
@@ -202,6 +238,7 @@ struct lmeehfcocktailbeauty {
202238

203239
HistogramRegistry registry{"registry", {}};
204240

241+
std::vector<std::vector<std::shared_ptr<TH1>>> hRapQuark;
205242
std::vector<std::vector<std::shared_ptr<TH1>>> hEta, hPt;
206243
std::vector<std::vector<std::shared_ptr<TH2>>> hPtEta;
207244
std::vector<std::shared_ptr<TH1>> hLS_Mee, hULS_Mee;
@@ -224,22 +261,33 @@ struct lmeehfcocktailbeauty {
224261
{
225262
registry.add<TH1>("NEvents", "NEvents", HistType::kTH1F, {{1, 0, 1}}, false);
226263

227-
const char* typeNamesSingle[2] = {"be", "bce"};
228-
const char* typeTitlesSingle[2] = {"b->e", "b->c->e"};
264+
const int Nchannels = 2;
265+
const char* typeNamesSingle[Nchannels] = {"be", "bce"};
266+
const char* typeTitlesSingle[Nchannels] = {"b->e", "b->c->e"};
229267

230-
AxisSpec eta_axis = {myConfigs.fConfigEtaBins, "#eta"};
231-
AxisSpec pt_axis = {myConfigs.fConfigPtBins, "#it{p}_{T} (GeV/c)"};
268+
AxisSpec rap_axis = {myConfigs.fConfigRapBins, "y_{b}"};
269+
AxisSpec eta_axis = {myConfigs.fConfigEtaBins, "#eta_{e}"};
270+
AxisSpec pt_axis = {myConfigs.fConfigPtBins, "#it{p}_{T,e} (GeV/c)"};
232271
AxisSpec mass_axis = {myConfigs.fConfigMeeBins, "m_{ee} (GeV/c^{2})"};
233272
AxisSpec ptee_axis = {myConfigs.fConfigPteeBins, "#it{p}_{T,ee} (GeV/c)"};
234273

274+
// quark histograms
275+
for (int i = 0; i < Nchannels; i++) {
276+
std::vector<std::shared_ptr<TH1>> hRap_temp;
277+
for (int j = 0; j < Nstages; j++) {
278+
hRap_temp.push_back(registry.add<TH1>(Form("BeautyQuark_Rap_%s_%s", typeNamesSingle[i], stageNames[j]), Form("Rap Beauty Quark %s %s", typeTitlesSingle[i], stageNames[j]), HistType::kTH1F, {rap_axis}, true));
279+
}
280+
hRapQuark.push_back(hRap_temp);
281+
}
282+
235283
// single histograms
236-
for (int i = 0; i < 2; i++) {
284+
for (int i = 0; i < Nchannels; i++) {
237285
std::vector<std::shared_ptr<TH1>> hEta_temp, hPt_temp;
238286
std::vector<std::shared_ptr<TH2>> hPtEta_temp;
239-
for (int j = 0; j < 3; j++) {
240-
hEta_temp.push_back(registry.add<TH1>(Form("Eta_%s_%s", typeNamesSingle[i], stageNames[j]), Form("Eta %s %s", typeTitlesSingle[i], stageNames[j]), HistType::kTH1F, {eta_axis}, true));
241-
hPt_temp.push_back(registry.add<TH1>(Form("Pt_%s_%s", typeNamesSingle[i], stageNames[j]), Form("Pt %s %s", typeTitlesSingle[i], stageNames[j]), HistType::kTH1F, {pt_axis}, true));
242-
hPtEta_temp.push_back(registry.add<TH2>(Form("PtEta_%s_%s", typeNamesSingle[i], stageNames[j]), Form("Pt vs. Eta %s %s", typeTitlesSingle[i], stageNames[j]), HistType::kTH2F, {pt_axis, eta_axis}, true));
287+
for (int j = 0; j < Nstages; j++) {
288+
hEta_temp.push_back(registry.add<TH1>(Form("Electron_Eta_%s_%s", typeNamesSingle[i], stageNames[j]), Form("Single Electron Eta %s %s", typeTitlesSingle[i], stageNames[j]), HistType::kTH1F, {eta_axis}, true));
289+
hPt_temp.push_back(registry.add<TH1>(Form("Electron_Pt_%s_%s", typeNamesSingle[i], stageNames[j]), Form("Single Electron Pt %s %s", typeTitlesSingle[i], stageNames[j]), HistType::kTH1F, {pt_axis}, true));
290+
hPtEta_temp.push_back(registry.add<TH2>(Form("Electron_PtEta_%s_%s", typeNamesSingle[i], stageNames[j]), Form("Single Electron Pt vs. Eta %s %s", typeTitlesSingle[i], stageNames[j]), HistType::kTH2F, {pt_axis, eta_axis}, true));
243291
}
244292
hEta.push_back(hEta_temp);
245293
hPt.push_back(hPt_temp);
@@ -248,15 +296,15 @@ struct lmeehfcocktailbeauty {
248296

249297
// pair histograms
250298
// ULS
251-
for (int j = 0; j < 3; j++) {
299+
for (int j = 0; j < Nstages; j++) {
252300
hULS_Mee.push_back(registry.add<TH1>(Form("ULS_Mee_%s", stageNames[j]), Form("ULS Mee %s", stageNames[j]), HistType::kTH1F, {mass_axis}, true));
253301
hULS_MeePtee.push_back(registry.add<TH2>(Form("ULS_MeePtee_%s", stageNames[j]), Form("ULS Mee vs. Ptee %s", stageNames[j]), HistType::kTH2F, {mass_axis, ptee_axis}, true));
254302

255303
hULS_Mee_wPartonicCheck.push_back(registry.add<TH1>(Form("ULS_Mee_wPartonicCheck_%s", stageNames[j]), Form("ULS Mee wPartonicCheck %s", stageNames[j]), HistType::kTH1F, {mass_axis}, true));
256304
hULS_MeePtee_wPartonicCheck.push_back(registry.add<TH2>(Form("ULS_MeePtee_wPartonicCheck_%s", stageNames[j]), Form("ULS Mee vs. Ptee wPartonicCheck %s", stageNames[j]), HistType::kTH2F, {mass_axis, ptee_axis}, true));
257305
}
258306
// LS
259-
for (int j = 0; j < 3; j++) {
307+
for (int j = 0; j < Nstages; j++) {
260308
hLS_Mee.push_back(registry.add<TH1>(Form("LS_Mee_%s", stageNames[j]), Form("LS Mee %s", stageNames[j]), HistType::kTH1F, {mass_axis}, true));
261309
hLS_MeePtee.push_back(registry.add<TH2>(Form("LS_MeePtee_%s", stageNames[j]), Form("LS Mee vs. Ptee %s", stageNames[j]), HistType::kTH2F, {mass_axis, ptee_axis}, true));
262310

@@ -270,6 +318,7 @@ struct lmeehfcocktailbeauty {
270318
for (auto const& p : mcParticles) {
271319
int from_quark = p.isHF() - 2;
272320
doSingle(p, hEta[from_quark], hPt[from_quark], hPtEta[from_quark], myConfigs.fConfigPtMin, myConfigs.fConfigEtaMax);
321+
doQuark(p, hRapQuark[from_quark], myConfigs.fConfigPtMin, myConfigs.fConfigEtaMax, 5);
273322
}
274323

275324
for (auto const& collision : collisions) {
@@ -332,6 +381,7 @@ struct lmeehfcocktailcharm {
332381

333382
HistogramRegistry registry{"registry", {}};
334383

384+
std::vector<std::shared_ptr<TH1>> hRapQuark;
335385
std::vector<std::shared_ptr<TH1>> hEta, hPt, hULS_Mee, hLS_Mee;
336386
std::vector<std::shared_ptr<TH2>> hPtEta, hULS_MeePtee, hLS_MeePtee;
337387
std::vector<std::shared_ptr<TH1>> hULS_Mee_wPartonicCheck, hLS_Mee_wPartonicCheck;
@@ -354,29 +404,35 @@ struct lmeehfcocktailcharm {
354404
const char* typeNamesSingle = "ce";
355405
const char* typeTitlesSingle = "c->e";
356406

357-
AxisSpec eta_axis = {myConfigs.fConfigEtaBins, "#eta"};
358-
AxisSpec pt_axis = {myConfigs.fConfigPtBins, "#it{p}_{T} (GeV/c)"};
407+
AxisSpec rap_axis = {myConfigs.fConfigRapBins, "y_{c}"};
408+
AxisSpec eta_axis = {myConfigs.fConfigEtaBins, "#eta_{e}"};
409+
AxisSpec pt_axis = {myConfigs.fConfigPtBins, "#it{p}_{T,e} (GeV/c)"};
359410
AxisSpec mass_axis = {myConfigs.fConfigMeeBins, "m_{ee} (GeV/c^{2})"};
360411
AxisSpec ptee_axis = {myConfigs.fConfigPteeBins, "#it{p}_{T,ee} (GeV/c)"};
361412

413+
// quark histograms
414+
for (int j = 0; j < Nstages; j++) {
415+
hRapQuark.push_back(registry.add<TH1>(Form("CharmQuark_Rap_%s_%s", typeNamesSingle, stageNames[j]), Form("Rapidity Charm Quark %s %s", typeTitlesSingle, stageNames[j]), HistType::kTH1F, {rap_axis}, true));
416+
}
417+
362418
// single histograms
363-
for (int j = 0; j < 3; j++) {
364-
hEta.push_back(registry.add<TH1>(Form("Eta_%s_%s", typeNamesSingle, stageNames[j]), Form("Eta %s %s", typeTitlesSingle, stageNames[j]), HistType::kTH1F, {eta_axis}, true));
365-
hPt.push_back(registry.add<TH1>(Form("Pt_%s_%s", typeNamesSingle, stageNames[j]), Form("Pt %s %s", typeTitlesSingle, stageNames[j]), HistType::kTH1F, {pt_axis}, true));
366-
hPtEta.push_back(registry.add<TH2>(Form("PtEta_%s_%s", typeNamesSingle, stageNames[j]), Form("Pt vs. Eta %s %s", typeTitlesSingle, stageNames[j]), HistType::kTH2F, {pt_axis, eta_axis}, true));
419+
for (int j = 0; j < Nstages; j++) {
420+
hEta.push_back(registry.add<TH1>(Form("Electron_Eta_%s_%s", typeNamesSingle, stageNames[j]), Form("Single Electron Eta %s %s", typeTitlesSingle, stageNames[j]), HistType::kTH1F, {eta_axis}, true));
421+
hPt.push_back(registry.add<TH1>(Form("Electron_Pt_%s_%s", typeNamesSingle, stageNames[j]), Form("Single Electron Pt %s %s", typeTitlesSingle, stageNames[j]), HistType::kTH1F, {pt_axis}, true));
422+
hPtEta.push_back(registry.add<TH2>(Form("Electron_PtEta_%s_%s", typeNamesSingle, stageNames[j]), Form("Single Electron Pt vs. Eta %s %s", typeTitlesSingle, stageNames[j]), HistType::kTH2F, {pt_axis, eta_axis}, true));
367423
}
368424

369425
// pair histograms
370426
// ULS
371-
for (int j = 0; j < 3; j++) {
427+
for (int j = 0; j < Nstages; j++) {
372428
hULS_Mee.push_back(registry.add<TH1>(Form("ULS_Mee_%s", stageNames[j]), Form("ULS Mee %s", stageNames[j]), HistType::kTH1F, {mass_axis}, true));
373429
hULS_MeePtee.push_back(registry.add<TH2>(Form("ULS_MeePtee_%s", stageNames[j]), Form("ULS Mee vs Ptee %s", stageNames[j]), HistType::kTH2F, {mass_axis, ptee_axis}, true));
374430

375431
hULS_Mee_wPartonicCheck.push_back(registry.add<TH1>(Form("ULS_Mee_wPartonicCheck_%s", stageNames[j]), Form("ULS Mee wPartonicCheck %s", stageNames[j]), HistType::kTH1F, {mass_axis}, true));
376432
hULS_MeePtee_wPartonicCheck.push_back(registry.add<TH2>(Form("ULS_MeePtee_wPartonicCheck_%s", stageNames[j]), Form("ULS Mee vs Ptee wPartonicCheck %s", stageNames[j]), HistType::kTH2F, {mass_axis, ptee_axis}, true));
377433
}
378434
// LS
379-
for (int j = 0; j < 3; j++) {
435+
for (int j = 0; j < Nstages; j++) {
380436
hLS_Mee.push_back(registry.add<TH1>(Form("LS_Mee_%s", stageNames[j]), Form("LS Mee %s", stageNames[j]), HistType::kTH1F, {mass_axis}, true));
381437
hLS_MeePtee.push_back(registry.add<TH2>(Form("LS_MeePtee_%s", stageNames[j]), Form("LS Mee vs Ptee %s", stageNames[j]), HistType::kTH2F, {mass_axis, ptee_axis}, true));
382438

@@ -389,6 +445,7 @@ struct lmeehfcocktailcharm {
389445
{
390446
for (auto const& p : mcParticles) {
391447
doSingle(p, hEta, hPt, hPtEta, myConfigs.fConfigPtMin, myConfigs.fConfigEtaMax);
448+
doQuark(p, hRapQuark, myConfigs.fConfigPtMin, myConfigs.fConfigEtaMax, 4);
392449
}
393450

394451
for (auto const& collision : collisions) {

0 commit comments

Comments
 (0)