ATLAS Offline Software
MuidTrackIsolation.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
12 
14 #ifndef MUIDCALOISOLATIONTOOLS_MUIDTRACKISOLATION_H
15 #define MUIDCALOISOLATIONTOOLS_MUIDTRACKISOLATION_H
16 
18 #include "GaudiKernel/ToolHandle.h"
23 
24 namespace Trk {
25  class Surface;
26 }
27 
28 namespace Rec {
29 
30  class MuidTrackIsolation : public AthAlgTool, virtual public IMuidTrackIsolation {
31  public:
32  MuidTrackIsolation(const std::string& type, const std::string& name, const IInterface* parent);
33  virtual ~MuidTrackIsolation(void) = default; // destructor
34 
35  StatusCode initialize() override;
36 
40  std::pair<int, double> trackIsolation(const EventContext& ctx, double eta, double phi) const override;
41 
42  private:
43  // isolation without extrapolation to calo
44  std::pair<int, double> trackVertex(const TrackCollection* indetTracks, double eta, double phi) const;
45 
46  // isolation performing extrapolation to calo
47  std::pair<int, double> trackExtrapolated(const TrackCollection* indetTracks, double eta, double phi) const;
48 
49  double m_barrelCotTheta{};
50  std::unique_ptr<const Trk::Surface> m_caloBackwardDisc;
51  std::unique_ptr<const Trk::Surface> m_caloCylinder;
52  std::unique_ptr<const Trk::Surface> m_caloForwardDisc;
54  SG::ReadHandleKey<TrackCollection> m_inDetTracksLocation{this, "InDetTracksLocation", "Tracks", "ID tracks"};
55  // FIXME: mutable
56  ToolHandle<Trk::IIntersector> m_intersector{this, "RungeKuttaIntersector", "Trk::RungeKuttaIntersector/RungeKuttaIntersector"};
57  Gaudi::Property<double> m_minPt{this, "MinPt", 1.0 * Gaudi::Units::GeV};
58  Gaudi::Property<double> m_trackCone{this, "TrackCone", 0.2};
59  double m_trackCone2{0.};
60  Gaudi::Property<bool> m_trackExtrapolation{this, "TrackExtrapolation", false};
61  };
62 
63 } // namespace Rec
64 
65 #endif // MUIDCALOISOLATIONTOOLS_MUIDTRACKISOLATION_H
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
GeV
#define GeV
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/Root/HelperFunctions.cxx:17
Rec::MuidTrackIsolation::m_minPt
Gaudi::Property< double > m_minPt
Definition: MuidTrackIsolation.h:57
Surface
Definition: Trigger/TrigAccel/TrigCudaFitter/src/Surface.h:8
Rec::MuidTrackIsolation::m_caloForwardDisc
std::unique_ptr< const Trk::Surface > m_caloForwardDisc
Definition: MuidTrackIsolation.h:52
Rec::MuidTrackIsolation::m_etaSafetyFactor
double m_etaSafetyFactor
Definition: MuidTrackIsolation.h:53
Rec::IMuidTrackIsolation
Definition: IMuidTrackIsolation.h:28
Rec::MuidTrackIsolation::trackExtrapolated
std::pair< int, double > trackExtrapolated(const TrackCollection *indetTracks, double eta, double phi) const
Definition: MuidTrackIsolation.cxx:135
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
Rec::MuidTrackIsolation::m_trackExtrapolation
Gaudi::Property< bool > m_trackExtrapolation
Definition: MuidTrackIsolation.h:60
IMuidTrackIsolation.h
Rec::MuidTrackIsolation::trackIsolation
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...
Definition: MuidTrackIsolation.cxx:65
Rec::MuidTrackIsolation::trackVertex
std::pair< int, double > trackVertex(const TrackCollection *indetTracks, double eta, double phi) const
Definition: MuidTrackIsolation.cxx:101
Rec::MuidTrackIsolation::initialize
StatusCode initialize() override
Definition: MuidTrackIsolation.cxx:35
Rec
Name: MuonSpContainer.h Package : offline/Reconstruction/MuonIdentification/muonEvent.
Definition: FakeTrackBuilder.h:10
Rec::MuidTrackIsolation::m_trackCone2
double m_trackCone2
Definition: MuidTrackIsolation.h:59
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
TrackCollection.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
Rec::MuidTrackIsolation::m_trackCone
Gaudi::Property< double > m_trackCone
Definition: MuidTrackIsolation.h:58
Rec::MuidTrackIsolation::MuidTrackIsolation
MuidTrackIsolation(const std::string &type, const std::string &name, const IInterface *parent)
Definition: MuidTrackIsolation.cxx:28
DataVector< Trk::Track >
Rec::MuidTrackIsolation::~MuidTrackIsolation
virtual ~MuidTrackIsolation(void)=default
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Rec::MuidTrackIsolation::m_intersector
ToolHandle< Trk::IIntersector > m_intersector
Definition: MuidTrackIsolation.h:56
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
Rec::MuidTrackIsolation::m_caloCylinder
std::unique_ptr< const Trk::Surface > m_caloCylinder
Definition: MuidTrackIsolation.h:51
IIntersector.h
Rec::MuidTrackIsolation
Definition: MuidTrackIsolation.h:30
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
Rec::MuidTrackIsolation::m_caloBackwardDisc
std::unique_ptr< const Trk::Surface > m_caloBackwardDisc
Definition: MuidTrackIsolation.h:50
AthAlgTool
Definition: AthAlgTool.h:26
Rec::MuidTrackIsolation::m_inDetTracksLocation
SG::ReadHandleKey< TrackCollection > m_inDetTracksLocation
Definition: MuidTrackIsolation.h:54
Rec::MuidTrackIsolation::m_barrelCotTheta
double m_barrelCotTheta
Definition: MuidTrackIsolation.h:49