This is the important function of the tool.
109 {
110
111 ATH_MSG_DEBUG(
"converting TrigDecision to xAOD::TrigDecision" );
112
113
115
116
118
124 } else if( triggerInfo != nullptr ){
126
128 std::vector<uint32_t>::const_iterator
begin,
end;
129
132 std::advance(end,L1SIZE);
133 std::vector<uint32_t> tbp(begin,end);
134
136 std::advance(end,L1SIZE);
137 std::vector<uint32_t>
tap(begin,end);
138
140 std::advance(end,L1SIZE);
141 std::vector<uint32_t> tav(begin,end);
142
146
150
151 } else {
152
153 ATH_MSG_DEBUG(
"can not set L1 info as the old TrigDecision has no L1Result and there is no TriggerInfo available");
154
155 }
156
157
162
163
164
165
166
167
168 std::vector< uint32_t > l2PassedPhysics(
BITSET_SIZE, 0 );
169 std::vector< uint32_t > l2PassedRaw (
BITSET_SIZE, 0 );
170 std::vector< uint32_t > l2PassedThrough(
BITSET_SIZE, 0 );
171 std::vector< uint32_t > l2Prescaled (
BITSET_SIZE, 0 );
172 std::vector< uint32_t > l2Resurrected (
BITSET_SIZE, 0 );
173
174
175 std::vector< uint32_t > efPassedPhysics(
BITSET_SIZE, 0 );
176 std::vector< uint32_t > efPassedRaw (
BITSET_SIZE, 0 );
177 std::vector< uint32_t > efPassedThrough(
BITSET_SIZE, 0 );
178 std::vector< uint32_t > efPrescaled (
BITSET_SIZE, 0 );
179 std::vector< uint32_t > efResurrected (
BITSET_SIZE, 0 );
180
181
183
184
185 TrigConf::HLTChainList::const_iterator chain_itr =
chains.begin();
186 TrigConf::HLTChainList::const_iterator chain_end =
chains.end();
187 for( ; chain_itr != chain_end; ++chain_itr ) {
188
189
190 if(
static_cast< uint32_t >( ( *chain_itr )->chain_counter() )
192 continue;
193 }
194
195
196 const Trig::ChainGroup*
group =
m_tdt->getChainGroup( ( *chain_itr )->chain_name(),
198
200
201
203
204 CHECK(
setBit( l2PassedPhysics, ( *chain_itr )->chain_counter(),
206 CHECK(
setBit( l2PassedRaw, ( *chain_itr )->chain_counter(),
208 CHECK(
setBit( l2PassedThrough, ( *chain_itr )->chain_counter(),
210 CHECK(
setBit( l2Prescaled, ( *chain_itr )->chain_counter(),
212 CHECK(
setBit( l2Resurrected, ( *chain_itr )->chain_counter(),
214 }
215
216 else {
217
218 CHECK(
setBit( efPassedPhysics, ( *chain_itr )->chain_counter(),
220 CHECK(
setBit( efPassedRaw, ( *chain_itr )->chain_counter(),
222 CHECK(
setBit( efPassedThrough, ( *chain_itr )->chain_counter(),
224 CHECK(
setBit( efPrescaled, ( *chain_itr )->chain_counter(),
226 CHECK(
setBit( efResurrected, ( *chain_itr )->chain_counter(),
228 }
229 }
230
231
242
243
244 return StatusCode::SUCCESS;
245 }
#define CHECK(...)
Evaluate an expression and check for errors.
virtual uint32_t error_bits() const
bit flags to explain problems during processing
bool isHLTResultTruncated() const
is serialized HLTResult truncated
bool isConfigured() const
is LVL1 configured ?
const std::vector< uint32_t > & itemsAfterVeto() const
const std::vector< uint32_t > & itemsAfterPrescale() const
const std::vector< uint32_t > & itemsBeforePrescale() const
const HLT::HLTResult & getEFResult() const
const HLT::HLTResult & getL2Result() const
uint32_t masterKey() const
const LVL1CTP::Lvl1Result & getL1Result() const
const std::vector< number_type > & level1TriggerInfo() const
get level1 trigger info
void setLVL2Resurrected(const std::vector< uint32_t > &value)
Set the LVL2 resurrected bits.
void setTBP(const std::vector< uint32_t > &value)
Set the Trigger Before Prescale bits.
const std::vector< uint32_t > & tav() const
Get the Trigger After Veto bits.
void setEFPassedPhysics(const std::vector< uint32_t > &value)
Set the EF physics decision bits.
void setEFTruncated(bool value)
Set whether the EF result is truncated.
void setEFPrescaled(const std::vector< uint32_t > &value)
Set the EF prescaled bits.
void setLVL2Prescaled(const std::vector< uint32_t > &value)
Set the LVL2 prescaled bits.
void setEFPassedThrough(const std::vector< uint32_t > &value)
Set the EF pass-through bits.
void setEFResurrected(const std::vector< uint32_t > &value)
Set the EF resurrected bits.
const std::vector< uint32_t > & tap() const
Get the Trigger After Prescale bits.
void setLVL2PassedPhysics(const std::vector< uint32_t > &value)
Set the LVL2 physics decision bits.
void setLVL2PassedRaw(const std::vector< uint32_t > &value)
Set the LVL2 passed-raw bits.
void setEFPassedRaw(const std::vector< uint32_t > &value)
Set the EF passed-raw bits.
const std::vector< uint32_t > & tbp() const
Get the Trigger Before Prescale bits.
void setSMK(uint32_t value)
Set the Super Master Key describing this object.
void setLVL2PassedThrough(const std::vector< uint32_t > &value)
Set the LVL2 pass-through bits.
void setTAP(const std::vector< uint32_t > &value)
Set the Trigger After Prescale bits.
void setEFErrorBits(uint32_t value)
Set a summary of all errors that happened during the EF execution.
void setTAV(const std::vector< uint32_t > &value)
Set the Trigger After Veto bits.
void setLVL2Truncated(bool value)
Set whether the LVL2 result is truncated.
void setLVL2ErrorBits(uint32_t value)
Set a summary of all errors that happened during the LVL2 execution.
void setBGCode(char value)
Set the bunch group code of the current event.
@ NoRegex
Do not use regular expressions.
static const unsigned int EF_passedRaw
static const unsigned int EF_prescaled
static const unsigned int L2_passThrough
static const unsigned int EF_resurrected
static const unsigned int L2_passedRaw
static const unsigned int L2_resurrected
static const unsigned int L2_prescaled
static const unsigned int Physics
static const unsigned int EF_passThrough
static const uint32_t BITSET_SIZE
Size of the bitset vectors.
static const uint32_t MAXIMUM_CHAIN_ID
The range in which we copy the trigger decision for the chains.