ATLAS Offline Software
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
DerivationFramework::KinkTrkZmumuTagTool Class Reference

#include <KinkTrkZmumuTagTool.h>

Inheritance diagram for DerivationFramework::KinkTrkZmumuTagTool:
Collaboration diagram for DerivationFramework::KinkTrkZmumuTagTool:

Public Member Functions

 KinkTrkZmumuTagTool (const std::string &t, const std::string &n, const IInterface *p)
 Constructor with parameters. More...
 
 ~KinkTrkZmumuTagTool ()
 Destructor. More...
 
StatusCode initialize ()
 
StatusCode finalize ()
 
virtual StatusCode addBranches () const
 Check that the current event passes this filter. More...
 
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & evtStore () const
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. More...
 
virtual StatusCode sysInitialize () override
 Perform system initialization for an algorithm. More...
 
virtual StatusCode sysStart () override
 Handle START transition. More...
 
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles. More...
 
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles. More...
 
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T > &t)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc="none")
 Declare a new Gaudi property. More...
 
void updateVHKA (Gaudi::Details::PropertyBase &)
 
MsgStream & msg () const
 
MsgStream & msg (const MSG::Level lvl) const
 
bool msgLvl (const MSG::Level lvl) const
 

Static Public Member Functions

static const InterfaceID & interfaceID ()
 AlgTool interface methods. More...
 

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution More...
 
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. More...
 

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

bool passTrigger (const std::vector< std::string > &triggers) const
 
bool checkTagMuon (const xAOD::Muon *muon) const
 
bool checkMSTrack (const xAOD::TrackParticle *track) const
 
bool checkMuonTrackPair (const xAOD::Muon *muon, const xAOD::TrackParticle *track) const
 
bool passMuonQuality (const xAOD::Muon *muon) const
 
bool passMSTrackQuality (const xAOD::TrackParticle *track) const
 
bool passMuonTrigMatch (const xAOD::Muon *muon, const std::vector< std::string > &triggers) const
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &)
 specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &)
 specialization for handling Gaudi::Property<SG::VarHandleBase> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &)
 specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
 

Private Attributes

ToolHandle< Trig::TrigDecisionToolm_trigDecisionTool
 
ToolHandle< TrigMatchToolm_trigMatchTool
 
std::vector< std::string > m_trigNames
 
float m_trigMatchDeltaR
 
bool m_doTrigMatch
 
ToolHandle< CP::IMuonSelectionToolm_muonSelectionTool
 
SG::ReadHandleKey< xAOD::MuonContainerm_muonSGKey { this, "MuonContainerKey", "Muons", ""}
 
std::vector< std::string > m_muonIDKeys
 
float m_muonPtCut
 
float m_muonEtaMax
 
SG::ReadHandleKey< xAOD::TrackParticleContainerm_trackSGKey { this, "TrackContainerKey", "MuonSpectrometerTracks", ""}
 
float m_trackPtCut
 
float m_trackEtaMax
 
float m_diMuonMassLow
 
float m_diMuonMassHigh
 
float m_dPhiMax
 
bool m_doOppositeSignReq
 
SG::WriteHandleKey< std::vector< float > > m_KinkTrkDiMuMassKey { this, "KinkTrkDiMuMassKey", "KinkTrkDiMuMass", ""}
 
SG::WriteHandleKey< std::vector< float > > m_KinkTrkProbeMuPtKey { this, "KinkTrkProbeMuPtKey", "KinkTrkProbeMuPt", ""}
 
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default) More...
 
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default) More...
 
std::vector< SG::VarHandleKeyArray * > m_vhka
 
bool m_varHandleArraysDeclared
 

Detailed Description

Author
shimp.nosp@m.ei.y.nosp@m.amamo.nosp@m.to@c.nosp@m.ern.c.nosp@m.h

Definition at line 32 of file KinkTrkZmumuTagTool.h.

Member Typedef Documentation

◆ StoreGateSvc_t

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

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ KinkTrkZmumuTagTool()

DerivationFramework::KinkTrkZmumuTagTool::KinkTrkZmumuTagTool ( const std::string &  t,
const std::string &  n,
const IInterface *  p 
)

