ATLAS Offline Software
Loading...
Searching...
No Matches
TrigMuonEFIdtpHypoTool Class Reference

#include <TrigMuonEFIdtpHypoTool.h>

Inheritance diagram for TrigMuonEFIdtpHypoTool:
Collaboration diagram for TrigMuonEFIdtpHypoTool:

Classes

struct  MuonEFIdperfInfo

Public Member Functions

 TrigMuonEFIdtpHypoTool (const std::string &type, const std::string &name, const IInterface *parent)
 ~TrigMuonEFIdtpHypoTool ()=default
virtual StatusCode initialize () override
StatusCode decide (std::vector< TrigMuonEFIdtpHypoTool::MuonEFIdperfInfo > &toolInput) const
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual StatusCode sysInitialize () override
 Perform system initialization for an algorithm.
virtual StatusCode sysStart () override
 Handle START transition.
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles.
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles.
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T, V, H > &t)
void updateVHKA (Gaudi::Details::PropertyBase &)
MsgStream & msg () const
bool msgLvl (const MSG::Level lvl) const

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed.

Private Types

enum  { MaxNumberTools = 20 }
typedef ServiceHandle< StoreGateSvcStoreGateSvc_t

Private Member Functions

bool passedQualityCuts (const xAOD::Muon *muon) const
bool decideOnSingleObject (TrigMuonEFIdtpHypoTool::MuonEFIdperfInfo &input, size_t cutIndex) const
StatusCode inclusiveSelection (std::vector< TrigMuonEFIdtpHypoTool::MuonEFIdperfInfo > &toolInput) const
StatusCode multiplicitySelection (std::vector< TrigMuonEFIdtpHypoTool::MuonEFIdperfInfo > &toolInput) const
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey>

Private Attributes

HLT::Identifier m_decisionId
Gaudi::Property< bool > m_muonqualityCut
Gaudi::Property< std::vector< std::vector< double > > > m_ptBins
Gaudi::Property< std::vector< std::vector< double > > > m_ptThresholds
Gaudi::Property< bool > m_acceptAll
std::vector< size_t > m_bins ={0}
ToolHandle< GenericMonitoringToolm_monTool { this, "MonTool", "", "Monitoring tool" }
ToolHandle< CP::IMuonSelectionToolm_muonSelTool {this, "MuonSelectionTool", "CP::MuonSelectionTool/MuonSelectionTool", "Tool for muon quality selection"}
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default)
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
bool m_varHandleArraysDeclared

Detailed Description

Definition at line 19 of file TrigMuonEFIdtpHypoTool.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< AlgTool > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
private
Enumerator
MaxNumberTools 

Definition at line 20 of file TrigMuonEFIdtpHypoTool.h.

Constructor & Destructor Documentation

◆ TrigMuonEFIdtpHypoTool()

TrigMuonEFIdtpHypoTool::TrigMuonEFIdtpHypoTool ( const std::string & type,
const std::string & name,
const IInterface * parent )

Definition at line 16 of file TrigMuonEFIdtpHypoTool.cxx.

16 :
17 AthAlgTool(type, name, parent),
19}
AthAlgTool()
Default constructor:
static HLT::Identifier fromToolName(const std::string &tname)

◆ ~TrigMuonEFIdtpHypoTool()

TrigMuonEFIdtpHypoTool::~TrigMuonEFIdtpHypoTool ( )
default

Member Function Documentation

◆ decide()

StatusCode TrigMuonEFIdtpHypoTool::decide ( std::vector< TrigMuonEFIdtpHypoTool::MuonEFIdperfInfo > & toolInput) const

Definition at line 150 of file TrigMuonEFIdtpHypoTool.cxx.

