ATLAS Offline Software
Loading...
Searching...
No Matches
TrigMuonEFTrackIsolationHypoTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TRIGMUONHYPO_TRIGMUONEFTRACKISOLATIONHYPOTOOL_H
6#define TRIGMUONHYPO_TRIGMUONEFTRACKISOLATIONHYPOTOOL_H 1
7
11
13
14
15class StoreGateSvc;
16
17// --------------------------------------------------------------------------------
18// --------------------------------------------------------------------------------
19
21 enum { MaxNumberTools = 20 };
22 public:
23
24 TrigMuonEFTrackIsolationHypoTool(const std::string& type,
25 const std::string & name,
26 const IInterface* parent );
27
29
32 const xAOD::Muon* f,
33 const TrigCompositeUtils::Decision* previousDecision,
34 const double cone20,
35 const double cone30 )
36 : decision( d ),
37 muEFIso( f ),
38 previousDecisionIDs( TrigCompositeUtils::decisionIDs( previousDecision ).begin(),
39 TrigCompositeUtils::decisionIDs( previousDecision ).end() ),
40 ptcone20(cone20),
41 ptcone30(cone30)
42 {}
43
47 const double ptcone20;
48 const double ptcone30;
49 };
50
51 virtual StatusCode initialize() override;
52
53 virtual StatusCode decide(std::vector<TrigMuonEFTrackIsolationHypoTool::EFIsolationMuonInfo>& toolInput) const;
54
55
56 private:
57
59
60 // for single muon event
61 StatusCode inclusiveSelection(std::vector<TrigMuonEFTrackIsolationHypoTool::EFIsolationMuonInfo>& toolInput) const;
62
64
65 Gaudi::Property<bool> m_acceptAll { this, "AcceptAll", true, "Ignore selection"};
66
67 Gaudi::Property<float> m_ptcone02_cut { this, "PtCone02Cut", -1.0, "cut on the pt cone 0.2 variable"};
68
69 Gaudi::Property<float> m_ptcone03_cut { this, "PtCone03Cut", -1.0, "cut on the pt cone 0.3 variable"};
70
71 Gaudi::Property<bool> m_abscut { this, "DoAbsCut", true, "cut on absolute or sumpt/pt?"};
72
73 Gaudi::Property<bool> m_useVarIso { this, "useVarIso", false, "use offline or online isolation variables?"};
74
75 Gaudi::Property<bool> m_requireCombined { this, "RequireCombinedMuon", true, "only consider combined muons for isolation?"};
76
77 ToolHandle< GenericMonitoringTool > m_monTool { this, "MonTool", "", "Monitoring tool" };
78
79};
80
81#endif
void decisionIDs(const Decision *d, DecisionIDContainer &id)
Extracts DecisionIDs stored in the Decision object.
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
The Athena Transient Store API.
ToolHandle< GenericMonitoringTool > m_monTool
virtual StatusCode decide(std::vector< TrigMuonEFTrackIsolationHypoTool::EFIsolationMuonInfo > &toolInput) const
StatusCode inclusiveSelection(std::vector< TrigMuonEFTrackIsolationHypoTool::EFIsolationMuonInfo > &toolInput) const
bool decideOnSingleObject(TrigMuonEFTrackIsolationHypoTool::EFIsolationMuonInfo &input, size_t cutIndex) const
TrigMuonEFTrackIsolationHypoTool(const std::string &type, const std::string &name, const IInterface *parent)
std::set< DecisionID > DecisionIDContainer
Muon_v1 Muon
Reference the current persistent version:
const TrigCompositeUtils::DecisionIDContainer previousDecisionIDs
EFIsolationMuonInfo(TrigCompositeUtils::Decision *d, const xAOD::Muon *f, const TrigCompositeUtils::Decision *previousDecision, const double cone20, const double cone30)