This is the important function of the tool.
109 {
110
111 ATH_MSG_DEBUG(
"converting TrigDecision to xAOD::TrigDecision" );
112
113
115
116
118 ATH_MSG_DEBUG(
"converting BGCode " << std::hex << (
unsigned int) aod->
BGCode() <<
" (size " <<
sizeof(aod->
BGCode()) <<
"|" <<
sizeof(xaod->
bgCode()) <<
")" );
119
125 } else if( triggerInfo != nullptr ){
127
129 std::vector<uint32_t>::const_iterator
begin,
end;
130
133 std::advance(end,L1SIZE);
134 std::vector<uint32_t> tbp(begin,end);
135
137 std::advance(end,L1SIZE);
138 std::vector<uint32_t>
tap(begin,end);
139
141 std::advance(end,L1SIZE);
142 std::vector<uint32_t> tav(begin,end);
143
147
151
152 } else {
153
154 ATH_MSG_DEBUG(
"can not set L1 info as the old TrigDecision has no L1Result and there is no TriggerInfo available");
155
156 }
157
158
163
164
165
166
167
168
169 std::vector< uint32_t > l2PassedPhysics(
BITSET_SIZE, 0 );
170 std::vector< uint32_t > l2PassedRaw (
BITSET_SIZE, 0 );
171 std::vector< uint32_t > l2PassedThrough(
BITSET_SIZE, 0 );
172 std::vector< uint32_t > l2Prescaled (
BITSET_SIZE, 0 );
173 std::vector< uint32_t > l2Resurrected (
BITSET_SIZE, 0 );
174
175
176 std::vector< uint32_t > efPassedPhysics(
BITSET_SIZE, 0 );
177 std::vector< uint32_t > efPassedRaw (
BITSET_SIZE, 0 );
178 std::vector< uint32_t > efPassedThrough(
BITSET_SIZE, 0 );
179 std::vector< uint32_t > efPrescaled (
BITSET_SIZE, 0 );
180 std::vector< uint32_t > efResurrected (
BITSET_SIZE, 0 );
181
182
184
185
186 TrigConf::HLTChainList::const_iterator chain_itr =
chains.begin();
187 TrigConf::HLTChainList::const_iterator chain_end =
chains.end();
188 for( ; chain_itr != chain_end; ++chain_itr ) {
189
190
191 if(
static_cast< uint32_t >( ( *chain_itr )->chain_counter() )
193 continue;
194 }
195
196
197 const Trig::ChainGroup*
group =
m_tdt->getChainGroup( ( *chain_itr )->chain_name(),
199
201
202
204
205 CHECK(
setBit( l2PassedPhysics, ( *chain_itr )->chain_counter(),
207 CHECK(
setBit( l2PassedRaw, ( *chain_itr )->chain_counter(),
209 CHECK(
setBit( l2PassedThrough, ( *chain_itr )->chain_counter(),
211 CHECK(
setBit( l2Prescaled, ( *chain_itr )->chain_counter(),
213 CHECK(
setBit( l2Resurrected, ( *chain_itr )->chain_counter(),
215 }
216
217 else {
218
219 CHECK(
setBit( efPassedPhysics, ( *chain_itr )->chain_counter(),
221 CHECK(
setBit( efPassedRaw, ( *chain_itr )->chain_counter(),
223 CHECK(
setBit( efPassedThrough, ( *chain_itr )->chain_counter(),
225 CHECK(
setBit( efPrescaled, ( *chain_itr )->chain_counter(),
227 CHECK(
setBit( efResurrected, ( *chain_itr )->chain_counter(),
229 }
230 }
231
232
243
244
245 return StatusCode::SUCCESS;
246 }
#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.
char bgCode() const
Get the bunch group code of the current event.
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.