Skip to content

Commit 4042932

Browse files
committed
TVX-like selection in MC
1 parent 623944e commit 4042932

File tree

1 file changed

+36
-3
lines changed

1 file changed

+36
-3
lines changed

PWGLF/Tasks/Nuspex/piKpRAA.cxx

Lines changed: 36 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,10 @@ struct PiKpRAA {
121121
static constexpr float kMaxdEdxMIP{60.0f};
122122
static constexpr float kMindEdxMIPPlateau{70.0f};
123123
static constexpr float kMaxdEdxMIPPlateau{90.0f};
124+
static constexpr float kMinFT0A{3.5f};
125+
static constexpr float kMaxFT0A{4.9f};
126+
static constexpr float kMinFT0C{-3.3f};
127+
static constexpr float kMaxFT0C{-2.1f};
124128

125129
static constexpr float kLowEta[kNEtaHists] = {-0.8, -0.6, -0.4, -0.2, 0.0, 0.2, 0.4, 0.6};
126130
static constexpr float kHighEta[kNEtaHists] = {-0.6, -0.4, -0.2, 0.0, 0.2, 0.4, 0.6, 0.8};
@@ -203,6 +207,7 @@ struct PiKpRAA {
203207
Configurable<bool> isT0Ccent{"isT0Ccent", true, "Use T0C-based centrality?"};
204208
Configurable<bool> isZvtxPosSel{"isZvtxPosSel", true, "Zvtx position selection?"};
205209
Configurable<bool> isZvtxPosSelMC{"isZvtxPosSelMC", true, "Zvtx position selection for MC events?"};
210+
Configurable<bool> selTVXMC{"selTVXMC", true, "apply TVX selection in MC?"};
206211
Configurable<bool> selINELgt0{"selINELgt0", true, "Select INEL > 0?"};
207212
Configurable<bool> isApplyFT0CbasedOccupancy{"isApplyFT0CbasedOccupancy", false, "T0C Occu cut"};
208213
Configurable<bool> applyNchSel{"applyNchSel", false, "Use mid-rapidity-based Nch selection"};
@@ -523,6 +528,9 @@ struct PiKpRAA {
523528

524529
if (doprocessSim) {
525530

531+
// MC events passing the TVX requirement
532+
registry.add("NchMCcentVsTVX", ";Passed(=1.5) NOT Passed(=0.5);", kTH2F, {{{nBinsNch, minNch, maxNch}, {2, 0, 2}}});
533+
526534
registry.add("NumberOfRecoCollisions", "Number of times Gen. Coll.are reconstructed;N;Entries", kTH1F, {{10, -0.5, 9.5}});
527535

528536
// Pt resolution
@@ -1390,11 +1398,10 @@ struct PiKpRAA {
13901398
// By counting number of primary charged particles in |eta| < 1
13911399
//---------------------------
13921400
int nChMC{0};
1401+
int nChFT0A{0};
1402+
int nChFT0C{0};
13931403
for (const auto& particle : mcParticles) {
13941404

1395-
if (std::abs(particle.eta()) > kOne)
1396-
continue;
1397-
13981405
auto charge{0.};
13991406
// Get the MC particle
14001407
const auto* pdgParticle = pdg->GetParticle(particle.pdgCode());
@@ -1412,9 +1419,35 @@ struct PiKpRAA {
14121419
if (!particle.isPhysicalPrimary())
14131420
continue;
14141421

1422+
const float eta{particle.eta()};
1423+
1424+
// TVX requirement
1425+
if (eta > kMinFT0A && eta < kMaxFT0A) {
1426+
nChFT0A++;
1427+
}
1428+
1429+
if (eta > kMinFT0C && eta < kMaxFT0C) {
1430+
nChFT0C++;
1431+
}
1432+
1433+
// INEL > 0
1434+
if (std::abs(eta) > kOne)
1435+
continue;
1436+
14151437
nChMC++;
14161438
}
14171439

1440+
//---------------------------
1441+
// Only events with at least one charged particle in the FT0A and FT0C acceptances
1442+
//---------------------------
1443+
if (selTVXMC) {
1444+
if (!(nChFT0A > kZeroInt && nChFT0C > kZeroInt)) {
1445+
registry.fill(HIST("NchMCcentVsTVX"), nChMC, 0.5);
1446+
return;
1447+
}
1448+
registry.fill(HIST("NchMCcentVsTVX"), nChMC, 1.5);
1449+
}
1450+
14181451
//---------------------------
14191452
// Only MC events with |Vtx Z| < 10 cm
14201453
//---------------------------

0 commit comments

Comments
 (0)