ATLAS Offline Software
Loading...
Searching...
No Matches
MuidTrackIsolation.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
13
14#ifndef MUIDCALOISOLATIONTOOLS_MUIDTRACKISOLATION_H
15#define MUIDCALOISOLATIONTOOLS_MUIDTRACKISOLATION_H
16
18
20
23
26
27
28namespace Trk {
29 class Surface;
30}
31
32namespace Rec {
33
34 class MuidTrackIsolation : public extends<AthAlgTool, IMuidTrackIsolation> {
35 public:
36 using base_class::base_class;
37 virtual ~MuidTrackIsolation() = default; // destructor
38
39 StatusCode initialize() override;
40
44 std::pair<int, double> trackIsolation(const EventContext& ctx, double eta, double phi) const override;
45
46 private:
47 // isolation without extrapolation to calo
48 std::pair<int, double> trackVertex(const xAOD::TrackParticleContainer* indetTracks, double eta, double phi) const;
49
50 // isolation performing extrapolation to calo
51 std::pair<int, double> trackExtrapolated(const xAOD::TrackParticleContainer* indetTracks, double eta, double phi) const;
52
54 std::unique_ptr<const Trk::Surface> m_caloBackwardDisc;
55 std::unique_ptr<const Trk::Surface> m_caloCylinder;
56 std::unique_ptr<const Trk::Surface> m_caloForwardDisc;
57 double m_etaSafetyFactor{0.1};
58 SG::ReadHandleKey<xAOD::TrackParticleContainer> m_inDetTracksLocation{this, "InDetTracksLocation", "InDetTrackParticles", "ID tracks"};
59
61
62 ToolHandle<Trk::IIntersector> m_intersector{this, "RungeKuttaIntersector", "Trk::RungeKuttaIntersector/RungeKuttaIntersector"};
63 Gaudi::Property<double> m_minPt{this, "MinPt", 1.0 * Gaudi::Units::GeV};
64 Gaudi::Property<double> m_trackCone{this, "TrackCone", 0.2};
65 double m_trackCone2{0.};
66 Gaudi::Property<bool> m_trackExtrapolation{this, "TrackExtrapolation", false};
67 };
68
69} // namespace Rec
70
71#endif // MUIDCALOISOLATIONTOOLS_MUIDTRACKISOLATION_H
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Property holding a SG store/key/clid from which a ReadHandle is made.
std::pair< int, double > trackIsolation(const EventContext &ctx, double eta, double phi) const override
IMuidTrackIsolation interface: get the number of tracks and summed momentum in a cone at the producti...
Gaudi::Property< double > m_minPt
std::unique_ptr< const Trk::Surface > m_caloForwardDisc
std::unique_ptr< const Trk::Surface > m_caloBackwardDisc
Gaudi::Property< double > m_trackCone
virtual ~MuidTrackIsolation()=default
ToolHandle< Trk::IIntersector > m_intersector
Gaudi::Property< bool > m_trackExtrapolation
std::pair< int, double > trackVertex(const xAOD::TrackParticleContainer *indetTracks, double eta, double phi) const
std::pair< int, double > trackExtrapolated(const xAOD::TrackParticleContainer *indetTracks, double eta, double phi) const
SG::ReadDecorHandleKey< xAOD::TrackParticleContainer > m_trackLinkKey
std::unique_ptr< const Trk::Surface > m_caloCylinder
StatusCode initialize() override
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_inDetTracksLocation
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Property holding a SG store/key/clid from which a ReadHandle is made.
Gaudi Tools.
Ensure that the ATLAS eigen extensions are properly loaded.
TrackParticleContainer_v1 TrackParticleContainer
Definition of the current "TrackParticle container version".