17 ATH_CHECK( m_navigationReadHandleKey.initialize(m_doHLT && m_edmVersion >= 3) );
18 return StatusCode::SUCCESS;
22 if(m_errorOnFailure) {
24 return StatusCode::FAILURE;
27 return StatusCode::SUCCESS;
32 if (context.eventID().event_number() % m_samplingFrequence != 0) {
33 return StatusCode::SUCCESS;
46 for (
size_t i = 0;
i<
items.size();
i++) {
49 const bool passedPhysics = isPassed[
i];
51 const bool l1TBP = (
passBits & TrigDefs::L1_isPassedBeforePrescale);
52 const bool l1TAP = (
passBits & TrigDefs::L1_isPassedAfterPrescale);
53 const bool l1TAV = (
passBits & TrigDefs::L1_isPassedAfterVeto);
60 if (l1TAP && !l1TBP) {
61 ATH_CHECK( reportError(
item,
"Cannot pass after L1 prescale if failing before L1 prescale") );
64 if (l1TAV && (!l1TBP || !l1TAP)) {
65 ATH_CHECK( reportError(
item,
"Cannot pass after L1 veto if failing either before L1 prescale or after L1 prescale") );
68 if (l1TAV && !passedPhysics) {
69 ATH_CHECK( reportError(
item,
"Inconsistency - L1 pass after veto is true but isPassed is false") );
76 ATH_CHECK( reportError(
"L1",
"Zero L1 items passed this event.") );
89 if (m_edmVersion >= 3) {
93 ATH_CHECK( reportError(m_navigationReadHandleKey.key(),
"Terminus Node could not be located from the primary navigation collection.") );
99 for (
size_t i = 0;
i<
items.size();
i++) {
102 const bool passedPhysics = isPassed[
i];
104 const bool l1TBP = (
passBits & TrigDefs::L1_isPassedBeforePrescale);
105 const bool l1TAP = (
passBits & TrigDefs::L1_isPassedAfterPrescale);
106 const bool l1TAV = (
passBits & TrigDefs::L1_isPassedAfterVeto);
107 const bool isPrescaled = (
passBits & TrigDefs::EF_prescaled);
108 const bool isPassedRaw = (
passBits & TrigDefs::EF_passedRaw);
116 if (l1TAP && !l1TBP) {
117 ATH_CHECK( reportError(
chain,
"Cannot pass after L1 prescale if failing before L1 prescale") );
120 if (l1TAV && (!l1TBP || !l1TAP)) {
121 ATH_CHECK( reportError(
chain,
"Cannot pass after L1 veto if failing either before L1 prescale or after L1 prescale") );
124 if (passedPhysics && !isPassedRaw) {
125 ATH_CHECK( reportError(
chain,
"Cannot pass for physics if failing at the HLT") );
128 if (passedPhysics && !l1TAV) {
129 ATH_CHECK( reportError(
chain,
"Cannot pass for physics if failing at L1") );
133 if (m_edmVersion >= 3) {
134 if (isPassedRaw && isPrescaled) {
138 if (passedPhysics && !inTerminusNode) {
139 ATH_CHECK( reportError(
chain,
"Inconsistency - passing for physics, but not present in the navigation terminus node") );
142 if (inTerminusNode && !isPassedRaw) {
143 ATH_CHECK( reportError(
chain,
"Inconsistency - in the navigation terminus node, but not passing raw") );
151 ATH_CHECK( reportError(
"HLT",
"Zero HLT chains passed this event.") );
156 return StatusCode::SUCCESS;