|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef L1TOPOONLINEMONITORING_L1TopoOnlineMonitor_h
6 #define L1TOPOONLINEMONITORING_L1TopoOnlineMonitor_h
22 #include "GaudiKernel/LockedHandle.h"
60 static std::bitset<s_nTopoCTPOutputs>&
createBits(std::optional<std::bitset<s_nTopoCTPOutputs>>&
opt) {
61 opt = std::bitset<s_nTopoCTPOutputs>{};
89 std::vector<std::vector<std::pair<unsigned,unsigned>>>
m_startbit;
95 "Monitoring tool to create online histograms"};
97 this,
"ErrorFlagsKey",
"L1TopoErrorFlags",
98 "Key of the output TrigCompositeContainer with L1Topo error flags"};
100 this,
"doSimMon",
true,
"Enable L1Topo simulation decision monitoring"};
102 this,
"doHwMonCTP",
true,
"Enable L1Topo HW readout from CTP"};
104 this,
"doHwMon",
true,
"Enable L1Topo HW readout from RAW"};
106 this,
"doHwErrorMon",
false,
"Enable L1Topo HW Error monitoring"};
108 this,
"doComp",
true,
"Enable L1Topo HW/Sim comparison"};
110 this,
"doMultComp",
false,
"Enable L1Topo Multiplicity HW/Sim comparison"};
112 this,
"forceCTPasHdw",
false,
"Force to CTP monitoring as primary in Sim/Hdw comparison"};
118 this,
"L1_TopoKey",
"L1_TopoSimResults",
"l1topo EDM"};
121 this,
"L1_TopoRawDataKey",
"L1_Phase1L1TopoRAWData",
"l1topo Raw Data"};
125 this,
"CTPRDOLocation", LVL1CTP::DEFAULT_RDOOutputLocation,
126 "Key of the CTP RDO object"};
131 StatusCode doSimMon(DecisionBits& decisionBits, std::vector<std::vector<unsigned>> &multWeights,
const EventContext& ctx)
const;
137 StatusCode doHwMon(DecisionBits& decisionBits, std::vector<std::vector<unsigned>> &multWeights,
const EventContext& ctx)
const;
143 StatusCode doMultComp(std::vector<std::vector<unsigned>> &multWeightsSim, std::vector<std::vector<unsigned>> &multWeightsHdw)
const;
155 #endif // L1TOPOONLINEMONITORING_L1TopoOnlineMonitor_h
Property holding a SG store/key/clid from which a ReadHandle is made.
SG::ReadHandleKey< xAOD::L1TopoSimResultsContainer > m_l1topoKey
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
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
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.
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
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
StatusCode doMultComp(std::vector< std::vector< unsigned >> &multWeightsSim, std::vector< std::vector< unsigned >> &multWeightsHdw) const
Compare hardware and simulation for the multiplicity algorithms.
std::unique_ptr< float[]> m_overflow_countAny
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
StatusCode doComp(DecisionBits &decisionBits) const
Compare hardware and simulation.
std::unique_ptr< float[]> m_countHdw
Gaudi::Property< bool > m_doHwMon
std::unique_ptr< float[]> m_countHdwSim
std::unique_ptr< float[]> m_overflow_rateHdwSim
SG::WriteHandleKey< xAOD::TrigCompositeContainer > m_errorFlagsKey