|  | 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" 
   49 #include "GaudiKernel/LockedHandle.h" 
  100       StatusCode simulateItems(
const std::map<std::string, unsigned int> & thrMultiMap, 
const EventContext& context) 
const;
 
  114       ToolHandle<LVL1CTP::ResultBuilder> 
m_resultBuilder { 
this, 
"ResultBuilder", 
"LVL1CTP::ResultBuilder/ResultBuilder", 
"Builds the CTP result" };
 
  158       Gaudi::Property<bool> 
m_isData { 
this, 
"IsData", 
false, 
"emulate CTP as part of MC or rerun on data" };
 
  159       Gaudi::Property<std::string>  
m_histPath { 
this, 
"HistPath",  
"/EXPERT/L1", 
"Booking path for the histogram" };
 
  160       Gaudi::Property<bool> 
m_doZDC{
this, 
"DoZDC", 
false, 
"emulate CTP with ZDC included"};
 
  161       Gaudi::Property<bool> 
m_doTRT{
this, 
"DoTRT", 
false, 
"emulate CTP with TRT included"};
 
  162       Gaudi::Property<bool> 
m_forceBunchGroupPattern { 
this, 
"ForceBunchGroupPattern", 
true, 
"When true, ignore the bunchgroups and use the provided BunchGroupPattern" };
 
  163       Gaudi::Property<unsigned int> 
m_bunchGroupPattern { 
this, 
"BunchGroupPattern", 0x0003, 
"Bunchgroup pattern applied at every event, useful for simulation. Bit x corresponds to bunchgroup x" };
 
  165       Gaudi::Property<bool> 
m_doL1CaloLegacy { 
this, 
"DoL1CaloLegacy", 
false, 
"Use L1Calo legacy" };
 
  166       Gaudi::Property<bool> 
m_doL1Topo       { 
this, 
"DoL1Topo",       
false, 
"Use L1Topo" };
 
  167       Gaudi::Property<bool> 
m_doL1TopoLegacy { 
this, 
"DoL1TopoLegacy", 
false, 
"Use L1Topo Legacy" };
 
  168       Gaudi::Property<bool> 
m_muonRun2Format { 
this, 
"MuonMultiplicityRun2Format", 
false, 
"Interpret muon multiplicity in Run 2 format (bit 0 unused)" };
 
  170       Gaudi::Property<bool> 
m_useEDMxAOD       { 
this, 
"UseEDMxAOD", 
false, 
"Use EDM based on xAOD class" };
 
  
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_useEDMxAOD
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.
SG::WriteHandleKey< xAOD::CTPResult > m_oKeyCTPResult
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