19 return StatusCode::SUCCESS;
26 if (info.previousDecisionIDs.count(
m_decisionId.numeric()) == 0)
29 return StatusCode::SUCCESS;
34 if (counts.sideA == 0 && counts.sideC == 0)
36 ATH_MSG_DEBUG(
"calculateMultiplicities failed, no multiplicities");
37 return StatusCode::SUCCESS;
83 ATH_MSG_DEBUG(
"REGTEST: event " << (pass ?
"accepted" :
"failed") <<
" with EBA(" << counts.sideA <<
") + EBC(" << counts.sideC <<
") hits above threshold.");
90 return StatusCode::SUCCESS;
104 std::vector<float> triggerTimes = t2mbtsBits->
triggerTimes();
108 ATH_MSG_WARNING(
"Vector sizes are not equal to number of MBTS counters.");
114 std::bitset<16> ebaTriggerBits;
115 std::bitset<16> ebcTriggerBits;
119 int ebaCounters = 0, ebcCounters = 0;
122 double timeDiff_A_C = 0.;
123 double timeMean_A = 0.;
124 double timeMean_C = 0.;
129 if (
m_mbtsmode == 1 && !(ibit < 8 || (ibit >= 16 && ibit < 24)))
131 if (
m_mbtsmode == 2 && !((ibit >= 8 && ibit < 16) || (ibit >= 24 && ibit < 32)))
141 timeMean_A += triggerTimes[ibit];
146 timeMean_C += triggerTimes[ibit];
157 ebaTriggerBits.set(ibit);
161 ebcTriggerBits.set(ibit - 16);
167 timeMean_A /= ebaCounters;
176 timeMean_C /= ebcCounters;
183 if (ebaCounters > 0 && ebcCounters > 0)
185 timeDiff_A_C = timeMean_A - timeMean_C;
189 timeDiff_A_C = -999.0;
192 <<
" side A: " << timeMean_A
193 <<
", side C: " << timeMean_C
194 <<
", difference A-C: " << timeDiff_A_C);
199 std::vector<int> counts;
200 counts.reserve(ebaTriggerBits.size() + ebcTriggerBits.size());
202 for (
size_t bit = 0; bit < ebaTriggerBits.size(); ++bit )
203 counts.push_back( ebaTriggerBits[bit] ? bit : -1 );
204 for (
size_t bit = 0; bit < ebcTriggerBits.size(); ++bit )
205 counts.push_back( ebcTriggerBits[bit] ? bit+ebaTriggerBits.size() : -1 );
209 return {ebaTriggerBits.count(), ebcTriggerBits.count()};
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_WARNING(x)
Header file to be included by clients of the Monitored infrastructure.
Group of local monitoring quantities and retain correlation when filling histograms
const std::vector< float > & triggerEnergies() const
Return the trigger energies of each counter.
const std::vector< float > & triggerTimes() const
Return the relative times of the triggers.
static const unsigned int NUM_MBTS
Prints out data members to MsgStream.
It used to be useful piece of code for replacing actual SG with other store of similar functionality ...
ValuesCollection< T > Collection(std::string name, const T &collection)
Declare a monitored (double-convertible) collection.
void addDecisionID(DecisionID id, Decision *d)
Appends the decision (given as ID) to the decision object.
TrigT2MbtsBits_v1 TrigT2MbtsBits