ATLAS Offline Software
TrigMuonEFIdtpInvMassHypoTool.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 TRIGMUONHYPO_TRIGMUONEFIDTPINVMASSHYPOTOOL_H
6 #define TRIGMUONHYPO_TRIGMUONEFIDTPINVMASSHYPOTOOL_H
7 
8 #include <string>
14 
16 
17 class StoreGateSvc;
18 
20 {
21 public:
22  TrigMuonEFIdtpInvMassHypoTool(const std::string& type, const std::string & name, const IInterface* parent);
24 
25  virtual StatusCode initialize() override;
26 
27 private:
28 
29  bool executeAlg(const std::vector<Combo::LegDecision>& combinaiton) const override;
30 
31  StatusCode doTPIdperf(const xAOD::TrackParticle* metrack, const std::vector<const xAOD::TrackParticle*>& tracks_pt, const std::vector<const xAOD::TrackParticle*>& tracks_ftf) const;
32 
33  float qOverPMatching(const xAOD::TrackParticle* metrack, const xAOD::TrackParticle* idtrack) const;
34  bool passedCBQualityCuts(const xAOD::Muon* muon) const;
35  bool passedSAQualityCuts(const xAOD::Muon* muon) const;
36 
37  // Properties:
38  Gaudi::Property< double> m_invMassLow {
39  this, "InvMassLow", -1.0, "Low threshold for invariant mass cut" };
40  Gaudi::Property< double> m_invMassHigh {
41  this, "InvMassHigh", -1.0, "High threshold for invariant mass cut" };
42  Gaudi::Property< bool > m_acceptAll {
43  this, "AcceptAll", false, "Ignore selection" };
44  Gaudi::Property< bool > m_selOS {
45  this, "SelectOppositeSign", false, "Select only oppositly charged pairs" };
46  Gaudi::Property< bool > m_muonqualityCut {
47  this, "MuonQualityCut", false, "Ignore selection" };
48 
49  // Other members:
50  ToolHandle< GenericMonitoringTool > m_monTool {this, "MonTool", "", "Monitoring tool" };
51  ToolHandle<CP::IMuonSelectionTool> m_muonSelTool{this, "MuonSelectionTool", "CP::MuonSelectionTool/MuonSelectionTool", "Tool for muon quality selection"};
52 };
53 
54 #endif
xAOD::muon
@ muon
Definition: TrackingPrimitives.h:195
ComboHypoToolBase
Base class for tools which cut on properties of multi-object or multi-leg chains. User should derive ...
Definition: ComboHypoToolBase.h:26
TrigMuonEFIdtpInvMassHypoTool::m_muonqualityCut
Gaudi::Property< bool > m_muonqualityCut
Definition: TrigMuonEFIdtpInvMassHypoTool.h:46
TrigMuonEFIdtpInvMassHypoTool::m_monTool
ToolHandle< GenericMonitoringTool > m_monTool
Definition: TrigMuonEFIdtpInvMassHypoTool.h:50
TrigMuonEFIdtpInvMassHypoTool::passedSAQualityCuts
bool passedSAQualityCuts(const xAOD::Muon *muon) const
Definition: TrigMuonEFIdtpInvMassHypoTool.cxx:310
xAOD::Muon_v1
Class describing a Muon.
Definition: Muon_v1.h:38
TrigMuonEFIdtpInvMassHypoTool
Definition: TrigMuonEFIdtpInvMassHypoTool.h:20
IMuonSelectionTool.h
TrigCompositeUtils.h
GenericMonitoringTool.h
StoreGateSvc
The Athena Transient Store API.
Definition: StoreGateSvc.h:125
TrigMuonEFIdtpInvMassHypoTool::m_muonSelTool
ToolHandle< CP::IMuonSelectionTool > m_muonSelTool
Definition: TrigMuonEFIdtpInvMassHypoTool.h:51
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
TrigMuonEFIdtpInvMassHypoTool::m_selOS
Gaudi::Property< bool > m_selOS
Definition: TrigMuonEFIdtpInvMassHypoTool.h:44
test_pyathena.parent
parent
Definition: test_pyathena.py:15
TrigMuonEFIdtpInvMassHypoTool::m_acceptAll
Gaudi::Property< bool > m_acceptAll
Definition: TrigMuonEFIdtpInvMassHypoTool.h:42
TrigMuonEFIdtpInvMassHypoTool::m_invMassLow
Gaudi::Property< double > m_invMassLow
Definition: TrigMuonEFIdtpInvMassHypoTool.h:38
ComboHypoToolBase.h
TrigMuonEFIdtpInvMassHypoTool::executeAlg
bool executeAlg(const std::vector< Combo::LegDecision > &combinaiton) const override
Only a dummy implementation exists in ComboHypoToolBase.
Definition: TrigMuonEFIdtpInvMassHypoTool.cxx:53
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
TrigMuonEFIdtpInvMassHypoTool::TrigMuonEFIdtpInvMassHypoTool
TrigMuonEFIdtpInvMassHypoTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: TrigMuonEFIdtpInvMassHypoTool.cxx:16
TrigMuonEFIdtpInvMassHypoTool::m_invMassHigh
Gaudi::Property< double > m_invMassHigh
Definition: TrigMuonEFIdtpInvMassHypoTool.h:40
TrigMuonEFIdtpInvMassHypoTool::qOverPMatching
float qOverPMatching(const xAOD::TrackParticle *metrack, const xAOD::TrackParticle *idtrack) const
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
HLTIdentifier.h
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
TrigMuonEFIdtpInvMassHypoTool::initialize
virtual StatusCode initialize() override
Definition: TrigMuonEFIdtpInvMassHypoTool.cxx:23
TrigMuonEFIdtpInvMassHypoTool::passedCBQualityCuts
bool passedCBQualityCuts(const xAOD::Muon *muon) const
Definition: TrigMuonEFIdtpInvMassHypoTool.cxx:289
TrigMuonEFIdtpInvMassHypoTool::~TrigMuonEFIdtpInvMassHypoTool
~TrigMuonEFIdtpInvMassHypoTool()=default
TrigMuonEFIdtpInvMassHypoTool::doTPIdperf
StatusCode doTPIdperf(const xAOD::TrackParticle *metrack, const std::vector< const xAOD::TrackParticle * > &tracks_pt, const std::vector< const xAOD::TrackParticle * > &tracks_ftf) const
Definition: TrigMuonEFIdtpInvMassHypoTool.cxx:163