ATLAS Offline Software
Loading...
Searching...
No Matches
PFTrackClusterMatchingTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 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 PFMATCHINGTOOL_H_
15#define PFMATCHINGTOOL_H_
16
17#include <utility>
18#include "eflowRec/PFMatcher.h"
19#include "CLHEP/Units/SystemOfUnits.h"
21
22class eflowRecCluster;
23class eflowRecTrack;
26
27static const InterfaceID IID_PFTrackClusterMatchingTool("PFTrackClusterMatchingTool", 1, 0);
28
33
34public:
35 PFTrackClusterMatchingTool(const std::string& type, const std::string& name, const IInterface* parent);
37
38 static const InterfaceID& interfaceID();
39
40 StatusCode initialize();
41 StatusCode finalize();
42
44 std::vector<std::pair<eflowRecCluster*, float>> doMatches(
45 const eflowRecTrack* track,
47 int n) const;
48 std::vector<std::pair<eflowRecCluster*, float>> doMatches(
49 const eflowRecTrack* track,
50 std::vector<eflowRecCluster*>& clusters,
51 int n) const;
52
53private:
54
60 std::string m_distanceType;
62 double m_matchCut;
63
65 std::unique_ptr<PFMatch::TrackClusterMatcher> m_matcher;
66
68 ToolHandle<GenericMonitoringTool> m_monTool{this,"MonTool_ClusterMatching","","Monitoring tool"};
69
70 const float m_invGeV = 1./CLHEP::GeV;
71};
72
74
75
76#endif /* PFMATCHINGTOOL_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:
std::string m_distanceType
The type of distance measure to be used for matching.
std::string m_trackPositionType
The type of track position to be used for matching.
ToolHandle< GenericMonitoringTool > m_monTool
Online monitoring tool for recording histograms of the alg in action.
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.
static const InterfaceID & interfaceID()
std::string m_clusterPositionType
The type of cluster position to be used for matching.
std::unique_ptr< PFMatch::TrackClusterMatcher > m_matcher
The track cluster matcher to perform the actual matching.
PFTrackClusterMatchingTool(const std::string &type, const std::string &name, const IInterface *parent)
double m_matchCut
The cut value on the distance measure.
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.