ATLAS Offline Software
Loading...
Searching...
No Matches
TrigMuonEFTrackIsolationTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TRIGMUONEF_TRIGMUONEFTRACKISOLATIONTOOL_H
6#define TRIGMUONEF_TRIGMUONEFTRACKISOLATIONTOOL_H
7
10#include "xAODMuon/Muon.h"
13
23
24 public:
25
27 TrigMuonEFTrackIsolationTool(const std::string& type, const std::string& name, const IInterface* parent);
28
30 virtual StatusCode initialize() override;
31
32 // Do the isolation calculation for an EF muon
33 virtual
34 StatusCode calcTrackIsolation(const xAOD::Muon* efmuon, const xAOD::TrackParticleContainer* idtrks, const std::vector<double>& conesizes, std::vector<double>& results, std::vector<double>* dzvals, std::vector<double>* drvals, std::vector<double>* selfremoval) const override;
35
36 private:
37
38 bool m_debug;
39
42
45
48
51
54
56 ToolHandle<InDet::IInDetTrackSelectionTool> m_trkSelTool;
57
58 StatusCode checkIsolation(const xAOD::IParticle* muon, double selfpt, const xAOD::TrackParticle* muon_idtrk, const Trk::Perigee* muidtrk_perigee, const xAOD::TrackParticleContainer* trks, std::vector<double> conesizes, std::vector<double>& results, std::vector<double>* dzvals, std::vector<double>* drvals, std::vector<double>* selfremoval) const;
59
60
61};//class TrigMuonEFTrackIsolationTool
62
63
64#endif //TRIGMUONEF_TRIGMUONEFTRACKISOLATIONTOOL_H
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Interface for EF muon track isolation tools.
StatusCode checkIsolation(const xAOD::IParticle *muon, double selfpt, const xAOD::TrackParticle *muon_idtrk, const Trk::Perigee *muidtrk_perigee, const xAOD::TrackParticleContainer *trks, std::vector< double > conesizes, std::vector< double > &results, std::vector< double > *dzvals, std::vector< double > *drvals, std::vector< double > *selfremoval) const
ToolHandle< InDet::IInDetTrackSelectionTool > m_trkSelTool
Track selection tool.
double m_annulusSize
size of the annulus within which we ignore tracks
bool m_useAnnulus
flag to determine if we should use an inner annulus
virtual StatusCode initialize() override
initialize the tool
TrigMuonEFTrackIsolationTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor.
bool m_removeSelf
flag to determine whether to remove pT of muon track from the calculation
double m_deltaz_cut
cut between z of muon id trk and z of id trks - < 0 means no cut
virtual StatusCode calcTrackIsolation(const xAOD::Muon *efmuon, const xAOD::TrackParticleContainer *idtrks, const std::vector< double > &conesizes, std::vector< double > &results, std::vector< double > *dzvals, std::vector< double > *drvals, std::vector< double > *selfremoval) const override
Sum the track pT in cones around the muon.
bool m_useVarIso
flag to determine if we want to use offline isolation variables
Class providing the definition of the 4-vector interface.
ParametersT< TrackParametersDim, Charged, PerigeeSurface > Perigee
TrackParticle_v1 TrackParticle
Reference the current persistent version:
TrackParticleContainer_v1 TrackParticleContainer
Definition of the current "TrackParticle container version".
Muon_v1 Muon
Reference the current persistent version: