ATLAS Offline Software
Loading...
Searching...
No Matches
IMuonMatchQuality.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// get quality of combined track match
8
9#ifndef MUIDINTERFACES_IMUONMATCHQUALITY_H
10#define MUIDINTERFACES_IMUONMATCHQUALITY_H
11
12#include "GaudiKernel/IAlgTool.h"
13#include "TrkTrack/Track.h"
14
15namespace Rec {
16
23 class IMuonMatchQuality : virtual public IAlgTool {
24 public:
26 virtual ~IMuonMatchQuality() = default;
27
29 static const InterfaceID& interfaceID() {
30 static const InterfaceID IID_IMuonMatchQuality("IMuonMatchQuality", 1, 0);
31 return IID_IMuonMatchQuality;
32 }
33
37 virtual double innerMatchChi2(const Trk::Track& track1, const Trk::Track& track2, const EventContext& ctx) const = 0;
38
41 virtual int innerMatchDOF(const Trk::Track& track1, const Trk::Track& track2) const = 0;
42
45 virtual double innerMatchProbability(const Trk::Track& track1, const Trk::Track& track2, const EventContext& ctx) const = 0;
46
49 virtual std::pair<int, std::pair<double, double> > innerMatchAll(const Trk::Track& track1, const Trk::Track& track2,
50 const EventContext& ctx) const = 0;
51
55 virtual double outerMatchChi2(const Trk::Track& track1, const Trk::Track& track2, const EventContext& ctx) const = 0;
56
59 virtual int outerMatchDOF(const Trk::Track& track1, const Trk::Track& track2) const = 0;
60
63 virtual double outerMatchProbability(const Trk::Track& track1, const Trk::Track& track2, const EventContext& ctx) const = 0;
64
67 virtual bool shareOrigin(const Trk::Track& track1, const Trk::Track& track2) const = 0;
68
71 virtual double simpleChi2(const Trk::Track& track1, const Trk::Track& track2, const EventContext& ctx) const = 0;
72 };
73
74} // namespace Rec
75
76#endif // MUIDINTERFACES_IMUONMATCHQUALITY_H
Base class for MuonMatchQuality AlgTool.
virtual double innerMatchChi2(const Trk::Track &track1, const Trk::Track &track2, const EventContext &ctx) const =0
IMuonMatchQuality interface: match chiSquared between two tracks expressed at same inner (IP) surface...
static const InterfaceID & interfaceID()
AlgTool and IAlgTool interface methods.
virtual double simpleChi2(const Trk::Track &track1, const Trk::Track &track2, const EventContext &ctx) const =0
IMuonMatchQuality interface: as inner match chiSquared but simplified to just use diagonal errors.
virtual std::pair< int, std::pair< double, double > > innerMatchAll(const Trk::Track &track1, const Trk::Track &track2, const EventContext &ctx) const =0
IMuonMatchQuality interface: degrees of freedom, chi2, probability for chi2 match at IP.
virtual double innerMatchProbability(const Trk::Track &track1, const Trk::Track &track2, const EventContext &ctx) const =0
IMuonMatchQuality interface: match probability for chi2 match at IP.
virtual bool shareOrigin(const Trk::Track &track1, const Trk::Track &track2) const =0
IMuonMatchQuality interface: check the track perigee parameters are expressed at the same surface.
virtual double outerMatchProbability(const Trk::Track &track1, const Trk::Track &track2, const EventContext &ctx) const =0
IMuonMatchQuality interface: match probability for chi2 match at first MS hit.
virtual int outerMatchDOF(const Trk::Track &track1, const Trk::Track &track2) const =0
IMuonMatchQuality interface: degrees of freedom for chi2 match at first MS hit.
virtual double outerMatchChi2(const Trk::Track &track1, const Trk::Track &track2, const EventContext &ctx) const =0
IMuonMatchQuality interface: match chiSquared between two tracks expressed at first muon spectrometer...
virtual ~IMuonMatchQuality()=default
Virtual destructor.
virtual int innerMatchDOF(const Trk::Track &track1, const Trk::Track &track2) const =0
IMuonMatchQuality interface: degrees of freedom for chi2 match at IP.
Gaudi Tools.