151{
152 size_t numTrigger = m_ptBins.size();
153 size_t numMuon=toolInput.size();
154 if(numTrigger==1){
155 ATH_MSG_DEBUG("Applying selection of single << " << m_decisionId);
156 return inclusiveSelection(toolInput);
157 }
158 else{
159 ATH_MSG_DEBUG("Applying selection of multiplicity "<< m_decisionId<<" with nMuons"<<numMuon);
160 return multiplicitySelection(toolInput);
161 }
162 return StatusCode::SUCCESS;
163}
#define ATH_MSG_DEBUG(x)
Gaudi::Property< std::vector< std::vector< double > > > m_ptBins
StatusCode multiplicitySelection(std::vector< TrigMuonEFIdtpHypoTool::MuonEFIdperfInfo > &toolInput) const
StatusCode inclusiveSelection(std::vector< TrigMuonEFIdtpHypoTool::MuonEFIdperfInfo > &toolInput) const

◆ decideOnSingleObject()

bool TrigMuonEFIdtpHypoTool::decideOnSingleObject ( TrigMuonEFIdtpHypoTool::MuonEFIdperfInfo & input,
size_t cutIndex ) const
private

Definition at line 66 of file TrigMuonEFIdtpHypoTool.cxx.

67{
68 // for pass through mode
69 if(m_acceptAll) {
70 ATH_MSG_DEBUG("Accept property is set: taking all the events");
71 return true;
72 }
73
74 const xAOD::Muon* muon = input.muon;
75 if( !muon ){
76 ATH_MSG_ERROR("Retrieval of xAOD::MuonContainer failed");
77 return false;
78 }
79 if(! muon->primaryTrackParticle()) return false;
80
81 const xAOD::TrackParticle* tr = muon->trackParticle(xAOD::Muon::TrackParticleType::ExtrapolatedMuonSpectrometerTrackParticle);
82 if ( !tr ) {
83 ATH_MSG_DEBUG("No TrackParticle found.");
84 return false;
85 }
86
87 // monitored Variables
88 std::vector<float> fexPt, fexEta, fexPhi, selPt, selEta, selPhi;
89 auto muonPtMon = Monitored::Collection("SA_pt", fexPt);
90 auto muonEtaMon = Monitored::Collection("SA_eta", fexEta);
91 auto muonPhiMon = Monitored::Collection("SA_phi", fexPhi);
92 auto muonPtSelMon = Monitored::Collection("SA_pt_sel", selPt);
93 auto muonEtaSelMon = Monitored::Collection("SA_eta_sel", selEta);
94 auto muonPhiSelMon = Monitored::Collection("SA_phi_sel", selPhi);
95 auto monitorIt = Monitored::Group(m_monTool, muonPtMon, muonEtaMon, muonPhiMon, muonPtSelMon, muonEtaSelMon, muonPhiSelMon);
96
97 //
98 bool result = false;
99
100 ATH_MSG_VERBOSE("Retrieved track with abs pt "<< (*tr).pt()/Gaudi::Units::GeV << " GeV ");
101 fexPt.push_back(tr->pt()/Gaudi::Units::GeV);
102 fexEta.push_back(tr->eta());
103 fexPhi.push_back(tr->phi());
104
105 // apply hypo cuts
106 float absEta = std::abs(tr->eta());
107 float threshold = 0;
108 for (std::vector<float>::size_type k=0; k<m_bins[0]; ++k) {
109 if (absEta > m_ptBins[cutIndex][k] && absEta <= m_ptBins[cutIndex][k+1]) threshold = m_ptThresholds[cutIndex][k];
110 }
111 if ( (std::abs(tr->pt())/Gaudi::Units::GeV > (threshold/Gaudi::Units::GeV)) &&
112 ( (!m_muonqualityCut) || (m_muonqualityCut && passedQualityCuts(muon)) ) ) { // selection passed
113 result = true;
114 selPt.push_back(tr->pt()/Gaudi::Units::GeV);
115 selEta.push_back(tr->eta());
116 selPhi.push_back(tr->phi());
117 }
118
119 ATH_MSG_VERBOSE(" REGTEST muon pt is " << tr->pt()/Gaudi::Units::GeV << " GeV "
120 << " with Charge " << tr->charge()
121 << " and threshold cut is " << threshold/Gaudi::Units::GeV << " GeV"
122 << " so hypothesis is " << (result?"true":"false"));
123
124 // hypo result
125 return result;
126}
#define ATH_MSG_ERROR(x)
#define ATH_MSG_VERBOSE(x)
ToolHandle< GenericMonitoringTool > m_monTool
Gaudi::Property< bool > m_muonqualityCut
bool passedQualityCuts(const xAOD::Muon *muon) const
std::vector< size_t > m_bins
Gaudi::Property< std::vector< std::vector< double > > > m_ptThresholds
Gaudi::Property< bool > m_acceptAll
virtual double phi() const override final
The azimuthal angle ( ) of the particle (has range to .)
virtual double pt() const override final
The transverse momentum ( ) of the particle.
virtual double eta() const override final
The pseudorapidity ( ) of the particle.
float charge() const
Returns the charge.
ValuesCollection< T > Collection(std::string name, const T &collection)
Declare a monitored (double-convertible) collection.
bool absEta(const xAOD::TauJet &tau, float &out)
TrackParticle_v1 TrackParticle
Reference the current persistent version:
Muon_v1 Muon
Reference the current persistent version:

◆ declareGaudiProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T, V, H > & hndl,
const SG::VarHandleKeyType &  )
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158 {
160 hndl.value(),
161 hndl.documentation());
162
163 }
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)

◆ declareProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( Gaudi::Property< T, V, H > & t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145 {
146 typedef typename SG::HandleClassifier<T>::type htype;
148 }
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>

◆ detStore()

const ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

◆ evtStore()

ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase & ExtraDeps)
protectedinherited

Add StoreName to extra input/output deps as needed.

use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given

◆ inclusiveSelection()

StatusCode TrigMuonEFIdtpHypoTool::inclusiveSelection ( std::vector< TrigMuonEFIdtpHypoTool::MuonEFIdperfInfo > & toolInput) const
private

Definition at line 168 of file TrigMuonEFIdtpHypoTool.cxx.

169{
170 for(auto& tool : toolInput) {
171 if(TrigCompositeUtils::passed(m_decisionId.numeric(), tool.previousDecisionIDs)){
172 if(decideOnSingleObject(tool, 0)) {
173 ATH_MSG_DEBUG("Passes selection");
175 }
176 }
177 else ATH_MSG_DEBUG("Does not pass selection");
178 }
179
180 return StatusCode::SUCCESS;
181}
bool decideOnSingleObject(TrigMuonEFIdtpHypoTool::MuonEFIdperfInfo &input, size_t cutIndex) const
bool passed(DecisionID id, const DecisionIDContainer &idSet)
checks if required decision ID is in the set of IDs in the container
void addDecisionID(DecisionID id, Decision *d)
Appends the decision (given as ID) to the decision object.

◆ initialize()

StatusCode TrigMuonEFIdtpHypoTool::initialize ( )
overridevirtual

Definition at line 24 of file TrigMuonEFIdtpHypoTool.cxx.

25{
26 if( m_muonqualityCut ) {
27 if(m_muonSelTool.retrieve().isFailure()) {
28 ATH_MSG_ERROR("Unable to retrieve " << m_muonSelTool);
29 return StatusCode::FAILURE;
30 }
31 } else m_muonSelTool.disable();
32
33 if( m_acceptAll ) {
34 ATH_MSG_DEBUG("Accepting all the events!");
35 } else {
36 if(m_ptBins.size()<=0) {
37 ATH_MSG_ERROR("Trying to configure hypo with no pT bins. This is probably a configuration mistake.");
38 return StatusCode::FAILURE;
39 }
40 m_bins.resize(m_ptBins.size());
41 for(size_t j=0; j<m_ptBins.size(); j++){
42 m_bins[j] = m_ptBins[j].size() - 1;
43 if (m_bins[j] != m_ptThresholds[j].size()) {
44 ATH_MSG_ERROR("bad thresholds setup .... exiting!");
45 return StatusCode::FAILURE;
46 }
47 if (msgLvl(MSG::DEBUG)) {
48 for (std::vector<float>::size_type i=0; i<m_bins[j];++i) {
49 ATH_MSG_DEBUG( "bin " << m_ptBins[j][i] << " - " << m_ptBins[j][i+1]<<" with Pt Threshold of " << (m_ptThresholds[j][i])/Gaudi::Units::GeV<< " GeV");
50 }
51 }
52 }
53 }
54
55 if ( not m_monTool.name().empty() ) {
56 ATH_CHECK( m_monTool.retrieve() );
57 ATH_MSG_DEBUG("MonTool name: " << m_monTool);
58 }
59
60 return StatusCode::SUCCESS;
61}
#define ATH_CHECK
Evaluate an expression and check for errors.
bool msgLvl(const MSG::Level lvl) const
ToolHandle< CP::IMuonSelectionTool > m_muonSelTool

◆ inputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< AlgTool > >::inputHandles ( ) const
overridevirtualinherited

Return this algorithm's input handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ msg()

MsgStream & AthCommonMsg< AlgTool >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24 {
25 return this->msgStream();
26 }

◆ msgLvl()

bool AthCommonMsg< AlgTool >::msgLvl ( const MSG::Level lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30 {
31 return this->msgLevel(lvl);
32 }

◆ multiplicitySelection()

StatusCode TrigMuonEFIdtpHypoTool::multiplicitySelection ( std::vector< TrigMuonEFIdtpHypoTool::MuonEFIdperfInfo > & toolInput) const
private

Definition at line 186 of file TrigMuonEFIdtpHypoTool.cxx.

187{
188 HLT::Index2DVec passingSelection(m_ptBins.size());
189 for(size_t cutIndex=0; cutIndex < m_ptBins.size(); ++cutIndex) {
190 size_t elementIndex{0};
191 for(auto& tool : toolInput) {
192 if(TrigCompositeUtils::passed(m_decisionId.numeric(), tool.previousDecisionIDs)){
193 if(decideOnSingleObject(tool, cutIndex)){
194 ATH_MSG_DEBUG("Passing selection "<<m_decisionId << " , Index["<<elementIndex<<"]");
195 passingSelection[cutIndex].push_back(elementIndex);
196 }
197 else ATH_MSG_DEBUG("Not passing selection "<<m_decisionId << " , Index["<<elementIndex<<"]");
198 }
199 else{
200 ATH_MSG_DEBUG("No match for decisionId "<<m_decisionId);
201 }
202 elementIndex++;
203 }
204 //If nothing passes, then we should stop
205 if(passingSelection[cutIndex].empty()){
206 ATH_MSG_DEBUG("No muons passed the selection "<<cutIndex<<" rejecting...");
207 return StatusCode::SUCCESS;
208 }
209 }
210 std::set<size_t> passingIndices;
211 HLT::elementsInUniqueCombinations(passingSelection, passingIndices);
212
213 if(passingIndices.empty()) {
214 ATH_MSG_DEBUG("No muons passed selection "<<m_decisionId);
215 return StatusCode::SUCCESS;
216 }
217 for(auto i : passingIndices) {
218 ATH_MSG_DEBUG("Muon["<<i<<"] passes "<<m_decisionId<<" with pT = "<<toolInput[i].muon->pt()/Gaudi::Units::GeV << "GeV");
219 TrigCompositeUtils::addDecisionID(m_decisionId.numeric(), toolInput[i].decision);
220 }
221
222 //
223 return StatusCode::SUCCESS;
224}
static const Attributes_t empty
void elementsInUniqueCombinations(const Index2DVec &indices, std::set< size_t > &participants, const std::function< bool(const Index1DVec &)> &filter)
std::vector< Index1DVec > Index2DVec

◆ outputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< AlgTool > >::outputHandles ( ) const
overridevirtualinherited

Return this algorithm's output handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ passedQualityCuts()

bool TrigMuonEFIdtpHypoTool::passedQualityCuts ( const xAOD::Muon * muon) const
private

Definition at line 131 of file TrigMuonEFIdtpHypoTool.cxx.

132{
133 bool passCut = false;
134
135 const xAOD::TrackParticle* metrack = muon->trackParticle( xAOD::Muon::ExtrapolatedMuonSpectrometerTrackParticle );
136 float reducedChi2 = -10;
137
138 if( metrack ) {
139 reducedChi2 = muon->primaryTrackParticle()->chiSquared()/muon->primaryTrackParticle()->numberDoF();
140 // Selection criteria based on the requirements that are part of the muon quality working points (offline)
141 if(std::abs(reducedChi2) < 8.0 && !m_muonSelTool->isBadMuon(*muon) && muon->author()==xAOD::Muon::MuidSA) passCut = true;
142 }
143
144 return passCut;
145}

◆ renounce()

std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > AthCommonDataStore< AthCommonMsg< AlgTool > >::renounce ( T & h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381 {
382 h.renounce();
384 }
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce(T &h)

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::renounceArray ( SG::VarHandleKeyArray & handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364 {
366 }

◆ sysInitialize()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysInitialize ( )
overridevirtualinherited

Perform system initialization for an algorithm.

We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.

Reimplemented in asg::AsgMetadataTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and DerivationFramework::CfAthAlgTool.

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::updateVHKA ( Gaudi::Details::PropertyBase & )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308 {
309 // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310 // << " size: " << m_vhka.size() << endmsg;
311 for (auto &a : m_vhka) {
313 for (auto k : keys) {
314 k->setOwner(this);
315 }
316 }
317 }
std::vector< SG::VarHandleKeyArray * > m_vhka

Member Data Documentation

◆ m_acceptAll

Gaudi::Property< bool > TrigMuonEFIdtpHypoTool::m_acceptAll
private
Initial value:
{
this, "AcceptAll", false, "Ignore selection" }

Definition at line 66 of file TrigMuonEFIdtpHypoTool.h.

66 {
67 this, "AcceptAll", false, "Ignore selection" };

◆ m_bins

std::vector<size_t> TrigMuonEFIdtpHypoTool::m_bins ={0}
private

Definition at line 70 of file TrigMuonEFIdtpHypoTool.h.

70{0};

◆ m_decisionId

HLT::Identifier TrigMuonEFIdtpHypoTool::m_decisionId
private

Definition at line 58 of file TrigMuonEFIdtpHypoTool.h.

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_monTool

ToolHandle< GenericMonitoringTool > TrigMuonEFIdtpHypoTool::m_monTool { this, "MonTool", "", "Monitoring tool" }
private

Definition at line 71 of file TrigMuonEFIdtpHypoTool.h.

71{ this, "MonTool", "", "Monitoring tool" };

◆ m_muonqualityCut

Gaudi::Property< bool > TrigMuonEFIdtpHypoTool::m_muonqualityCut
private
Initial value:
{
this, "MuonQualityCut", false, "Ignore selection" }

Definition at line 60 of file TrigMuonEFIdtpHypoTool.h.

60 {
61 this, "MuonQualityCut", false, "Ignore selection" };

◆ m_muonSelTool

ToolHandle<CP::IMuonSelectionTool> TrigMuonEFIdtpHypoTool::m_muonSelTool {this, "MuonSelectionTool", "CP::MuonSelectionTool/MuonSelectionTool", "Tool for muon quality selection"}
private

Definition at line 72 of file TrigMuonEFIdtpHypoTool.h.

72{this, "MuonSelectionTool", "CP::MuonSelectionTool/MuonSelectionTool", "Tool for muon quality selection"};

◆ m_ptBins

Gaudi::Property< std::vector<std::vector<double> > > TrigMuonEFIdtpHypoTool::m_ptBins
private
Initial value:
{
this, "PtBins", { {0, 2.5} }, "Bins range of each pT threshold" }

Definition at line 62 of file TrigMuonEFIdtpHypoTool.h.

62 {
63 this, "PtBins", { {0, 2.5} }, "Bins range of each pT threshold" };

◆ m_ptThresholds

Gaudi::Property< std::vector<std::vector<double> > > TrigMuonEFIdtpHypoTool::m_ptThresholds
private
Initial value:
{
this, "PtThresholds", { {5.49*Gaudi::Units::GeV} }, "Track pT requirement ( separate threshold for each muon )" }

Definition at line 64 of file TrigMuonEFIdtpHypoTool.h.

64 {
65 this, "PtThresholds", { {5.49*Gaudi::Units::GeV} }, "Track pT requirement ( separate threshold for each muon )" };

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< AlgTool > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.


The documentation for this class was generated from the following files: