|  | ATLAS Offline Software
    | 
 
 
 
Go to the documentation of this file.
    5 #ifndef L1TOPOONLINEMONITORING_L1TopoOnlineMonitor_h 
    6 #define L1TOPOONLINEMONITORING_L1TopoOnlineMonitor_h 
   23 #include "GaudiKernel/LockedHandle.h" 
   61     static std::bitset<s_nTopoCTPOutputs>& 
createBits(std::optional<std::bitset<s_nTopoCTPOutputs>>& 
opt) {
 
   62       opt = std::bitset<s_nTopoCTPOutputs>{};
 
   98   std::vector<std::vector<std::pair<unsigned,unsigned>>> 
m_startbit;
 
  103     this, 
"MonTool", 
"" ,
 
  104     "Monitoring tool to create online histograms"};
 
  106     this, 
"ErrorFlagsKey", 
"L1TopoErrorFlags",
 
  107     "Key of the output TrigCompositeContainer with L1Topo error flags"};
 
  109     this, 
"doSimMon", 
true, 
"Enable L1Topo simulation decision monitoring"};
 
  111     this, 
"doHwMonCTP", 
true, 
"Enable L1Topo HW readout from CTP"};
 
  113     this, 
"doHwMon", 
true, 
"Enable L1Topo HW readout from RAW"};
 
  115     this, 
"doHwErrorMon", 
false, 
"Enable L1Topo HW Error monitoring"};
 
  117     this, 
"doComp", 
true, 
"Enable L1Topo HW/Sim comparison"};
 
  119     this, 
"doMultComp", 
false, 
"Enable L1Topo Multiplicity HW/Sim comparison"};
 
  121     this, 
"forceCTPasHdw", 
false, 
"Force to CTP monitoring as primary in Sim/Hdw comparison"};
 
  123     this, 
"AlgorithmVetoList", {}, 
"List of L1Topo algorithm items Vetoed for monitoring in L1CaloDQ package due to known Sim/Hdw mismatches"};
 
  125     this, 
"MultiplicityVetoList", {}, 
"List of multiplicity items Vetoed for monitoring in L1CaloDQ package due to known Sim/Hdw mismatches"};
 
  131     this, 
"L1_TopoKey", 
"L1_TopoSimResults", 
"l1topo EDM"};
 
  134     this, 
"L1_TopoRawDataKey", 
"L1_Phase1L1TopoRAWData", 
"l1topo Raw Data"};
 
  138     this, 
"CTPRDOLocation", LVL1CTP::DEFAULT_RDOOutputLocation,
 
  139     "Key of the CTP RDO object"};
 
  144   StatusCode doSimMon(DecisionBits& decisionBits, std::vector<std::vector<unsigned>> &multWeights, 
const EventContext& ctx) 
const;
 
  150   StatusCode doHwMon(DecisionBits& decisionBits, std::vector<std::vector<unsigned>> &multWeights, 
const EventContext& ctx) 
const;
 
  153   StatusCode doComp(DecisionBits& decisionBits, 
const EventContext& ctx) 
const;
 
  156   StatusCode doMultComp(std::vector<std::vector<unsigned>> &multWeightsSim, std::vector<std::vector<unsigned>> &multWeightsHdw, 
const EventContext& ctx) 
const;
 
  168 #endif // L1TOPOONLINEMONITORING_L1TopoOnlineMonitor_h 
  