Constructor with parameters.

Definition at line 17 of file KinkTrkZmumuTagTool.cxx.

19  :
20  AthAlgTool(t, n, p),
21  m_trigDecisionTool("Trig::TrigDecisionTool/TrigDecisionTool"),
22  m_trigMatchTool("TrigMatchTool/TrigMatchTool"),
23  m_trigNames(std::vector<std::string>()),
24  m_trigMatchDeltaR(0.1),
25  m_muonSelectionTool("CP::MuonSelectionTool/MuonSelectionTool"),
26  m_muonIDKeys(std::vector<std::string>()),
27  m_muonPtCut(0),
28  m_muonEtaMax(9999),
29  m_trackPtCut(0),
30  m_trackEtaMax(9999),
31  m_diMuonMassLow(50.),
32  m_diMuonMassHigh(-1),
33  m_dPhiMax(10),
34  m_doOppositeSignReq(false)
35 {
36  declareInterface<DerivationFramework::IAugmentationTool>(this);
37  declareProperty("TriggerDecisionTool", m_trigDecisionTool);
38  declareProperty("TriggerMatchTool", m_trigMatchTool);
39  declareProperty("Triggers", m_trigNames);
40  declareProperty("TriggerMatchDeltaR", m_trigMatchDeltaR);
41  declareProperty("RequireTriggerMatch", m_doTrigMatch);
42  declareProperty("MuonIDKeys", m_muonIDKeys);
43  declareProperty("MuonPtMin", m_muonPtCut);
44  declareProperty("MuonEtaMax", m_muonEtaMax);
45  declareProperty("TrackPtMin", m_trackPtCut);
46  declareProperty("TrackEtaMax", m_trackEtaMax);
47  declareProperty("DiMuonMassLow", m_diMuonMassLow);
48  declareProperty("DiMuonMassHigh", m_diMuonMassHigh);
49  declareProperty("DeltaPhiMax", m_dPhiMax);
50  declareProperty("RequireOppositeSign", m_doOppositeSignReq);
51 }

◆ ~KinkTrkZmumuTagTool()

DerivationFramework::KinkTrkZmumuTagTool::~KinkTrkZmumuTagTool ( )

Destructor.

Definition at line 55 of file KinkTrkZmumuTagTool.cxx.

55  {
56 }

Member Function Documentation

◆ addBranches()

StatusCode DerivationFramework::KinkTrkZmumuTagTool::addBranches ( ) const
virtual

Check that the current event passes this filter.

Implements DerivationFramework::IAugmentationTool.

Definition at line 100 of file KinkTrkZmumuTagTool.cxx.

101 {
102 
104  ATH_CHECK(diMuonTrkMass.record(std::make_unique< std::vector<float> >()));
105 
107  ATH_CHECK(probeMuPt.record(std::make_unique< std::vector<float> >()));
108 
110  if( !muons.isValid() ) {
111  msg(MSG::WARNING) << "No Muon container found, will skip this event" << endmsg;
112  return StatusCode::FAILURE;
113  }
114 
116  if( !mstracks.isValid() ) {
117  msg(MSG::WARNING) << "No MS track container found, will skip this event" << endmsg;
118  return StatusCode::FAILURE;
119  }
120 
121  for (auto muon: *muons) {
122  if (!checkTagMuon(muon)) continue;
123  for (auto track: *mstracks) {
124  if (!checkMSTrack(track)) continue;
125  if (!checkMuonTrackPair(muon, track)) continue;
126  diMuonTrkMass->push_back((muon->p4()+track->p4()).M());
127  probeMuPt->push_back(track->pt());
128  }
129  }
130 
131  return StatusCode::SUCCESS;
132 }

◆ checkMSTrack()

bool DerivationFramework::KinkTrkZmumuTagTool::checkMSTrack ( const xAOD::TrackParticle track) const
private

Definition at line 154 of file KinkTrkZmumuTagTool.cxx.

155 {
156  if (!passMSTrackQuality(track)) return false;
157  return true;
158 }

◆ checkMuonTrackPair()

bool DerivationFramework::KinkTrkZmumuTagTool::checkMuonTrackPair ( const xAOD::Muon muon,
const xAOD::TrackParticle track 
) const
private

Definition at line 161 of file KinkTrkZmumuTagTool.cxx.

162 {
163  if (std::abs(muon->p4().DeltaPhi(track->p4())) > m_dPhiMax) return false;
164  if (m_doOppositeSignReq) {
165  if (muon->charge()*track->charge() > 0) return false;
166  }
167  float mass = (muon->p4()+track->p4()).M();
168  if (mass < m_diMuonMassLow) return false;
169  if (mass > m_diMuonMassHigh) return false;
170  return true;
171 }

◆ checkTagMuon()

bool DerivationFramework::KinkTrkZmumuTagTool::checkTagMuon ( const xAOD::Muon muon) const
private

Definition at line 144 of file KinkTrkZmumuTagTool.cxx.

145 {
146  if (!passMuonQuality(muon)) return false;
147  if (m_doTrigMatch) {
148  if (!passMuonTrigMatch(muon, m_trigNames)) return false;
149  }
150  return true;
151 }

◆ declareGaudiProperty() [1/4]

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

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

Definition at line 170 of file AthCommonDataStore.h.

172  {
173  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
174  hndl.value(),
175  hndl.documentation());
176 
177  }

◆ declareGaudiProperty() [2/4]

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

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

Definition at line 156 of file AthCommonDataStore.h.

158  {
159  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
160  hndl.value(),
161  hndl.documentation());
162 
163  }

◆ declareGaudiProperty() [3/4]

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

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

Definition at line 184 of file AthCommonDataStore.h.

186  {
187  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
188  hndl.value(),
189  hndl.documentation());
190  }

◆ declareGaudiProperty() [4/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  t,
const SG::NotHandleType  
)
inlineprivateinherited

specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>

Definition at line 199 of file AthCommonDataStore.h.

200  {
201  return PBASE::declareProperty(t);
202  }

