Skip to content

Commit 5cbf871

Browse files
sawankumawatSawan Sawan
andauthored
[PWGLF] Added particle f2(1270) in MC. Added bin labels for event histogram (#13830)
Co-authored-by: Sawan Sawan <sawan.sawan@cern.ch>
1 parent 5b09fc7 commit 5cbf871

File tree

1 file changed

+37
-24
lines changed

1 file changed

+37
-24
lines changed

PWGLF/Tasks/Resonances/higherMassResonances.cxx

Lines changed: 37 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ struct HigherMassResonances {
104104
Configurable<int> configOccCut{"configOccCut", 1000, "Occupancy cut"};
105105
Configurable<bool> isVertexTOFMatched{"isVertexTOFMatched", false, "Vertex TOF Matched"};
106106
Configurable<bool> isNoCollInTimeRangeStandard{"isNoCollInTimeRangeStandard", false, "No collision in time range standard"};
107+
Configurable<bool> isSel8{"isSel8", false, "Event Selection 8"};
107108

108109
// Configurables for event selection
109110
// Configurable<bool> isINELgt0{"isINELgt0", true, "INEL>0 selection"};
@@ -151,8 +152,8 @@ struct HigherMassResonances {
151152
Configurable<bool> iscTVXEvsel{"iscTVXEvsel", true, "Triggger selection"};
152153
Configurable<bool> isavoidsplitrackMC{"isavoidsplitrackMC", false, "avoid split track in MC"};
153154
Configurable<bool> isapplyRapidityMC{"isapplyRapidityMC", true, "Apply rapidity cut on generated and reconstructed particles"};
154-
Configurable<int> selectMCparticles{"selectMCparticles", 1, "0: f0(1710), 1: f2(1525), 2: a2(1320), 3: f0(1370), 4: f0(1500)"};
155-
std::vector<int> pdgCodes = {10331, 335, 115, 10221, 9030221};
155+
Configurable<int> selectMCparticles{"selectMCparticles", 1, "0: f0(1710), 1: f2(1525), 2: a2(1320), 3: f0(1370), 4: f0(1500), 5: f2(1270)"};
156+
std::vector<int> pdgCodes = {10331, 335, 115, 10221, 9030221, 225};
156157

157158
// output THnSparses
158159
Configurable<bool> activateHelicityFrame{"activateHelicityFrame", false, "Activate the THnSparse with cosThStar w.r.t. helicity axis"};
@@ -245,7 +246,7 @@ struct HigherMassResonances {
245246
rEventSelection.add("htrackscheck_v0", "htrackscheck_v0", kTH1I, {{15, 0, 15}});
246247
rEventSelection.add("htrackscheck_v0_daughters", "htrackscheck_v0_daughters", kTH1I, {{15, 0, 15}});
247248
hMChists.add("events_check", "No. of events in the generated MC", kTH1I, {{20, 0, 20}});
248-
hMChists.add("events_checkrec", "No. of events in the reconstructed MC", kTH1I, {{25, 0, 25}});
249+
hMChists.add("events_checkrec", "No. of events in the reconstructed MC", kTH1I, {{20, 0, 20}});
249250

250251
rEventSelection.add("hEventCut", "No. of event after cuts", kTH1I, {{20, 0, 20}});
251252
std::shared_ptr<TH1> hCutFlow = rEventSelection.get<TH1>(HIST("hEventCut"));
@@ -292,12 +293,23 @@ struct HigherMassResonances {
292293
hv0labelmcrec->GetXaxis()->SetBinLabel(2, "V0Daughter Sel.");
293294
hv0labelmcrec->GetXaxis()->SetBinLabel(3, "V0 Sel.");
294295
hv0labelmcrec->GetXaxis()->SetBinLabel(4, "V0 PDG");
295-
hv0labelmcrec->GetXaxis()->SetBinLabel(5, "Mother PDG");
296-
hv0labelmcrec->GetXaxis()->SetBinLabel(6, "Same Mother");
297-
hv0labelmcrec->GetXaxis()->SetBinLabel(7, "Split Track");
298-
hv0labelmcrec->GetXaxis()->SetBinLabel(8, "Global Index");
299-
hv0labelmcrec->GetXaxis()->SetBinLabel(9, "Generator");
300-
hv0labelmcrec->GetXaxis()->SetBinLabel(10, "Rapidity");
296+
hv0labelmcrec->GetXaxis()->SetBinLabel(5, "All Mothers");
297+
hv0labelmcrec->GetXaxis()->SetBinLabel(6, "Mother PDG");
298+
hv0labelmcrec->GetXaxis()->SetBinLabel(7, "Same Mother");
299+
hv0labelmcrec->GetXaxis()->SetBinLabel(8, "Split Track");
300+
hv0labelmcrec->GetXaxis()->SetBinLabel(9, "Global Index");
301+
hv0labelmcrec->GetXaxis()->SetBinLabel(10, "Generator");
302+
hv0labelmcrec->GetXaxis()->SetBinLabel(11, "Rapidity");
303+
304+
std::shared_ptr<TH1> hv0labelmcgen = hMChists.get<TH1>(HIST("events_check"));
305+
hv0labelmcgen->GetXaxis()->SetBinLabel(1, "All Events");
306+
hv0labelmcgen->GetXaxis()->SetBinLabel(2, "Event Sel.");
307+
hv0labelmcgen->GetXaxis()->SetBinLabel(3, "Event reconstructed");
308+
hv0labelmcgen->GetXaxis()->SetBinLabel(4, "PDG check");
309+
hv0labelmcgen->GetXaxis()->SetBinLabel(5, "Rapidity");
310+
hv0labelmcgen->GetXaxis()->SetBinLabel(6, "Daughters2");
311+
hv0labelmcgen->GetXaxis()->SetBinLabel(7, "PhysicalPrimary");
312+
hv0labelmcgen->GetXaxis()->SetBinLabel(8, "Daughters K0s");
301313
}
302314

303315
hglue.add("h3glueInvMassDS", "h3glueInvMassDS", kTHnSparseF, {multiplicityAxis, ptAxis, glueballMassAxis, thnAxisPOL, thnAxisPhi}, true);
@@ -367,7 +379,7 @@ struct HigherMassResonances {
367379
if (fillHist)
368380
rEventSelection.fill(HIST("hEventCut"), 1);
369381

370-
if (!collision.sel8())
382+
if (config.isSel8 && !collision.sel8())
371383
return false;
372384
if (fillHist)
373385
rEventSelection.fill(HIST("hEventCut"), 2);
@@ -1147,42 +1159,42 @@ struct HigherMassResonances {
11471159
selectedEvents[nevts++] = collision.mcCollision_as<aod::McCollisions>().globalIndex();
11481160
}
11491161
selectedEvents.resize(nevts);
1150-
hMChists.fill(HIST("events_check"), 3.5);
1162+
hMChists.fill(HIST("events_check"), 1.5);
11511163
const auto evtReconstructedAndSelected = std::find(selectedEvents.begin(), selectedEvents.end(), mcCollision.globalIndex()) != selectedEvents.end();
11521164

11531165
if (!config.isallGenCollisions && !evtReconstructedAndSelected) { // Check that the event is reconstructed and that the reconstructed events pass the selection
11541166
return;
11551167
}
1156-
hMChists.fill(HIST("events_check"), 4.5);
1168+
hMChists.fill(HIST("events_check"), 2.5);
11571169
for (const auto& mcParticle : mcParticles) {
11581170

11591171
if (std::abs(mcParticle.pdgCode()) != config.pdgCodes[config.selectMCparticles]) // f2(1525), f0(1710)
11601172
{
11611173
continue;
11621174
}
1163-
hMChists.fill(HIST("events_check"), 5.5);
1175+
hMChists.fill(HIST("events_check"), 3.5);
11641176

11651177
if (config.isapplyRapidityMC && std::abs(mcParticle.y()) >= config.rapidityMotherData) {
11661178
continue;
11671179
}
1168-
hMChists.fill(HIST("events_check"), 6.5);
1180+
hMChists.fill(HIST("events_check"), 4.5);
11691181

11701182
auto kDaughters = mcParticle.daughters_as<aod::McParticles>();
11711183
if (kDaughters.size() != config.noOfDaughters) {
11721184
continue;
11731185
}
1174-
hMChists.fill(HIST("events_check"), 7.5);
1186+
hMChists.fill(HIST("events_check"), 5.5);
11751187

11761188
for (const auto& kCurrentDaughter : kDaughters) {
11771189
// int daupdg = std::abs(kCurrentDaughter.pdgCode());
11781190

11791191
if (!kCurrentDaughter.isPhysicalPrimary()) {
11801192
continue;
11811193
}
1182-
hMChists.fill(HIST("events_check"), 8.5);
1194+
hMChists.fill(HIST("events_check"), 6.5);
11831195
if (std::abs(kCurrentDaughter.pdgCode()) == PDG_t::kK0Short) {
11841196
passKs.push_back(true);
1185-
hMChists.fill(HIST("events_check"), 9.5);
1197+
hMChists.fill(HIST("events_check"), 7.5);
11861198
if (passKs.size() == 1) {
11871199
daughter1 = ROOT::Math::PxPyPzMVector(kCurrentDaughter.px(), kCurrentDaughter.py(), kCurrentDaughter.pz(), o2::constants::physics::MassK0Short);
11881200
} else if (static_cast<int>(passKs.size()) == config.noOfDaughters) {
@@ -1323,45 +1335,46 @@ struct HigherMassResonances {
13231335
}
13241336

13251337
for (const auto& mothertrack2 : mctrackv02.mothers_as<aod::McParticles>()) {
1338+
hMChists.fill(HIST("events_checkrec"), 4.5);
13261339

13271340
if (mothertrack1.pdgCode() != config.pdgCodes[config.selectMCparticles]) {
13281341
continue;
13291342
}
1330-
hMChists.fill(HIST("events_checkrec"), 4.5);
1343+
hMChists.fill(HIST("events_checkrec"), 5.5);
13311344

13321345
if (mothertrack1.pdgCode() != mothertrack2.pdgCode()) {
13331346
continue;
13341347
}
1335-
hMChists.fill(HIST("events_checkrec"), 5.5);
1348+
hMChists.fill(HIST("events_checkrec"), 6.5);
13361349

13371350
gindex2.push_back(mothertrack2.globalIndex());
13381351
if (gindex2.size() > 1) {
13391352
if (std::find(gindex2.begin(), gindex2.end(), mothertrack2.globalIndex()) != gindex2.end()) {
13401353
continue;
13411354
}
13421355
}
1343-
hMChists.fill(HIST("events_checkrec"), 6.5);
1356+
hMChists.fill(HIST("events_checkrec"), 7.5);
13441357

13451358
if (mothertrack1.globalIndex() != mothertrack2.globalIndex()) {
13461359
continue;
13471360
}
1348-
hMChists.fill(HIST("events_checkrec"), 7.5);
1361+
hMChists.fill(HIST("events_checkrec"), 8.5);
13491362

13501363
if (!mothertrack1.producedByGenerator()) {
13511364
continue;
13521365
}
1353-
hMChists.fill(HIST("events_checkrec"), 8.5);
1366+
hMChists.fill(HIST("events_checkrec"), 9.5);
13541367

13551368
if (config.isapplyRapidityMC && std::abs(mothertrack1.y()) >= config.rapidityMotherData) {
13561369
continue;
13571370
}
1358-
hMChists.fill(HIST("events_checkrec"), 9.5);
1371+
hMChists.fill(HIST("events_checkrec"), 10.5);
13591372

13601373
// if (config.isavoidsplitrackMC && oldindex == mothertrack1.globalIndex()) {
13611374
// hMChists.fill(HIST("h1Recsplit"), mothertrack1.pt());
13621375
// continue;
13631376
// }
1364-
// hMChists.fill(HIST("events_checkrec"), 20.5);
1377+
// hMChists.fill(HIST("events_checkrec"), 11.5);
13651378
// oldindex = mothertrack1.globalIndex(); // split tracks is already handled using gindex1 and gindex2
13661379

13671380
daughter1 = ROOT::Math::PxPyPzMVector(v01.px(), v01.py(), v01.pz(), o2::constants::physics::MassK0Short);

0 commit comments

Comments
 (0)