10 ATH_MSG_DEBUG(
"Initializing GfexSimMonitorAlgorithm algorithm with name: "<<
name());
109 return StatusCode::SUCCESS;
115 const EventContext& ctx,
bool simReadyFlag)
const {
117 if(!tobs1Cont.isValid()) {
121 if(!tobs1Cont.isValid()) {
125 bool mismatches = (tobs1Cont->size()!=tobs2Cont->size());
133 for(
const auto tob1 : *tobs1Cont) {
136 auto word1 = tob1->word();
137 auto gfex1 = tob1->gFexType();
138 for (
auto tob2 : *tobs2Cont) {
139 if(gfex1 == tob2->gFexType()) {
140 if(
word1 == tob2->word()) {
153 fill(
"mismatches",eventType,Signature,tobMismatched);
165 auto itr = m_firstEvents.find(
lbn);
166 if(itr==m_firstEvents.end()) {
168 itr = m_firstEvents.find(
lbn);
170 lbnString = itr->second;
172 std::vector<float> detas{};std::vector<float> setas{};
173 std::vector<float> dphis{};std::vector<float> sphis{};
174 std::vector<unsigned int> dword0s{};std::vector<unsigned int> sword0s{};
184 std::cout <<
"LBN: " << ULong64_t(
lbn) <<
" EventNumber: " << ULong64_t(evtNumber) <<
" L1ID: " <<
GetEventInfo(ctx)->extendedLevel1ID() <<
" signature: " <<
label << std::endl;
185 std::cout <<
" data : " << std::hex;
186 for (
const auto w: dword0s) std::cout <<
w <<
" ";
187 std::cout << std::endl <<
" sim : ";
188 for (
const auto w: sword0s) std::cout <<
w <<
" ";
189 std::cout << std::endl << std::dec;
191 fill(
"mismatches",
lbn,lbnString,evtNumber,dtobEtas,dtobPhis,dtobWord0s,stobEtas,stobPhis,stobWord0s,Signature,simReady);
202 const EventContext& ctx,
uint32_t tobMask)
const {
204 if(!tobs1Cont.isValid()) {
208 if(!tobs1Cont.isValid()) {
217 bool mismatches = (tobs1Cont->size()!=tobs2Cont->size());
219 for(
const auto tob1 : *tobs1Cont) {
222 auto gfex1 = tob1->globalType();
223 for (
auto tob2 : *tobs2Cont) {
224 if(gfex1 == tob2->globalType()) {
225 if(
word1 == (tob2->word()&tobMask)) {
236 fill(
"mismatches",eventType,Signature,tobMismatched);
246 auto itr = m_firstEvents.find(
lbn);
247 if(itr==m_firstEvents.end()) {
249 itr = m_firstEvents.find(
lbn);
251 lbnString = itr->second;
253 std::vector<float> detas{};std::vector<float> setas{};
254 std::vector<float> dphis{};std::vector<float> sphis{};
255 std::vector<unsigned int> dword0s{};std::vector<unsigned int> sword0s{};
256 for(
const auto tob1 : *tobs1Cont) {
257 dword0s.push_back(tob1->word());
259 for(
const auto tob2 : *tobs2Cont) {
260 sword0s.push_back(tob2->word());
269 std::cout <<
"LBN: " << ULong64_t(
lbn) <<
" EventNumber: " << ULong64_t(evtNumber) <<
" L1ID: " <<
GetEventInfo(ctx)->extendedLevel1ID() <<
" signature: " <<
label << std::endl;
270 std::cout <<
" data : " << std::hex;
271 for (
const auto w: dword0s) std::cout <<
w <<
" ";
272 std::cout << std::endl <<
" sim : ";
273 for (
const auto w: sword0s) std::cout <<
w <<
" ";
274 std::cout << std::endl << std::dec;
276 fill(
"mismatches",
lbn,lbnString,evtNumber,dtobEtas,dtobPhis,dtobWord0s,stobEtas,stobPhis,stobWord0s,Signature);