Skip to content
Snippets Groups Projects
Commit f31fd1fc authored by Paul Thompson's avatar Paul Thompson Committed by Jiri Masik
Browse files

Add counter to reduce jFEX Warnings (DATREP-280)

add counter to limit jFEX warnings in case of LATOME issues. Problems should be caught by data/simulation mismatches
parent 483eda8f
No related branches found
No related tags found
2 merge requests!67122Manual sweep of !66860 into 23.0,!67063Add counter to reduce jFEX Warnings (DATREP-280)
......@@ -29,7 +29,10 @@ StatusCode JfexInputMonitorAlgorithm::initialize() {
ATH_CHECK( m_SCellEtMeVdecorKey.initialize() );
ATH_CHECK( m_TileEtMeVdecorKey.initialize() );
ATH_CHECK( m_jTowerEtdecorKey.initialize() );
// error counter
m_nJFexWarnVar = 0;
return AthMonitorAlgorithm::initialize();
}
......@@ -145,7 +148,9 @@ StatusCode JfexInputMonitorAlgorithm::fillHistograms( const EventContext& ctx )
dataTowers_map[ code ] = dataTower;
}
else{
ATH_MSG_WARNING("DataTower: "<<TTID<< " with Calosource: "<<source<< "is repeated. It shouldn't! ");
if ( m_nJFexWarnVar++ < m_nJFexWarnMax ) {
ATH_MSG_WARNING("DataTower: "<<TTID<< " with Calosource: "<<source<< "is repeated. It shouldn't! ");
}
}
DataEt = jTowerEtMeV(*dataTower);
......@@ -177,8 +182,9 @@ StatusCode JfexInputMonitorAlgorithm::fillHistograms( const EventContext& ctx )
}
if( (dataTower->et_count()).at(0) != m_InvalidCode ){
ATH_MSG_WARNING("Tower:"<< TTID << " source:"<< +dataTower->Calosource() << " for eventNumber:"<< GetEventInfo(ctx)->eventNumber()<< " and LB:"<<GetEventInfo(ctx)->lumiBlock() << ". DataTower Et:"<< (dataTower->et_count()).at(0) <<"/"<< DataEt<<" MeV vs EmulatedTower Et:" << emulated_jtowerEt(*dataTower)<<"/"<< EmulatedEt<< " MeV");
if ( m_nJFexWarnVar++ < m_nJFexWarnMax ) {
ATH_MSG_WARNING("Tower:"<< TTID << " source:"<< +dataTower->Calosource() << " for eventNumber:"<< GetEventInfo(ctx)->eventNumber()<< " and LB:"<<GetEventInfo(ctx)->lumiBlock() << ". DataTower Et:"<< (dataTower->et_count()).at(0) <<"/"<< DataEt<<" MeV vs EmulatedTower Et:" << emulated_jtowerEt(*dataTower)<<"/"<< EmulatedEt<< " MeV");
}
frac_SCellSum = DataEt != 0 ? (EmulatedEt - DataEt)/DataEt : 0;
fill(m_Grouphist+"_decorated",Towereta,Towerphi,DataEt,EmulatedEt,frac_SCellSum);
genError("Input_Mismatch", location);
......@@ -282,7 +288,9 @@ StatusCode JfexInputMonitorAlgorithm::fillHistograms( const EventContext& ctx )
auto it_TTower2SCells = dataTowers_map.find( codedVal(emulTower->jFEXtowerID(), emulTower->Calosource() ) );
if(it_TTower2SCells == dataTowers_map.end() ){
ATH_MSG_WARNING("DataTower: "<<emulTower->jFEXtowerID()<< " with Calosource: "<<emulTower->Calosource()<< " does not exists. It should! Investigate ");
if ( m_nJFexWarnVar++ < m_nJFexWarnMax ) {
ATH_MSG_WARNING("DataTower: "<<emulTower->jFEXtowerID()<< " with Calosource: "<<emulTower->Calosource()<< " does not exists. It should! Investigate ");
}
continue;
}
......
......@@ -14,6 +14,8 @@
#include "xAODTrigL1Calo/jFexTowerContainer.h"
#include "xAODTrigL1Calo/jFexTower.h"
#include <atomic>
class JfexInputMonitorAlgorithm : public AthMonitorAlgorithm {
public:
JfexInputMonitorAlgorithm( const std::string& name, ISvcLocator* pSvcLocator );
......@@ -43,5 +45,8 @@ class JfexInputMonitorAlgorithm : public AthMonitorAlgorithm {
int codedVal(int, int) const;
// number of warnings counter
mutable std::atomic<int> m_nJFexWarnVar;
const int m_nJFexWarnMax = 10;
};
#endif
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment