ATLAS Offline Software
Loading...
Searching...
No Matches
IMuonTrackQuery.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef MUIDINTERFACES_IMUONTRACKQUERY_H
6#define MUIDINTERFACES_IMUONTRACKQUERY_H
7
8#include <memory> //for unique_ptr
9
10#include "GaudiKernel/IAlgTool.h"
11#include "TrkParameters/TrackParameters.h" //typedef, cannot fwd declare
12
13class CaloEnergy;
14namespace Trk {
15 class Track;
16}
17
18namespace Rec {
19
20 class FieldIntegral;
22
29 class IMuonTrackQuery : virtual public IAlgTool {
30 public:
32 virtual ~IMuonTrackQuery() = default;
33 static const InterfaceID& interfaceID() {
34 static const InterfaceID IID_IMuonTrackQuery("IMuonTrackQuery", 1, 0);
35 return IID_IMuonTrackQuery;
36 }
37
40 virtual const CaloEnergy* caloEnergy(const Trk::Track& track) const = 0;
41
44 virtual double caloEnergyDeposit(const Trk::Track& track, const EventContext& ctx) const = 0;
45
48 virtual FieldIntegral fieldIntegral(const Trk::Track& track, const EventContext& ctx) const = 0;
49
52 virtual bool isCaloAssociated(const Trk::Track& track, const EventContext& ctx) const = 0;
53
56 virtual bool isCombined(const Trk::Track& track, const EventContext& ctx) const = 0;
57
60 virtual bool isExtrapolated(const Trk::Track& track, const EventContext& ctx) const = 0;
61
64 virtual bool isLineFit(const Trk::Track& track) const = 0;
65
68 virtual bool isProjective(const Trk::Track& track) const = 0;
69
72 virtual bool isSectorOverlap(const Trk::Track& track) const = 0;
73
76 virtual bool isSlimmed(const Trk::Track& track) const = 0;
77
80 virtual double momentumBalanceSignificance(const Trk::Track& track, const EventContext& ctx) const = 0;
81
84 virtual unsigned numberPseudoMeasurements(const Trk::Track& track) const = 0;
85
88 virtual std::unique_ptr<const Trk::Perigee> outgoingPerigee(const Trk::Track& track) const = 0;
89
92 virtual ScatteringAngleSignificance scatteringAngleSignificance(const Trk::Track& track, const EventContext& ctx) const = 0;
93
96 virtual std::unique_ptr<Trk::TrackParameters> spectrometerParameters(const Trk::Track& track, const EventContext& ctx) const = 0;
97
100 // virtual unsigned spectrometerPhiQuality(const Trk::Track& track) const = 0;
101 virtual unsigned spectrometerPhiQuality(const Trk::Track& track, const EventContext& ctx) const = 0;
102
105 virtual std::unique_ptr<const Trk::TrackParameters> triggerStationParameters(const Trk::Track& track,
106 const EventContext& ctx) const = 0;
107 };
108
109} // namespace Rec
110
111#endif // MUIDINTERFACES_IMUONTRACKQUERY_H
class extending the basic Trk::EnergyLoss to describe the measured or parameterised muon energy loss ...
Definition CaloEnergy.h:28
lightweight return data-object for field integral track query
Base class for MuonTrackQuery AlgTool.
virtual bool isProjective(const Trk::Track &track) const =0
IMuonTrackQuery interface: is track (roughly) projective towards IP?
virtual double caloEnergyDeposit(const Trk::Track &track, const EventContext &ctx) const =0
IMuonTrackQuery interface: track energy deposit in calorimeters (as fitted or otherwise applied)
virtual double momentumBalanceSignificance(const Trk::Track &track, const EventContext &ctx) const =0
IMuonTrackQuery interface: significance of momentum balance for combined tracks (biassed residual)
static const InterfaceID & interfaceID()
AlgTool and IAlgTool interface methods.
virtual std::unique_ptr< const Trk::TrackParameters > triggerStationParameters(const Trk::Track &track, const EventContext &ctx) const =0
IMuonTrackQuery interface: trackParameters at innermost trigger chamber TSOS in MS.
virtual unsigned numberPseudoMeasurements(const Trk::Track &track) const =0
IMuonTrackQuery interface: number of PseudoMeasurements on track (counts one for any vertex measureme...
virtual bool isExtrapolated(const Trk::Track &track, const EventContext &ctx) const =0
IMuonTrackQuery interface: does track have measurements in spectrometer and parameters but not measur...
virtual bool isLineFit(const Trk::Track &track) const =0
IMuonTrackQuery interface: does track have fitted curvature ?
virtual unsigned spectrometerPhiQuality(const Trk::Track &track, const EventContext &ctx) const =0
IMuonTrackQuery interface: assess the number of additional phi measurements needed for MS (or SA) tra...
virtual bool isSectorOverlap(const Trk::Track &track) const =0
IMuonTrackQuery interface: is there a long/short chamber overlap?
virtual bool isCaloAssociated(const Trk::Track &track, const EventContext &ctx) const =0
IMuonTrackQuery interface: does track have at least 3 TSOS's representing calorimeter ?
virtual ScatteringAngleSignificance scatteringAngleSignificance(const Trk::Track &track, const EventContext &ctx) const =0
IMuonTrackQuery interface: significance of inner scattering angle pattern for unslimmed tracks (wider...
virtual bool isCombined(const Trk::Track &track, const EventContext &ctx) const =0
IMuonTrackQuery interface: does track have measurements from indet and spectrometer ?
virtual const CaloEnergy * caloEnergy(const Trk::Track &track) const =0
IMuonTrackQuery interface: caloEnergy from appropriate TSOS.
virtual ~IMuonTrackQuery()=default
Virtual destructor.
virtual std::unique_ptr< const Trk::Perigee > outgoingPerigee(const Trk::Track &track) const =0
IMuonTrackQuery interface: perigee expressed outgoing from IP.
virtual FieldIntegral fieldIntegral(const Trk::Track &track, const EventContext &ctx) const =0
IMuonTrackQuery interface: field integral along track from momentum kick between measurements.
virtual bool isSlimmed(const Trk::Track &track) const =0
IMuonTrackQuery interface: does track have TrackParameters at every TSOS ?
virtual std::unique_ptr< Trk::TrackParameters > spectrometerParameters(const Trk::Track &track, const EventContext &ctx) const =0
IMuonTrackQuery interface: trackParameters at innermost measurement TSOS in MS.
lightweight return data-object for (mainly indet) scattering angle analysis by track query
Gaudi Tools.
Ensure that the ATLAS eigen extensions are properly loaded.