ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
eflowRec
src
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
12
#include "
AthenaBaseComps/AthAlgTool.h
"
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"
20
#include "
AthenaMonitoringKernel/Monitored.h
"
21
22
#include "
AsgTools/PropertyWrapper.h
"
23
24
class
eflowRecCluster
;
25
class
eflowRecTrack
;
26
class
eflowRecClusterContainer
;
27
class
eflowMatchCluster
;
28
29
static
const
InterfaceID
IID_PFTrackClusterMatchingTool
(
"PFTrackClusterMatchingTool"
, 1, 0);
30
34
class
PFTrackClusterMatchingTool
:
public
AthAlgTool
{
35
36
public
:
37
PFTrackClusterMatchingTool
(
const
std::string&
type
,
const
std::string& name,
const
IInterface* parent);
38
virtual
~PFTrackClusterMatchingTool
() { }
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,
48
eflowRecClusterContainer
* clusters,
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
55
private
:
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
75
inline
const
InterfaceID&
PFTrackClusterMatchingTool::interfaceID
() {
return
IID_PFTrackClusterMatchingTool
; }
76
77
78
#endif
/* EFLOWREC_PFTRACKCLUSTERMATCHINGTOOL_H */
AthAlgTool.h
Monitored.h
Header file to be included by clients of the Monitored infrastructure.
PFMatcher.h
IID_PFTrackClusterMatchingTool
static const InterfaceID IID_PFTrackClusterMatchingTool("PFTrackClusterMatchingTool", 1, 0)
PropertyWrapper.h
AthAlgTool::AthAlgTool
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Definition
AthAlgTool.cxx:16
PFTrackClusterMatchingTool::initialize
StatusCode initialize()
Definition
PFTrackClusterMatchingTool.cxx:30
PFTrackClusterMatchingTool::m_matchCut
Gaudi::Property< double > m_matchCut
The cut value on the distance measure.
Definition
PFTrackClusterMatchingTool.h:64
PFTrackClusterMatchingTool::m_monTool
ToolHandle< GenericMonitoringTool > m_monTool
Online monitoring tool for recording histograms of the alg in action.
Definition
PFTrackClusterMatchingTool.h:70
PFTrackClusterMatchingTool::m_clusterPositionType
Gaudi::Property< std::string > m_clusterPositionType
The type of cluster position to be used for matching.
Definition
PFTrackClusterMatchingTool.h:60
PFTrackClusterMatchingTool::m_invGeV
const float m_invGeV
Definition
PFTrackClusterMatchingTool.h:72
PFTrackClusterMatchingTool::doMatches
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.
Definition
PFTrackClusterMatchingTool.cxx:49
PFTrackClusterMatchingTool::m_trackPositionType
Gaudi::Property< std::string > m_trackPositionType
The type of track position to be used for matching.
Definition
PFTrackClusterMatchingTool.h:58
PFTrackClusterMatchingTool::interfaceID
static const InterfaceID & interfaceID()
Definition
PFTrackClusterMatchingTool.h:75
PFTrackClusterMatchingTool::m_matcher
std::unique_ptr< PFMatch::TrackClusterMatcher > m_matcher
The track cluster matcher to perform the actual matching.
Definition
PFTrackClusterMatchingTool.h:67
PFTrackClusterMatchingTool::m_distanceType
Gaudi::Property< std::string > m_distanceType
The type of distance measure to be used for matching.
Definition
PFTrackClusterMatchingTool.h:62
PFTrackClusterMatchingTool::PFTrackClusterMatchingTool
PFTrackClusterMatchingTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition
PFTrackClusterMatchingTool.cxx:22
PFTrackClusterMatchingTool::finalize
StatusCode finalize()
Definition
PFTrackClusterMatchingTool.cxx:43
PFTrackClusterMatchingTool::~PFTrackClusterMatchingTool
virtual ~PFTrackClusterMatchingTool()
Definition
PFTrackClusterMatchingTool.h:38
eflowMatchCluster
This class, which inherits from the pure virtual ICluster, stores a pointer to an eflowRecCluster.
Definition
eflowRecCluster.h:140
eflowRecClusterContainer
Definition
eflowRecCluster.h:275
eflowRecCluster
This class extends the information about a xAOD::CaloCluster.
Definition
eflowRecCluster.h:40
eflowRecTrack
This class extends the information about a xAOD::Track.
Definition
eflowRecTrack.h:49
type
Generated on
for ATLAS Offline Software by
1.17.0