ATLAS Offline Software
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 
10 #include "xAODMuon/MuonContainer.h"
11 
13 
14 
15 class 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 ),
39  TrigCompositeUtils::decisionIDs( previousDecision ).end() ),
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
TrigMuonEFTrackIsolationHypoTool::m_useVarIso
Gaudi::Property< bool > m_useVarIso
Definition: TrigMuonEFTrackIsolationHypoTool.h:73
TrigMuonEFTrackIsolationHypoTool::EFIsolationMuonInfo::muEFIso
const xAOD::Muon * muEFIso
Definition: TrigMuonEFTrackIsolationHypoTool.h:45
TrigMuonEFTrackIsolationHypoTool::MaxNumberTools
@ MaxNumberTools
Definition: TrigMuonEFTrackIsolationHypoTool.h:21
TrigMuonEFTrackIsolationHypoTool::decide
virtual StatusCode decide(std::vector< TrigMuonEFTrackIsolationHypoTool::EFIsolationMuonInfo > &toolInput) const
Definition: TrigMuonEFTrackIsolationHypoTool.cxx:153
TrigCompositeUtils.h
xAOD::Iso::cone30
@ cone30
Definition: IsolationConeSize.h:22
hist_file_dump.d
d
Definition: hist_file_dump.py:137
TrigMuonEFTrackIsolationHypoTool::m_ptcone02_cut
Gaudi::Property< float > m_ptcone02_cut
Definition: TrigMuonEFTrackIsolationHypoTool.h:67
TrigMuonEFTrackIsolationHypoTool::m_ptcone03_cut
Gaudi::Property< float > m_ptcone03_cut
Definition: TrigMuonEFTrackIsolationHypoTool.h:69
PlotCalibFromCool.begin
begin
Definition: PlotCalibFromCool.py:94
TrigMuonEFTrackIsolationHypoTool
Definition: TrigMuonEFTrackIsolationHypoTool.h:20
xAOD::Iso::cone20
@ cone20
Definition: IsolationConeSize.h:20
TrigMuonEFTrackIsolationHypoTool::m_acceptAll
Gaudi::Property< bool > m_acceptAll
Definition: TrigMuonEFTrackIsolationHypoTool.h:65
TrigMuonEFTrackIsolationHypoTool::TrigMuonEFTrackIsolationHypoTool
TrigMuonEFTrackIsolationHypoTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: TrigMuonEFTrackIsolationHypoTool.cxx:13
xAOD::Muon_v1
Class describing a Muon.
Definition: Muon_v1.h:38
TrigMuonEFTrackIsolationHypoTool::m_requireCombined
Gaudi::Property< bool > m_requireCombined
Definition: TrigMuonEFTrackIsolationHypoTool.h:75
mergePhysValFiles.end
end
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:93
TrigMuonEFTrackIsolationHypoTool::~TrigMuonEFTrackIsolationHypoTool
virtual ~TrigMuonEFTrackIsolationHypoTool()
Definition: TrigMuonEFTrackIsolationHypoTool.cxx:21
TrigMuonEFTrackIsolationHypoTool::EFIsolationMuonInfo::ptcone30
const double ptcone30
Definition: TrigMuonEFTrackIsolationHypoTool.h:48
TrigMuonEFTrackIsolationHypoTool::m_abscut
Gaudi::Property< bool > m_abscut
Definition: TrigMuonEFTrackIsolationHypoTool.h:71
GenericMonitoringTool.h
StoreGateSvc
The Athena Transient Store API.
Definition: StoreGateSvc.h:125
TrigMuonEFTrackIsolationHypoTool::decideOnSingleObject
bool decideOnSingleObject(TrigMuonEFTrackIsolationHypoTool::EFIsolationMuonInfo &input, size_t cutIndex) const
Definition: TrigMuonEFTrackIsolationHypoTool.cxx:68
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
PlotPulseshapeFromCool.input
input
Definition: PlotPulseshapeFromCool.py:106
test_pyathena.parent
parent
Definition: test_pyathena.py:15
TrigMuonEFTrackIsolationHypoTool::m_monTool
ToolHandle< GenericMonitoringTool > m_monTool
Definition: TrigMuonEFTrackIsolationHypoTool.h:77
hist_file_dump.f
f
Definition: hist_file_dump.py:135
TrigMuonEFTrackIsolationHypoTool::EFIsolationMuonInfo
Definition: TrigMuonEFTrackIsolationHypoTool.h:30
xAOD::TrigComposite_v1
Class used to describe composite objects in the HLT.
Definition: TrigComposite_v1.h:52
HLT::Identifier
Definition: TrigCompositeUtils/TrigCompositeUtils/HLTIdentifier.h:20
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
TrigMuonEFTrackIsolationHypoTool::initialize
virtual StatusCode initialize() override
Definition: TrigMuonEFTrackIsolationHypoTool.cxx:27
MuonContainer.h
TrigMuonEFTrackIsolationHypoTool::EFIsolationMuonInfo::previousDecisionIDs
const TrigCompositeUtils::DecisionIDContainer previousDecisionIDs
Definition: TrigMuonEFTrackIsolationHypoTool.h:46
TrigMuonEFTrackIsolationHypoTool::inclusiveSelection
StatusCode inclusiveSelection(std::vector< TrigMuonEFTrackIsolationHypoTool::EFIsolationMuonInfo > &toolInput) const
Definition: TrigMuonEFTrackIsolationHypoTool.cxx:172
TrigCompositeUtils::DecisionIDContainer
std::set< DecisionID > DecisionIDContainer
Definition: TrigComposite_v1.h:28
TrigMuonEFTrackIsolationHypoTool::m_decisionId
HLT::Identifier m_decisionId
Definition: TrigMuonEFTrackIsolationHypoTool.h:63
TrigMuonEFTrackIsolationHypoTool::EFIsolationMuonInfo::EFIsolationMuonInfo
EFIsolationMuonInfo(TrigCompositeUtils::Decision *d, const xAOD::Muon *f, const TrigCompositeUtils::Decision *previousDecision, const double cone20, const double cone30)
Definition: TrigMuonEFTrackIsolationHypoTool.h:31
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
HLTIdentifier.h
TrigCompositeUtils::decisionIDs
void decisionIDs(const Decision *d, DecisionIDContainer &destination)
Extracts DecisionIDs stored in the Decision object.
Definition: TrigCompositeUtilsRoot.cxx:67
TrigCompositeUtils
Definition: Event/xAOD/xAODTrigger/xAODTrigger/TrigComposite.h:19
TrigMuonEFTrackIsolationHypoTool::EFIsolationMuonInfo::ptcone20
const double ptcone20
Definition: TrigMuonEFTrackIsolationHypoTool.h:47
AthAlgTool
Definition: AthAlgTool.h:26
TrigMuonEFTrackIsolationHypoTool::EFIsolationMuonInfo::decision
TrigCompositeUtils::Decision * decision
Definition: TrigMuonEFTrackIsolationHypoTool.h:44