Skip to content

Commit 6f12ade

Browse files
committed
[PWGEM/Dilepton] update taggingHFE
1 parent 7dbf61f commit 6f12ade

5 files changed

Lines changed: 90 additions & 93 deletions

File tree

PWGEM/Dilepton/DataModel/dileptonTables.h

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -691,13 +691,20 @@ DECLARE_SOA_COLUMN(PrefilterBit, pfb, uint8_t); //!
691691
DECLARE_SOA_COLUMN(PrefilterBitDerived, pfbderived, uint16_t); //!
692692
DECLARE_SOA_COLUMN(ProbElBDT, probElBDT, float); //!
693693

694-
DECLARE_SOA_COLUMN(BDTScorePrompt, bdtScorePrompt, std::vector<float>); //!
695-
DECLARE_SOA_COLUMN(BDTScorePromptHc, bdtScorePromptHc, std::vector<float>); //!
696-
DECLARE_SOA_COLUMN(BDTScoreNonpromptHc, bdtScoreNonpromptHc, std::vector<float>); //!
697-
DECLARE_SOA_COLUMN(BDTScoreHb, bdtScoreHb, std::vector<float>); //!
698-
DECLARE_SOA_COLUMN(HadronType, hadronType, std::vector<uint8_t>); //! 0:track, 1:K0S, 2:Lambda, 3:AntiLambda, 4:XiMinus, 5:XiPlus, 6:OmegaMinus, 7:OmegaPlus
699-
700-
DECLARE_SOA_DYNAMIC_COLUMN(ProbaSCT, probaSCT, [](std::vector<float> p0, std::vector<float> p1, std::vector<float> p2, std::vector<float> p3, std::vector<uint8_t> type, int index) -> std::array<float, 5> { return std::array<float, 5>{p0[index], p1[index], p2[index], p3[index], static_cast<float>(type[index])}; });
694+
DECLARE_SOA_COLUMN(BDTScorePromptUINT8, bdtScorePromptUINT8, std::vector<uint8_t>); //! scaling factor is 255.
695+
DECLARE_SOA_COLUMN(BDTScorePromptHcUINT8, bdtScorePromptHcUINT8, std::vector<uint8_t>); //! scaling factor is 255.
696+
DECLARE_SOA_COLUMN(BDTScoreNonpromptHcUINT8, bdtScoreNonpromptHcUINT8, std::vector<uint8_t>); //! scaling factor is 255.
697+
DECLARE_SOA_COLUMN(BDTScoreHbUINT8, bdtScoreHbUINT8, std::vector<uint8_t>); //! scaling factor is 255.
698+
DECLARE_SOA_COLUMN(HadronType, hadronType, std::vector<uint8_t>); //! 0:track, 1:K0S, 2:Lambda, 3:AntiLambda, 4:XiMinus, 5:XiPlus, 6:OmegaMinus, 7:OmegaPlus
699+
700+
DECLARE_SOA_DYNAMIC_COLUMN(ProbaSCT, probaSCT, [](std::vector<uint8_t> p0, std::vector<uint8_t> p1, std::vector<uint8_t> p2, std::vector<uint8_t> p3, std::vector<uint8_t> type, int index) -> std::array<float, 5> {
701+
return std::array<float, 5>{
702+
std::nextafter(p0[index] / 255.f, std::numeric_limits<float>::infinity()),
703+
std::nextafter(p1[index] / 255.f, std::numeric_limits<float>::infinity()),
704+
std::nextafter(p2[index] / 255.f, std::numeric_limits<float>::infinity()),
705+
std::nextafter(p3[index] / 255.f, std::numeric_limits<float>::infinity()),
706+
static_cast<float>(type[index])};
707+
});
701708
DECLARE_SOA_DYNAMIC_COLUMN(NSV, nSV, [](std::vector<uint8_t> type) -> size_t { return type.size(); });
702709

