ATLAS Offline Software
MuonMatchingTool.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 TRIGMUONMONITORING_MUONMATCHINGTOOL_H
6 #define TRIGMUONMONITORING_MUONMATCHINGTOOL_H
7 
18 #include "GaudiKernel/SystemOfUnits.h"
19 #include <string>
20 #include <memory>
21 #include <tuple>
22 
23 
28 class MuonMatchingTool : public AthAlgTool {
29 
30  public:
31  MuonMatchingTool(const std::string& type, const std::string &name, const IInterface* parent);
32 
33  virtual StatusCode initialize() override;
34 
42  const xAOD::MuonRoI* matchL1(const xAOD::Muon *mu, const std::string& trigger, bool &pass) const;
43 
51  const xAOD::MuonRoI* matchL1(const xAOD::TruthParticle *mu, const std::string& trigger, bool &pass) const;
52 
62  const xAOD::MuonRoI* matchL1(double eta, double phi, double dR, const std::string& trigger, bool &pass) const;
63 
72  const xAOD::L2StandAloneMuon* matchL2SA(const xAOD::Muon *mu, const std::string& trigger, bool &pass) const;
73 
84 
90  const xAOD::L2StandAloneMuon* matchL2SAReadHandle(const EventContext& ctx, const xAOD::Muon *mu) const;
91 
100  const xAOD::L2CombinedMuon* matchL2CB(const xAOD::Muon *mu, std::string trigger, bool &pass) const;
101 
112 
118  const xAOD::L2CombinedMuon* matchL2CBReadHandle(const EventContext& ctx, const xAOD::Muon *mu) const;
119 
128  const xAOD::Muon* matchEFSA(const xAOD::Muon *mu, std::string trigger, bool &pass) const;
129 
138  const xAOD::Muon* matchEFSA(const xAOD::TruthParticle *mu, std::string trigger, bool &pass) const;
139 
148 
154  const xAOD::Muon* matchEFSAReadHandle(const EventContext& ctx, const xAOD::Muon *mu) const;
155 
164  const xAOD::Muon* matchEFCB(const xAOD::Muon *mu, std::string trigger, bool &pass) const;
165 
174  const xAOD::Muon* matchEFCB(const xAOD::TruthParticle *mu, std::string trig, bool &pass) const;
175 
184 
190  const xAOD::Muon* matchEFCBReadHandle(const EventContext& ctx, const xAOD::Muon *mu) const;
191 
200  const xAOD::Muon* matchEFSAFS(const xAOD::Muon *mu, std::string trigger, bool &pass) const;
209  const xAOD::Muon* matchEFSAFS(const xAOD::TruthParticle *mu, std::string trigger, bool &pass) const;
210 
219 
225  const xAOD::Muon* matchEFSAFSReadHandle(const EventContext& ctx, const xAOD::Muon *mu) const;
226 
235  const xAOD::Muon* matchEFCBFS(const xAOD::Muon *mu, std::string trigger, bool &pass) const;
236 
245  const xAOD::Muon* matchEFCBFS(const xAOD::TruthParticle *mu, std::string trig, bool &pass) const;
246 
255 
261  const xAOD::Muon* matchEFCBFSReadHandle(const EventContext& ctx, const xAOD::Muon *mu) const;
262 
271  const xAOD::Muon* matchEFIso(const xAOD::Muon *mu, std::string trigger, bool &pass) const;
272 
281  const xAOD::Muon* matchEFIso(const xAOD::TruthParticle *mu, std::string trigger, bool &pass) const;
282 
291 
292 
300  const xAOD::TrackParticle* SearchEFTrack(const EventContext &ctx, const TrigCompositeUtils::LinkInfo<xAOD::MuonContainer>& muLinkInfo, const SG::ReadHandleKey<xAOD::TrackParticleContainer>& ReadHandleKey) const;
301 
302 
309  const xAOD::Muon* matchL2SAtoOff(const EventContext& ctx, const xAOD::L2StandAloneMuon* samu) const;
310 
317  const xAOD::Muon* matchL2CBtoOff(const EventContext& ctx, const xAOD::L2CombinedMuon* cbmu) const;
318 
319 
320  bool isMatchedL2SA(const xAOD::L2StandAloneMuon*, const xAOD::Muon*) const;
321  bool isMatchedL2CB(const xAOD::L2CombinedMuon*, const xAOD::Muon*) const;
322  bool isMatchedL2InsideOut(const xAOD::L2CombinedMuon*, const xAOD::Muon*) const;
323 
333 
340  static double reqdRL1byPt(double mupt);
341 
342 
343  static std::tuple<bool,double,double> trigPosForMatchSATrack(const xAOD::Muon *mu);
344  static std::tuple<bool,double,double> trigPosForMatchCBTrack(const xAOD::Muon *mu);
345  static std::tuple<bool,double,double> PosForMatchSATrack(const xAOD::Muon *mu);
346  static std::tuple<bool,double,double> PosForMatchCBTrack(const xAOD::Muon *mu);
347 
348 
349  private:
350 
352  int L1ItemStringToInt(const std::string& l1item, int roiSource) const {
353  if( "L1_MU3V"==l1item) return roiSource==0 ? L1Items::L1B_MU3V : L1Items::L1E_MU3V;
354  if( "L1_MU5VF"==l1item) return roiSource==0 ? L1Items::L1B_MU5VF : L1Items::L1E_MU5VF;
355  if( "L1_MU8F"==l1item) return roiSource==0 ? L1Items::L1B_MU8F : L1Items::L1E_MU8F;
356  if( "L1_MU14FCH"==l1item) return roiSource==0 ? L1Items::L1B_MU14FCH : L1Items::L1E_MU14FCH;
357  if( "L1_MU14FCHR"==l1item) return roiSource==0 ? L1Items::L1B_MU14FCHR : L1Items::L1E_MU14FCHR;
358  return L1Items::ERROR;
359  }
360 
361  const float m_L2SAreqdR = 0.25;
362  const float m_L2CBreqdR = 0.03;
363  const float m_L2InsideOutreqdR = 0.01;
364  const float m_EFreqdR = 0.03;
365 
366  // private methods
378  template<class T, class OFFL> const T* matchReadHandle(const OFFL* offl, float reqdR,
379  SG::ReadHandleKey<DataVector<T> > ReadHandleKey, const EventContext& ctx,
380  std::tuple<bool,double,double> (*trigPosForMatchFunc)(const T*) = &MuonMatchingTool::trigPosForMatch<T>) const;
381 
382 
393  template<class T, class OFFL>
394  const TrigCompositeUtils::LinkInfo<DataVector<T> > matchLinkInfo(const OFFL *offl, std::string trigger, float reqdR, bool &pass,
395  const std::string& containerSGKey = "",
396  std::tuple<bool,double,double> (*trigPosForMatchFunc)(const T*) = &MuonMatchingTool::trigPosForMatch<T>) const;
397 
410  template<class T, class OFFL> const T* match(const OFFL *offl, std::string trigger, float reqdR, bool &pass,
411  const std::string& containerSGKey = "",
412  std::tuple<bool,double,double> (*trigPosForMatchFunc)(const T*) = &MuonMatchingTool::trigPosForMatch<T>) const;
413 
425  template<class T> const xAOD::Muon* matchOff(const EventContext& ctx, const T* trig, float reqdR,
426  std::tuple<bool,double,double> (*offlinePosForMatchFunc)(const xAOD::Muon*),
427  std::tuple<bool,double,double> (*trigPosForMatchFunc)(const T*) = &MuonMatchingTool::trigPosForMatch<T>) const;
428 
429 
430  const Amg::Vector3D offlineMuonAtPivot(const xAOD::Muon *mu) const;
431  static double FermiFunction(double x, double x0, double w) ;
434 
435  // static methods
436  // Template methods that perform different matching schemes for T=xAOD::L2StandAloneMuon, xAOD::L2CombinedMuon and xAOD::Muon (EF).
437  template<class T> static inline std::tuple<bool,double,double> trigPosForMatch(const T *trig);
438 
439  SG::ReadHandleKey<xAOD::MuonRoIContainer> m_MuonRoIContainerKey {this, "MuonRoIContainerName", "LVL1MuonRoIs", "Level 1 muon container"};
440  SG::ReadHandleKey<xAOD::MuonContainer> m_MuonContainerKey {this, "MuonContainerName", "Muons", "Offline muon container"};
441  SG::ReadHandleKey<xAOD::L2StandAloneMuonContainer> m_L2MuonSAContainerKey {this, "L2StandAloneMuonContainerName", "HLT_MuonL2SAInfo", "L2MuonSA container"};
442  SG::ReadHandleKey<xAOD::L2CombinedMuonContainer> m_L2muCombContainerKey {this, "L2CombinedMuonContainerName", "HLT_MuonL2CBInfo", "L2muComb container"};
443  SG::ReadHandleKey<xAOD::MuonContainer> m_EFSAMuonContainerKey {this, "EFSAMuonContainerName", "HLT_Muons_RoI", "EFSAMuon container"};
444  SG::ReadHandleKey<xAOD::MuonContainer> m_EFCBMuonContainerKey {this, "EFCBMuonContainerName", "HLT_MuonsCB_RoI", "EFCBMuon container"};
445  SG::ReadHandleKey<xAOD::MuonContainer> m_EFSAFSMuonContainerKey {this, "EFSAFSMuonContainerName", "HLT_Muons_FS", "EFSAFSMuon container"};
446  SG::ReadHandleKey<xAOD::MuonContainer> m_EFCBFSMuonContainerKey {this, "EFCBFSMuonContainerName", "HLT_MuonsCB_FS", "EFCBFSMuon container"};
447  SG::ReadHandleKey<xAOD::TrackParticleContainer> m_MStrackContainerKey {this, "ExtrapolatedMStrackConntainner", "HLT_MSExtrapolatedMuons_RoITrackParticles", "ExtrapolatedMuons track container"};
448  SG::ReadHandleKey<xAOD::TrackParticleContainer> m_CBtrackContainerKey {this, "CBtrackContainerName", "HLT_CBCombinedMuon_RoITrackParticles", "CombinedMuon track container"};
449 
450  // properties
451  Gaudi::Property<bool> m_use_extrapolator {this, "UseExtrapolator", false, "Flag to enable the extrapolator for matching offline and trigger muons"};
452 
453  // tools
454  PublicToolHandle<Trig::TrigDecisionTool> m_trigDec {this, "TrigDecisionTool", "Trig::TrigDecisionTool/TrigDecisionTool", "TrigDecisionTool"};
455  PublicToolHandle<Trk::IExtrapolator> m_extrapolator {"Trk::Extrapolator/AtlasExtrapolator"};
456  //The extrapolator is currently not available. Once it gets available, initialize it with the following, which attempts to retrieve:
457  //{this, "Extrapolator", "Trk::Extrapolator/AtlasExtrapolator", "Track extrapolator"};
458 };
459 
460 #include "MuonMatchingTool.icc"
461 
462 #endif //TRIGMUONMONITORING_MUONMATCHINGTOOL_H
MuonMatchingTool::matchEFIso
const xAOD::Muon * matchEFIso(const xAOD::Muon *mu, std::string trigger, bool &pass) const
Function that searches for an EF isolation muon (EFIso) candidate and judges if it is matched to a gi...
Definition: MuonMatchingTool.cxx:224
MuonMatchingTool::L1B_MU8F
@ L1B_MU8F
Definition: MuonMatchingTool.h:351
MuonMatchingTool::matchReadHandle
const T * matchReadHandle(const OFFL *offl, float reqdR, SG::ReadHandleKey< DataVector< T > > ReadHandleKey, const EventContext &ctx, std::tuple< bool, double, double >(*trigPosForMatchFunc)(const T *)=&MuonMatchingTool::trigPosForMatch< T >) const
Function that searches for an online muon candidate of type T by ReadHandle and judges if it is match...
TrackParameters.h
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:64
MuonMatchingTool::searchL2SALinkInfo
const TrigCompositeUtils::LinkInfo< xAOD::L2StandAloneMuonContainer > searchL2SALinkInfo(const xAOD::Muon *mu, std::string trigger) const
Function that searches for the L2 standalone muon (L2MuonSA) candidate closest to a given offline muo...
Definition: MuonMatchingTool.cxx:288
MuonMatchingTool::L1B_MU3V
@ L1B_MU3V
Definition: MuonMatchingTool.h:351
MuonMatchingTool::m_L2CBreqdR
const float m_L2CBreqdR
Definition: MuonMatchingTool.h:362
xAOD::L2StandAloneMuon_v2
Class describing standalone muons reconstructed in the LVL2 trigger.
Definition: L2StandAloneMuon_v2.h:36
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
xAODP4Helpers.h
MuonRoIContainer.h
MuonMatchingTool::m_EFreqdR
const float m_EFreqdR
Definition: MuonMatchingTool.h:364
MuonMatchingTool::m_extrapolator
PublicToolHandle< Trk::IExtrapolator > m_extrapolator
Definition: MuonMatchingTool.h:455
MuonMatchingTool::L1B_MU14FCHR
@ L1B_MU14FCHR
Definition: MuonMatchingTool.h:351
MuonMatchingTool::match
const T * match(const OFFL *offl, std::string trigger, float reqdR, bool &pass, const std::string &containerSGKey="", std::tuple< bool, double, double >(*trigPosForMatchFunc)(const T *)=&MuonMatchingTool::trigPosForMatch< T >) const
Function that searches for an online muon candidate of type T and judges if it is matched to a given ...
MuonMatchingTool::m_MStrackContainerKey
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_MStrackContainerKey
Definition: MuonMatchingTool.h:447
python.Constants.ERROR
int ERROR
Definition: Control/AthenaCommon/python/Constants.py:18
MuonMatchingTool::L1ItemStringToInt
int L1ItemStringToInt(const std::string &l1item, int roiSource) const
Definition: MuonMatchingTool.h:352
MuonMatchingTool::searchL2CBLinkInfo
const TrigCompositeUtils::LinkInfo< xAOD::L2CombinedMuonContainer > searchL2CBLinkInfo(const xAOD::Muon *mu, std::string trigger) const
Function that searches for the L2 combined muon (L2muComb) candidate closest to a given offline muon.
Definition: MuonMatchingTool.cxx:322
MuonMatchingTool::matchEFCBReadHandle
const xAOD::Muon * matchEFCBReadHandle(const EventContext &ctx, const xAOD::Muon *mu) const
Function that searches for an EF combined muon (EFCB) candidate by ReadHandle and judges if it is mat...
Definition: MuonMatchingTool.cxx:142
L2StandAloneMuonContainer.h
IExtrapolator.h
TrigDecisionTool.h
MuonMatchingTool::trigPosForMatchSATrack
static std::tuple< bool, double, double > trigPosForMatchSATrack(const xAOD::Muon *mu)
Definition: MuonMatchingTool.cxx:53
MuonMatchingTool::m_EFCBFSMuonContainerKey
SG::ReadHandleKey< xAOD::MuonContainer > m_EFCBFSMuonContainerKey
Definition: MuonMatchingTool.h:446
MuonMatchingTool::isMatchedL2SA
bool isMatchedL2SA(const xAOD::L2StandAloneMuon *, const xAOD::Muon *) const
Definition: MuonMatchingTool.cxx:402
MuonMatchingTool::extTrackToRPC
const Trk::TrackParameters * extTrackToRPC(const xAOD::TrackParticle *track) const
Definition: MuonMatchingTool.cxx:503
MuonMatchingTool::L1Items
L1Items
Definition: MuonMatchingTool.h:351
SG::ReadHandleKey< xAOD::TrackParticleContainer >
MuonMatchingTool::matchL2SAReadHandle
const xAOD::L2StandAloneMuon * matchL2SAReadHandle(const EventContext &ctx, const xAOD::Muon *mu) const
Function that searches for an L2 standalone muon (L2MuonSA) candidate by ReadHandle and judges if it ...
Definition: MuonMatchingTool.cxx:294
x
#define x
MuonMatchingTool::matchEFSAFSLinkInfo
const TrigCompositeUtils::LinkInfo< xAOD::MuonContainer > matchEFSAFSLinkInfo(const xAOD::Muon *mu, std::string trig) const
Function that searches for an EF standalone muon (EFSAFS) candidate and judges if it is matched to a ...
Definition: MuonMatchingTool.cxx:168
MuonMatchingTool::matchL2CB
const xAOD::L2CombinedMuon * matchL2CB(const xAOD::Muon *mu, std::string trigger, bool &pass) const
Function that searches for an L2 combined muon (L2muComb) candidate and judges if it is matched to a ...
Definition: MuonMatchingTool.cxx:317
MuonMatchingTool::matchL2SAtoOff
const xAOD::Muon * matchL2SAtoOff(const EventContext &ctx, const xAOD::L2StandAloneMuon *samu) const
Function that searches for an offline muon matched to L2SA muon.
Definition: MuonMatchingTool.cxx:393
MuonMatchingTool::PosForMatchSATrack
static std::tuple< bool, double, double > PosForMatchSATrack(const xAOD::Muon *mu)
Definition: MuonMatchingTool.cxx:61
xAOD::Muon_v1
Class describing a Muon.
Definition: Muon_v1.h:38
MuonMatchingTool::extTrackToPivot
const Trk::TrackParameters * extTrackToPivot(const xAOD::TrackParticle *track) const
Function to extrapolate a Inner Detector track to the pivot plane i.e.
Definition: MuonMatchingTool.cxx:430
MuonMatchingTool::m_CBtrackContainerKey
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_CBtrackContainerKey
Definition: MuonMatchingTool.h:448
MuonMatchingTool::matchLinkInfo
const TrigCompositeUtils::LinkInfo< DataVector< T > > matchLinkInfo(const OFFL *offl, std::string trigger, float reqdR, bool &pass, const std::string &containerSGKey="", std::tuple< bool, double, double >(*trigPosForMatchFunc)(const T *)=&MuonMatchingTool::trigPosForMatch< T >) const
Function that searches for an online muon candidate of type T closest to a given offline muon.
xAOD::L2CombinedMuon_v1
Class describing combined muon reconstructed in the LVL2 trigger.
Definition: L2CombinedMuon_v1.h:41
MuonMatchingTool.icc
MuonMatchingTool::FermiFunction
static double FermiFunction(double x, double x0, double w)
Definition: MuonMatchingTool.cxx:424
MuonMatchingTool::matchL2CBReadHandle
const xAOD::L2CombinedMuon * matchL2CBReadHandle(const EventContext &ctx, const xAOD::Muon *mu) const
Function that searches for an L2 combined muon (L2muComb) candidate by ReadHandle and judges if it is...
Definition: MuonMatchingTool.cxx:328
MuonMatchingTool::m_L2MuonSAContainerKey
SG::ReadHandleKey< xAOD::L2StandAloneMuonContainer > m_L2MuonSAContainerKey
Definition: MuonMatchingTool.h:441
MuonMatchingTool::m_EFSAFSMuonContainerKey
SG::ReadHandleKey< xAOD::MuonContainer > m_EFSAFSMuonContainerKey
Definition: MuonMatchingTool.h:445
MuonMatchingTool::L1E_MU14FCHR
@ L1E_MU14FCHR
Definition: MuonMatchingTool.h:351
MuonMatchingTool::ERROR
@ ERROR
Definition: MuonMatchingTool.h:351
MuonMatchingTool::matchL2CBtoOff
const xAOD::Muon * matchL2CBtoOff(const EventContext &ctx, const xAOD::L2CombinedMuon *cbmu) const
Function that searches for an offline muon matched to L2CB muon.
Definition: MuonMatchingTool.cxx:397
MuonMatchingTool::isMatchedL2CB
bool isMatchedL2CB(const xAOD::L2CombinedMuon *, const xAOD::Muon *) const
Definition: MuonMatchingTool.cxx:414
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
xAOD::TruthParticle_v1
Class describing a truth particle in the MC record.
Definition: TruthParticle_v1.h:41
MuonMatchingTool::L1E_MU8F
@ L1E_MU8F
Definition: MuonMatchingTool.h:351
MuonMatchingTool::m_L2InsideOutreqdR
const float m_L2InsideOutreqdR
Definition: MuonMatchingTool.h:363
MuonMatchingTool::L1B_MU14FCH
@ L1B_MU14FCH
Definition: MuonMatchingTool.h:351
AthAlgTool.h
MuonMatchingTool::m_L2muCombContainerKey
SG::ReadHandleKey< xAOD::L2CombinedMuonContainer > m_L2muCombContainerKey
Definition: MuonMatchingTool.h:442
MuonMatchingTool::m_trigDec
PublicToolHandle< Trig::TrigDecisionTool > m_trigDec
Definition: MuonMatchingTool.h:454
MuonMatchingTool::initialize
virtual StatusCode initialize() override
Definition: MuonMatchingTool.cxx:19
xAOD::MuonRoI_v1
Class describing a LVL1 muon region of interest.
Definition: MuonRoI_v1.h:33
test_pyathena.parent
parent
Definition: test_pyathena.py:15
MuonMatchingTool::L1B_MU5VF
@ L1B_MU5VF
Definition: MuonMatchingTool.h:351
MuonMatchingTool::matchL1
const xAOD::MuonRoI * matchL1(const xAOD::Muon *mu, const std::string &trigger, bool &pass) const
Function that searches for a Level 1 muon candidate and judges if it is matched to a given offline mu...
Definition: MuonMatchingTool.cxx:369
Trk::ParametersBase
Definition: ParametersBase.h:55
DataVector< T >
MuonMatchingTool
Class that provides functionalities for searching for online muons close to a given offline muon and ...
Definition: MuonMatchingTool.h:28
MuonMatchingTool::matchEFCBFSReadHandle
const xAOD::Muon * matchEFCBFSReadHandle(const EventContext &ctx, const xAOD::Muon *mu) const
Function that searches for an EF combined muon (EFCBFS) candidate by ReadHandle and judges if it is m...
Definition: MuonMatchingTool.cxx:218
MuonMatchingTool::matchEFCBFS
const xAOD::Muon * matchEFCBFS(const xAOD::Muon *mu, std::string trigger, bool &pass) const
Function that searches for an EF combined muon (EFCBFS) candidate and judges if it is matched to a gi...
Definition: MuonMatchingTool.cxx:203
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
MuonMatchingTool::offlineMuonAtPivot
const Amg::Vector3D offlineMuonAtPivot(const xAOD::Muon *mu) const
Definition: MuonMatchingTool.cxx:40
MuonMatchingTool::L1E_MU14FCH
@ L1E_MU14FCH
Definition: MuonMatchingTool.h:351
MuonMatchingTool::MuonMatchingTool
MuonMatchingTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: MuonMatchingTool.cxx:14
MuonMatchingTool::m_use_extrapolator
Gaudi::Property< bool > m_use_extrapolator
Definition: MuonMatchingTool.h:451
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
MuonMatchingTool::matchEFSA
const xAOD::Muon * matchEFSA(const xAOD::Muon *mu, std::string trigger, bool &pass) const
Function that searches for an EF standalone muon (EFSA) candidate and judges if it is matched to a gi...
Definition: MuonMatchingTool.cxx:72
MuonMatchingTool::m_MuonContainerKey
SG::ReadHandleKey< xAOD::MuonContainer > m_MuonContainerKey
Definition: MuonMatchingTool.h:440
MuonContainer.h
MuonMatchingTool::PosForMatchCBTrack
static std::tuple< bool, double, double > PosForMatchCBTrack(const xAOD::Muon *mu)
Definition: MuonMatchingTool.cxx:66
TrackParticle.h
TrigCompositeUtils::LinkInfo
Helper to keep a Decision object, ElementLink and ActiveState (with respect to some requested ChainGr...
Definition: LinkInfo.h:28
MuonMatchingTool::trigPosForMatchCBTrack
static std::tuple< bool, double, double > trigPosForMatchCBTrack(const xAOD::Muon *mu)
Definition: MuonMatchingTool.cxx:57
MuonMatchingTool::matchEFSAReadHandle
const xAOD::Muon * matchEFSAReadHandle(const EventContext &ctx, const xAOD::Muon *mu) const
Function that searches for an EF standalone muon (EFSA) candidate by ReadHandle and judges if it is m...
Definition: MuonMatchingTool.cxx:108
MuonMatchingTool::m_EFCBMuonContainerKey
SG::ReadHandleKey< xAOD::MuonContainer > m_EFCBMuonContainerKey
Definition: MuonMatchingTool.h:444
MuonMatchingTool::matchEFCB
const xAOD::Muon * matchEFCB(const xAOD::Muon *mu, std::string trigger, bool &pass) const
Function that searches for an EF combined muon (EFCB) candidate and judges if it is matched to a give...
Definition: MuonMatchingTool.cxx:127
MuonMatchingTool::matchL2SA
const xAOD::L2StandAloneMuon * matchL2SA(const xAOD::Muon *mu, const std::string &trigger, bool &pass) const
Function that searches for an L2 standalone muon (L2MuonSA) candidate and judges if it is matched to ...
Definition: MuonMatchingTool.cxx:275
MuonMatchingTool::SearchEFTrack
const xAOD::TrackParticle * SearchEFTrack(const EventContext &ctx, const TrigCompositeUtils::LinkInfo< xAOD::MuonContainer > &muLinkInfo, const SG::ReadHandleKey< xAOD::TrackParticleContainer > &ReadHandleKey) const
Function that searches for an EF muon track (e.g.
Definition: MuonMatchingTool.cxx:236
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
MuonMatchingTool::isMatchedL2InsideOut
bool isMatchedL2InsideOut(const xAOD::L2CombinedMuon *, const xAOD::Muon *) const
Definition: MuonMatchingTool.cxx:419
MuonMatchingTool::matchEFCBLinkInfo
const TrigCompositeUtils::LinkInfo< xAOD::MuonContainer > matchEFCBLinkInfo(const xAOD::Muon *mu, std::string trig) const
Function that searches for an EF combined muon (EFCB) candidate and judges if it is matched to a give...
Definition: MuonMatchingTool.cxx:134
MuonMatchingTool::extTrackToTGC
const Trk::TrackParameters * extTrackToTGC(const xAOD::TrackParticle *track) const
Definition: MuonMatchingTool.cxx:479
MuonMatchingTool::matchEFCBFSLinkInfo
const TrigCompositeUtils::LinkInfo< xAOD::MuonContainer > matchEFCBFSLinkInfo(const xAOD::Muon *mu, std::string trig) const
Function that searches for an EF combined muon (EFCBFS) candidate and judges if it is matched to a gi...
Definition: MuonMatchingTool.cxx:210
MuonMatchingTool::m_EFSAMuonContainerKey
SG::ReadHandleKey< xAOD::MuonContainer > m_EFSAMuonContainerKey
Definition: MuonMatchingTool.h:443
MuonMatchingTool::matchEFSALinkInfo
const TrigCompositeUtils::LinkInfo< xAOD::MuonContainer > matchEFSALinkInfo(const xAOD::Muon *mu, std::string trig) const
Function that searches for an EF standalone muon (EFSA) candidate and judges if it is matched to a gi...
Definition: MuonMatchingTool.cxx:92
MuonMatchingTool::L1E_MU3V
@ L1E_MU3V
Definition: MuonMatchingTool.h:351
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
MuonMatchingTool::matchEFIsoLinkInfo
const TrigCompositeUtils::LinkInfo< xAOD::MuonContainer > matchEFIsoLinkInfo(const xAOD::Muon *mu, std::string trig) const
Function that searches for an EF isolation muon (EFIso) candidate and judges if it is matched to a gi...
Definition: MuonMatchingTool.cxx:266
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
MuonMatchingTool::m_L2SAreqdR
const float m_L2SAreqdR
Definition: MuonMatchingTool.h:361
AthAlgTool
Definition: AthAlgTool.h:26
python.IoTestsLib.w
def w
Definition: IoTestsLib.py:200
TruthParticle.h
MuonMatchingTool::L1E_MU5VF
@ L1E_MU5VF
Definition: MuonMatchingTool.h:351
CaloNoise_fillDB.mu
mu
Definition: CaloNoise_fillDB.py:53
MuonMatchingTool::matchOff
const xAOD::Muon * matchOff(const EventContext &ctx, const T *trig, float reqdR, std::tuple< bool, double, double >(*offlinePosForMatchFunc)(const xAOD::Muon *), std::tuple< bool, double, double >(*trigPosForMatchFunc)(const T *)=&MuonMatchingTool::trigPosForMatch< T >) const
Function that searches for an offline muon candidate matched to online muon of type T.
MuonMatchingTool::matchEFSAFSReadHandle
const xAOD::Muon * matchEFSAFSReadHandle(const EventContext &ctx, const xAOD::Muon *mu) const
Function that searches for an EF standalone muon (EFSAFS) candidate by ReadHandle and judges if it is...
Definition: MuonMatchingTool.cxx:184
MuonMatchingTool::m_MuonRoIContainerKey
SG::ReadHandleKey< xAOD::MuonRoIContainer > m_MuonRoIContainerKey
Definition: MuonMatchingTool.h:439
TSU::T
unsigned long long T
Definition: L1TopoDataTypes.h:35
PhysDESDM_Quirks.trigger
trigger
Definition: PhysDESDM_Quirks.py:27
MuonMatchingTool::reqdRL1byPt
static double reqdRL1byPt(double mupt)
Function compute dR used for matching offline muons and level 1 RoIs at the pivot plane.
Definition: MuonMatchingTool.cxx:520
MuonMatchingTool::matchEFSAFS
const xAOD::Muon * matchEFSAFS(const xAOD::Muon *mu, std::string trigger, bool &pass) const
Function that searches for an EF FS standalone muon (EFSAFS) candidate and judges if it is matched to...
Definition: MuonMatchingTool.cxx:148
MuonMatchingTool::trigPosForMatch
static std::tuple< bool, double, double > trigPosForMatch(const T *trig)