ATLAS Offline Software
MuonInputProvider.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 L1TopoSimulation_MuonInputProvider
6 #define L1TopoSimulation_MuonInputProvider
7 
11 #include "GaudiKernel/ToolHandle.h"
12 #include "GaudiKernel/LockedHandle.h"
18 
20 
21 #include <vector>
22 
23 namespace TrigConf
24 {
25  class L1Menu;
26 } // namespace TrigConf
27 
28 namespace TCS {
29  class MuonTOB;
30  class LateMuonTOB;
31 }
32 
33 namespace LVL1 {
34 
35  class MuCTPIL1TopoCandidate;
36 
37  class MuonInputProvider : public extends<AthAlgTool, IInputTOBConverter> {
38  public:
39  MuonInputProvider(const std::string& type, const std::string& name,
40  const IInterface* parent);
41 
42  virtual StatusCode initialize() override;
43 
44  virtual StatusCode fillTopoInputEvent(TCS::TopoInputEvent& ) const override;
45 
46  private:
47  TCS::MuonTOB createMuonTOB(const xAOD::MuonRoI & muonRoI, const std::vector<unsigned int> & rpcPtValues, const std::vector<unsigned int> & tgcPtValues) const;
49  TCS::LateMuonTOB createLateMuonTOB(const xAOD::MuonRoI & muonRoI, const std::vector<unsigned int> & rpcPtValues, const std::vector<unsigned int> & tgcPtValues) const;
51 
52  /*
53  @brief use L1Topo convention for muon flags (1 = true/positive, -1 = false/negative, 0 = undefined)
54  */
55  int topoFlag(bool flag) const;
56 
57  ToolHandle<LVL1::ITrigT1MuonRecRoiTool> m_recRPCRoiTool{this, "RecRpcRoiTool", "LVL1::TrigT1RPCRecRoiTool/TrigT1RPCRecRoiTool", "RPC RoI reconstruction tool"};
58  ToolHandle<LVL1::ITrigT1MuonRecRoiTool> m_recTGCRoiTool{this, "RecTgcRoiTool", "LVL1::TrigT1TGCRecRoiTool/TrigT1TGCRecRoiTool", "TGC RoI reconstruction tool"};
59  ToolHandle<GenericMonitoringTool> m_monTool {this, "MonTool", "", "Monitoring tool to create online histograms"};
60 
61  SG::ReadHandleKey<LVL1::MuCTPIL1Topo> m_MuCTPItoL1TopoLocation { this, "locationMuCTPItoL1Topo", LVL1MUCTPI::DEFAULT_MuonL1TopoLocation, "Storegate key for MuCTPItoL1Topo "};
62  SG::ReadHandleKey<LVL1::MuCTPIL1Topo> m_MuCTPItoL1TopoLocationPlusOne { this, "locationMuCTPItoL1Topo1", LVL1MUCTPI::DEFAULT_MuonL1TopoLocation, "Storegate key for MuCTPItoL1TopoPlusOne"};
63  SG::ReadHandleKey<xAOD::MuonRoIContainer> m_MuonL1RoILocation {this, "locationMuonRoI", LVL1MUCTPI::DEFAULT_MuonL1TopoLocation, "Empty=Use Muctpi, LVL1MuonRoIs=Use reading from xAOD L1 RoI"};
64  SG::ReadHandleKey<xAOD::MuonRoIContainer> m_MuonL1RoILocationPlusOne {this, "locationMuonRoI1", LVL1MUCTPI::DEFAULT_MuonL1TopoLocation, "Empty=Use Muctpi, LVL1MuonRoIs=Use reading from xAOD L1 RoI"};
65 
66  };
67 }
68 
69 #endif
TCS::LateMuonTOB
Definition: LateMuonTOB.h:13
LVL1::MuonInputProvider::fillTopoInputEvent
virtual StatusCode fillTopoInputEvent(TCS::TopoInputEvent &) const override
Definition: MuonInputProvider.cxx:335
TCS::MuonTOB
Definition: MuonTOB.h:14
LVL1::MuonInputProvider::m_recTGCRoiTool
ToolHandle< LVL1::ITrigT1MuonRecRoiTool > m_recTGCRoiTool
Definition: MuonInputProvider.h:58
RoIBResult.h
MuonRoIContainer.h
LVL1::MuonInputProvider::m_MuCTPItoL1TopoLocation
SG::ReadHandleKey< LVL1::MuCTPIL1Topo > m_MuCTPItoL1TopoLocation
Definition: MuonInputProvider.h:61
LVL1::MuonInputProvider::initialize
virtual StatusCode initialize() override
Definition: MuonInputProvider.cxx:36
SG::ReadHandleKey< LVL1::MuCTPIL1Topo >
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
TrigT1StoreGateKeys.h
TrigConf
Forward iterator to traverse the main components of the trigger configuration.
Definition: Config.h:22
LVL1::MuonInputProvider::MuonInputProvider
MuonInputProvider(const std::string &type, const std::string &name, const IInterface *parent)
Definition: MuonInputProvider.cxx:28
LVL1::MuonInputProvider::createLateMuonTOB
TCS::LateMuonTOB createLateMuonTOB(const xAOD::MuonRoI &muonRoI, const std::vector< unsigned int > &rpcPtValues, const std::vector< unsigned int > &tgcPtValues) const
Definition: MuonInputProvider.cxx:202
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TCS::TopoInputEvent
Definition: TopoInputEvent.h:42
master.flag
bool flag
Definition: master.py:29
AthAlgTool.h
xAOD::MuonRoI_v1
Class describing a LVL1 muon region of interest.
Definition: MuonRoI_v1.h:33
test_pyathena.parent
parent
Definition: test_pyathena.py:15
ITrigT1MuonRecRoiTool.h
LVL1::MuonInputProvider::m_monTool
ToolHandle< GenericMonitoringTool > m_monTool
Definition: MuonInputProvider.h:59
Monitored.h
Header file to be included by clients of the Monitored infrastructure.
LVL1::MuonInputProvider::m_MuCTPItoL1TopoLocationPlusOne
SG::ReadHandleKey< LVL1::MuCTPIL1Topo > m_MuCTPItoL1TopoLocationPlusOne
Definition: MuonInputProvider.h:62
TrigConf::name
Definition: HLTChainList.h:35
LVL1::MuonInputProvider
Definition: MuonInputProvider.h:37
LVL1::MuCTPIL1TopoCandidate
MuCTPI input class to the L1Topo simulation.
Definition: MuCTPIL1TopoCandidate.h:23
LVL1::MuonInputProvider::createMuonTOB
TCS::MuonTOB createMuonTOB(const xAOD::MuonRoI &muonRoI, const std::vector< unsigned int > &rpcPtValues, const std::vector< unsigned int > &tgcPtValues) const
Definition: MuonInputProvider.cxx:69
LVL1::MuonInputProvider::topoFlag
int topoFlag(bool flag) const
Definition: MuonInputProvider.cxx:329
LVL1::MuonInputProvider::m_recRPCRoiTool
ToolHandle< LVL1::ITrigT1MuonRecRoiTool > m_recRPCRoiTool
Definition: MuonInputProvider.h:57
MuCTPIL1Topo.h
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
TCS
Definition: Global/GlobalSimulation/src/IO/Decision.h:18
LVL1::MuonInputProvider::m_MuonL1RoILocationPlusOne
SG::ReadHandleKey< xAOD::MuonRoIContainer > m_MuonL1RoILocationPlusOne
Definition: MuonInputProvider.h:64
IInputTOBConverter.h
LVL1::MuonInputProvider::m_MuonL1RoILocation
SG::ReadHandleKey< xAOD::MuonRoIContainer > m_MuonL1RoILocation
Definition: MuonInputProvider.h:63