Loading [MathJax]/extensions/tex2jax.js
 |
ATLAS Offline Software
|
Go to the documentation of this file.
4 #ifndef TRIGT1CTP_CTPSIMULATION_H
5 #define TRIGT1CTP_CTPSIMULATION_H
10 #include "GaudiKernel/ServiceHandle.h"
11 #include "GaudiKernel/ToolHandle.h"
12 #include "Gaudi/Property.h"
16 #include "GaudiKernel/ITHistSvc.h"
48 #include "GaudiKernel/LockedHandle.h"
99 StatusCode simulateItems(
const std::map<std::string, unsigned int> & thrMultiMap,
const EventContext& context)
const;
113 ToolHandle<LVL1CTP::ResultBuilder>
m_resultBuilder {
this,
"ResultBuilder",
"LVL1CTP::ResultBuilder/ResultBuilder",
"Builds the CTP result" };
156 Gaudi::Property<bool>
m_isData {
this,
"IsData",
false,
"emulate CTP as part of MC or rerun on data" };
157 Gaudi::Property<std::string>
m_histPath {
this,
"HistPath",
"/EXPERT/L1",
"Booking path for the histogram" };
158 Gaudi::Property<bool>
m_doZDC{
this,
"DoZDC",
false,
"emulate CTP with ZDC included"};
159 Gaudi::Property<bool>
m_doTRT{
this,
"DoTRT",
false,
"emulate CTP with TRT included"};
160 Gaudi::Property<bool>
m_forceBunchGroupPattern {
this,
"ForceBunchGroupPattern",
true,
"When true, ignore the bunchgroups and use the provided BunchGroupPattern" };
161 Gaudi::Property<unsigned int>
m_bunchGroupPattern {
this,
"BunchGroupPattern", 0x0003,
"Bunchgroup pattern applied at every event, useful for simulation. Bit x corresponds to bunchgroup x" };
163 Gaudi::Property<bool>
m_doL1CaloLegacy {
this,
"DoL1CaloLegacy",
false,
"Use L1Calo legacy" };
164 Gaudi::Property<bool>
m_doL1Topo {
this,
"DoL1Topo",
false,
"Use L1Topo" };
165 Gaudi::Property<bool>
m_doL1TopoLegacy {
this,
"DoL1TopoLegacy",
false,
"Use L1Topo Legacy" };
166 Gaudi::Property<bool>
m_muonRun2Format {
this,
"MuonMultiplicityRun2Format",
false,
"Interpret muon multiplicity in Run 2 format (bit 0 unused)" };
ToolHandle< LVL1CTP::ResultBuilder > m_resultBuilder
ServiceHandle< ITHistSvc > m_histSvc
SG::ReadHandleKey< xAOD::JetRoIContainer > m_iKeyJFexJets
path
python interpreter configuration --------------------------------------—
StatusCode extractMultiplicities(std::map< std::string, unsigned int > &thrMultiMap, const EventContext &context) const
SG::ReadHandleKey< xAOD::EnergySumRoI > m_iKeyGFexMETRho
static const std::string EmTauCTPLocation
Gaudi::Property< bool > m_doZDC
SG::WriteHandleKey< CTPSLink > m_oKeySLink
std::map< std::string, LockedHandle< TH1 > > m_hist1D
static const std::string ZdcCTPLocation
SG::WriteHandleKey< CTP_RDO > m_oKeyRDO
StatusCode createMultiplicityHist(const std::string &type, unsigned int maxMult=10)
unsigned int calculateEMMultiplicity(const TrigConf::L1Threshold &confThr, const TrigConf::L1Menu *l1menu, const EventContext &context) const
StatusCode setMultiplicityHistLabels(const TrigConf::L1Menu &l1menu, const std::string &type)
unsigned int calculateTauMultiplicity(const TrigConf::L1Threshold &confThr, const TrigConf::L1Menu *l1menu, const EventContext &context) const
Gaudi::Property< unsigned int > m_bunchGroupPattern
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
SG::ReadHandleKey< xAOD::EmTauRoIContainer > m_iKeyEFexTau
LockedHandle< TH2 > & get2DHist(const std::string &histName) const
Gaudi::Property< std::string > m_histPath
An algorithm that can be simultaneously executed in multiple threads.
std::string getBaseHistPath() const
SG::ReadHandleKey< LVL1::EnergyCTP > m_iKeyCtpinXE
SG::ReadHandleKey< xAOD::JetRoIContainer > m_iKeyJFexLJets
StatusCode hbook(const std::string &path, std::unique_ptr< TH1 > hist)
unsigned int calculateTopoMultiplicity(const TrigConf::L1Threshold &confThr, const TrigConf::L1Menu *l1menu, const EventContext &context, bool UseLegacy) const
StatusCode storeMetadata()
unsigned int calculateMETMultiplicity(const TrigConf::L1Threshold &confThr, const TrigConf::L1Menu *l1menu, const EventContext &context) const
unsigned int calculateJetMultiplicity(const TrigConf::L1Threshold &confThr, const TrigConf::L1Menu *l1menu, const EventContext &context) const
::StatusCode StatusCode
StatusCode definition for legacy code.
LockedHandle< TH1 > & get1DHist(const std::string &histName) const
unsigned int calculateTopoOptMultiplicity(const TrigConf::L1Threshold &confThr, const TrigConf::L1Menu *l1menu, const EventContext &context) const
Gaudi::Property< bool > m_doTRT
SG::ReadHandleKey< LVL1::JetCTP > m_iKeyCtpinJet
Gaudi::Property< bool > m_isData
StatusCode simulateItems(const std::map< std::string, unsigned int > &thrMultiMap, const EventContext &context) const
Gaudi::Property< bool > m_doL1TopoLegacy
Gaudi::Property< bool > m_forceBunchGroupPattern
StatusCode setHistLabels(const TrigConf::L1Menu &l1menu)
A wrapper class for event-slot-local random engines.
Gaudi::Property< bool > m_muonRun2Format
static const std::string JetCTPLocation
std::map< std::string, LockedHandle< TH2 > > m_hist2D
SG::ReadHandleKey< xAOD::EnergySumRoI > m_iKeyGFexMETNC
SG::ReadHandleKey< xAOD::EnergySumRoI > m_iKeyGFexMETJwoJ
unsigned int calculateMuonMultiplicity(const TrigConf::L1Threshold &confThr, const TrigConf::L1Menu *l1menu, const EventContext &context) const
virtual StatusCode stop() override
SG::ReadHandleKey< LVL1::FrontPanelCTP > m_iKeyLegacyTopo
SG::ReadCondHandleKey< TrigConf::L1BunchGroupSet > m_bgKey
SG::ReadHandleKey< LVL1::ZdcCTP > m_iKeyZDC
virtual StatusCode start() override
unsigned int calculateMultiplicity(const TrigConf::L1Threshold &confThr, const TrigConf::L1Menu *l1menu, const EventContext &context) const
StatusCode fillInputHistograms(const EventContext &context) const
SG::ReadHandleKey< LVL1::MuCTPICTP > m_iKeyMuctpi
static const std::string EnergyCTPLocation
SG::ReadHandleKey< xAOD::TrigEMClusterContainer > m_iKeyEFexCluster
Gaudi::Property< bool > m_doL1CaloLegacy
Gaudi::Property< bool > m_doL1Topo
SG::ReadHandleKey< LVL1::TrtCTP > m_iKeyTRT
SG::ReadHandleKey< LVL1::EmTauCTP > m_iKeyCtpinEM
CTPSimulation(const std::string &name, ISvcLocator *pSvcLocator)
SG::ReadHandleKey< xAOD::JetRoIContainer > m_iKeyGFexJets
virtual StatusCode execute(const EventContext &context) const override
Standard L1 threshold configuration.
SG::ReadHandleKey< LVL1::FrontPanelCTP > m_iKeyTopo
ATHRNG::RNGWrapper m_RNGEngines
virtual StatusCode initialize() override