Property holding a SG store/key/clid from which a ReadHandle is made.
SG::ReadHandleKey< xAOD::L1TopoSimResultsContainer > m_l1topoKey
Gaudi::Property< std::vector< std::string > > m_MultiplicityVetoList
StatusCode doHwMonCTP(DecisionBits &decisionBits, const EventContext &ctx) const
Monitor the Hw bits from CTP.
std::unique_ptr< float[]> m_overflow_rateHdwNotSim
std::optional< std::bitset< s_nTopoCTPOutputs > > overflowBits
std::unique_ptr< float[]> m_countSimNotHdw
static std::bitset< s_nTopoCTPOutputs > & createBits(std::optional< std::bitset< s_nTopoCTPOutputs >> &opt)
Helper method to create a new bitset and get a reference to it.
Gaudi::Property< bool > m_doHwMonCTP
std::vector< std::vector< std::pair< unsigned, unsigned > > > getStartBits(const TrigConf::L1Menu &l1menu)
virtual StatusCode start() override
Gaudi::Property< std::vector< std::string > > m_AlgorithmVetoList
void resetFlags(xAOD::TrigComposite &errorFlags) const
Gaudi::Property< bool > m_doHwErrorMon
std::unique_ptr< float[]> m_overflow_countHdwNotSim
Gaudi::Property< bool > m_doSimMon
std::vector< std::vector< std::pair< unsigned, unsigned > > > m_startbit
std::unique_ptr< float[]> m_currentHdwBit
Property holding a SG store/key/clid from which a ReadHandle is made.
std::unique_ptr< float[]> m_overflow_countHdwSim
std::unique_ptr< float[]> m_countSim
ToolHandle< GenericMonitoringTool > m_monTool
std::unique_ptr< float[]> m_overflow_countHdw
virtual StatusCode initialize() override
initialize
Base class for Athena Monitoring Algorithms.
std::optional< std::bitset< s_nTopoCTPOutputs > > triggerBits
std::unique_ptr< float[]> m_rateHdwSim
Algorithm to monitor L1Topo transmission and simulation errors for the (Run-3) L1Topo boards.
std::unique_ptr< float[]> m_rateHdwAndSim
Property holding a SG store/key/clid from which a WriteHandle is made.
std::unique_ptr< float[]> m_countAny
std::vector< unsigned > m_ctpIds
::StatusCode StatusCode
StatusCode definition for legacy code.
std::unique_ptr< float[]> m_rateSimNotHdw
static constexpr size_t s_nTopoCTPOutputs
Number of CTP outputs, used for histogram ranges and loops.
std::unique_ptr< float[]> m_overflow_rateSimNotHdw
std::optional< std::bitset< s_nTopoCTPOutputs > > triggerBitsSim
StatusCode doHwMon(DecisionBits &decisionBits, std::vector< std::vector< unsigned >> &multWeights, const EventContext &ctx) const
Monitor the Hw bits from RAW data.
Gaudi::Property< bool > m_doMultComp
std::unique_ptr< float[]> m_rateHdwNotSim
StatusCode doSimMon(DecisionBits &decisionBits, std::vector< std::vector< unsigned >> &multWeights, const EventContext &ctx) const
Monitor the simulated bits.
std::unique_ptr< float[]> m_countHdwNotSim
ServiceHandle< StoreGateSvc > m_detStore
Class used to describe composite objects in the HLT.
StatusCode doComp(DecisionBits &decisionBits, const EventContext &ctx) const
Compare hardware and simulation.
Header file to be included by clients of the Monitored infrastructure.
Property holding a SG store/key/clid from which a WriteHandle is made.
std::unique_ptr< float[]> m_overflow_countSim
std::unique_ptr< float[]> m_overflow_countSimNotHdw
std::unique_ptr< float[]> m_currentSimBit
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
std::unique_ptr< float[]> m_overflow_rateHdwAndSim
std::optional< std::bitset< s_nTopoCTPOutputs > > ambiguityBitsSim
Gaudi::Property< bool > m_forceCTPasHdw
Helper structure holding decision bitsets, passed between the monitoring methods.
Gaudi::Property< bool > m_doComp
std::optional< std::bitset< s_nTopoCTPOutputs > > overflowBitsSim
std::vector< std::string > m_TopoMultTriggerNames
std::unique_ptr< float[]> m_overflow_countAny
std::vector< bool > m_TopoAlgTriggerNotVetoed
std::vector< bool > m_TopoMultTriggerNotVetoed
std::vector< std::string > m_TopoAlgTriggerNames
L1TopoOnlineMonitor(const std::string &name, ISvcLocator *svcLoc)
std::optional< std::bitset< s_nTopoCTPOutputs > > triggerBitsCtp
std::vector< unsigned > getCtpIds(const TrigConf::L1Menu &l1menu)
Get CTP ids from menu.
SG::ReadHandleKey< CTP_RDO > m_ctpRdoKey
SG::ReadHandleKey< xAOD::L1TopoRawDataContainer > m_l1topoRawDataKey
std::unique_ptr< float[]> m_countHdw
StatusCode doMultComp(std::vector< std::vector< unsigned >> &multWeightsSim, std::vector< std::vector< unsigned >> &multWeightsHdw, const EventContext &ctx) const
Compare hardware and simulation for the multiplicity algorithms.
Gaudi::Property< bool > m_doHwMon
std::unique_ptr< float[]> m_countHdwSim
std::unique_ptr< float[]> m_overflow_rateHdwSim
SG::WriteHandleKey< xAOD::TrigCompositeContainer > m_errorFlagsKey