ATLAS Offline Software
NSWL1Simulation.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRIGT1NSW_NSWL1SIMULATION_H
6 #define TRIGT1NSW_NSWL1SIMULATION_H
7 
8 // Basic includes
10 #include "GaudiKernel/ConcurrencyFlags.h"
11 
12 // NSWL1SimTools includes
16 
17 // namespace for the NSW LVL1 related classes
18 namespace NSWL1 {
19 
20 
38 
39  public:
40  NSWL1Simulation( const std::string& name, ISvcLocator* pSvcLocator );
41 
42  virtual StatusCode initialize() override;
43  virtual StatusCode execute(const EventContext& ctx) const override;
44  virtual StatusCode finalize() override;
45  const ServiceHandle<ITHistSvc>& histSvc() const { return m_histSvc; }
46 
47  protected:
48  SG::WriteHandleKey<Muon::NSW_TrigRawDataContainer> m_trigRdoContainer{this, "NSWTrigRDOContainerName", "L1_NSWTrigContainer", "Name of the NSW trigger RDO container"};
49 
50  private:
51  ToolHandle <IPadEmulatorTool> m_pad_emulator{this, "PadEmulatorTool", "NSWL1::PadEmulatorTool", "Tool simulating the sTGC Pad Trigger"};
52  ToolHandle <IMMTriggerTool> m_mmtrigger{this, "MMTriggerTool", "NSWL1::MMTriggerTool", "Tool simulating the MM Trigger"};
53  ToolHandle <ITriggerProcessorTool> m_trigProcessor{this, "TriggerProcessorTool", "NSWL1::TriggerProcessorTool", "Tool simulating the TP"};
54 
55  Gaudi::Property<bool> m_doNtuple{this, "DoNtuple", false, "Create an ntuple for data analysis"};
56  Gaudi::Property<bool> m_doMM{this, "DoMM", false, "Run data analysis for MM"};
57  Gaudi::Property<bool> m_doMMDiamonds{this, "DoMMDiamonds", false, "Run data analysis for MM using Diamond Roads algorithm"};
58  Gaudi::Property<bool> m_dosTGC{this, "DosTGC", false, "Run data analysis for sTGCs"};
59  Gaudi::Property<bool> m_doStrip{this, "DoStrip", false, "Run data analysis for sTGC strip trigger"};
60  Gaudi::Property<bool> m_doPad{this, "DoPad", false, "Run data analysis for sTGC pad trigger"};
61 
62  // External services
64  mutable MuonVal::MuonTesterTree m_altree ATLAS_THREAD_SAFE {"SimulationTree", "/NSWL1Simulation"};
65  }; // end of NSWL1Simulation class
66 } // namespace NSWL1
67 #endif
NSWL1::NSWL1Simulation::m_trigProcessor
ToolHandle< ITriggerProcessorTool > m_trigProcessor
Definition: NSWL1Simulation.h:53
NSWL1::NSWL1Simulation::m_trigRdoContainer
SG::WriteHandleKey< Muon::NSW_TrigRawDataContainer > m_trigRdoContainer
Definition: NSWL1Simulation.h:48
ITriggerProcessorTool.h
NSWL1::NSWL1Simulation::m_mmtrigger
ToolHandle< IMMTriggerTool > m_mmtrigger
Definition: NSWL1Simulation.h:52
NSWL1::NSWL1Simulation::ATLAS_THREAD_SAFE
MuonVal::MuonTesterTree m_altree ATLAS_THREAD_SAFE
Definition: NSWL1Simulation.h:64
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:74
NSWL1::NSWL1Simulation::NSWL1Simulation
NSWL1Simulation(const std::string &name, ISvcLocator *pSvcLocator)
Definition: NSWL1Simulation.cxx:8
NSWL1::NSWL1Simulation::finalize
virtual StatusCode finalize() override
Definition: NSWL1Simulation.cxx:79
NSWL1::NSWL1Simulation::m_doNtuple
Gaudi::Property< bool > m_doNtuple
Definition: NSWL1Simulation.h:55
SG::WriteHandleKey< Muon::NSW_TrigRawDataContainer >
MuonVal::MuonTesterTree
Definition: MuonTesterTree.h:30
NSWL1::NSWL1Simulation::m_dosTGC
Gaudi::Property< bool > m_dosTGC
Definition: NSWL1Simulation.h:58
NSWL1::NSWL1Simulation::histSvc
const ServiceHandle< ITHistSvc > & histSvc() const
Definition: NSWL1Simulation.h:45
NSWL1::NSWL1Simulation::m_histSvc
ServiceHandle< ITHistSvc > m_histSvc
Definition: NSWL1Simulation.h:63
NSWL1::NSWL1Simulation::m_doStrip
Gaudi::Property< bool > m_doStrip
Definition: NSWL1Simulation.h:59
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
NSWL1::NSWL1Simulation::initialize
virtual StatusCode initialize() override
Definition: NSWL1Simulation.cxx:14
NSWL1::NSWL1Simulation::m_pad_emulator
ToolHandle< IPadEmulatorTool > m_pad_emulator
Definition: NSWL1Simulation.h:51
AthReentrantAlgorithm.h
NSWL1::NSWL1Simulation::m_doMMDiamonds
Gaudi::Property< bool > m_doMMDiamonds
Definition: NSWL1Simulation.h:57
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
NSWL1::NSWL1Simulation
NSW L1 simulation algorithm.
Definition: NSWL1Simulation.h:37
IMMTriggerTool.h
NSWL1::NSWL1Simulation::m_doPad
Gaudi::Property< bool > m_doPad
Definition: NSWL1Simulation.h:60
NSWL1::NSWL1Simulation::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition: NSWL1Simulation.cxx:47
IPadEmulatorTool.h
NSWL1
PadEmulatorCoincidences.
Definition: NSWL1Simulation.cxx:7
NSWL1::NSWL1Simulation::m_doMM
Gaudi::Property< bool > m_doMM
Definition: NSWL1Simulation.h:56
ServiceHandle< ITHistSvc >