ATLAS Offline Software
NSWL1Simulation.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 TRIGT1NSW_NSWL1SIMULATION_H
6 #define TRIGT1NSW_NSWL1SIMULATION_H
7 
8 // Basic includes
10 #include "GaudiKernel/ITHistSvc.h"
11 #include "GaudiKernel/ToolHandle.h"
12 #include "Gaudi/Property.h"
13 
14 // NSWL1SimTools includes
22 
27 
28 #include "TTree.h"
29 
30 // Forward includes
31 class StoreGateSvc;
32 
33 
34 // namespace for the NSW LVL1 related classes
35 namespace NSWL1 {
36 
37 
55 
56  public:
57  NSWL1Simulation( const std::string& name, ISvcLocator* pSvcLocator );
58 
59  virtual StatusCode initialize() override;
60  virtual StatusCode execute(const EventContext& ctx) const override;
61 
62  protected:
63  SG::WriteHandleKey<Muon::NSW_TrigRawDataContainer> m_trigRdoContainer{this, "NSWTrigRDOContainerName", "L1_NSWTrigContainer", "Name of the NSW trigger RDO container"};
64 
65  private:
66  ToolHandle <IPadTdsTool> m_pad_tds{this, "PadTdsTool", "NSWL1::PadTdsOfflineTool", "Tool simulating the functionalities of the sTGC PAD TDS"};
67  ToolHandle <IPadTriggerLogicTool> m_pad_trigger{this, "PadTriggerTool", "NSWL1::PadTriggerLogicOfflineTool", "Tool simulating the sTGC pad trigger logic"};
68  ToolHandle <IPadTriggerLookupTool> m_pad_trigger_lookup{this, "PadTriggerLookupTool", "NSWL1::PadTriggerLookupTool", "Tool to lookup sTGC pad trigger patterns per execute against the same LUT as in trigger FPGA"};
69  ToolHandle <IStripTdsTool> m_strip_tds{this, "StripTdsTool", "NSWL1::StripTdsOfflineTool", "Tool simulating the functionalities of the sTGC Strip TDS"};
70  ToolHandle <IStripClusterTool> m_strip_cluster{this, "StripClusterTool", "NSWL1::StripClusterTool", "Tool simulating the sTGC Strip Clustering"};
71  ToolHandle <IStripSegmentTool> m_strip_segment{this, "StripSegmentTool", "NSWL1::StripSegmentTool", "Tool simulating the sTGC Segment finding"};
72  ToolHandle <IMMTriggerTool> m_mmtrigger{this, "MMTriggerTool", "NSWL1::MMTriggerTool", "Tool simulating the MM Trigger"};
73  ToolHandle <TriggerProcessorTool> m_trigProcessor{this, "MMTriggerProcessorTool", "NSWL1::TriggerProcessorTool", "Tool simulating the TP"};
74 
75  Gaudi::Property<bool> m_useLookup{this, "UseLookup", false, "Toggle Lookup mode on and off default is the otf(old) mode"};
76  Gaudi::Property<bool> m_doNtuple{this, "DoNtuple", false, "Create an ntuple for data analysis"};
77  Gaudi::Property<bool> m_doMM{this, "DoMM", false, "Run data analysis for MM"};
78  Gaudi::Property<bool> m_doMMDiamonds{this, "DoMMDiamonds", false, "Run data analysis for MM using Diamond Roads algorithm"};
79  Gaudi::Property<bool> m_dosTGC{this, "DosTGC", false, "Run data analysis for sTGCs"};
80  Gaudi::Property<bool> m_doStrip{this, "DoStrip", false, "Run data analysis for sTGC strip trigger"};
81  Gaudi::Property<bool> m_doPad{this, "DoPad", false, "Run data analysis for sTGC pad trigger"};
82 
83  // put analysis variables here
84  TTree* m_tree;
85  }; // end of NSWL1Simulation class
86 } // namespace NSWL1
87 #endif
IStripClusterTool.h
NSWL1::NSWL1Simulation::m_strip_cluster
ToolHandle< IStripClusterTool > m_strip_cluster
Definition: NSWL1Simulation.h:70
NSW_PadTriggerDataContainer.h
NSWL1::NSWL1Simulation::m_useLookup
Gaudi::Property< bool > m_useLookup
Definition: NSWL1Simulation.h:75
IStripSegmentTool.h
NSWL1::NSWL1Simulation::m_strip_tds
ToolHandle< IStripTdsTool > m_strip_tds
Definition: NSWL1Simulation.h:69
NSWL1::NSWL1Simulation::m_trigRdoContainer
SG::WriteHandleKey< Muon::NSW_TrigRawDataContainer > m_trigRdoContainer
Definition: NSWL1Simulation.h:63
NSWL1::NSWL1Simulation::m_pad_trigger
ToolHandle< IPadTriggerLogicTool > m_pad_trigger
Definition: NSWL1Simulation.h:67
PadTriggerAdapter.h
NSWL1::NSWL1Simulation::m_mmtrigger
ToolHandle< IMMTriggerTool > m_mmtrigger
Definition: NSWL1Simulation.h:72
NSWL1::NSWL1Simulation::m_pad_trigger_lookup
ToolHandle< IPadTriggerLookupTool > m_pad_trigger_lookup
Definition: NSWL1Simulation.h:68
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
NSWL1::NSWL1Simulation::NSWL1Simulation
NSWL1Simulation(const std::string &name, ISvcLocator *pSvcLocator)
Definition: NSWL1Simulation.cxx:10
NSWL1::NSWL1Simulation::m_pad_tds
ToolHandle< IPadTdsTool > m_pad_tds
Definition: NSWL1Simulation.h:66
IPadTriggerLogicTool.h
NSWL1::NSWL1Simulation::m_doNtuple
Gaudi::Property< bool > m_doNtuple
Definition: NSWL1Simulation.h:76
StoreGateSvc
The Athena Transient Store API.
Definition: StoreGateSvc.h:128
NSWL1::NSWL1Simulation::m_tree
TTree * m_tree
analysis ntuple
Definition: NSWL1Simulation.h:84
IPadTdsTool.h
SG::WriteHandleKey< Muon::NSW_TrigRawDataContainer >
NSWL1::NSWL1Simulation::m_strip_segment
ToolHandle< IStripSegmentTool > m_strip_segment
Definition: NSWL1Simulation.h:71
NSWL1::NSWL1Simulation::m_dosTGC
Gaudi::Property< bool > m_dosTGC
Definition: NSWL1Simulation.h:79
NSWL1::NSWL1Simulation::m_doStrip
Gaudi::Property< bool > m_doStrip
Definition: NSWL1Simulation.h:80
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:16
AthReentrantAlgorithm.h
NSWL1::NSWL1Simulation::m_doMMDiamonds
Gaudi::Property< bool > m_doMMDiamonds
Definition: NSWL1Simulation.h:78
IPadTriggerLookupTool.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
NSWL1::NSWL1Simulation
NSW L1 simulation algorithm.
Definition: NSWL1Simulation.h:54
IMMTriggerTool.h
NSW_TrigRawDataContainer.h
NSWL1::NSWL1Simulation::m_doPad
Gaudi::Property< bool > m_doPad
Definition: NSWL1Simulation.h:81
NSWL1::NSWL1Simulation::m_trigProcessor
ToolHandle< TriggerProcessorTool > m_trigProcessor
Definition: NSWL1Simulation.h:73
NSWL1::NSWL1Simulation::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition: NSWL1Simulation.cxx:57
TriggerProcessorTool.h
NSWL1
A trigger trigger candidate for a stgc sector.
Definition: NSWL1Simulation.cxx:9
NSWL1::NSWL1Simulation::m_doMM
Gaudi::Property< bool > m_doMM
Definition: NSWL1Simulation.h:77