Skip to content

Commit c2c115f

Browse files
committed
Add rapidity cut for data in MB events
1 parent dc0bdb8 commit c2c115f

1 file changed

Lines changed: 85 additions & 27 deletions

File tree

PWGLF/Tasks/Strangeness/strangenessInJetsIons.cxx

Lines changed: 85 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -287,7 +287,7 @@ struct StrangenessInJetsIons {
287287
registryData.add("number_of_events_vsmultiplicity", "number of events in data vs multiplicity", HistType::kTH1D, {{101, 0, 101, "Multiplicity percentile"}});
288288

289289
// For MB
290-
registryData.add("number_of_events_vsmultiplicity_MB", "number of events in data vs multiplicity (MB)", HistType::kTH1D, {{101, 0, 101, "Multiplicity percentile"}});
290+
// registryData.add("number_of_events_vsmultiplicity_MB", "number of events in data vs multiplicity (MB)", HistType::kTH1D, {{101, 0, 101, "Multiplicity percentile"}});
291291

292292
registryData.get<TH1>(HIST("number_of_events_data"))->GetXaxis()->SetBinLabel(1, "All collisions");
293293
registryData.get<TH1>(HIST("number_of_events_data"))->GetXaxis()->SetBinLabel(2, "Zorro selection");
@@ -555,17 +555,17 @@ struct StrangenessInJetsIons {
555555
if (doprocessDataMB) {
556556

557557
// Event counters
558-
registryDataMB.add("number_of_events_data", "number of events in data", HistType::kTH1D, {{20, 0, 20, "Event Cuts"}});
559-
registryDataMB.add("number_of_events_vsmultiplicity", "number of events in data vs multiplicity", HistType::kTH1D, {{101, 0, 101, "Multiplicity percentile"}});
560-
561-
registryDataMB.get<TH1>(HIST("number_of_events_data"))->GetXaxis()->SetBinLabel(1, "All collisions");
562-
registryDataMB.get<TH1>(HIST("number_of_events_data"))->GetXaxis()->SetBinLabel(2, "Zorro selection");
563-
registryDataMB.get<TH1>(HIST("number_of_events_data"))->GetXaxis()->SetBinLabel(3, "sel8");
564-
registryDataMB.get<TH1>(HIST("number_of_events_data"))->GetXaxis()->SetBinLabel(4, "posZ cut");
565-
registryDataMB.get<TH1>(HIST("number_of_events_data"))->GetXaxis()->SetBinLabel(5, "kNoSameBunchPileup");
566-
registryDataMB.get<TH1>(HIST("number_of_events_data"))->GetXaxis()->SetBinLabel(6, "kIsGoodZvtxFT0vsPV");
567-
registryDataMB.get<TH1>(HIST("number_of_events_data"))->GetXaxis()->SetBinLabel(7, "No empty events");
568-
registryDataMB.get<TH1>(HIST("number_of_events_data"))->GetXaxis()->SetBinLabel(8, "At least one jet");
558+
registryDataMB.add("number_of_events_data_MB", "number of events in data (MB)", HistType::kTH1D, {{20, 0, 20, "Event Cuts"}});
559+
registryDataMB.add("number_of_events_vsmultiplicity_MB", "number of events in data vs multiplicity (MB)", HistType::kTH1D, {{101, 0, 101, "Multiplicity percentile"}});
560+
561+
registryDataMB.get<TH1>(HIST("number_of_events_data_MB"))->GetXaxis()->SetBinLabel(1, "All collisions");
562+
registryDataMB.get<TH1>(HIST("number_of_events_data_MB"))->GetXaxis()->SetBinLabel(2, "Zorro selection");
563+
registryDataMB.get<TH1>(HIST("number_of_events_data_MB"))->GetXaxis()->SetBinLabel(3, "sel8");
564+
registryDataMB.get<TH1>(HIST("number_of_events_data_MB"))->GetXaxis()->SetBinLabel(4, "posZ cut");
565+
registryDataMB.get<TH1>(HIST("number_of_events_data_MB"))->GetXaxis()->SetBinLabel(5, "kNoSameBunchPileup");
566+
registryDataMB.get<TH1>(HIST("number_of_events_data_MB"))->GetXaxis()->SetBinLabel(6, "kIsGoodZvtxFT0vsPV");
567+
registryDataMB.get<TH1>(HIST("number_of_events_data_MB"))->GetXaxis()->SetBinLabel(7, "No empty events");
568+
registryDataMB.get<TH1>(HIST("number_of_events_data_MB"))->GetXaxis()->SetBinLabel(8, "At least one jet");
569569

570570
// Histograms for analysis of strange hadrons
571571
if (particleOfInterestDict[ParticleOfInterest::kV0Particles]) {
@@ -1189,6 +1189,64 @@ struct StrangenessInJetsIons {
11891189
return true;
11901190
}
11911191

1192+
// --- MB Selections ------------------------------------
1193+
// The rapidty cut is added, which is not required in jet and UE
1194+
// K0s selections (MB)
1195+
template <typename K0short, typename TrackPos, typename TrackNeg>
1196+
bool passedK0ShortSelectionMB(const K0short& v0, const TrackPos& ptrack, const TrackNeg& ntrack, const TVector3& vtxPos)
1197+
{
1198+
bool passedSel = passedK0ShortSelection(v0, ptrack, ntrack, vtxPos);
1199+
1200+
if (!passedRapidityCut(v0.yK0Short(), configV0.rapidityMax))
1201+
return false;
1202+
return passedSel;
1203+
}
1204+
1205+
// Lambda selections (MB)
1206+
template <typename Lambda, typename TrackPos, typename TrackNeg>
1207+
bool passedLambdaSelectionMB(const Lambda& v0, const TrackPos& ptrack, const TrackNeg& ntrack, const TVector3& vtxPos)
1208+
{
1209+
bool passedSel = passedLambdaSelection(v0, ptrack, ntrack, vtxPos);
1210+
1211+
if (!passedRapidityCut(v0.yLambda(), configV0.rapidityMax))
1212+
return false;
1213+
return passedSel;
1214+
}
1215+
1216+
// AntiLambda selections (MB)
1217+
template <typename AntiLambda, typename TrackPos, typename TrackNeg>
1218+
bool passedAntiLambdaSelectionMB(const AntiLambda& v0, const TrackPos& ptrack, const TrackNeg& ntrack, const TVector3& vtxPos)
1219+
{
1220+
bool passedSel = passedAntiLambdaSelection(v0, ptrack, ntrack, vtxPos);
1221+
1222+
if (!passedRapidityCut(v0.yLambda(), configV0.rapidityMax))
1223+
return false;
1224+
return passedSel;
1225+
}
1226+
1227+
// Xi Selections (MB)
1228+
template <typename Xi, typename TrackPos, typename TrackNeg, typename TrackBac, typename Coll>
1229+
bool passedXiSelectionMB(const Xi& casc, const TrackPos& ptrack, const TrackNeg& ntrack, const TrackBac& btrack, const Coll& coll)
1230+
{
1231+
bool passedSel = passedXiSelection(casc, ptrack, ntrack, btrack, coll);
1232+
1233+
if (!passedRapidityCut(casc.yXi(), configV0.rapidityMax))
1234+
return false;
1235+
return passedSel;
1236+
}
1237+
1238+
// Omega selections (MB)
1239+
template <typename Omega, typename TrackPos, typename TrackNeg, typename TrackBac, typename Coll>
1240+
bool passedOmegaSelectionMB(const Omega& casc, const TrackPos& ptrack, const TrackNeg& ntrack, const TrackBac& btrack, const Coll& coll)
1241+
{
1242+
bool passedSel = passedOmegaSelection(casc, ptrack, ntrack, btrack, coll);
1243+
1244+
if (!passedRapidityCut(casc.yOmega(), configV0.rapidityMax))
1245+
return false;
1246+
return passedSel;
1247+
}
1248+
// ------------------------------------------------------
1249+
11921250
// Event selection for MC Reco collision
11931251
template <typename coll>
11941252
bool selectRecoEvent(const coll& recoColl)
@@ -1917,7 +1975,7 @@ struct StrangenessInJetsIons {
19171975
} else {
19181976
centrality = collision.centFT0M();
19191977
}
1920-
registryData.fill(HIST("number_of_events_vsmultiplicity_MB"), centrality);
1978+
// registryData.fill(HIST("number_of_events_vsmultiplicity_MB"), centrality);
19211979

19221980
// Loop over reconstructed tracks
19231981
std::vector<fastjet::PseudoJet> fjParticles;
@@ -3232,7 +3290,7 @@ struct StrangenessInJetsIons {
32323290
TVector3 vtxPos(collision.posX(), collision.posY(), collision.posZ());
32333291

32343292
// Fill event counter before event selection
3235-
registryDataMB.fill(HIST("number_of_events_data"), 0.5);
3293+
registryDataMB.fill(HIST("number_of_events_data_MB"), 0.5);
32363294

32373295
// Get the bunch crossing (BC) information associated with the collision
32383296
auto bc = collision.template bc_as<aod::BCsWithTimestamps>();
@@ -3246,35 +3304,35 @@ struct StrangenessInJetsIons {
32463304
}
32473305

32483306
// Fill event counter after zorro selection
3249-
registryDataMB.fill(HIST("number_of_events_data"), 1.5);
3307+
registryDataMB.fill(HIST("number_of_events_data_MB"), 1.5);
32503308

32513309
// Event selection
32523310
if (!collision.sel8())
32533311
return;
32543312

32553313
// Fill event counter after sel8 selection
3256-
registryDataMB.fill(HIST("number_of_events_data"), 2.5);
3314+
registryDataMB.fill(HIST("number_of_events_data_MB"), 2.5);
32573315

32583316
// Require vertex position within the allowed z range
32593317
if (std::fabs(collision.posZ()) > zVtx)
32603318
return;
32613319

32623320
// Fill event counter after z vertex selection
3263-
registryDataMB.fill(HIST("number_of_events_data"), 3.5);
3321+
registryDataMB.fill(HIST("number_of_events_data_MB"), 3.5);
32643322

32653323
// Reject collisions associated to the same found BC
32663324
if (requireNoSameBunchPileup && !collision.selection_bit(o2::aod::evsel::kNoSameBunchPileup))
32673325
return;
32683326

32693327
// Fill event counter after selection kNoSameBunchPileup
3270-
registryDataMB.fill(HIST("number_of_events_data"), 4.5);
3328+
registryDataMB.fill(HIST("number_of_events_data_MB"), 4.5);
32713329

32723330
// Compatible z_vtx from FT0 and from PV
32733331
if (requireGoodZvtxFT0vsPV && !collision.selection_bit(o2::aod::evsel::kIsGoodZvtxFT0vsPV))
32743332
return;
32753333

32763334
// Fill event counter after selection kIsGoodZvtxFT0vsPV
3277-
registryDataMB.fill(HIST("number_of_events_data"), 5.5);
3335+
registryDataMB.fill(HIST("number_of_events_data_MB"), 5.5);
32783336

32793337
// Event multiplicity
32803338
float centrality;
@@ -3283,7 +3341,7 @@ struct StrangenessInJetsIons {
32833341
} else {
32843342
centrality = collision.centFT0M();
32853343
}
3286-
registryDataMB.fill(HIST("number_of_events_vsmultiplicity"), centrality);
3344+
registryDataMB.fill(HIST("number_of_events_vsmultiplicity_MB"), centrality);
32873345

32883346
if (particleOfInterestDict[ParticleOfInterest::kV0Particles]) { // V0s
32893347
for (const auto& v0 : fullV0s) {
@@ -3294,15 +3352,15 @@ struct StrangenessInJetsIons {
32943352
TVector3 v0dir(v0.px(), v0.py(), v0.pz());
32953353

32963354
// K0s
3297-
if (passedK0ShortSelection(v0, pos, neg, vtxPos)) {
3355+
if (passedK0ShortSelectionMB(v0, pos, neg, vtxPos)) {
32983356
registryDataMB.fill(HIST("K0s_in_MB"), centrality, v0.pt(), v0.mK0Short());
32993357
}
33003358
// Lambda
3301-
if (passedLambdaSelection(v0, pos, neg, vtxPos)) {
3359+
if (passedLambdaSelectionMB(v0, pos, neg, vtxPos)) {
33023360
registryDataMB.fill(HIST("Lambda_in_MB"), centrality, v0.pt(), v0.mLambda());
33033361
}
33043362
// AntiLambda
3305-
if (passedAntiLambdaSelection(v0, pos, neg, vtxPos)) {
3363+
if (passedAntiLambdaSelectionMB(v0, pos, neg, vtxPos)) {
33063364
registryDataMB.fill(HIST("AntiLambda_in_MB"), centrality, v0.pt(), v0.mAntiLambda());
33073365
}
33083366
}
@@ -3317,19 +3375,19 @@ struct StrangenessInJetsIons {
33173375
TVector3 cascadeDir(casc.px(), casc.py(), casc.pz());
33183376

33193377
// Xi+
3320-
if (passedXiSelection(casc, pos, neg, bach, collision) && bach.sign() > 0) {
3378+
if (passedXiSelectionMB(casc, pos, neg, bach, collision) && bach.sign() > 0) {
33213379
registryDataMB.fill(HIST("XiPos_in_MB"), centrality, casc.pt(), casc.mXi());
33223380
}
33233381
// Xi-
3324-
if (passedXiSelection(casc, pos, neg, bach, collision) && bach.sign() < 0) {
3382+
if (passedXiSelectionMB(casc, pos, neg, bach, collision) && bach.sign() < 0) {
33253383
registryDataMB.fill(HIST("XiNeg_in_MB"), centrality, casc.pt(), casc.mXi());
33263384
}
33273385
// Omega+
3328-
if (passedOmegaSelection(casc, pos, neg, bach, collision) && bach.sign() > 0) {
3386+
if (passedOmegaSelectionMB(casc, pos, neg, bach, collision) && bach.sign() > 0) {
33293387
registryDataMB.fill(HIST("OmegaPos_in_MB"), centrality, casc.pt(), casc.mOmega());
33303388
}
33313389
// Omega-
3332-
if (passedOmegaSelection(casc, pos, neg, bach, collision) && bach.sign() < 0) {
3390+
if (passedOmegaSelectionMB(casc, pos, neg, bach, collision) && bach.sign() < 0) {
33333391
registryDataMB.fill(HIST("OmegaNeg_in_MB"), centrality, casc.pt(), casc.mOmega());
33343392
}
33353393
}

0 commit comments

Comments
 (0)