4#ifndef TRIGT1CALOMONITORING_CPMSIMMONITORALGORITHM_H
5#define TRIGT1CALOMONITORING_CPMSIMMONITORALGORITHM_H
38class ITrigT1CaloMonErrorTool;
44 virtual StatusCode
fillHistograms(
const EventContext& ctx )
const override;
52 StringProperty
m_packageName{
this,
"PackageName",
"CpmSimMonitor",
"group name for histograming"};
57 Gaudi::Property<int>
m_crates{
this,
"s_crates", 4,
"Number of CPM crates"};
58 Gaudi::Property<int>
m_modules{
this,
"s_modules", 14,
"Number of modules per crate (modules numbered 1-14)"};
59 Gaudi::Property<int>
m_maxSlices{
this,
"s_maxSlices", 5,
"Maximum number of slices"};
60 Gaudi::Property<int>
m_cmxs{
this,
"s_cmxs", 2,
"Number of CMXs"};
62 Gaudi::Property<bool>
m_legacyCpHadInputsDisabled{
this,
"s_legacyCpHadInputsDisabled",
false,
"Status of the L1Calo Legacy CP hadronic inputs"};
114 std::vector<int>* parityMap = 0)
const;
131 const std::vector<int> & parityMap,
154 const EventContext& ctx)
const;
161 int fpga(
int crate,
double phi)
const;
171 int thresholdsSame(
int val1,
int val2,
int nThresh,
int nBits)
const;
174 int thresholdsDiff(
int val1,
int val2,
int nThresh,
int nBits)
const;
178 int x,
int val,
int nThresh,
179 int nBits,
int offset = 0)
const;
Scalar phi() const
phi method
Header file to be included by clients of the Monitored infrastructure.
Property holding a SG store/key/clid from which a ReadHandle is made.
AthMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Gaudi::Property< int > m_cmxs
Gaudi::Property< int > m_maxSlices
virtual ~CpmSimMonitorAlgorithm()=default
int thresholdsDiff(int val1, int val2, int nThresh, int nBits) const
SG::ReadHandleKey< xAOD::RODHeaderContainer > m_rodHeaderLocation
CpmTowerMap::mapped_type ttCheck(CpmTowerMap::mapped_type tt, xAOD::CPMTowerContainer *coll) const
Gaudi::Property< bool > m_legacyCpHadInputsDisabled
ServiceHandle< TrigConf::ITrigConfigSvc > m_configSvc
bool limitedRoiSet(int crate, SG::ReadHandle< xAOD::RODHeaderContainer > &rodTES) const
SG::ReadHandleKey< xAOD::TriggerTowerContainer > m_triggerTowerLocation
ToolHandle< LVL1::IL1CPMTools > m_cpmTool
Gaudi::Property< int > m_modules
int thresholdsSame(int val1, int val2, int nThresh, int nBits) const
void compare(const CpmTobRoiMap &roiSimMap, const CpmTobRoiMap &roiMap, ErrorVector &errors, const xAOD::RODHeaderContainer *rodTES) const
std::vector< int > ErrorVector
int fpga(int crate, double phi) const
void fillXVsThresholds(Monitored::Scalar< int > &xitem, Monitored::Scalar< int > &yitem, Monitored::Scalar< int > &witem, int x, int val, int nThresh, int nBits, int offset=0) const
xAOD::CPMTobRoIMap_t CpmTobRoiMap
ToolHandle< LVL1::ITrigT1CaloMonErrorTool > m_errorTool
xAOD::CPMTowerMap_t CpmTowerMap
SG::ReadHandleKey< xAOD::CPMTowerContainer > m_cpmTowerLocationOverlap
bool compareEm(const TriggerTowerMapEm &ttMap, const CpmTowerMap &cpMap, ErrorVector &errors, bool overlap) const
SG::ReadHandleKey< xAOD::CMXCPHitsContainer > m_cmxCpHitsLocation
std::map< int, const xAOD::TriggerTower * > TriggerTowerMapEm
std::map< int, const xAOD::TriggerTower * > TriggerTowerMapHad
std::map< uint32_t, int > m_errorLB_tt_counter ATLAS_THREAD_SAFE
StringProperty m_packageName
Gaudi::Property< int > m_crates
StatusCode setupMap(const xAOD::TriggerTowerContainer *coll, TriggerTowerMapEm &emmap, TriggerTowerMapHad &hadmap) const
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
SG::ReadHandleKey< xAOD::CPMTobRoIContainer > m_cpmTobRoiLocation
std::map< int, const xAOD::CMXCPTob * > CmxCpTobMap
void simulate(const CpmTowerMap *towers, const CpmTowerMap *towersOv, xAOD::CPMTobRoIContainer *rois, const EventContext &ctx) const
SG::ReadHandleKey< xAOD::CPMTowerContainer > m_cpmTowerLocation
bool compareHad(const TriggerTowerMapHad &ttMap, const CpmTowerMap &cpMap, ErrorVector &errors, bool overlap) const
ToolHandle< LVL1::IL1CPCMXTools > m_cpCmxTool
SG::ReadHandleKey< TrigConf::L1Menu > m_L1MenuKey
SG::WriteHandleKey< std::vector< int > > m_errorLocation
SG::ReadHandleKey< xAOD::CMXCPTobContainer > m_cmxCpTobLocation
std::map< int, const xAOD::CMXCPHits * > CmxCpHitsMap
static const std::string CPMTobRoILocation
static const std::string RODHeaderLocation
static const std::string xAODTriggerTowerLocation
static const std::string CMXCPHitsLocation
static const std::string CPMTowerLocation
static const std::string CMXCPTobLocation
Declare a monitored scalar variable.
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
const std::string selection
RODHeaderContainer_v2 RODHeaderContainer
Define the latest version of the RODHeader container.
CMXCPTobContainer_v1 CMXCPTobContainer
Define the latest version of the CMXCPTob class.
CPMTowerContainer_v2 CPMTowerContainer
Define the latest version of the CPMHits container.
std::map< int, const CPMTobRoI * > CPMTobRoIMap_t
CMXCPHitsContainer_v1 CMXCPHitsContainer
Define the latest version of the CMXCPHits class.
TriggerTowerContainer_v2 TriggerTowerContainer
Define the latest version of the TriggerTower container.
std::map< int, const CPMTower * > CPMTowerMap_t
CPMTobRoIContainer_v1 CPMTobRoIContainer
Define the latest version of the CPMTobRoI class.