ATLAS Offline Software
Loading...
Searching...
No Matches
MuonSegmentSelectionTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef MUON_MUONSEGMENTSELECTIONTOOL_H
6#define MUON_MUONSEGMENTSELECTIONTOOL_H
7
9#include "GaudiKernel/ServiceHandle.h"
10#include "GaudiKernel/ToolHandle.h"
15
16namespace Muon {
17class MuonSegment;
18}
19
20namespace Muon {
21
22
34 public:
35 MuonSegmentSelectionTool(const std::string&, const std::string&, const IInterface*);
36
37 virtual ~MuonSegmentSelectionTool() = default;
38
39 StatusCode initialize();
40
42 bool select(const MuonSegment& seg, bool ignoreHoles = false, int qualityLevel = 0, bool useEta = true,
43 bool usePhi = true) const;
44
46 int quality(const MuonSegment& seg, bool ignoreHoles = false, bool useEta = true, bool usePhi = true) const;
47
48 private:
50 int mdtSegmentQuality(const MuonSegment& seg, bool ignoreHoles) const;
51
52
54 int cscSegmentQuality(const MuonSegment& seg, bool useEta, bool usePhi) const;
55
57 int nswSegmentQuality(const MuonSegment& seg, const Identifier& chid, bool ignoreHoles) const;
58
60 "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
62 this, "edmHelper", "Muon::MuonEDMHelperSvc/MuonEDMHelperSvc",
63 "Handle to the service providing the IMuonEDMHelperSvc interface"};
64
65 PublicToolHandle<MuonEDMPrinterTool> m_printer{
66 this,
67 "Printer",
68 "Muon::MuonEDMPrinterTool/MuonEDMPrinterTool",
69 };
70
71 PublicToolHandle<IMuonSegmentHitSummaryTool> m_hitSummaryTool{
72 this,
73 "MuonSegmentHitSummaryTool",
74 "Muon::MuonSegmentHitSummaryTool/MuonSegmentHitSummaryTool",
75 };
76
77 Gaudi::Property<double> m_cutSegmentQuality{this, "SegmentQualityCut", 10.};
78 Gaudi::Property<double> m_adcFractionCut{this, "GoodADCFractionCut",-1};
79 Gaudi::Property<int> m_minAdcPerSegmentCut{this,"MinADCPerSegmentCut",70 };
80};
81
82} // namespace Muon
83
84#endif
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
PublicToolHandle< IMuonSegmentHitSummaryTool > m_hitSummaryTool
hit summary tool
ServiceHandle< IMuonEDMHelperSvc > m_edmHelperSvc
EDM Helper tool.
PublicToolHandle< MuonEDMPrinterTool > m_printer
EDM printer tool.
Gaudi::Property< int > m_minAdcPerSegmentCut
minimum value for the MDT with the highest ADC value on the segment
Gaudi::Property< double > m_adcFractionCut
cut on fraction of MDT hits above ADC cut
virtual ~MuonSegmentSelectionTool()=default
int quality(const MuonSegment &seg, bool ignoreHoles=false, bool useEta=true, bool usePhi=true) const
segment quality
bool select(const MuonSegment &seg, bool ignoreHoles=false, int qualityLevel=0, bool useEta=true, bool usePhi=true) const
select segment
MuonSegmentSelectionTool(const std::string &, const std::string &, const IInterface *)
int nswSegmentQuality(const MuonSegment &seg, const Identifier &chid, bool ignoreHoles) const
calculate segment quality for NSW segments
int mdtSegmentQuality(const MuonSegment &seg, bool ignoreHoles) const
calculate segment quality for MDT segments
int cscSegmentQuality(const MuonSegment &seg, bool useEta, bool usePhi) const
calculate segment quality for CSC segments
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Gaudi::Property< double > m_cutSegmentQuality
cut on the segment quality
This is the common class for 3D segments used in the muon spectrometer.
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.