ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigHypothesis
TrigMuonHypo
src
TrigMuonEFIdtpHypoTool.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_TRIGMUONEFIDTPHYPOTOOL_H
6
#define TRIGMUONHYPO_TRIGMUONEFIDTPHYPOTOOL_H
7
8
#include "
TrigCompositeUtils/HLTIdentifier.h
"
9
#include "
TrigCompositeUtils/TrigCompositeUtils.h
"
10
#include "
AthenaMonitoringKernel/GenericMonitoringTool.h
"
11
#include "
xAODMuon/MuonContainer.h
"
12
#include "GaudiKernel/SystemOfUnits.h"
13
14
// include Muon SelectionTool for quality criteria
15
#include "
MuonAnalysisInterfaces/IMuonSelectionTool.h
"
16
17
class
StoreGateSvc
;
18
19
class
TrigMuonEFIdtpHypoTool
:
public
::AthAlgTool
{
20
enum
{
MaxNumberTools
= 20 };
21
22
public
:
23
24
TrigMuonEFIdtpHypoTool
(
const
std::string&
type
,
const
std::string & name,
const
IInterface* parent);
25
~TrigMuonEFIdtpHypoTool
() =
default
;
26
27
struct
MuonEFIdperfInfo
{
28
MuonEFIdperfInfo
(
TrigCompositeUtils::Decision
* d,
29
const
xAOD::Muon
* m,
30
const
xAOD::TrackParticle
* pt,
31
const
xAOD::TrackParticle
* ftf,
32
const
TrigCompositeUtils::Decision
* previousDecision )
33
:
decision
( d ),
34
muon
( m ),
35
ptTrack
( pt ),
36
ftfTrack
( ftf ),
37
previousDecisionIDs
(
TrigCompositeUtils
::
decisionIDs
( previousDecision ).begin(),
38
TrigCompositeUtils
::
decisionIDs
( previousDecision ).end() )
39
{}
40
41
TrigCompositeUtils::Decision
*
decision
;
42
const
xAOD::Muon
*
muon
;
43
const
xAOD::TrackParticle
*
ptTrack
;
44
const
xAOD::TrackParticle
*
ftfTrack
;
45
const
TrigCompositeUtils::DecisionIDContainer
previousDecisionIDs
;
46
};
47
48
virtual
StatusCode
initialize
()
override
;
49
StatusCode
decide
(std::vector<TrigMuonEFIdtpHypoTool::MuonEFIdperfInfo>& toolInput)
const
;
50
51
private
:
52
53
bool
passedQualityCuts
(
const
xAOD::Muon
* muon)
const
;
54
bool
decideOnSingleObject
(
TrigMuonEFIdtpHypoTool::MuonEFIdperfInfo
& input,
size_t
cutIndex)
const
;
55
StatusCode
inclusiveSelection
(std::vector<TrigMuonEFIdtpHypoTool::MuonEFIdperfInfo>& toolInput)
const
;
56
StatusCode
multiplicitySelection
(std::vector<TrigMuonEFIdtpHypoTool::MuonEFIdperfInfo>& toolInput)
const
;
57
58
HLT::Identifier
m_decisionId
;
59
// Properties:
60
Gaudi::Property< bool >
m_muonqualityCut
{
61
this
,
"MuonQualityCut"
,
false
,
"Ignore selection"
};
62
Gaudi::Property< std::vector<std::vector<double>> >
m_ptBins
{
63
this
,
"PtBins"
, { {0, 2.5} },
"Bins range of each pT threshold"
};
64
Gaudi::Property< std::vector<std::vector<double>> >
m_ptThresholds
{
65
this
,
"PtThresholds"
, { {5.49*Gaudi::Units::GeV} },
"Track pT requirement ( separate threshold for each muon )"
};
66
Gaudi::Property< bool >
m_acceptAll
{
67
this
,
"AcceptAll"
,
false
,
"Ignore selection"
};
68
69
// Other members:
70
std::vector<size_t>
m_bins
={0};
71
ToolHandle< GenericMonitoringTool >
m_monTool
{
this
,
"MonTool"
,
""
,
"Monitoring tool"
};
72
ToolHandle<CP::IMuonSelectionTool>
m_muonSelTool
{
this
,
"MuonSelectionTool"
,
"CP::MuonSelectionTool/MuonSelectionTool"
,
"Tool for muon quality selection"
};
73
};
74
75
#endif
MuonContainer.h
GenericMonitoringTool.h
IMuonSelectionTool.h
decisionIDs
void decisionIDs(const Decision *d, DecisionIDContainer &id)
Extracts DecisionIDs stored in the Decision object.
Definition
TrigCompositeUtilsRoot.cxx:65
HLTIdentifier.h
TrigCompositeUtils.h
AthAlgTool::AthAlgTool
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Definition
AthAlgTool.cxx:16
HLT::Identifier
Definition
TrigCompositeUtils/TrigCompositeUtils/HLTIdentifier.h:19
StoreGateSvc
The Athena Transient Store API.
Definition
StoreGateSvc.h:120
TrigMuonEFIdtpHypoTool::decide
StatusCode decide(std::vector< TrigMuonEFIdtpHypoTool::MuonEFIdperfInfo > &toolInput) const
Definition
TrigMuonEFIdtpHypoTool.cxx:150
TrigMuonEFIdtpHypoTool::MaxNumberTools
@ MaxNumberTools
Definition
TrigMuonEFIdtpHypoTool.h:20
TrigMuonEFIdtpHypoTool::m_decisionId
HLT::Identifier m_decisionId
Definition
TrigMuonEFIdtpHypoTool.h:58
TrigMuonEFIdtpHypoTool::m_ptBins
Gaudi::Property< std::vector< std::vector< double > > > m_ptBins
Definition
TrigMuonEFIdtpHypoTool.h:62
TrigMuonEFIdtpHypoTool::multiplicitySelection
StatusCode multiplicitySelection(std::vector< TrigMuonEFIdtpHypoTool::MuonEFIdperfInfo > &toolInput) const
Definition
TrigMuonEFIdtpHypoTool.cxx:186
TrigMuonEFIdtpHypoTool::m_monTool
ToolHandle< GenericMonitoringTool > m_monTool
Definition
TrigMuonEFIdtpHypoTool.h:71
TrigMuonEFIdtpHypoTool::m_muonqualityCut
Gaudi::Property< bool > m_muonqualityCut
Definition
TrigMuonEFIdtpHypoTool.h:60
TrigMuonEFIdtpHypoTool::passedQualityCuts
bool passedQualityCuts(const xAOD::Muon *muon) const
Definition
TrigMuonEFIdtpHypoTool.cxx:131
TrigMuonEFIdtpHypoTool::~TrigMuonEFIdtpHypoTool
~TrigMuonEFIdtpHypoTool()=default
TrigMuonEFIdtpHypoTool::decideOnSingleObject
bool decideOnSingleObject(TrigMuonEFIdtpHypoTool::MuonEFIdperfInfo &input, size_t cutIndex) const
Definition
TrigMuonEFIdtpHypoTool.cxx:66
TrigMuonEFIdtpHypoTool::inclusiveSelection
StatusCode inclusiveSelection(std::vector< TrigMuonEFIdtpHypoTool::MuonEFIdperfInfo > &toolInput) const
Definition
TrigMuonEFIdtpHypoTool.cxx:168
TrigMuonEFIdtpHypoTool::m_bins
std::vector< size_t > m_bins
Definition
TrigMuonEFIdtpHypoTool.h:70
TrigMuonEFIdtpHypoTool::TrigMuonEFIdtpHypoTool
TrigMuonEFIdtpHypoTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition
TrigMuonEFIdtpHypoTool.cxx:16
TrigMuonEFIdtpHypoTool::m_ptThresholds
Gaudi::Property< std::vector< std::vector< double > > > m_ptThresholds
Definition
TrigMuonEFIdtpHypoTool.h:64
TrigMuonEFIdtpHypoTool::m_muonSelTool
ToolHandle< CP::IMuonSelectionTool > m_muonSelTool
Definition
TrigMuonEFIdtpHypoTool.h:72
TrigMuonEFIdtpHypoTool::initialize
virtual StatusCode initialize() override
Definition
TrigMuonEFIdtpHypoTool.cxx:24
TrigMuonEFIdtpHypoTool::m_acceptAll
Gaudi::Property< bool > m_acceptAll
Definition
TrigMuonEFIdtpHypoTool.h:66
TrigCompositeUtils
Definition
TrigComposite.h:19
TrigCompositeUtils::Decision
xAOD::TrigComposite Decision
Definition
TrigComposite.h:20
TrigCompositeUtils::DecisionIDContainer
std::set< DecisionID > DecisionIDContainer
Definition
TrigComposite_v1.h:28
xAOD::TrackParticle
TrackParticle_v1 TrackParticle
Reference the current persistent version:
Definition
Event/xAOD/xAODTracking/xAODTracking/TrackParticle.h:13
xAOD::Muon
Muon_v1 Muon
Reference the current persistent version:
Definition
Event/xAOD/xAODMuon/xAODMuon/Muon.h:13
type
TrigMuonEFIdtpHypoTool::MuonEFIdperfInfo
Definition
TrigMuonEFIdtpHypoTool.h:27
TrigMuonEFIdtpHypoTool::MuonEFIdperfInfo::MuonEFIdperfInfo
MuonEFIdperfInfo(TrigCompositeUtils::Decision *d, const xAOD::Muon *m, const xAOD::TrackParticle *pt, const xAOD::TrackParticle *ftf, const TrigCompositeUtils::Decision *previousDecision)
Definition
TrigMuonEFIdtpHypoTool.h:28
TrigMuonEFIdtpHypoTool::MuonEFIdperfInfo::ftfTrack
const xAOD::TrackParticle * ftfTrack
Definition
TrigMuonEFIdtpHypoTool.h:44
TrigMuonEFIdtpHypoTool::MuonEFIdperfInfo::muon
const xAOD::Muon * muon
Definition
TrigMuonEFIdtpHypoTool.h:42
TrigMuonEFIdtpHypoTool::MuonEFIdperfInfo::decision
TrigCompositeUtils::Decision * decision
Definition
TrigMuonEFIdtpHypoTool.h:41
TrigMuonEFIdtpHypoTool::MuonEFIdperfInfo::ptTrack
const xAOD::TrackParticle * ptTrack
Definition
TrigMuonEFIdtpHypoTool.h:43
TrigMuonEFIdtpHypoTool::MuonEFIdperfInfo::previousDecisionIDs
const TrigCompositeUtils::DecisionIDContainer previousDecisionIDs
Definition
TrigMuonEFIdtpHypoTool.h:45
Generated on
for ATLAS Offline Software by
1.17.0