Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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
21 
22 // Forward includes
23 class StoreGateSvc;
24 
25 
26 // namespace for the NSW LVL1 related classes
27 namespace NSWL1 {
28 
29 
47 
48  public:
49  NSWL1Simulation( const std::string& name, ISvcLocator* pSvcLocator );
50 
51  virtual StatusCode initialize() override;
52  virtual StatusCode execute(const EventContext& ctx) const override;
53  virtual StatusCode finalize() override;
54  const ServiceHandle<ITHistSvc>& histSvc() const { return m_histSvc; }
55 
56  protected:
57  SG::WriteHandleKey<Muon::NSW_TrigRawDataContainer> m_trigRdoContainer{this, "NSWTrigRDOContainerName", "L1_NSWTrigContainer", "Name of the NSW trigger RDO container"};
58 
59  private:
60  ToolHandle <IPadTdsTool> m_pad_tds{this, "PadTdsTool", "NSWL1::PadTdsOfflineTool", "Tool simulating the functionalities of the sTGC PAD TDS"};
61  ToolHandle <IPadTriggerLogicTool> m_pad_trigger{this, "PadTriggerTool", "NSWL1::PadTriggerLogicOfflineTool", "Tool simulating the sTGC pad trigger logic"};
62  ToolHandle <IStripTdsTool> m_strip_tds{this, "StripTdsTool", "NSWL1::StripTdsOfflineTool", "Tool simulating the functionalities of the sTGC Strip TDS"};
63  ToolHandle <IStripClusterTool> m_strip_cluster{this, "StripClusterTool", "NSWL1::StripClusterTool", "Tool simulating the sTGC Strip Clustering"};
64  ToolHandle <IStripSegmentTool> m_strip_segment{this, "StripSegmentTool", "NSWL1::StripSegmentTool", "Tool simulating the sTGC Segment finding"};
65  ToolHandle <IMMTriggerTool> m_mmtrigger{this, "MMTriggerTool", "NSWL1::MMTriggerTool", "Tool simulating the MM Trigger"};
66  ToolHandle <ITriggerProcessorTool> m_trigProcessor{this, "TriggerProcessorTool", "NSWL1::TriggerProcessorTool", "Tool simulating the TP"};
67 
68  Gaudi::Property<bool> m_doNtuple{this, "DoNtuple", false, "Create an ntuple for data analysis"};
69  Gaudi::Property<bool> m_doMM{this, "DoMM", false, "Run data analysis for MM"};
70  Gaudi::Property<bool> m_doMMDiamonds{this, "DoMMDiamonds", false, "Run data analysis for MM using Diamond Roads algorithm"};
71  Gaudi::Property<bool> m_dosTGC{this, "DosTGC", false, "Run data analysis for sTGCs"};
72  Gaudi::Property<bool> m_doStrip{this, "DoStrip", false, "Run data analysis for sTGC strip trigger"};
73  Gaudi::Property<bool> m_doPad{this, "DoPad", false, "Run data analysis for sTGC pad trigger"};
74 
75  // External services
77  mutable MuonVal::MuonTesterTree m_altree ATLAS_THREAD_SAFE {"SimulationTree", "/NSWL1Simulation"};
78  }; // end of NSWL1Simulation class
79 } // namespace NSWL1
80 #endif
NSWL1::NSWL1Simulation::m_trigProcessor
ToolHandle< ITriggerProcessorTool > m_trigProcessor
Definition: NSWL1Simulation.h:66
IStripClusterTool.h
NSWL1::NSWL1Simulation::m_strip_cluster
ToolHandle< IStripClusterTool > m_strip_cluster
Definition: NSWL1Simulation.h:63
IStripSegmentTool.h
NSWL1::NSWL1Simulation::m_strip_tds
ToolHandle< IStripTdsTool > m_strip_tds
Definition: NSWL1Simulation.h:62
NSWL1::NSWL1Simulation::m_trigRdoContainer
SG::WriteHandleKey< Muon::NSW_TrigRawDataContainer > m_trigRdoContainer
Definition: NSWL1Simulation.h:57
NSWL1::NSWL1Simulation::m_pad_trigger
ToolHandle< IPadTriggerLogicTool > m_pad_trigger
Definition: NSWL1Simulation.h:61
ITriggerProcessorTool.h
PadTriggerAdapter.h
NSWL1::NSWL1Simulation::m_mmtrigger
ToolHandle< IMMTriggerTool > m_mmtrigger
Definition: NSWL1Simulation.h:65
NSWL1::NSWL1Simulation::ATLAS_THREAD_SAFE
MuonVal::MuonTesterTree m_altree ATLAS_THREAD_SAFE
Definition: NSWL1Simulation.h:77
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:85
NSWL1::NSWL1Simulation::m_pad_tds
ToolHandle< IPadTdsTool > m_pad_tds
Definition: NSWL1Simulation.h:60
IPadTriggerLogicTool.h
NSWL1::NSWL1Simulation::m_doNtuple
Gaudi::Property< bool > m_doNtuple
Definition: NSWL1Simulation.h:68
StoreGateSvc
The Athena Transient Store API.
Definition: StoreGateSvc.h:124
IPadTdsTool.h
SG::WriteHandleKey< Muon::NSW_TrigRawDataContainer >
MuonVal::MuonTesterTree
Definition: MuonTesterTree.h:30
NSWL1::NSWL1Simulation::m_strip_segment
ToolHandle< IStripSegmentTool > m_strip_segment
Definition: NSWL1Simulation.h:64
NSWL1::NSWL1Simulation::m_dosTGC
Gaudi::Property< bool > m_dosTGC
Definition: NSWL1Simulation.h:71
NSWL1::NSWL1Simulation::histSvc
const ServiceHandle< ITHistSvc > & histSvc() const
Definition: NSWL1Simulation.h:54
NSWL1::NSWL1Simulation::m_histSvc
ServiceHandle< ITHistSvc > m_histSvc
Definition: NSWL1Simulation.h:76
NSWL1::NSWL1Simulation::m_doStrip
Gaudi::Property< bool > m_doStrip
Definition: NSWL1Simulation.h:72
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
IStripTdsTool.h
NSWL1::NSWL1Simulation::initialize
virtual StatusCode initialize() override
Definition: NSWL1Simulation.cxx:14
AthReentrantAlgorithm.h
NSWL1::NSWL1Simulation::m_doMMDiamonds
Gaudi::Property< bool > m_doMMDiamonds
Definition: NSWL1Simulation.h:70
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
NSWL1::NSWL1Simulation
NSW L1 simulation algorithm.
Definition: NSWL1Simulation.h:46
IMMTriggerTool.h
NSWL1::NSWL1Simulation::m_doPad
Gaudi::Property< bool > m_doPad
Definition: NSWL1Simulation.h:73
NSWL1::NSWL1Simulation::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition: NSWL1Simulation.cxx:46
NSWL1
A trigger trigger candidate for a stgc sector.
Definition: NSWL1Simulation.cxx:7
NSWL1::NSWL1Simulation::m_doMM
Gaudi::Property< bool > m_doMM
Definition: NSWL1Simulation.h:69
ServiceHandle< ITHistSvc >