ATLAS Offline Software
Loading...
Searching...
No Matches
PFTrackClusterMatchingTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5/*
6 * PFMatchingTool.h
7 *
8 * Created on: 15.04.2014
9 * Author: tlodd
10 */
11
13
14#ifndef EFLOWREC_PFTRACKCLUSTERMATCHINGTOOL_H
15#define EFLOWREC_PFTRACKCLUSTERMATCHINGTOOL_H
16
17#include <utility>
18#include "PFMatcher.h"
19#include "CLHEP/Units/SystemOfUnits.h"
21
23
24class eflowRecCluster;
25class eflowRecTrack;
28
29static const InterfaceID IID_PFTrackClusterMatchingTool("PFTrackClusterMatchingTool", 1, 0);
30
35
36public:
37 PFTrackClusterMatchingTool(const std::string& type, const std::string& name, const IInterface* parent);
39
40 static const InterfaceID& interfaceID();
41
42 StatusCode initialize();
43 StatusCode finalize();
44
46 std::vector<std::pair<eflowRecCluster*, float>> doMatches(
47 const eflowRecTrack* track,
49 int n) const;
50 std::vector<std::pair<eflowRecCluster*, float>> doMatches(
51 const eflowRecTrack* track,
52 std::vector<eflowRecCluster*>& clusters,
53 int n) const;
54
55private:
56
58 Gaudi::Property<std::string> m_trackPositionType{this, "TrackPositionType", "EM2EtaPhi"};
60 Gaudi::Property<std::string> m_clusterPositionType{this, "ClusterPositionType", "GeomCenterEtaPhi"};
62 Gaudi::Property<std::string> m_distanceType{this, "DistanceType", "EtaPhiSquareSignificance"};
64 Gaudi::Property<double> m_matchCut{this, "MatchCut", 1.64*1.64};
65
67 std::unique_ptr<PFMatch::TrackClusterMatcher> m_matcher;
68
70 ToolHandle<GenericMonitoringTool> m_monTool{this,"MonTool_ClusterMatching","","Monitoring tool"};
71
72 const float m_invGeV = 1./CLHEP::GeV;
73};
74
76
77
78#endif /* EFLOWREC_PFTRACKCLUSTERMATCHINGTOOL_H */
Header file to be included by clients of the Monitored infrastructure.
static const InterfaceID IID_PFTrackClusterMatchingTool("PFTrackClusterMatchingTool", 1, 0)
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Gaudi::Property< double > m_matchCut
The cut value on the distance measure.
ToolHandle< GenericMonitoringTool > m_monTool
Online monitoring tool for recording histograms of the alg in action.
Gaudi::Property< std::string > m_clusterPositionType
The type of cluster position to be used for matching.
std::vector< std::pair< eflowRecCluster *, float > > doMatches(const eflowRecTrack *track, eflowRecClusterContainer *clusters, int n) const
Get n clusters that matches best to a given track.
Gaudi::Property< std::string > m_trackPositionType
The type of track position to be used for matching.
static const InterfaceID & interfaceID()
std::unique_ptr< PFMatch::TrackClusterMatcher > m_matcher
The track cluster matcher to perform the actual matching.
Gaudi::Property< std::string > m_distanceType
The type of distance measure to be used for matching.
PFTrackClusterMatchingTool(const std::string &type, const std::string &name, const IInterface *parent)
This class, which inherits from the pure virtual ICluster, stores a pointer to an eflowRecCluster.
This class extends the information about a xAOD::CaloCluster.
This class extends the information about a xAOD::Track.