2020#include " PWGJE/DataModel/JetReducedData.h"
2121#include " PWGJE/DataModel/JetTagging.h"
2222
23- #include " Common/DataModel/EventSelection.h"
2423#include " Common/CCDB/TriggerAliases.h"
2524#include " Common/Core/Zorro.h"
2625#include " Common/Core/ZorroSummary.h"
26+ #include " Common/DataModel/EventSelection.h"
2727
2828#include " CCDB/BasicCCDBManager.h"
2929#include " Framework/ASoA.h"
@@ -46,62 +46,70 @@ using namespace o2;
4646using namespace o2 ::framework;
4747using namespace o2 ::framework::expressions;
4848
49- namespace BjetTaggingGnnEvtSel {
50- enum class EvtSelFlag : uint8_t {
51- kNone = 0 ,
52- kINEL = 1 << 0 ,
53- kColl = 1 << 1 ,
54- kTVX = 1 << 2 ,
55- kNoTFB = 1 << 3 ,
56- kNoITSROFB = 1 << 4 ,
57- kZvtx = 1 << 5 ,
58- kINELgt0 = 1 << 6 ,
59- kINELgt0rec = 1 << 7 ,
60-
61- INEL = kINEL ,
62- INELZvtx = kINEL | kZvtx ,
63- Coll = kINEL | kColl ,
64- CollZvtx = kINEL | kColl | kZvtx ,
65- TVX = kINEL | kColl | kTVX ,
66- TVXZvtx = kINEL | kColl | kTVX | kZvtx ,
67- SelMC = kINEL | kColl | kTVX | kNoTFB ,
68- SelMCZvtx = kINEL | kColl | kTVX | kNoTFB | kZvtx ,
69- Sel8 = kINEL | kColl | kTVX | kNoTFB | kNoITSROFB ,
70- Sel8Zvtx = kINEL | kColl | kTVX | kNoTFB | kNoITSROFB | kZvtx ,
71- INELgt0 = kINEL | kZvtx | kINELgt0 ,
72- INELgt0rec = kINEL | kZvtx | kColl | kTVX | kNoTFB | kNoITSROFB | kINELgt0rec
73- };
74- constexpr EvtSelFlag operator |(EvtSelFlag a, EvtSelFlag b)
75- {
76- return static_cast <EvtSelFlag>(
77- static_cast <uint8_t >(a) | static_cast <uint8_t >(b)
78- );
79- }
80- constexpr EvtSelFlag operator |=(EvtSelFlag& a, EvtSelFlag b)
81- {
82- return a = a | b;
83- }
84- constexpr EvtSelFlag operator &(EvtSelFlag a, EvtSelFlag b)
85- {
86- return static_cast <EvtSelFlag>(
87- static_cast <uint8_t >(a) & static_cast <uint8_t >(b)
88- );
89- }
90- constexpr bool hasAll (EvtSelFlag value, EvtSelFlag required)
91- {
92- return (value & required) == required;
93- }
94- constexpr bool hasAny (EvtSelFlag value, EvtSelFlag mask)
95- {
96- return (value & mask) != EvtSelFlag::kNone ;
97- }
98- enum class EvtSel {
99- None,
100- INEL, INELZvtx, Coll, CollZvtx, TVX,
101- TVXZvtx, SelMC, SelMCZvtx, Sel8, Sel8Zvtx,
102- INELgt0, INELgt0rec
103- };
49+ namespace BjetTaggingGnnEvtSel
50+ {
51+ enum class EvtSelFlag : uint8_t {
52+ kNone = 0 ,
53+ kINEL = 1 << 0 ,
54+ kColl = 1 << 1 ,
55+ kTVX = 1 << 2 ,
56+ kNoTFB = 1 << 3 ,
57+ kNoITSROFB = 1 << 4 ,
58+ kZvtx = 1 << 5 ,
59+ kINELgt0 = 1 << 6 ,
60+ kINELgt0rec = 1 << 7 ,
61+
62+ INEL = kINEL ,
63+ INELZvtx = kINEL | kZvtx ,
64+ Coll = kINEL | kColl ,
65+ CollZvtx = kINEL | kColl | kZvtx ,
66+ TVX = kINEL | kColl | kTVX ,
67+ TVXZvtx = kINEL | kColl | kTVX | kZvtx ,
68+ SelMC = kINEL | kColl | kTVX | kNoTFB ,
69+ SelMCZvtx = kINEL | kColl | kTVX | kNoTFB | kZvtx ,
70+ Sel8 = kINEL | kColl | kTVX | kNoTFB | kNoITSROFB ,
71+ Sel8Zvtx = kINEL | kColl | kTVX | kNoTFB | kNoITSROFB | kZvtx ,
72+ INELgt0 = kINEL | kZvtx | kINELgt0 ,
73+ INELgt0rec = kINEL | kZvtx | kColl | kTVX | kNoTFB | kNoITSROFB | kINELgt0rec
74+ };
75+ constexpr EvtSelFlag operator |(EvtSelFlag a, EvtSelFlag b)
76+ {
77+ return static_cast <EvtSelFlag>(
78+ static_cast <uint8_t >(a) | static_cast <uint8_t >(b));
79+ }
80+ constexpr EvtSelFlag operator |=(EvtSelFlag& a, EvtSelFlag b)
81+ {
82+ return a = a | b;
83+ }
84+ constexpr EvtSelFlag operator &(EvtSelFlag a, EvtSelFlag b)
85+ {
86+ return static_cast <EvtSelFlag>(
87+ static_cast <uint8_t >(a) & static_cast <uint8_t >(b));
88+ }
89+ constexpr bool hasAll (EvtSelFlag value, EvtSelFlag required)
90+ {
91+ return (value & required) == required;
92+ }
93+ constexpr bool hasAny (EvtSelFlag value, EvtSelFlag mask)
94+ {
95+ return (value & mask) != EvtSelFlag::kNone ;
96+ }
97+ enum class EvtSel {
98+ None,
99+ INEL,
100+ INELZvtx,
101+ Coll,
102+ CollZvtx,
103+ TVX,
104+ TVXZvtx,
105+ SelMC,
106+ SelMCZvtx,
107+ Sel8,
108+ Sel8Zvtx,
109+ INELgt0,
110+ INELgt0rec
104111};
112+ }; // namespace BjetTaggingGnnEvtSel
105113using namespace BjetTaggingGnnEvtSel ;
106114
107115struct BjetTaggingGnn {
@@ -860,7 +868,7 @@ struct BjetTaggingGnn {
860868 if (isMatched) {
861869 registry.fill (HIST (" h2_Response_DetjetpT_PartjetpT_selmc" ), analysisJet.pt (), mcpjetpT, hasAll (evtselCode, EvtSelFlag::SelMCZvtx) ? weightEvt : 0.0 );
862870 registry.fill (HIST (" h2_Response_DetjetpT_PartjetpT_sel8" ), analysisJet.pt (), mcpjetpT, hasAll (evtselCode, EvtSelFlag::Sel8Zvtx) ? weightEvt : 0.0 );
863- registry.fill (HIST (" h2_Response_DetjetpT_PartjetpT_inelgt0" ), analysisJet.pt (), mcpjetpT, isTrueINELgt0 &&(hasAll (evtselCode, EvtSelFlag::INELgt0rec)) ? weightEvt : 0.0 );
871+ registry.fill (HIST (" h2_Response_DetjetpT_PartjetpT_inelgt0" ), analysisJet.pt (), mcpjetpT, isTrueINELgt0 && (hasAll (evtselCode, EvtSelFlag::INELgt0rec)) ? weightEvt : 0.0 );
864872 }
865873 if (jetFlavor == JetTaggingSpecies::beauty) {
866874 registry.fill (HIST (" h_jetpT_b_coll" ), analysisJet.pt (), hasAll (evtselCode, EvtSelFlag::Coll) ? weightEvt : 0.0 );
0 commit comments