ATLAS Offline Software
BSMonitoringAlg.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRIGT1_CTMONITORING_BSMONITORING_H
6 #define TRIGT1_CTMONITORING_BSMONITORING_H
7 
12 #include "AthenaKernel/CondCont.h"
16 #include "GaudiKernel/ServiceHandle.h"
17 
18 #include "CoolKernel/IObject.h"
19 
20 #include "TrigConfData/L1Menu.h"
25 #include "TrigT1Result/CTP_RDO.h"
26 #include "TrigT1Result/CTP_RIO.h"
32 
33 // RPC and TGC includes for access to SL data
37 
38 class CTP_RDO;
39 class CTP_RIO;
40 class MuCTPI_RDO;
41 class CTP_BC;
42 
43 namespace ROIB {
44  class RoIBResult;
45 }
46 
47 namespace LVL1 {
48  class MuCTPICTP;
49  class EmTauCTP;
50  class JetCTP;
51  class EnergyCTP;
52  class MbtsCTP;
53  class BcmCTP;
54  class BptxCTP;
55  class NimCTP;
56  class RecMuonRoiSvc;
57 }
58 
59 namespace TrigT1CTMonitoring {
61 
62  public:BSMonitoringAlgorithm( const std::string& name, ISvcLocator* pSvcLocator );
63  virtual ~BSMonitoringAlgorithm()=default;
64  virtual StatusCode initialize() override;
65  virtual StatusCode fillHistograms( const EventContext& ctx ) const override;
66 
67  private:
68  StringProperty m_packageName{this,"PackageName","CTPMonitor","group name for histograming"};
69 
70  void doMuonRoI( const MuCTPI_RDO* theMuCTPI_RDO,
71  const ROIB::RoIBResult* roib,
72  const EventContext& ctx ) const;
73 
74  void doCtp( const CTP_RDO* theCTP_RDO,
75  const CTP_RIO* theCTP_RIO,
76  const EventContext& ctx ) const;
77 
78  void doMuctpi(const MuCTPI_RDO* theMuCTPI_RDO,
79  const RpcSectorLogicContainer* theRPCContainer,
80  const Muon::TgcCoinDataContainer* theTGCContainer,
81  const EventContext& ctx ) const;
82 
83  void doMuctpi(const MuCTPI_Phase1_RDO* theMuCTPI_Phase1_RDO,
84  const std::vector<uint>& bcidFirstInTrain,
85  //const RpcSectorLogicContainer* theRPCContainer, //will be used later
86  //const Muon::TgcCoinDataContainer* theTGCContainer, //will be used later
87  const EventContext& ctx ) const;
88 
89  void doCtpMuctpi( const CTP_RDO* theCTP_RDO,
90  const MuCTPI_RDO* theMuCTPI_RDO,
91  const EventContext& ctx ) const;
92 
93  void dumpData(const CTP_RDO* theCTP_RDO,
94  const MuCTPI_RDO* theMuCTPI_RDO,
95  const ROIB::RoIBResult* roib,
96  const EventContext& ctx ) const;
97 
98  StatusCode compareRerun(const CTP_BC &bunchCrossing,
99  const EventContext& ctx ) const;
100 
101  SG::ReadCondHandleKey<TrigConf::L1BunchGroupSet> m_bgKey{this, "L1BunchGroup", "L1BunchGroup", "L1BunchGroupSet key name"};
102 
103  SG::ReadCondHandleKey<AthenaAttributeList> m_LBLBFolderInputKey{ this, "LBLBFolderInputKey", "/TRIGGER/LUMI/LBLB" };
104  SG::ReadCondHandleKey<CondAttrListCollection> m_FILLSTATEFolderInputKey{ this, "FILLSTATEFolderInputKey", "/LHC/DCS/FILLSTATE" };
105  SG::ReadCondHandleKey<AthenaAttributeList> m_DataTakingModeFolderInputKey{ this, "DataTakingModeFolderInputKey", "/TDAQ/RunCtrl/DataTakingMode" };
106 
107  SG::ReadHandleKey<MuCTPI_RDO> m_MuCTPI_RDOKey{ this, "MuCTPI_RDOKey", "MUCTPI_RDO" };
108  SG::ReadHandleKey<MuCTPI_Phase1_RDO> m_MuCTPI_Phase1_RDOKey{ this, "MuCTPI_Phase1_RDOKey", "MUCTPI_Phase1_RDO" };
109  SG::ReadHandleKey<CTP_RDO> m_CTP_RDOKey{ this, "CTP_RDOKey", "CTP_RDO" };
110  SG::ReadHandleKey<CTP_RIO> m_CTP_RIOKey{ this, "CTP_RIOKey", "CTP_RIO" };
111  SG::ReadHandleKey<CTP_RDO> m_CTP_RDO_RerunKey{ this, "CTP_RDO_RerunKey", "CTP_RDO_Rerun" };
112  SG::ReadHandleKey<ROIB::RoIBResult> m_RoIBResultKey{ this, "RoIBResultKey", "RoIBResult" };
113  SG::ReadHandleKey<RpcSectorLogicContainer> m_RPCContainerKey{ this, "RPCContainerKey", "RPC_SECTORLOGIC" };
114  SG::ReadHandleKey<Muon::TgcCoinDataContainer> m_TGCContainerKey{ this, "TGCContainerKey", "TrigT1CoinDataCollection" };
115 
116  Gaudi::Property<bool> m_isRun3{ this, "isRun3", true, "isRun3" };
117  Gaudi::Property<bool> m_isSim{ this, "isSimulation", false, "isSimulation" };
118  Gaudi::Property<bool> m_inclusiveTriggerThresholds{ this, "InclusiveTriggerThresholds", true, "Flag to activate the inclusive counting of PT thresholds in trigger patterns" };
119  Gaudi::Property<bool> m_processMuctpi{ this, "ProcessMuctpiData", true, "Flag to activate the processing of Muctpi data" };
120  Gaudi::Property<bool> m_processMuctpiRIO{ this, "ProcessMuctpiDataRIO", true, "Flag to activate the processing of the Muctpi RIO" };
121  Gaudi::Property<bool> m_compareRerun{ this, "CompareRerun", false, "Flag to activate the processing of RoIBResult data" };
122  Gaudi::Property<bool> m_runOnESD{ this, "RunOnESD", false, "Flag to run only on the ESD" };
123 
124  Gaudi::Property<bool> m_processCTP{ this, "ProcessCTPData", true, "Flag to activate the processing of CTP data" };
125  Gaudi::Property<bool> m_processRoIB{ this, "ProcessRoIBResult", true, "Flag to activate the processing of RoIBResult data" };
126 
127  Gaudi::Property<double> m_defaultBcIntervalInNs{ this, "DefaultBcIntervalInNs", 24.9507401, "Default bunch-crossing duration to use if not accessible in COOL" };
128  Gaudi::Property<int64_t> m_bcsPerTurn{ this, "BCsPerTurn", 3564, "Number of bunch crossings per turn" };
129  Gaudi::Property<std::string > m_lbTimeCoolFolderName{ this, "LumiBlockTimeCoolFolderName", "/TRIGGER/LUMI/LBLB", "COOL folder in COOLONL_TRIGGER holding info about start and stop times for luminosity blocks" };
130  //do not use online
131  //Gaudi::Property<std::string > m_fillStateCoolFolderName{ this, "FillStateCoolFolderName", "/LHC/DCS/FILLSTATE", "COOL folder in COOLOFL_DCS holding the LHC fill state info" };
132  Gaudi::Property<std::string> m_dataTakingModeCoolFolderName{ this, "DataTakingModeCoolFolderName", "/TDAQ/RunCtrl/DataTakingMode", "COOL folder in COOLONL_TDAQ holding the ATLAS data taking mode info" };
133  Gaudi::Property<std::vector<std::string>> m_ignorePatterns{ this, "IgnorePatterns", {"L1_TRT", "L1_ZB", "_AFP", "L1_BPTX", "L1_BCM", "L1_LUCID"}, "patters that are excluded from check (no regex)"};
134 
135  };
136 }
137 #endif
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
CTP_RIO
Definition: CTP_RIO.h:22
TrigT1CTMonitoring::BSMonitoringAlgorithm::m_FILLSTATEFolderInputKey
SG::ReadCondHandleKey< CondAttrListCollection > m_FILLSTATEFolderInputKey
Definition: BSMonitoringAlg.h:104
TrigT1CTMonitoring::BSMonitoringAlgorithm::m_processMuctpiRIO
Gaudi::Property< bool > m_processMuctpiRIO
Definition: BSMonitoringAlg.h:120
CTP_Decoder.h
MuCTPI_Phase1_RDO.h
BSMonitoringAlgorithm
Definition: BSMonitoringAlgorithm.py:1
RpcSectorLogicContainer.h
CondCont.h
Hold mappings of ranges to condition objects.
CondAttrListCollection.h
This file defines the class for a collection of AttributeLists where each one is associated with a ch...
TrigT1CTMonitoring::BSMonitoringAlgorithm::doCtp
void doCtp(const CTP_RDO *theCTP_RDO, const CTP_RIO *theCTP_RIO, const EventContext &ctx) const
Definition: BSMonitoringAlg.cxx:1937
ROIB::RoIBResult
Class holding the LVL1 RoIB result build by the RoIBuilder.
Definition: RoIBResult.h:47
TrigT1CTMonitoring::BSMonitoringAlgorithm::m_CTP_RIOKey
SG::ReadHandleKey< CTP_RIO > m_CTP_RIOKey
Definition: BSMonitoringAlg.h:110
RoIBResult.h
TrigT1CTMonitoring::BSMonitoringAlgorithm::m_bcsPerTurn
Gaudi::Property< int64_t > m_bcsPerTurn
Definition: BSMonitoringAlg.h:128
TrigT1CTMonitoring::BSMonitoringAlgorithm::m_defaultBcIntervalInNs
Gaudi::Property< double > m_defaultBcIntervalInNs
Definition: BSMonitoringAlg.h:127
TrigT1CTMonitoring::BSMonitoringAlgorithm::compareRerun
StatusCode compareRerun(const CTP_BC &bunchCrossing, const EventContext &ctx) const
Definition: BSMonitoringAlg.cxx:2730
TrigT1CTMonitoring::BSMonitoringAlgorithm::dumpData
void dumpData(const CTP_RDO *theCTP_RDO, const MuCTPI_RDO *theMuCTPI_RDO, const ROIB::RoIBResult *roib, const EventContext &ctx) const
Definition: BSMonitoringAlg.cxx:2838
TrigT1CTMonitoring::BSMonitoringAlgorithm::m_CTP_RDO_RerunKey
SG::ReadHandleKey< CTP_RDO > m_CTP_RDO_RerunKey
Definition: BSMonitoringAlg.h:111
SG::ReadHandleKey< MuCTPI_RDO >
ROIB
Namespace of the LVL1 RoIB simulation.
Definition: ILvl1ResultAccessTool.h:19
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
AthenaAttributeList.h
TrigT1CTMonitoring::BSMonitoringAlgorithm::m_inclusiveTriggerThresholds
Gaudi::Property< bool > m_inclusiveTriggerThresholds
Definition: BSMonitoringAlg.h:118
MuCTPI_MultiplicityWord_Decoder.h
AthMonitorAlgorithm
Base class for Athena Monitoring Algorithms.
Definition: AthMonitorAlgorithm.h:36
TrigT1CTMonitoring::BSMonitoringAlgorithm::m_isSim
Gaudi::Property< bool > m_isSim
Definition: BSMonitoringAlg.h:117
TrigT1CTMonitoring::BSMonitoringAlgorithm::m_DataTakingModeFolderInputKey
SG::ReadCondHandleKey< AthenaAttributeList > m_DataTakingModeFolderInputKey
Definition: BSMonitoringAlg.h:105
MuCTPI_Phase1_RDO
Class representing the readout data of the MuCTPI hardware and simulation.
Definition: MuCTPI_Phase1_RDO.h:36
TrigT1CTMonitoring::BSMonitoringAlgorithm::m_processRoIB
Gaudi::Property< bool > m_processRoIB
Definition: BSMonitoringAlg.h:125
CondAttrListVec.h
A CondAttrListVec is an Athena DataObject holding a vector of CORAL AttributeLists,...
TrigT1CTMonitoring::BSMonitoringAlgorithm::m_bgKey
SG::ReadCondHandleKey< TrigConf::L1BunchGroupSet > m_bgKey
Definition: BSMonitoringAlg.h:101
TrigT1CTMonitoring::BSMonitoringAlgorithm::m_processCTP
Gaudi::Property< bool > m_processCTP
Definition: BSMonitoringAlg.h:124
TrigT1CTMonitoring::BSMonitoringAlgorithm::doMuctpi
void doMuctpi(const MuCTPI_RDO *theMuCTPI_RDO, const RpcSectorLogicContainer *theRPCContainer, const Muon::TgcCoinDataContainer *theTGCContainer, const EventContext &ctx) const
Definition: BSMonitoringAlg.cxx:1390
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TrigT1CTMonitoring::BSMonitoringAlgorithm::m_compareRerun
Gaudi::Property< bool > m_compareRerun
Definition: BSMonitoringAlg.h:121
AthMonitorAlgorithm.h
CTP_BC
Definition: CTP_Decoder.h:17
TrigT1CTMonitoring::BSMonitoringAlgorithm::m_CTP_RDOKey
SG::ReadHandleKey< CTP_RDO > m_CTP_RDOKey
Definition: BSMonitoringAlg.h:109
TgcDigit.h
RpcSectorLogicContainer
Definition: RpcSectorLogicContainer.h:20
TrigT1CTMonitoring::BSMonitoringAlgorithm::BSMonitoringAlgorithm
BSMonitoringAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Definition: BSMonitoringAlg.cxx:6
TrigT1CTMonitoring::BSMonitoringAlgorithm::m_LBLBFolderInputKey
SG::ReadCondHandleKey< AthenaAttributeList > m_LBLBFolderInputKey
Definition: BSMonitoringAlg.h:103
TrigT1CTMonitoring::BSMonitoringAlgorithm::m_packageName
StringProperty m_packageName
Definition: BSMonitoringAlg.h:68
ITrigT1MuonRecRoiTool.h
TrigT1CTMonitoring::BSMonitoringAlgorithm::m_isRun3
Gaudi::Property< bool > m_isRun3
Definition: BSMonitoringAlg.h:116
TrigT1CTMonitoring::BSMonitoringAlgorithm::m_runOnESD
Gaudi::Property< bool > m_runOnESD
Definition: BSMonitoringAlg.h:122
Monitored.h
Header file to be included by clients of the Monitored infrastructure.
MuCTPI_DataWord_Decoder.h
TgcCoinDataContainer.h
ReadCondHandleKey.h
L1BunchGroupSet.h
TrigT1CTMonitoring::BSMonitoringAlgorithm::~BSMonitoringAlgorithm
virtual ~BSMonitoringAlgorithm()=default
Muon::MuonCoinDataContainer
Definition: MuonCoinDataContainer.h:32
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
MuCTPI_Bits.h
TrigT1CTMonitoring::BSMonitoringAlgorithm::m_MuCTPI_RDOKey
SG::ReadHandleKey< MuCTPI_RDO > m_MuCTPI_RDOKey
Definition: BSMonitoringAlg.h:107
CTP_RIO.h
TrigT1CTMonitoring::BSMonitoringAlgorithm::doMuonRoI
void doMuonRoI(const MuCTPI_RDO *theMuCTPI_RDO, const ROIB::RoIBResult *roib, const EventContext &ctx) const
Definition: BSMonitoringAlg.cxx:2515
TrigT1CTMonitoring::BSMonitoringAlgorithm::doCtpMuctpi
void doCtpMuctpi(const CTP_RDO *theCTP_RDO, const MuCTPI_RDO *theMuCTPI_RDO, const EventContext &ctx) const
Definition: BSMonitoringAlg.cxx:2436
TrigT1CTMonitoring::BSMonitoringAlgorithm::m_MuCTPI_Phase1_RDOKey
SG::ReadHandleKey< MuCTPI_Phase1_RDO > m_MuCTPI_Phase1_RDOKey
Definition: BSMonitoringAlg.h:108
TrigT1CTMonitoring::BSMonitoringAlgorithm::m_ignorePatterns
Gaudi::Property< std::vector< std::string > > m_ignorePatterns
Definition: BSMonitoringAlg.h:133
MuCTPI_RDO.h
SG::ReadCondHandleKey< TrigConf::L1BunchGroupSet >
CTP_RDO.h
MuCTPI_RDO
Class representing the readout data of the MuCTPI hardware and simulation.
Definition: MuCTPI_RDO.h:41
CTP_RDO
Definition: CTP_RDO.h:20
TrigT1CTMonitoring::BSMonitoringAlgorithm::m_RoIBResultKey
SG::ReadHandleKey< ROIB::RoIBResult > m_RoIBResultKey
Definition: BSMonitoringAlg.h:112
TrigT1CTMonitoring::BSMonitoringAlgorithm::m_processMuctpi
Gaudi::Property< bool > m_processMuctpi
Definition: BSMonitoringAlg.h:119
TrigT1CTMonitoring::BSMonitoringAlgorithm::m_RPCContainerKey
SG::ReadHandleKey< RpcSectorLogicContainer > m_RPCContainerKey
Definition: BSMonitoringAlg.h:113
TrigT1CTMonitoring::BSMonitoringAlgorithm::m_TGCContainerKey
SG::ReadHandleKey< Muon::TgcCoinDataContainer > m_TGCContainerKey
Definition: BSMonitoringAlg.h:114
TrigT1CTMonitoring::BSMonitoringAlgorithm::m_lbTimeCoolFolderName
Gaudi::Property< std::string > m_lbTimeCoolFolderName
Definition: BSMonitoringAlg.h:129
L1Menu.h
TrigT1CTMonitoring::BSMonitoringAlgorithm::m_dataTakingModeCoolFolderName
Gaudi::Property< std::string > m_dataTakingModeCoolFolderName
Definition: BSMonitoringAlg.h:132
TrigT1CTMonitoring::BSMonitoringAlgorithm::fillHistograms
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
Definition: BSMonitoringAlg.cxx:56
TrigT1CTMonitoring::BSMonitoringAlgorithm::initialize
virtual StatusCode initialize() override
initialize
Definition: BSMonitoringAlg.cxx:9
TrigT1CTMonitoring
Definition: BSMonitoringAlg.h:59