ATLAS Offline Software
MuonIdCutTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TESTTOOL_H
6 #define TESTTOOL_H
7 
10 #include "GaudiKernel/ServiceHandle.h"
11 #include "GaudiKernel/ToolHandle.h"
12 
16 
17 #include <string>
18 #include <vector>
19 #include <set>
20 
21 class MuonStationIntersectSvc;
22 
28 class MuonIdCutTool : virtual public IMuonIdCutTool, public AthAlgTool {
29 
30 
31  public:
33  MuonIdCutTool(const std::string&, const std::string&, const IInterface*);
34 
36  virtual ~MuonIdCutTool()=default;
37 
40 
41  virtual bool isCut(Identifier ID) const;
42  virtual bool isCut(MuonCalib::MuonFixedId id) const;
43 
47  bool m_cutEE;
48  bool m_cutEta;
49  bool m_cutPhi;
50 
51  std::vector<std::string> m_EELList; //list of EEL chambers to keep
52  std::vector<int> m_mdtRegionList;
53  std::vector<int> m_cscRegionList;
54  std::vector<int> m_rpcRegionList;
55  std::vector<int> m_tgcRegionList;
56 
57  std::vector<int> m_mdtStationNameList;
58  std::vector<int> m_cscStationNameList;
59  std::vector<int> m_rpcStationNameList;
60  std::vector<int> m_tgcStationNameList;
61 
62  std::vector<int> m_mdtMultilayerList;
63  std::vector<int> m_rpcDoubletRList;
64  std::vector<int> m_rpcGasGapList;
65  std::vector<int> m_tgcGasGapList;
66 
67  std::vector<int> m_mdtBarEtaList;
68  std::vector<int> m_mdtEndEtaList;
69  std::vector<int> m_mdtSectorList;
70  std::vector<int> m_rpcEtaList;
71  std::vector<int> m_rpcSectorList;
72  std::vector<int> m_cscEtaList;
73  std::vector<int> m_cscSectorList;
74 
75  std::vector<int> m_tgcEtaList;
76  std::vector<int> m_tgcEndPhiList;
77  std::vector<int> m_tgcForPhiList;
78 
79  private:
80 
81  static int FindSector(unsigned int staName, unsigned int staPhi) ;
82 
83  ToolHandle<MuonCalib::IIdToFixedIdTool> m_idToFixedIdTool{this,"IdToFixedIdTool","MuonCalib::IdToFixedIdTool","tool to assist with Identifiers"};
84 
85  ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
86 
87  std::vector<int> m_EELeta;
88  std::vector<int> m_EELsector;
89 
90 
91  };
92 
93 
94 
95 
96 
97 #endif
MuonIdCutTool::m_cutSubstation
bool m_cutSubstation
Definition: MuonIdCutTool.h:46
MuonIdCutTool::m_cscRegionList
std::vector< int > m_cscRegionList
Definition: MuonIdCutTool.h:53
MuonIdCutTool::m_mdtBarEtaList
std::vector< int > m_mdtBarEtaList
Definition: MuonIdCutTool.h:67
MuonIdCutTool::m_tgcForPhiList
std::vector< int > m_tgcForPhiList
Definition: MuonIdCutTool.h:77
MuonIdCutTool::m_rpcEtaList
std::vector< int > m_rpcEtaList
Definition: MuonIdCutTool.h:70
MuonIdCutTool::m_rpcStationNameList
std::vector< int > m_rpcStationNameList
Definition: MuonIdCutTool.h:59
ID
std::vector< Identifier > ID
Definition: CalibHitIDCheck.h:24
MuonIdCutTool::m_cutEta
bool m_cutEta
Definition: MuonIdCutTool.h:48
MuonIdCutTool::m_cutEE
bool m_cutEE
Definition: MuonIdCutTool.h:47
MuonIdCutTool::m_rpcDoubletRList
std::vector< int > m_rpcDoubletRList
Definition: MuonIdCutTool.h:63
MuonIdCutTool
Implementation of an IMuonIdCutTool.
Definition: MuonIdCutTool.h:28
MuonIdCutTool::initialize
StatusCode initialize()
initialize method, method taken from bass-class AlgTool
Definition: MuonIdCutTool.cxx:63
MuonIdCutTool::isCut
virtual bool isCut(Identifier ID) const
Definition: MuonIdCutTool.cxx:109
MuonIdCutTool::m_EELsector
std::vector< int > m_EELsector
Definition: MuonIdCutTool.h:88
MuonIdCutTool::m_cscStationNameList
std::vector< int > m_cscStationNameList
Definition: MuonIdCutTool.h:58
IdToFixedIdTool.h
MuonIdCutTool::m_rpcSectorList
std::vector< int > m_rpcSectorList
Definition: MuonIdCutTool.h:71
MuonIdCutTool::m_idToFixedIdTool
ToolHandle< MuonCalib::IIdToFixedIdTool > m_idToFixedIdTool
Definition: MuonIdCutTool.h:83
MuonIdCutTool::m_cutStationName
bool m_cutStationName
Definition: MuonIdCutTool.h:45
MuonIdCutTool::m_tgcRegionList
std::vector< int > m_tgcRegionList
Definition: MuonIdCutTool.h:55
MuonIdCutTool::m_rpcGasGapList
std::vector< int > m_rpcGasGapList
Definition: MuonIdCutTool.h:64
MuonIdCutTool::m_mdtStationNameList
std::vector< int > m_mdtStationNameList
Definition: MuonIdCutTool.h:57
MuonIdCutTool::FindSector
static int FindSector(unsigned int staName, unsigned int staPhi)
Definition: MuonIdCutTool.cxx:365
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
MuonIdCutTool::m_mdtEndEtaList
std::vector< int > m_mdtEndEtaList
Definition: MuonIdCutTool.h:68
MuonIdCutTool::m_EELList
std::vector< std::string > m_EELList
Definition: MuonIdCutTool.h:51
MuonIdCutTool::m_tgcStationNameList
std::vector< int > m_tgcStationNameList
Definition: MuonIdCutTool.h:60
MuonIdCutTool::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: MuonIdCutTool.h:85
MuonIdCutTool::m_mdtSectorList
std::vector< int > m_mdtSectorList
Definition: MuonIdCutTool.h:69
MuonIdCutTool::~MuonIdCutTool
virtual ~MuonIdCutTool()=default
destructor
MuonIdCutTool::m_tgcGasGapList
std::vector< int > m_tgcGasGapList
Definition: MuonIdCutTool.h:65
MuonIdCutTool::m_rpcRegionList
std::vector< int > m_rpcRegionList
Definition: MuonIdCutTool.h:54
MuonCalib::MuonFixedId
Definition: MuonFixedId.h:50
MuonIdCutTool::MuonIdCutTool
MuonIdCutTool(const std::string &, const std::string &, const IInterface *)
default AlgTool constructor
Definition: MuonIdCutTool.cxx:13
MuonIdCutTool::m_mdtRegionList
std::vector< int > m_mdtRegionList
Definition: MuonIdCutTool.h:52
MuonIdCutTool::m_cscSectorList
std::vector< int > m_cscSectorList
Definition: MuonIdCutTool.h:73
IMuonIdCutTool
The IMuonIdCutTool is a virtual interface for a practice tool which will cut on an muon ID
Definition: IMuonIdCutTool.h:23
IMuonIdCutTool.h
MuonIdCutTool::m_cscEtaList
std::vector< int > m_cscEtaList
Definition: MuonIdCutTool.h:72
MuonIdCutTool::m_tgcEtaList
std::vector< int > m_tgcEtaList
Definition: MuonIdCutTool.h:75
MuonIdCutTool::m_mdtMultilayerList
std::vector< int > m_mdtMultilayerList
Definition: MuonIdCutTool.h:62
MuonIdCutTool::m_cutStationRegion
bool m_cutStationRegion
Definition: MuonIdCutTool.h:44
AthAlgTool
Definition: AthAlgTool.h:26
MuonIdCutTool::m_tgcEndPhiList
std::vector< int > m_tgcEndPhiList
Definition: MuonIdCutTool.h:76
MuonFixedId.h
IMuonIdHelperSvc.h
MuonIdCutTool::m_cutPhi
bool m_cutPhi
Definition: MuonIdCutTool.h:49
ServiceHandle< Muon::IMuonIdHelperSvc >
MuonIdCutTool::m_EELeta
std::vector< int > m_EELeta
Definition: MuonIdCutTool.h:87