44 return StatusCode::SUCCESS;
60 if(badTowers !=
towers->size()) {
72 if(larBadChan.isValid()) {
73 timeSince = ctx.eventID().time_stamp() - larBadChan.getRange().start().time_stamp();
74 timeUntil = larBadChan.getRange().stop().time_stamp() - ctx.eventID().time_stamp();
82 if((timeUntil>=0&&timeUntil<=5)) {
84 IsEmulatedTowers=
false;
91 IsEmulatedTowers=
false;
100 if(!tobs1.isValid()) {
104 std::set<uint32_t> word0s2;
105 if(tobs2.isValid()) {
106 for(
const auto tob : *tobs2) {
107 word0s2.insert(tob->word0());
115 bool mismatches=
false;
119 for(
const auto tob : *tobs1) {
120 if(word0s2.find(tob->word0()) == word0s2.end()) {
125 if(tobs2.isValid() && tobs1->size() < tobs2->size()) {
136 auto& firstEvents = (fexReadout==1) ? m_firstEvents_DataTowers : m_firstEvents_EmulatedTowers;
139 auto itr = firstEvents.find(lbn);
140 if(itr==firstEvents.end()) {
142 itr = firstEvents.find(lbn);
144 lbnString = itr->second;
147 std::vector<float> detas{};std::vector<float> setas{};
148 std::vector<float> dphis{};std::vector<float> sphis{};
149 std::vector<unsigned int> dword0s{};std::vector<unsigned int> sword0s{};
160 std::set<uint32_t> word0s1;
161 for(
const auto tob : *tobs1) {
162 word0s1.insert(tob->word0());
166 for(
size_t i = 0;
i < tobs1->size();
i++) {
167 if(word0s2.find(tobs1->at(
i)->word0())==word0s2.end()) {
170 fill(signa +
"_mismatches",lbn,locIdx,simReady,IsDataTowers,IsEmulatedTowers);
173 for(
size_t i = 0;
i < tobs2->size();
i++) {
174 if(word0s1.find(tobs2->at(
i)->word0())==word0s1.end()) {
177 fill(signa +
"_mismatches",lbn,locIdx,simReady,IsDataTowers,IsEmulatedTowers);
183 ATH_MSG_WARNING(signa <<
" mismatch in lbn " << lbn <<
" evtNumber " << evtNumber);
186 s <<
"Data: " << std::hex;
187 for(
auto w : dword0s)
s <<
w <<
" ";
190 s <<
"Simu: " << std::hex;
191 for(
auto w : sword0s)
s <<
w <<
" ";
195 fill(
"mismatches",signatureEvtType,simReadyMismatch,tobMismatched,lbn,lbnString,evtNumber,dtobEtas,dtobPhis,dtobWord0s,stobEtas,stobPhis,stobWord0s,evtType,timeSince,timeUntil,IsDataTowers,IsEmulatedTowers,signature,simReady);
198 fill(
"mismatches",tobMismatched,lbn,signature,simReady,evtType);