◆ declareProperty() [1/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleBase hndl,
const std::string &  doc,
const SG::VarHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleBase. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 245 of file AthCommonDataStore.h.

249  {
250  this->declare(hndl.vhKey());
251  hndl.vhKey().setOwner(this);
252 
253  return PBASE::declareProperty(name,hndl,doc);
254  }

◆ declareProperty() [2/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKey hndl,
const std::string &  doc,
const SG::VarHandleKeyType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleKey. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 221 of file AthCommonDataStore.h.

225  {
226  this->declare(hndl);
227  hndl.setOwner(this);
228 
229  return PBASE::declareProperty(name,hndl,doc);
230  }

◆ declareProperty() [3/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKeyArray hndArr,
const std::string &  doc,
const SG::VarHandleKeyArrayType  
)
inlineinherited

Definition at line 259 of file AthCommonDataStore.h.

263  {
264 
265  // std::ostringstream ost;
266  // ost << Algorithm::name() << " VHKA declareProp: " << name
267  // << " size: " << hndArr.keys().size()
268  // << " mode: " << hndArr.mode()
269  // << " vhka size: " << m_vhka.size()
270  // << "\n";
271  // debug() << ost.str() << endmsg;
272 
273  hndArr.setOwner(this);
274  m_vhka.push_back(&hndArr);
275 
276  Gaudi::Details::PropertyBase* p = PBASE::declareProperty(name, hndArr, doc);
277  if (p != 0) {
278  p->declareUpdateHandler(&AthCommonDataStore<PBASE>::updateVHKA, this);
279  } else {
280  ATH_MSG_ERROR("unable to call declareProperty on VarHandleKeyArray "
281  << name);
282  }
283 
284  return p;
285 
286  }

◆ declareProperty() [4/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc,
const SG::NotHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This is the generic version, for types that do not derive from SG::VarHandleKey. It just forwards to the base class version of declareProperty.

Definition at line 333 of file AthCommonDataStore.h.

337  {
338  return PBASE::declareProperty(name, property, doc);
339  }

◆ declareProperty() [5/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc = "none" 
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This dispatches to either the generic declareProperty or the one for VarHandle/Key/KeyArray.

Definition at line 352 of file AthCommonDataStore.h.

355  {
356  typedef typename SG::HandleClassifier<T>::type htype;
357  return declareProperty (name, property, doc, htype());
358  }

◆ declareProperty() [6/6]

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

Definition at line 145 of file AthCommonDataStore.h.

145  {
146  typedef typename SG::HandleClassifier<T>::type htype;
148  }

◆ 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.

95 { return m_detStore; }

◆ evtStore() [1/2]

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.

85 { return m_evtStore; }

◆ evtStore() [2/2]

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

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

Definition at line 90 of file AthCommonDataStore.h.

90 { return m_evtStore; }

◆ 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

◆ finalize()

StatusCode DerivationFramework::KinkTrkZmumuTagTool::finalize ( )

Definition at line 91 of file KinkTrkZmumuTagTool.cxx.

92 {
93  ATH_MSG_VERBOSE("finalize() ...");
94  return StatusCode::SUCCESS;
95 }

◆ initialize()

StatusCode DerivationFramework::KinkTrkZmumuTagTool::initialize ( )

Definition at line 60 of file KinkTrkZmumuTagTool.cxx.

61 {
62  ATH_MSG_VERBOSE("initialize() ...");
63 
64  // trigger decision tool
65  if (m_trigNames.size()>0) {
66  if (m_trigDecisionTool.retrieve().isFailure()) {
67  ATH_MSG_FATAL("Failed to retrieve tool: " << m_trigDecisionTool);
68  return StatusCode::FAILURE;
69  }
70  ATH_MSG_INFO("TriggerDecisionTool: " << m_trigDecisionTool);
71 
72  if (m_trigMatchTool.empty()) {
73  ATH_MSG_FATAL("TrigMatchTool is not specified.");
74  return StatusCode::FAILURE;
75  }
76  CHECK(m_trigMatchTool.retrieve());
77  ATH_MSG_INFO("TrgMatchTool retrived successfully");
78  }
79 
80  CHECK(m_muonSelectionTool.retrieve());
81 
82  ATH_CHECK(m_muonSGKey.initialize());
86 
87  return StatusCode::SUCCESS;
88 }

◆ 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.

◆ interfaceID()

static const InterfaceID& DerivationFramework::IAugmentationTool::interfaceID ( )
inlinestaticinherited

AlgTool interface methods.

Definition at line 31 of file IAugmentationTool.h.

31 { return IID_IAugmentationTool; }

◆ msg() [1/2]

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

Definition at line 24 of file AthCommonMsg.h.

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

◆ msg() [2/2]

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

Definition at line 27 of file AthCommonMsg.h.

27  {
28  return this->msgStream(lvl);
29  }

◆ 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  }

◆ 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.

◆ passMSTrackQuality()

bool DerivationFramework::KinkTrkZmumuTagTool::passMSTrackQuality ( const xAOD::TrackParticle track) const
private

Definition at line 186 of file KinkTrkZmumuTagTool.cxx.

187 {
188  if (track->pt() < m_trackPtCut) return false;
189  if (std::abs(track->eta()) > m_trackEtaMax) return false;
190  return true;
191 }

◆ passMuonQuality()

bool DerivationFramework::KinkTrkZmumuTagTool::passMuonQuality ( const xAOD::Muon muon) const
private

Definition at line 174 of file KinkTrkZmumuTagTool.cxx.

175 {
176  if( muon->pt() < m_muonPtCut ) return false;
177  if( std::abs(muon->eta()) > m_muonEtaMax ) return false;
178  if( !m_muonSelectionTool->passedMuonCuts(*muon) ) return false;
179  if( muon->muonType() != xAOD::Muon::Combined ) return false;
180 
181  // Good muon!
182  return true;
183 }

◆ passMuonTrigMatch()

bool DerivationFramework::KinkTrkZmumuTagTool::passMuonTrigMatch ( const xAOD::Muon muon,
const std::vector< std::string > &  triggers 
) const
private

Definition at line 195 of file KinkTrkZmumuTagTool.cxx.

196 {
197  for (unsigned int i=0; i<triggers.size(); i++) {
198  if (m_trigMatchTool->chainPassedByObject<TrigMatch::TrigMuonEF, xAOD::Muon>(muon, triggers[i], m_trigMatchDeltaR)) return true;
199  }
200  return false;
201 }

◆ passTrigger()

bool DerivationFramework::KinkTrkZmumuTagTool::passTrigger ( const std::vector< std::string > &  triggers) const
private

Definition at line 135 of file KinkTrkZmumuTagTool.cxx.

136 {
137  for (unsigned int i=0; i<triggers.size(); i++) {
138  if (m_trigDecisionTool->isPassed(triggers[i])) return true;
139  }
140  return false;
141 }

◆ 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();
383  PBASE::renounce (h);
384  }

◆ 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  {
365  handlesArray.renounce();
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 DerivationFramework::CfAthAlgTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and asg::AsgMetadataTool.

◆ 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) {
312  std::vector<SG::VarHandleKey*> keys = a->keys();
313  for (auto k : keys) {
314  k->setOwner(this);
315  }
316  }
317  }

Member Data Documentation

◆ 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_diMuonMassHigh

float DerivationFramework::KinkTrkZmumuTagTool::m_diMuonMassHigh
private

Definition at line 74 of file KinkTrkZmumuTagTool.h.

◆ m_diMuonMassLow

float DerivationFramework::KinkTrkZmumuTagTool::m_diMuonMassLow
private

Definition at line 73 of file KinkTrkZmumuTagTool.h.

◆ m_doOppositeSignReq

bool DerivationFramework::KinkTrkZmumuTagTool::m_doOppositeSignReq
private

Definition at line 76 of file KinkTrkZmumuTagTool.h.

◆ m_doTrigMatch

bool DerivationFramework::KinkTrkZmumuTagTool::m_doTrigMatch
private

Definition at line 61 of file KinkTrkZmumuTagTool.h.

◆ m_dPhiMax

float DerivationFramework::KinkTrkZmumuTagTool::m_dPhiMax
private

Definition at line 75 of file KinkTrkZmumuTagTool.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_KinkTrkDiMuMassKey

SG::WriteHandleKey<std::vector<float> > DerivationFramework::KinkTrkZmumuTagTool::m_KinkTrkDiMuMassKey { this, "KinkTrkDiMuMassKey", "KinkTrkDiMuMass", ""}
private

Definition at line 78 of file KinkTrkZmumuTagTool.h.

◆ m_KinkTrkProbeMuPtKey

SG::WriteHandleKey<std::vector<float> > DerivationFramework::KinkTrkZmumuTagTool::m_KinkTrkProbeMuPtKey { this, "KinkTrkProbeMuPtKey", "KinkTrkProbeMuPt", ""}
private

Definition at line 79 of file KinkTrkZmumuTagTool.h.

◆ m_muonEtaMax

float DerivationFramework::KinkTrkZmumuTagTool::m_muonEtaMax
private

Definition at line 67 of file KinkTrkZmumuTagTool.h.

◆ m_muonIDKeys

std::vector<std::string> DerivationFramework::KinkTrkZmumuTagTool::m_muonIDKeys
private

Definition at line 65 of file KinkTrkZmumuTagTool.h.

◆ m_muonPtCut

float DerivationFramework::KinkTrkZmumuTagTool::m_muonPtCut
private

Definition at line 66 of file KinkTrkZmumuTagTool.h.

◆ m_muonSelectionTool

ToolHandle<CP::IMuonSelectionTool> DerivationFramework::KinkTrkZmumuTagTool::m_muonSelectionTool
private

Definition at line 63 of file KinkTrkZmumuTagTool.h.

◆ m_muonSGKey

SG::ReadHandleKey<xAOD::MuonContainer> DerivationFramework::KinkTrkZmumuTagTool::m_muonSGKey { this, "MuonContainerKey", "Muons", ""}
private

Definition at line 64 of file KinkTrkZmumuTagTool.h.

◆ m_trackEtaMax

float DerivationFramework::KinkTrkZmumuTagTool::m_trackEtaMax
private

Definition at line 71 of file KinkTrkZmumuTagTool.h.

◆ m_trackPtCut

float DerivationFramework::KinkTrkZmumuTagTool::m_trackPtCut
private

Definition at line 70 of file KinkTrkZmumuTagTool.h.

◆ m_trackSGKey

SG::ReadHandleKey<xAOD::TrackParticleContainer> DerivationFramework::KinkTrkZmumuTagTool::m_trackSGKey { this, "TrackContainerKey", "MuonSpectrometerTracks", ""}
private

Definition at line 69 of file KinkTrkZmumuTagTool.h.

◆ m_trigDecisionTool

ToolHandle<Trig::TrigDecisionTool> DerivationFramework::KinkTrkZmumuTagTool::m_trigDecisionTool
private

Definition at line 57 of file KinkTrkZmumuTagTool.h.

◆ m_trigMatchDeltaR

float DerivationFramework::KinkTrkZmumuTagTool::m_trigMatchDeltaR
private

Definition at line 60 of file KinkTrkZmumuTagTool.h.

◆ m_trigMatchTool

ToolHandle<TrigMatchTool> DerivationFramework::KinkTrkZmumuTagTool::m_trigMatchTool
private

Definition at line 58 of file KinkTrkZmumuTagTool.h.

◆ m_trigNames

std::vector<std::string> DerivationFramework::KinkTrkZmumuTagTool::m_trigNames
private

Definition at line 59 of file KinkTrkZmumuTagTool.h.

◆ 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:
DerivationFramework::KinkTrkZmumuTagTool::checkMuonTrackPair
bool checkMuonTrackPair(const xAOD::Muon *muon, const xAOD::TrackParticle *track) const
Definition: KinkTrkZmumuTagTool.cxx:161
DerivationFramework::KinkTrkZmumuTagTool::m_muonIDKeys
std::vector< std::string > m_muonIDKeys
Definition: KinkTrkZmumuTagTool.h:65
DerivationFramework::KinkTrkZmumuTagTool::passMSTrackQuality
bool passMSTrackQuality(const xAOD::TrackParticle *track) const
Definition: KinkTrkZmumuTagTool.cxx:186
DerivationFramework::KinkTrkZmumuTagTool::m_trigMatchDeltaR
float m_trigMatchDeltaR
Definition: KinkTrkZmumuTagTool.h:60
xAOD::muon
@ muon
Definition: TrackingPrimitives.h:195
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
DerivationFramework::KinkTrkZmumuTagTool::checkTagMuon
bool checkTagMuon(const xAOD::Muon *muon) const
Definition: KinkTrkZmumuTagTool.cxx:144
DerivationFramework::KinkTrkZmumuTagTool::m_trigMatchTool
ToolHandle< TrigMatchTool > m_trigMatchTool
Definition: KinkTrkZmumuTagTool.h:58
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
make_unique
std::unique_ptr< T > make_unique(Args &&... args)
Definition: SkimmingToolEXOT5.cxx:23
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:70
AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
DerivationFramework::KinkTrkZmumuTagTool::m_trigNames
std::vector< std::string > m_trigNames
Definition: KinkTrkZmumuTagTool.h:59
DerivationFramework::KinkTrkZmumuTagTool::m_diMuonMassLow
float m_diMuonMassLow
Definition: KinkTrkZmumuTagTool.h:73
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
DerivationFramework::KinkTrkZmumuTagTool::m_trackSGKey
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_trackSGKey
Definition: KinkTrkZmumuTagTool.h:69
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
DerivationFramework::KinkTrkZmumuTagTool::m_muonEtaMax
float m_muonEtaMax
Definition: KinkTrkZmumuTagTool.h:67
DerivationFramework::KinkTrkZmumuTagTool::m_doTrigMatch
bool m_doTrigMatch
Definition: KinkTrkZmumuTagTool.h:61
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
python.TrigTLAMonitorAlgorithm.triggers
triggers
Definition: TrigTLAMonitorAlgorithm.py:196
DerivationFramework::KinkTrkZmumuTagTool::m_muonSGKey
SG::ReadHandleKey< xAOD::MuonContainer > m_muonSGKey
Definition: KinkTrkZmumuTagTool.h:64
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition: AthMsgStreamMacros.h:28
xAOD::Muon_v1
Class describing a Muon.
Definition: Muon_v1.h:38
dqt_zlumi_pandas.mass
mass
Definition: dqt_zlumi_pandas.py:170
DerivationFramework::KinkTrkZmumuTagTool::m_KinkTrkProbeMuPtKey
SG::WriteHandleKey< std::vector< float > > m_KinkTrkProbeMuPtKey
Definition: KinkTrkZmumuTagTool.h:79
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
DerivationFramework::KinkTrkZmumuTagTool::m_diMuonMassHigh
float m_diMuonMassHigh
Definition: KinkTrkZmumuTagTool.h:74
DerivationFramework::KinkTrkZmumuTagTool::m_trackPtCut
float m_trackPtCut
Definition: KinkTrkZmumuTagTool.h:70
DerivationFramework::KinkTrkZmumuTagTool::passMuonQuality
bool passMuonQuality(const xAOD::Muon *muon) const
Definition: KinkTrkZmumuTagTool.cxx:174
AthCommonDataStore
Definition: AthCommonDataStore.h:52
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
DerivationFramework::KinkTrkZmumuTagTool::m_dPhiMax
float m_dPhiMax
Definition: KinkTrkZmumuTagTool.h:75
lumiFormat.i
int i
Definition: lumiFormat.py:92
DerivationFramework::KinkTrkZmumuTagTool::m_doOppositeSignReq
bool m_doOppositeSignReq
Definition: KinkTrkZmumuTagTool.h:76
beamspotman.n
n
Definition: beamspotman.py:731
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
DerivationFramework::KinkTrkZmumuTagTool::checkMSTrack
bool checkMSTrack(const xAOD::TrackParticle *track) const
Definition: KinkTrkZmumuTagTool.cxx:154
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
CHECK
#define CHECK(...)
Evaluate an expression and check for errors.
Definition: Control/AthenaKernel/AthenaKernel/errorcheck.h:422
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
SG::VarHandleKey::initialize
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:103
AthAlgTool::AthAlgTool
AthAlgTool()
Default constructor:
Trk::Combined
@ Combined
Definition: TrackSummaryTool.h:32
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
DerivationFramework::KinkTrkZmumuTagTool::m_trigDecisionTool
ToolHandle< Trig::TrigDecisionTool > m_trigDecisionTool
Definition: KinkTrkZmumuTagTool.h:57
TrigMatch::TrigMuonEF
::TrigMuonEF TrigMuonEF
Definition: TrigMatchDefs.h:32
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
SG::WriteHandle
Definition: StoreGate/StoreGate/WriteHandle.h:76
a
TList * a
Definition: liststreamerinfos.cxx:10
h
AthCommonMsg< AlgTool >::msg
MsgStream & msg() const
Definition: AthCommonMsg.h:24
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:616
DerivationFramework::KinkTrkZmumuTagTool::m_KinkTrkDiMuMassKey
SG::WriteHandleKey< std::vector< float > > m_KinkTrkDiMuMassKey
Definition: KinkTrkZmumuTagTool.h:78
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790
DerivationFramework::KinkTrkZmumuTagTool::m_muonPtCut
float m_muonPtCut
Definition: KinkTrkZmumuTagTool.h:66
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
DerivationFramework::KinkTrkZmumuTagTool::m_muonSelectionTool
ToolHandle< CP::IMuonSelectionTool > m_muonSelectionTool
Definition: KinkTrkZmumuTagTool.h:63
DerivationFramework::KinkTrkZmumuTagTool::passMuonTrigMatch
bool passMuonTrigMatch(const xAOD::Muon *muon, const std::vector< std::string > &triggers) const
Definition: KinkTrkZmumuTagTool.cxx:195
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
DerivationFramework::KinkTrkZmumuTagTool::m_trackEtaMax
float m_trackEtaMax
Definition: KinkTrkZmumuTagTool.h:71
fitman.k
k
Definition: fitman.py:528