Skip to content

Commit b029457

Browse files
nstrangmNicolas Strangmann
andauthored
[PWGEM/PhotonMeson,PWGJE/EMCal] Add event selection cuts to omega and mcgenerator studies (#12501)
Co-authored-by: Nicolas Strangmann <nicolas.strangmann@.cern.ch>
1 parent 1eb3b41 commit b029457

File tree

2 files changed

+25
-10
lines changed

2 files changed

+25
-10
lines changed

PWGEM/PhotonMeson/Tasks/OmegaMesonEMC.cxx

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,9 @@ struct OmegaMesonEMC {
8585
Configurable<float> confEvtZvtx{"confEvtZvtx", 10.f, "Evt sel: Max. z-Vertex (cm)"};
8686
Configurable<bool> confEvtRequireSel8{"confEvtRequireSel8", true, "Evt sel: check for sel8 trigger bit"};
8787
Configurable<bool> confEvtRequirekTVXinEMC{"confEvtRequirekTVXinEMC", false, "Evt sel: check for EMCal MB trigger kTVXinEMC"};
88+
Configurable<bool> confEvtRequireL0{"confEvtRequireL0", false, "Evt sel: check for EMCal L0 trigger"};
89+
Configurable<bool> confEvtRequireGoodZVertex{"confEvtRequireGoodZVertex", false, "Evt sel: check for EMCal good z-vertex"};
90+
Configurable<bool> confEvtRequireNoSameBunchPileUp{"confEvtRequireNoSameBunchPileUp", false, "Evt sel: check for no same bunch pile-up"};
8891

8992
// ---> Track selection
9093
Configurable<LabeledArray<float>> cfgChargedPionCuts{"cfgChargedPionCuts", {hnm::chargedPionCutsTable[0], 3, 2, hnm::chargedPionCutsName, hnm::chargedPionMinMaxName}, "Charged pion track cuts"};
@@ -224,6 +227,12 @@ struct OmegaMesonEMC {
224227
return; // Skip this collision if sel8 trigger bit is not set
225228
if (confEvtRequirekTVXinEMC && !iskTVXinEMC)
226229
return; // Skip this collision if kTVXinEMC trigger bit is not set
230+
if (confEvtRequireL0 && !isL0Triggered)
231+
return; // Skip this collision if L0 trigger bit is not set
232+
if (confEvtRequireGoodZVertex && !collision.selection_bit(o2::aod::evsel::kIsGoodZvtxFT0vsPV))
233+
return; // Skip this collision if good z-vertex condition is not met
234+
if (confEvtRequireNoSameBunchPileUp && !collision.selection_bit(o2::aod::evsel::kNoSameBunchPileup))
235+
return; // Skip this collision if no same bunch pileup condition is not met
227236

228237
if (bcHasEMCCells && iskTVXinEMC)
229238
mHistManager.fill(HIST("Event/nEMCalEvents"), 0);

PWGJE/Tasks/mcGeneratorStudies.cxx

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ struct MCGeneratorStudies {
6060
Configurable<bool> mRequireNoSameBunchPileup{"mRequireNoSameBunchPileup", true, "require no same bunch pileup in event cut"};
6161
Configurable<bool> mRequireGoodZvtxFT0vsPV{"mRequireGoodZvtxFT0vsPV", true, "require good Zvtx between FT0 vs. PV in event cut"};
6262
Configurable<bool> mRequireEMCReadoutInMB{"mRequireEMCReadoutInMB", true, "require the EMC to be read out in an MB collision (kTVXinEMC)"};
63+
Configurable<bool> mRequireEMCReadoutInL0{"mRequireEMCReadoutInL0", false, "require the EMC to be read out by L0 trigger"};
6364

6465
void init(InitContext const&)
6566
{
@@ -159,7 +160,7 @@ struct MCGeneratorStudies {
159160
continue;
160161
else if (mSelectOnlyChargedParticles && TDatabasePDG::Instance()->GetParticle(mcParticle.pdgCode())->Charge())
161162
continue;
162-
if (fabs(mcParticle.y()) > mRapidityCut)
163+
if (std::abs(mcParticle.y()) > mRapidityCut)
163164
continue;
164165
if (!mcParticle.isPhysicalPrimary() && !mcParticle.producedByGenerator())
165166
continue;
@@ -186,7 +187,7 @@ struct MCGeneratorStudies {
186187
continue;
187188
else if (mSelectOnlyChargedParticles && TDatabasePDG::Instance()->GetParticle(mcParticle.pdgCode())->Charge())
188189
continue;
189-
if (fabs(mcParticle.y()) > mRapidityCut)
190+
if (std::abs(mcParticle.y()) > mRapidityCut)
190191
continue;
191192
if (!mcParticle.isPhysicalPrimary() && !mcParticle.producedByGenerator())
192193
continue;
@@ -198,7 +199,7 @@ struct MCGeneratorStudies {
198199
mHistManager.fill(HIST("Yield_Accepted"), mcParticle.pt());
199200
if (!mRequireTVX || collision.selection_bit(o2::aod::evsel::kIsTriggerTVX)) {
200201
mHistManager.fill(HIST("Yield_T"), mcParticle.pt());
201-
if (abs(collision.posZ()) < mVertexCut) {
202+
if (std::abs(collision.posZ()) < mVertexCut) {
202203
mHistManager.fill(HIST("Yield_TZ"), mcParticle.pt());
203204
if (!mRequireSel8 || collision.sel8()) {
204205
mHistManager.fill(HIST("Yield_TZS"), mcParticle.pt());
@@ -207,9 +208,11 @@ struct MCGeneratorStudies {
207208
if (!mRequireNoSameBunchPileup || collision.selection_bit(o2::aod::evsel::kNoSameBunchPileup)) {
208209
mHistManager.fill(HIST("Yield_TZSGU"), mcParticle.pt());
209210
if (!mRequireEMCReadoutInMB || (mRequireEMCCellContent ? collision.isemcreadout() : collision.alias_bit(kTVXinEMC))) {
210-
mHistManager.fill(HIST("Yield_TZSGUE"), mcParticle.pt());
211-
if (isAccepted(mcParticle, mcParticles))
212-
mHistManager.fill(HIST("Yield_TZSGUE_Accepted"), mcParticle.pt());
211+
if (!mRequireEMCReadoutInL0 || (collision.alias_bit(kEMC7) || collision.alias_bit(kDMC7))) {
212+
mHistManager.fill(HIST("Yield_TZSGUE"), mcParticle.pt());
213+
if (isAccepted(mcParticle, mcParticles))
214+
mHistManager.fill(HIST("Yield_TZSGUE_Accepted"), mcParticle.pt());
215+
}
213216
}
214217
}
215218
}
@@ -271,7 +274,7 @@ struct MCGeneratorStudies {
271274
fRegistry->fill(HIST("hEMCollisionCounter"), 7.0);
272275
if (collision.sel8())
273276
fRegistry->fill(HIST("hEMCollisionCounter"), 8.0);
274-
if (abs(collision.posZ()) < 10.0)
277+
if (std::abs(collision.posZ()) < 10.0)
275278
fRegistry->fill(HIST("hEMCollisionCounter"), 9.0);
276279
if (collision.alias_bit(kTVXinEMC))
277280
fRegistry->fill(HIST("hEMCollisionCounter"), 10.0);
@@ -284,16 +287,19 @@ struct MCGeneratorStudies {
284287
fRegistry->fill(HIST("hCollisionCounter"), 1);
285288
if (!mRequireTVX || collision.selection_bit(o2::aod::evsel::kIsTriggerTVX)) {
286289
fRegistry->fill(HIST("hCollisionCounter"), 2);
287-
if (abs(collision.posZ()) < mVertexCut) {
290+
if (std::abs(collision.posZ()) < mVertexCut) {
288291
fRegistry->fill(HIST("hCollisionCounter"), 3);
289292
if (!mRequireSel8 || collision.sel8()) {
290293
fRegistry->fill(HIST("hCollisionCounter"), 4);
291294
if (!mRequireGoodZvtxFT0vsPV || collision.selection_bit(o2::aod::evsel::kIsGoodZvtxFT0vsPV)) {
292295
fRegistry->fill(HIST("hCollisionCounter"), 5);
293296
if (!mRequireNoSameBunchPileup || collision.selection_bit(o2::aod::evsel::kNoSameBunchPileup)) {
294297
fRegistry->fill(HIST("hCollisionCounter"), 6);
295-
if (!mRequireEMCReadoutInMB || (mRequireEMCCellContent ? collision.isemcreadout() : collision.alias_bit(kTVXinEMC)))
296-
fRegistry->fill(HIST("hCollisionCounter"), 7);
298+
if (!mRequireEMCReadoutInMB || (mRequireEMCCellContent ? collision.isemcreadout() : collision.alias_bit(kTVXinEMC))) {
299+
if (!mRequireEMCReadoutInL0 || (collision.alias_bit(kEMC7) || collision.alias_bit(kDMC7))) {
300+
fRegistry->fill(HIST("hCollisionCounter"), 7);
301+
}
302+
}
297303
}
298304
}
299305
}

0 commit comments

Comments
 (0)