Skip to content

Commit c66abdd

Browse files
authored
[PWGLF,Trigger] Add daughters' eta cut and QA plots for fH3L3Body trigger (#10768)
1 parent ece5e07 commit c66abdd

File tree

1 file changed

+15
-3
lines changed

1 file changed

+15
-3
lines changed

EventFiltering/PWGLF/nucleiFilter.cxx

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -121,12 +121,13 @@ struct nucleiFilter {
121121
struct : ConfigurableGroup {
122122
Configurable<double> d_bz_input{"trgH3L3Body.d_bz", -999, "bz field, -999 is automatic"};
123123
Configurable<float> minCosPA3body{"trgH3L3Body.minCosPA3body", 0.9995, "minCosPA3body"};
124-
Configurable<float> dcavtxdau{"trgH3L3Body.dcavtxdau", 0.04, "meen DCA among Daughters"};
124+
Configurable<float> dcavtxdau{"trgH3L3Body.dcavtxdau", 0.02, "meen DCA among Daughters"};
125125
Configurable<float> dcapiontopv{"trgH3L3Body.dcapiontopv", 0.05, "DCA Pion To PV"};
126126
Configurable<float> tofPIDNSigmaMin{"trgH3L3Body.tofPIDNSigmaMin", -5, "tofPIDNSigmaMin"};
127127
Configurable<float> tofPIDNSigmaMax{"trgH3L3Body.tofPIDNSigmaMax", 5, "tofPIDNSigmaMax"};
128128
Configurable<float> tpcPIDNSigmaCut{"trgH3L3Body.tpcPIDNSigmaCut", 5, "tpcPIDNSigmaCut"};
129129
Configurable<float> lifetimecut{"trgH3L3Body.lifetimecut", 40., "lifetimecut"};
130+
Configurable<float> minDaughtersEta{"trgH3L3Body.minDaughtersEta", 1.f, "minDaughtersEta"};
130131
Configurable<float> minProtonPt{"trgH3L3Body.minProtonPt", 0.3, "minProtonPt"};
131132
Configurable<float> maxProtonPt{"trgH3L3Body.maxProtonPt", 5, "maxProtonPt"};
132133
Configurable<float> minPionPt{"trgH3L3Body.minPionPt", 0.1, "minPionPt"};
@@ -136,7 +137,7 @@ struct nucleiFilter {
136137
Configurable<float> minDeuteronPUseTOF{"trgH3L3Body.minDeuteronPUseTOF", 1, "minDeuteronPt Enable TOF PID"};
137138
Configurable<float> h3LMassLowerlimit{"trgH3L3Body.h3LMassLowerlimit", 2.96, "Hypertriton mass lower limit"};
138139
Configurable<float> h3LMassUpperlimit{"trgH3L3Body.h3LMassUpperlimit", 3.04, "Hypertriton mass upper limit"};
139-
Configurable<float> minP3Body{"trgH3L3Body.minP3Body", 0.5, "min P3Body"};
140+
Configurable<float> minP3Body{"trgH3L3Body.minP3Body", 1.5, "min P3Body"};
140141
Configurable<int> mintpcNClsproton{"trgH3L3Body.mintpcNClsproton", 90, "min tpc Nclusters for proton"};
141142
Configurable<int> mintpcNClspion{"trgH3L3Body.mintpcNClspion", 70, "min tpc Nclusters for pion"};
142143
Configurable<int> mintpcNClsdeuteron{"trgH3L3Body.mintpcNClsdeuteron", 100, "min tpc Nclusters for deuteron"};
@@ -173,6 +174,8 @@ struct nucleiFilter {
173174
qaHists.add("fDeuTOFNsigma", "Deuteron TOF Nsigma distribution", HistType::kTH2F, {{1200, -6, 6, "#it{p} (GeV/#it{c})"}, {2000, -100, 100, "TOF n#sigma"}});
174175
qaHists.add("fBachDeuTOFNsigma", "Bachelor Deuteron TOF Nsigma distribution", HistType::kTH2F, {{1200, -6, 6, "#it{p} (GeV/#it{c})"}, {2000, -100, 100, "TOF n#sigma"}});
175176
qaHists.add("fH3LMassVsPt", "Hypertrion mass Vs pT", HistType::kTH2F, {{100, 0, 10, "#it{p}_{T} (GeV/#it{c})"}, {80, 2.96, 3.04, "Inv. Mass (GeV/c^{2})"}});
177+
qaHists.add("fH3LDcaVsPt", "DCA vs pT", HistType::kTH2F, {{100, 0, 10, "#it{p}_{T} (GeV/#it{c})"}, {100, 0, 0.05, "DCA (cm)"}});
178+
qaHists.add("fH3LCosPAVsPt", "CosPA vs pT", HistType::kTH2F, {{100, 0, 10, "#it{p}_{T} (GeV/#it{c})"}, {100, 0.999, 1.0, "CosPA"}});
176179
qaHists.add("fExtremeIonisationITS", "ITS clusters for extreme ionisation trigger", HistType::kTH3F, {{4, 3.5, 7.5, "Number of ITS clusters"}, {150, 0, 15, "Average cluster size in ITS x cos#lambda"}, {100, 0.1, 10, "#it{p} (GeV/#it{c})"}});
177180

178181
for (int iN{0}; iN < nNuclei; ++iN) {
@@ -413,6 +416,10 @@ struct nucleiFilter {
413416
continue;
414417
}
415418

419+
if (std::abs(track0.eta()) > trgH3L3Body.minDaughtersEta || std::abs(track1.eta()) > trgH3L3Body.minDaughtersEta || std::abs(track2.eta()) > trgH3L3Body.minDaughtersEta) {
420+
continue;
421+
}
422+
416423
bool isProton = false, isPion = false, isAntiProton = false, isAntiPion = false;
417424
if (std::abs(track0.tpcNSigmaPr()) < std::abs(track0.tpcNSigmaPi())) {
418425
if (track0.p() >= trgH3L3Body.minProtonPt && track0.p() <= trgH3L3Body.maxProtonPt) {
@@ -500,7 +507,8 @@ struct nucleiFilter {
500507
continue;
501508
}
502509

503-
if (fitter3body.getChi2AtPCACandidate() > trgH3L3Body.dcavtxdau) {
510+
float dcaDaughters = fitter3body.getChi2AtPCACandidate();
511+
if (dcaDaughters > trgH3L3Body.dcavtxdau) {
504512
continue;
505513
}
506514

@@ -521,6 +529,8 @@ struct nucleiFilter {
521529
if (isProton && isAntiPion && std::abs(track1dca) >= trgH3L3Body.dcapiontopv) {
522530
qaHists.fill(HIST("fH3LMassVsPt"), pt3B, invmassH3L);
523531
qaHists.fill(HIST("fBachDeuTOFNsigma"), track2.p() * track2.sign(), tofNSigmaDeuteron);
532+
qaHists.fill(HIST("fH3LDcaVsPt"), pt3B, dcaDaughters);
533+
qaHists.fill(HIST("fH3LCosPAVsPt"), pt3B, vtxCosPA);
524534
keepEvent[3] = true;
525535
}
526536
}
@@ -529,6 +539,8 @@ struct nucleiFilter {
529539
if (isAntiProton && isPion && std::abs(track0dca) >= trgH3L3Body.dcapiontopv) {
530540
qaHists.fill(HIST("fH3LMassVsPt"), pt3B, invmassAntiH3L);
531541
qaHists.fill(HIST("fBachDeuTOFNsigma"), track2.p() * track2.sign(), tofNSigmaDeuteron);
542+
qaHists.fill(HIST("fH3LDcaVsPt"), pt3B, dcaDaughters);
543+
qaHists.fill(HIST("fH3LCosPAVsPt"), pt3B, vtxCosPA);
532544
keepEvent[3] = true;
533545
}
534546
}

0 commit comments

Comments
 (0)