703710
DECLARE_SOA_COLUMN(ITSNSigmaEl, itsNSigmaEl, float); //!
@@ -1017,9 +1024,9 @@ DECLARE_SOA_TABLE(EMPrimaryElectronsPrefilterBitDerived, "AOD", "PRMELPFBDERIVED
10171024
using EMPrimaryElectronPrefilterBitDerived = EMPrimaryElectronsPrefilterBitDerived::iterator;
10181025

10191026
DECLARE_SOA_TABLE(EMPrimaryElectronsBDTSCT, "AOD", "ELBDTSCT", // To be joined with EMPrimaryElectrons table at analysis level.
1020-
emprimaryelectron::BDTScorePrompt, emprimaryelectron::BDTScorePromptHc, emprimaryelectron::BDTScoreNonpromptHc, emprimaryelectron::BDTScoreHb, emprimaryelectron::HadronType,
1027+
emprimaryelectron::BDTScorePromptUINT8, emprimaryelectron::BDTScorePromptHcUINT8, emprimaryelectron::BDTScoreNonpromptHcUINT8, emprimaryelectron::BDTScoreHbUINT8, emprimaryelectron::HadronType,
10211028
emprimaryelectron::NSV<emprimaryelectron::HadronType>,
1022-
emprimaryelectron::ProbaSCT<emprimaryelectron::BDTScorePrompt, emprimaryelectron::BDTScorePromptHc, emprimaryelectron::BDTScoreNonpromptHc, emprimaryelectron::BDTScoreHb, emprimaryelectron::HadronType>);
1029+
emprimaryelectron::ProbaSCT<emprimaryelectron::BDTScorePromptUINT8, emprimaryelectron::BDTScorePromptHcUINT8, emprimaryelectron::BDTScoreNonpromptHcUINT8, emprimaryelectron::BDTScoreHbUINT8, emprimaryelectron::HadronType>);
10231030
// iterators
10241031
using EMPrimaryElectronBDTSCT = EMPrimaryElectronsBDTSCT::iterator;
10251032

PWGEM/Dilepton/DataModel/lmeeMLTables.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,13 +219,14 @@ DECLARE_SOA_COLUMN(ImpParCZYL, impParCZYL, float); //! sigma of i
219219
DECLARE_SOA_COLUMN(ImpParCZZL, impParCZZL, float); //! sigma of impact parameter for lepton in Z
220220
DECLARE_SOA_COLUMN(PdgCodeMother, pdgCodeMother, int); //! pdg code of mother of lepton
221221
DECLARE_SOA_COLUMN(IsCorrectCollision, isCorrectCollision, bool); //! LH pair is associated to correct collision.
222+
DECLARE_SOA_COLUMN(MotherId, motherId, int); //! globalIndex of mother of lepton
222223
} // namespace emmltrack
223224

224225
DECLARE_SOA_TABLE(EMMLLeptons, "AOD", "EMMLLEPTON", //!
225226
o2::soa::Index<>, emmltrack::EMMLEventId, emmlevent::SubGeneratorId,
226227
emmltrack::Signed1PtL, emmltrack::EtaL, emmltrack::PhiL,
227228
emmltrack::ImpParXYL, emmltrack::ImpParZL, emmltrack::ImpParCYYL, emmltrack::ImpParCZYL, emmltrack::ImpParCZZL,
228-
emmltrack::IsMotherFromBeauty, emmltrack::PdgCodeMother, emmltrack::IsCorrectCollision);
229+
emmltrack::IsMotherFromBeauty, emmltrack::PdgCodeMother, emmltrack::MotherId, emmltrack::IsCorrectCollision);
229230
// iterators
230231
using EMMLLepton = EMMLLeptons::iterator;
231232

PWGEM/Dilepton/Tasks/taggingHFE.cxx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1706,7 +1706,7 @@ struct taggingHFE {
17061706
npos++;
17071707
leptonTable(eventTable.lastIndex() + 1, mcCollision_mcpos.getSubGeneratorId(),
17081708
leptonParCov.getQ2Pt(), leptonParCov.getEta(), RecoDecay::constrainAngle(leptonParCov.getPhi(), 0, 1U), dcaXY_lepton, dcaZ_lepton, leptonParCov.getSigmaY2(), leptonParCov.getSigmaZY(), leptonParCov.getSigmaZ2(),
1709-
isMotherFromB, mcMother.pdgCode(), isCorrectCollision);
1709+
isMotherFromB, mcMother.pdgCode(), mcMother.globalIndex(), isCorrectCollision);
17101710

17111711
// D0 -> e+ nu_e K-, br = 0.03538, ctau = 123.01 um, m = 1864 MeV/c2
17121712
for (const auto& kaonId : kaonMinusIds) {
@@ -2131,7 +2131,7 @@ struct taggingHFE {
21312131
nele++;
21322132
leptonTable(eventTable.lastIndex() + 1, mcCollision_mcele.getSubGeneratorId(),
21332133
leptonParCov.getQ2Pt(), leptonParCov.getEta(), RecoDecay::constrainAngle(leptonParCov.getPhi(), 0, 1U), dcaXY_lepton, dcaZ_lepton, leptonParCov.getSigmaY2(), leptonParCov.getSigmaZY(), leptonParCov.getSigmaZ2(),
2134-
isMotherFromB, mcMother.pdgCode(), isCorrectCollision);
2134+
isMotherFromB, mcMother.pdgCode(), mcMother.globalIndex(), isCorrectCollision);
21352135

21362136
for (const auto& kaonId : kaonMinusIds) {
21372137
auto kaon = tracks.rawIteratorAt(kaonId);

0 commit comments

Comments
 (0)