Skip to content

Commit f30d426

Browse files
authored
Merge pull request #45 from alibuild/alibot-cleanup-14786
[Trigger,PWGHF] Please consider the following formatting changes to #14786
2 parents c05babb + c45916c commit f30d426

File tree

3 files changed

+115
-113
lines changed

3 files changed

+115
-113
lines changed

EventFiltering/PWGHF/HFFilter.cxx

Lines changed: 61 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -149,14 +149,13 @@ struct HfFilter { // Main struct for HF triggers
149149

150150
// parameters for Sigma_C proton trigger
151151
Configurable<LabeledArray<float>> cutsSigmaCPr{
152-
"cutsSigmaCPr",
153-
{cutsSigmaCPrDefault[0],
154-
static_cast<uint32_t>(labelsRowsSigmaCPr.size()),
155-
static_cast<uint32_t>(labelsColumnsSigmaCPr.size()),
156-
labelsRowsSigmaCPr,
157-
labelsColumnsSigmaCPr},
158-
"Cuts for SigmaCPr trigger (proton pT, PID, TOF)"
159-
};
152+
"cutsSigmaCPr",
153+
{cutsSigmaCPrDefault[0],
154+
static_cast<uint32_t>(labelsRowsSigmaCPr.size()),
155+
static_cast<uint32_t>(labelsColumnsSigmaCPr.size()),
156+
labelsRowsSigmaCPr,
157+
labelsColumnsSigmaCPr},
158+
"Cuts for SigmaCPr trigger (proton pT, PID, TOF)"};
160159
// parameters for charm baryons to Xi bachelor
161160
Configurable<LabeledArray<float>> cutsXiCascades{"cutsXiCascades", {cutsCascades[0], 1, 8, labelsEmpty, labelsColumnsCascades}, "Selections for cascades (Xi) for Xi+bachelor triggers"};
162161
Configurable<LabeledArray<float>> cutsXiBachelor{"cutsXiBachelor", {cutsCharmBaryons[0], 1, 15, labelsEmpty, labelsColumnsCharmBarCuts}, "Selections for charm baryons (Xi+Pi, Xi+Ka, Xi+Pi+Pi)"};
@@ -295,15 +294,15 @@ struct HfFilter { // Main struct for HF triggers
295294
helper.setPtRangeSoftKaonXicResoToSigmaC(ptCuts->get(0u, 5u), ptCuts->get(1u, 5u));
296295
helper.setVtxConfiguration(dfStrangeness, true); // (DCAFitterN, useAbsDCA)
297296
helper.setVtxConfiguration(dfStrangeness3, true); // (DCAFitterN, useAbsDCA)
298-
helper.setParSigmaCPr(
299-
cutsPtDeltaMassCharmReso->get(0u, 13u), // min ΔM
300-
cutsPtDeltaMassCharmReso->get(1u, 13u), // max ΔM
301-
cutsPtDeltaMassCharmReso->get(2u, 13u), // min pT SigmaC
302-
cutsSigmaCPr->get(0u, 0u), // min pT proton
303-
cutsSigmaCPr->get(1u, 0u), // max pT proton
304-
static_cast<bool>(cutsSigmaCPr->get(2u, 0u)), // force TOF
305-
cutsSigmaCPr->get(3u, 0u) // TOF pT threshold
306-
);
297+
helper.setParSigmaCPr(
298+
cutsPtDeltaMassCharmReso->get(0u, 13u), // min ΔM
299+
cutsPtDeltaMassCharmReso->get(1u, 13u), // max ΔM
300+
cutsPtDeltaMassCharmReso->get(2u, 13u), // min pT SigmaC
301+
cutsSigmaCPr->get(0u, 0u), // min pT proton
302+
cutsSigmaCPr->get(1u, 0u), // max pT proton
303+
static_cast<bool>(cutsSigmaCPr->get(2u, 0u)), // force TOF
304+
cutsSigmaCPr->get(3u, 0u) // TOF pT threshold
305+
);
307306
dfStrangeness.setMatCorrType(matCorr);
308307
dfStrangeness3.setMatCorrType(matCorr);
309308
helper.setVtxConfiguration(df2, false); // (DCAFitterN, useAbsDCA)
@@ -390,7 +389,7 @@ struct HfFilter { // Main struct for HF triggers
390389
// ThetaC
391390
hMassVsPtC[kNCharmParticles + 21] = registry.add<TH2>("fMassVsPtCharmBaryonToDstarP", "#it{M} vs. #it{p}_{T} distribution of triggered D^{*0}#p candidates;#it{p}_{T} (GeV/#it{c});#it{M} (GeV/#it{c}^{2});counts", HistType::kTH2D, {ptAxis, massAxisC[kNCharmParticles + 21]});
392391
hMassVsPtC[kNCharmParticles + 22] = registry.add<TH2>("fMassVsPtCharmBaryonToDstarPWrongSign", "#it{M} vs. #it{p}_{T} distribution of triggered D^{*0}#p wrong sign candidates;#it{p}_{T} (GeV/#it{c});#it{M} (GeV/#it{c}^{2});counts", HistType::kTH2D, {ptAxis, massAxisC[kNCharmParticles + 22]});
393-
//SigmaC-p
392+
// SigmaC-p
394393
hMassVsPtC[kNCharmParticles + 23] = registry.add<TH2>("fMassVsPtSigmaCPr", "#it{M} vs. #it{p}_{T} distribution of #Sigma_{c} for SigmaCPr trigger;#it{p}_{T} (GeV/#it{c});#it{M} (GeV/#it{c}^{2});counts", HistType::kTH2D, {ptAxis, massAxisC[kNCharmParticles + 23]});
395394

396395
for (int iBeautyPart{0}; iBeautyPart < kNBeautyParticles; ++iBeautyPart) {
@@ -480,7 +479,7 @@ struct HfFilter { // Main struct for HF triggers
480479
bool isSelectedITSROFBorder = evSel.applyITSROFBorderCut ? collision.selection_bit(o2::aod::evsel::kNoITSROFrameBorder) : true;
481480
bool isSelectedPvZ = (std::fabs(collision.posZ()) < evSel.maxPvZ);
482481
if (!isSelectedTVX || !isSelectedTFBorder || !isSelectedITSROFBorder || !isSelectedPvZ) {
483-
tags(keepEvent[kHighPt2P], keepEvent[kHighPt3P], keepEvent[kBeauty3P], keepEvent[kBeauty4P], keepEvent[kFemto2P], keepEvent[kFemto3P], keepEvent[kDoubleCharm2P], keepEvent[kDoubleCharm3P], keepEvent[kDoubleCharmMix], keepEvent[kV0Charm2P], keepEvent[kV0Charm3P], keepEvent[kCharmBarToXiBach], keepEvent[kSigmaCPPK], keepEvent[kSigmaC0K0], keepEvent[kSigmaCPr], keepEvent[kPhotonCharm2P], keepEvent[kPhotonCharm3P], keepEvent[kSingleCharm2P], keepEvent[kSingleCharm3P], keepEvent[kSingleNonPromptCharm2P], keepEvent[kSingleNonPromptCharm3P], keepEvent[kCharmBarToXi2Bach], keepEvent[kPrCharm2P], keepEvent[kBtoJPsiKa], keepEvent[kBtoJPsiKstar], keepEvent[kBtoJPsiPhi], keepEvent[kBtoJPsiPrKa], keepEvent[kBtoJPsiPi]);
482+
tags(keepEvent[kHighPt2P], keepEvent[kHighPt3P], keepEvent[kBeauty3P], keepEvent[kBeauty4P], keepEvent[kFemto2P], keepEvent[kFemto3P], keepEvent[kDoubleCharm2P], keepEvent[kDoubleCharm3P], keepEvent[kDoubleCharmMix], keepEvent[kV0Charm2P], keepEvent[kV0Charm3P], keepEvent[kCharmBarToXiBach], keepEvent[kSigmaCPPK], keepEvent[kSigmaC0K0], keepEvent[kSigmaCPr], keepEvent[kPhotonCharm2P], keepEvent[kPhotonCharm3P], keepEvent[kSingleCharm2P], keepEvent[kSingleCharm3P], keepEvent[kSingleNonPromptCharm2P], keepEvent[kSingleNonPromptCharm3P], keepEvent[kCharmBarToXi2Bach], keepEvent[kPrCharm2P], keepEvent[kBtoJPsiKa], keepEvent[kBtoJPsiKstar], keepEvent[kBtoJPsiPhi], keepEvent[kBtoJPsiPrKa], keepEvent[kBtoJPsiPi]);
484483
continue;
485484
}
486485

@@ -1601,61 +1600,61 @@ struct HfFilter { // Main struct for HF triggers
16011600

16021601
// check the charge for SigmaC++K- candidates
16031602

1604-
if(!keepEvent[kSigmaCPPK] && (std::abs(chargeSc + track.sign()) == 1 && std::abs(chargeSc) == 2 )){
1605-
// check the invariant mass
1606-
float massSigmaCPKPi{-999.}, massSigmaCPiKP{-999.}, deltaMassXicResoPKPi{-999.}, deltaMassXicResoPiKP{-999.};
1607-
float ptSigmaCKaon = RecoDecay::pt(pVecSigmaC, pVecFourth);
1603+
if (!keepEvent[kSigmaCPPK] && (std::abs(chargeSc + track.sign()) == 1 && std::abs(chargeSc) == 2)) {
1604+
// check the invariant mass
1605+
float massSigmaCPKPi{-999.}, massSigmaCPiKP{-999.}, deltaMassXicResoPKPi{-999.}, deltaMassXicResoPiKP{-999.};
1606+
float ptSigmaCKaon = RecoDecay::pt(pVecSigmaC, pVecFourth);
16081607

1609-
if (ptSigmaCKaon > cutsPtDeltaMassCharmReso->get(2u, 10u)) {
1610-
if (TESTBIT(whichSigmaC, 0)) {
1611-
massSigmaCPKPi = RecoDecay::m(std::array{pVecFirst, pVecSecond, pVecThird, pVecSoftPi}, std::array{massProton, massKa, massPi, massPi});
1612-
deltaMassXicResoPKPi = RecoDecay::m(std::array{pVecFirst, pVecSecond, pVecThird, pVecSoftPi, pVecFourth}, std::array{massProton, massKa, massPi, massPi, massKa}) - massSigmaCPKPi;
1613-
}
1614-
if (TESTBIT(whichSigmaC, 1)) {
1615-
massSigmaCPiKP = RecoDecay::m(std::array{pVecFirst, pVecSecond, pVecThird, pVecSoftPi}, std::array{massPi, massKa, massProton, massPi});
1616-
deltaMassXicResoPiKP = RecoDecay::m(std::array{pVecFirst, pVecSecond, pVecThird, pVecSoftPi, pVecFourth}, std::array{massPi, massKa, massProton, massPi, massKa}) - massSigmaCPiKP;
1617-
}
1618-
bool isPKPiOk = (cutsPtDeltaMassCharmReso->get(0u, 10u) < deltaMassXicResoPKPi && deltaMassXicResoPKPi < cutsPtDeltaMassCharmReso->get(1u, 10u));
1619-
bool isPiKPOk = (cutsPtDeltaMassCharmReso->get(0u, 10u) < deltaMassXicResoPiKP && deltaMassXicResoPiKP < cutsPtDeltaMassCharmReso->get(1u, 10u));
1620-
if ((isPKPiOk || isPiKPOk) && isTrackKaon) {
1621-
/// This is a good SigmaC++K- event
1622-
keepEvent[kSigmaCPPK] = true;
1608+
if (ptSigmaCKaon > cutsPtDeltaMassCharmReso->get(2u, 10u)) {
1609+
if (TESTBIT(whichSigmaC, 0)) {
1610+
massSigmaCPKPi = RecoDecay::m(std::array{pVecFirst, pVecSecond, pVecThird, pVecSoftPi}, std::array{massProton, massKa, massPi, massPi});
1611+
deltaMassXicResoPKPi = RecoDecay::m(std::array{pVecFirst, pVecSecond, pVecThird, pVecSoftPi, pVecFourth}, std::array{massProton, massKa, massPi, massPi, massKa}) - massSigmaCPKPi;
1612+
}
1613+
if (TESTBIT(whichSigmaC, 1)) {
1614+
massSigmaCPiKP = RecoDecay::m(std::array{pVecFirst, pVecSecond, pVecThird, pVecSoftPi}, std::array{massPi, massKa, massProton, massPi});
1615+
deltaMassXicResoPiKP = RecoDecay::m(std::array{pVecFirst, pVecSecond, pVecThird, pVecSoftPi, pVecFourth}, std::array{massPi, massKa, massProton, massPi, massKa}) - massSigmaCPiKP;
1616+
}
1617+
bool isPKPiOk = (cutsPtDeltaMassCharmReso->get(0u, 10u) < deltaMassXicResoPKPi && deltaMassXicResoPKPi < cutsPtDeltaMassCharmReso->get(1u, 10u));
1618+
bool isPiKPOk = (cutsPtDeltaMassCharmReso->get(0u, 10u) < deltaMassXicResoPiKP && deltaMassXicResoPiKP < cutsPtDeltaMassCharmReso->get(1u, 10u));
1619+
if ((isPKPiOk || isPiKPOk) && isTrackKaon) {
1620+
/// This is a good SigmaC++K- event
1621+
keepEvent[kSigmaCPPK] = true;
16231622

1624-
/// QA plot
1625-
if (activateQA) {
1626-
if (isPKPiOk) {
1627-
if (TESTBIT(whichSigmaC, 2)) {
1628-
hMassVsPtC[kNCharmParticles + 11]->Fill(ptSigmaCKaon, deltaMassXicResoPKPi);
1629-
}
1630-
if (TESTBIT(whichSigmaC, 3)) {
1631-
hMassVsPtC[kNCharmParticles + 12]->Fill(ptSigmaCKaon, deltaMassXicResoPKPi);
1632-
}
1633-
}
1634-
if (isPiKPOk) {
1635-
if (TESTBIT(whichSigmaC, 2)) {
1636-
hMassVsPtC[kNCharmParticles + 11]->Fill(ptSigmaCKaon, deltaMassXicResoPiKP);
1623+
/// QA plot
1624+
if (activateQA) {
1625+
if (isPKPiOk) {
1626+
if (TESTBIT(whichSigmaC, 2)) {
1627+
hMassVsPtC[kNCharmParticles + 11]->Fill(ptSigmaCKaon, deltaMassXicResoPKPi);
1628+
}
1629+
if (TESTBIT(whichSigmaC, 3)) {
1630+
hMassVsPtC[kNCharmParticles + 12]->Fill(ptSigmaCKaon, deltaMassXicResoPKPi);
1631+
}
16371632
}
1638-
if (TESTBIT(whichSigmaC, 3)) {
1639-
hMassVsPtC[kNCharmParticles + 12]->Fill(ptSigmaCKaon, deltaMassXicResoPiKP);
1633+
if (isPiKPOk) {
1634+
if (TESTBIT(whichSigmaC, 2)) {
1635+
hMassVsPtC[kNCharmParticles + 11]->Fill(ptSigmaCKaon, deltaMassXicResoPiKP);
1636+
}
1637+
if (TESTBIT(whichSigmaC, 3)) {
1638+
hMassVsPtC[kNCharmParticles + 12]->Fill(ptSigmaCKaon, deltaMassXicResoPiKP);
1639+
}
16401640
}
16411641
}
16421642
}
16431643
}
16441644
}
1645-
}
16461645
}
16471646
float deltaEta = std::abs(RecoDecay::eta(pVecSigmaC) - track.eta());
16481647
if (!keepEvent[kSigmaCPr] && (isTrackProton && deltaEta < 1.0)) {
1649-
auto tagBDT = helper.isBDTSelected(scores[2], thresholdBDTScoreScLcToPiKP.value);
1650-
int8_t whichSigmaC = helper.isSelectedSigmaCInDeltaMassRange<-1>(pVecFirst, pVecThird, pVecSecond, pVecSoftPi, ptSigmaC, is3Prong[2], hMassVsPtC[kNCharmParticles + 23], activateQA);
1651-
if(TESTBIT(whichSigmaC, 4)){
1652-
if(TESTBIT(tagBDT, RecoDecay::OriginType::Prompt)){
1648+
auto tagBDT = helper.isBDTSelected(scores[2], thresholdBDTScoreScLcToPiKP.value);
1649+
int8_t whichSigmaC = helper.isSelectedSigmaCInDeltaMassRange<-1>(pVecFirst, pVecThird, pVecSecond, pVecSoftPi, ptSigmaC, is3Prong[2], hMassVsPtC[kNCharmParticles + 23], activateQA);
1650+
if (TESTBIT(whichSigmaC, 4)) {
1651+
if (TESTBIT(tagBDT, RecoDecay::OriginType::Prompt)) {
1652+
}
16531653
}
1654-
}
1655-
//helper.selectionSigmaCForScPCorr(pVecFirst, pVecThird, pVecSecond, pVecSoftPi, ptSigmaC, is3Prong[2], hMassVsPtC[kNCharmParticles + 23], activateQA, configSigmaC.minMassSigmaCCorr, configSigmaC.maxMassSigmaCCorr, configSigmaC.minPtSigmaC, configSigmaC.maxPtSigmaC)
1656-
if (TESTBIT(whichSigmaC, 4) && TESTBIT(tagBDT, RecoDecay::OriginType::Prompt)) {
1654+
// helper.selectionSigmaCForScPCorr(pVecFirst, pVecThird, pVecSecond, pVecSoftPi, ptSigmaC, is3Prong[2], hMassVsPtC[kNCharmParticles + 23], activateQA, configSigmaC.minMassSigmaCCorr, configSigmaC.maxMassSigmaCCorr, configSigmaC.minPtSigmaC, configSigmaC.maxPtSigmaC)
1655+
if (TESTBIT(whichSigmaC, 4) && TESTBIT(tagBDT, RecoDecay::OriginType::Prompt)) {
16571656
keepEvent[kSigmaCPr] = true;
1658-
}
1657+
}
16591658
}
16601659
} // end SigmaC++ candidate
16611660
} // end loop over tracks (soft pi)
@@ -2053,7 +2052,7 @@ struct HfFilter { // Main struct for HF triggers
20532052
}
20542053
}
20552054

2056-
tags(keepEvent[kHighPt2P], keepEvent[kHighPt3P], keepEvent[kBeauty3P], keepEvent[kBeauty4P], keepEvent[kFemto2P], keepEvent[kFemto3P], keepEvent[kDoubleCharm2P], keepEvent[kDoubleCharm3P], keepEvent[kDoubleCharmMix], keepEvent[kV0Charm2P], keepEvent[kV0Charm3P], keepEvent[kCharmBarToXiBach], keepEvent[kSigmaCPPK], keepEvent[kSigmaC0K0], keepEvent[kSigmaCPr], keepEvent[kPhotonCharm2P], keepEvent[kPhotonCharm3P], keepEvent[kSingleCharm2P], keepEvent[kSingleCharm3P], keepEvent[kSingleNonPromptCharm2P], keepEvent[kSingleNonPromptCharm3P], keepEvent[kCharmBarToXi2Bach], keepEvent[kPrCharm2P], keepEvent[kBtoJPsiKa], keepEvent[kBtoJPsiKstar], keepEvent[kBtoJPsiPhi], keepEvent[kBtoJPsiPrKa], keepEvent[kBtoJPsiPi]);
2055+
tags(keepEvent[kHighPt2P], keepEvent[kHighPt3P], keepEvent[kBeauty3P], keepEvent[kBeauty4P], keepEvent[kFemto2P], keepEvent[kFemto3P], keepEvent[kDoubleCharm2P], keepEvent[kDoubleCharm3P], keepEvent[kDoubleCharmMix], keepEvent[kV0Charm2P], keepEvent[kV0Charm3P], keepEvent[kCharmBarToXiBach], keepEvent[kSigmaCPPK], keepEvent[kSigmaC0K0], keepEvent[kSigmaCPr], keepEvent[kPhotonCharm2P], keepEvent[kPhotonCharm3P], keepEvent[kSingleCharm2P], keepEvent[kSingleCharm3P], keepEvent[kSingleNonPromptCharm2P], keepEvent[kSingleNonPromptCharm3P], keepEvent[kCharmBarToXi2Bach], keepEvent[kPrCharm2P], keepEvent[kBtoJPsiKa], keepEvent[kBtoJPsiKstar], keepEvent[kBtoJPsiPhi], keepEvent[kBtoJPsiPrKa], keepEvent[kBtoJPsiPi]);
20572056

20582057
if (!std::accumulate(keepEvent, keepEvent + kNtriggersHF, 0)) {
20592058
hProcessedEvents->Fill(1);

0 commit comments

Comments
 (0)