ATLAS Offline Software
Loading...
Searching...
No Matches
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
16#include "GaudiKernel/ServiceHandle.h"
17
18#include "CoolKernel/IObject.h"
19
20#include "TrigConfData/L1Menu.h"
32
33// RPC and TGC includes for access to SL data
37
38class CTP_RDO;
39class CTP_RIO;
40class MuCTPI_RDO;
41class CTP_BC;
42
43namespace ROIB {
44 class RoIBResult;
45}
46
47namespace 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}
57
60
61 public:BSMonitoringAlgorithm( const std::string& name, ISvcLocator* pSvcLocator );
62 virtual ~BSMonitoringAlgorithm()=default;
63 virtual StatusCode initialize() override;
64 virtual StatusCode fillHistograms( const EventContext& ctx ) const override;
65
66 private:
67 StringProperty m_packageName{this,"PackageName","CTPMonitor","group name for histograming"};
68
69 void doMuonRoI( const MuCTPI_RDO* theMuCTPI_RDO,
70 const ROIB::RoIBResult* roib,
71 const EventContext& ctx ) const;
72
73 void doCtp( const CTP_RDO* theCTP_RDO,
74 const CTP_RIO* theCTP_RIO,
75 const EventContext& ctx ) const;
76
77 void doMuctpi(const MuCTPI_RDO* theMuCTPI_RDO,
78 const RpcSectorLogicContainer* theRPCContainer,
79 const Muon::TgcCoinDataContainer* theTGCContainer,
80 const EventContext& ctx ) const;
81
82 void doMuctpi(const MuCTPI_Phase1_RDO* theMuCTPI_Phase1_RDO,
83 const std::vector<uint>& bcidFirstInTrain,
84 //const RpcSectorLogicContainer* theRPCContainer, //will be used later
85 //const Muon::TgcCoinDataContainer* theTGCContainer, //will be used later
86 const EventContext& ctx ) const;
87
88 void doCtpMuctpi( const CTP_RDO* theCTP_RDO,
89 const MuCTPI_RDO* theMuCTPI_RDO,
90 const EventContext& ctx ) const;
91
92 void dumpData(const CTP_RDO* theCTP_RDO,
93 const MuCTPI_RDO* theMuCTPI_RDO,
94 const ROIB::RoIBResult* roib,
95 const EventContext& ctx ) const;
96
97 StatusCode compareRerun(const CTP_BC &bunchCrossing,
98 const EventContext& ctx ) const;
99
100 SG::ReadCondHandleKey<TrigConf::L1BunchGroupSet> m_bgKey{this, "L1BunchGroup", "L1BunchGroup", "L1BunchGroupSet key name"};
101
102 SG::ReadCondHandleKey<AthenaAttributeList> m_LBLBFolderInputKey{ this, "LBLBFolderInputKey", "/TRIGGER/LUMI/LBLB" };
103 SG::ReadCondHandleKey<CondAttrListCollection> m_FILLSTATEFolderInputKey{ this, "FILLSTATEFolderInputKey", "/LHC/DCS/FILLSTATE" };
104 SG::ReadCondHandleKey<AthenaAttributeList> m_DataTakingModeFolderInputKey{ this, "DataTakingModeFolderInputKey", "/TDAQ/RunCtrl/DataTakingMode" };
105
106 SG::ReadHandleKey<MuCTPI_RDO> m_MuCTPI_RDOKey{ this, "MuCTPI_RDOKey", "MUCTPI_RDO" };
107 SG::ReadHandleKey<MuCTPI_Phase1_RDO> m_MuCTPI_Phase1_RDOKey{ this, "MuCTPI_Phase1_RDOKey", "MUCTPI_Phase1_RDO" };
108 SG::ReadHandleKey<CTP_RDO> m_CTP_RDOKey{ this, "CTP_RDOKey", "CTP_RDO" };
109 SG::ReadHandleKey<CTP_RIO> m_CTP_RIOKey{ this, "CTP_RIOKey", "CTP_RIO" };
110 SG::ReadHandleKey<CTP_RDO> m_CTP_RDO_RerunKey{ this, "CTP_RDO_RerunKey", "CTP_RDO_Rerun" };
111 SG::ReadHandleKey<ROIB::RoIBResult> m_RoIBResultKey{ this, "RoIBResultKey", "RoIBResult" };
112 SG::ReadHandleKey<RpcSectorLogicContainer> m_RPCContainerKey{ this, "RPCContainerKey", "RPC_SECTORLOGIC" };
113 SG::ReadHandleKey<Muon::TgcCoinDataContainer> m_TGCContainerKey{ this, "TGCContainerKey", "TrigT1CoinDataCollection" };
114
115 Gaudi::Property<bool> m_isRun3{ this, "isRun3", true, "isRun3" };
116 Gaudi::Property<bool> m_isSim{ this, "isSimulation", false, "isSimulation" };
117 Gaudi::Property<bool> m_inclusiveTriggerThresholds{ this, "InclusiveTriggerThresholds", true, "Flag to activate the inclusive counting of PT thresholds in trigger patterns" };
118 Gaudi::Property<bool> m_processMuctpi{ this, "ProcessMuctpiData", true, "Flag to activate the processing of Muctpi data" };
119 Gaudi::Property<bool> m_processMuctpiRIO{ this, "ProcessMuctpiDataRIO", true, "Flag to activate the processing of the Muctpi RIO" };
120 Gaudi::Property<bool> m_compareRerun{ this, "CompareRerun", false, "Flag to activate the processing of RoIBResult data" };
121 Gaudi::Property<bool> m_runOnESD{ this, "RunOnESD", false, "Flag to run only on the ESD" };
122
123 Gaudi::Property<bool> m_processCTP{ this, "ProcessCTPData", true, "Flag to activate the processing of CTP data" };
124 Gaudi::Property<bool> m_processRoIB{ this, "ProcessRoIBResult", true, "Flag to activate the processing of RoIBResult data" };
125
126 Gaudi::Property<double> m_defaultBcIntervalInNs{ this, "DefaultBcIntervalInNs", 24.9507401, "Default bunch-crossing duration to use if not accessible in COOL" };
127 Gaudi::Property<int64_t> m_bcsPerTurn{ this, "BCsPerTurn", 3564, "Number of bunch crossings per turn" };
128 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" };
129 //do not use online
130 //Gaudi::Property<std::string > m_fillStateCoolFolderName{ this, "FillStateCoolFolderName", "/LHC/DCS/FILLSTATE", "COOL folder in COOLOFL_DCS holding the LHC fill state info" };
131 Gaudi::Property<std::string> m_dataTakingModeCoolFolderName{ this, "DataTakingModeCoolFolderName", "/TDAQ/RunCtrl/DataTakingMode", "COOL folder in COOLONL_TDAQ holding the ATLAS data taking mode info" };
132 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)"};
133
134 };
135}
136#endif
This file defines the class for a collection of AttributeLists where each one is associated with a ch...
A CondAttrListVec is an Athena DataObject holding a vector of CORAL AttributeLists,...
Hold mappings of ranges to condition objects.
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.
BCM input class to the CTP simulation.
Definition BcmCTP.h:26
BPTX input class to the CTP simulation.
Definition BptxCTP.h:26
Em/Tau input class to the CTP simulation.
Definition EmTauCTP.h:32
"Energy" input class to the CTP simulation
Definition EnergyCTP.h:31
This class defines the em/tau hadron ROI which are generated by the LVL1 Calo Trigger.
Definition JetCTP.h:22
MBTS input class to the CTP simulation.
Definition MbtsCTP.h:27
MuCTPI input class to the CTP simulation.
Definition MuCTPICTP.h:23
This class defines the NIM items.
Definition NimCTP.h:21
Class representing the readout data of the MuCTPI hardware and simulation.
Class representing the readout data of the MuCTPI hardware and simulation.
Definition MuCTPI_RDO.h:41
Class holding the LVL1 RoIB result build by the RoIBuilder.
Definition RoIBResult.h:47
Property holding a SG store/key/clid from which a ReadHandle is made.
SG::ReadHandleKey< CTP_RIO > m_CTP_RIOKey
Gaudi::Property< double > m_defaultBcIntervalInNs
SG::ReadHandleKey< CTP_RDO > m_CTP_RDOKey
void doMuctpi(const MuCTPI_RDO *theMuCTPI_RDO, const RpcSectorLogicContainer *theRPCContainer, const Muon::TgcCoinDataContainer *theTGCContainer, const EventContext &ctx) const
StatusCode compareRerun(const CTP_BC &bunchCrossing, const EventContext &ctx) const
SG::ReadHandleKey< RpcSectorLogicContainer > m_RPCContainerKey
Gaudi::Property< std::vector< std::string > > m_ignorePatterns
SG::ReadCondHandleKey< AthenaAttributeList > m_LBLBFolderInputKey
SG::ReadHandleKey< Muon::TgcCoinDataContainer > m_TGCContainerKey
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
SG::ReadHandleKey< ROIB::RoIBResult > m_RoIBResultKey
SG::ReadCondHandleKey< AthenaAttributeList > m_DataTakingModeFolderInputKey
Gaudi::Property< std::string > m_dataTakingModeCoolFolderName
SG::ReadHandleKey< MuCTPI_RDO > m_MuCTPI_RDOKey
Gaudi::Property< std::string > m_lbTimeCoolFolderName
void doCtp(const CTP_RDO *theCTP_RDO, const CTP_RIO *theCTP_RIO, const EventContext &ctx) const
virtual StatusCode initialize() override
initialize
Gaudi::Property< bool > m_inclusiveTriggerThresholds
SG::ReadHandleKey< MuCTPI_Phase1_RDO > m_MuCTPI_Phase1_RDOKey
SG::ReadCondHandleKey< TrigConf::L1BunchGroupSet > m_bgKey
void doCtpMuctpi(const CTP_RDO *theCTP_RDO, const MuCTPI_RDO *theMuCTPI_RDO, const EventContext &ctx) const
SG::ReadCondHandleKey< CondAttrListCollection > m_FILLSTATEFolderInputKey
SG::ReadHandleKey< CTP_RDO > m_CTP_RDO_RerunKey
void dumpData(const CTP_RDO *theCTP_RDO, const MuCTPI_RDO *theMuCTPI_RDO, const ROIB::RoIBResult *roib, const EventContext &ctx) const
void doMuonRoI(const MuCTPI_RDO *theMuCTPI_RDO, const ROIB::RoIBResult *roib, const EventContext &ctx) const
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
MuonCoinDataContainer< TgcCoinDataCollection > TgcCoinDataContainer
Namespace of the LVL1 RoIB simulation.