ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigAlgorithms
TrigT2BeamSpot
src
T2TrackClusterer.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
/**********************************************************************************
6
*
7
* @version: $Id: T2TrackClusterer.h 793164 2017-01-20 03:59:26Z ssnyder $
8
*
9
* @project: HLT, PESA algorithms
10
* @package: TrigT2BeamSpot
11
* @class : T2TrackClusterer
12
*
13
* @brief Auxiliary class that clusters tracks in a TrackCollection
14
* in Z around a seed track
15
*
16
* @author Rainer Bartoldus, SLAC, <bartoldu@slac.stanford.edu>
17
* @author David W. Miller, SLAC/Stanford University, <David.W.Miller@cern.ch>
18
*
19
**********************************************************************************/
20
21
#ifndef TRIGT2BEAMSPOT_T2TRACKCLUSTERER_H
22
#define TRIGT2BEAMSPOT_T2TRACKCLUSTERER_H
23
24
#include <string>
25
#include <vector>
26
#include <utility>
27
29
#include "
AthContainers/ConstDataVector.h
"
30
#include "
TrkTrack/Track.h
"
31
#include "
TrkTrack/TrackCollection.h
"
32
#include "GaudiKernel/SystemOfUnits.h"
33
//using Gaudi::Units::GeV;
34
//using Gaudi::Units::mm;
35
36
namespace
InDet
{
class
BeamSpotData
; }
37
38
namespace
PESA
39
{
40
41
class
T2TrackClusterer
42
{
43
public
:
44
45
using
TrackVector
= std::vector<const Trk::Track*>;
46
47
// option for calculating track perigee parameters
48
enum
TrackPerigee
{
49
perigee_original
,
// Use original track perigee parameters, usually means
50
// perigee w.r.t. coordinate system origin x,y=0,0
51
perigee_beamspot
,
// Perigee to a beamspot position, ignoring tilt
52
perigee_beamline
,
// Perigee to a beam line, including tilt
53
};
54
55
// convert string to above enum value
56
static
TrackPerigee
trackPerigeeFromString
(
const
std::string& perigeeStr);
57
58
// Constructor
59
T2TrackClusterer
(
double
deltaZ = 10.*Gaudi::Units::mm,
double
minPT = 1.*Gaudi::Units::GeV,
60
bool
weightedZ =
true
,
unsigned
maxSize = 10000.,
61
TrackPerigee
trackPerigee =
perigee_original
)
62
:
m_deltaZ
( deltaZ )
63
,
m_minPT
( minPT )
64
,
m_weightedZ
( weightedZ )
65
,
m_maxSize
( maxSize )
66
,
m_trackPerigee
( trackPerigee )
67
{}
68
75
const
TrackVector
&
cluster
(
const
TrackVector
& tracks,
const
InDet::BeamSpotData
* beamspot =
nullptr
);
76
78
double
seedZ0
()
const
{
return
m_seedZ0
; }
79
81
double
totalZ0Err
()
const
{
return
m_totalZ0Err
; }
82
85
const
TrackVector
&
clusterTracks
()
const
{
return
m_cluster
; }
86
89
const
TrackVector
&
unusedTracks
()
const
{
return
m_unusedTracks
; }
90
91
private
:
92
93
double
trackWeight
(
const
Trk::Track
& track)
const
;
94
95
// return perigee z0 for a track
96
double
trackPerigeeZ0
(
const
Trk::Track
& track,
const
InDet::BeamSpotData
* beamspot)
const
;
97
98
// Data members
99
const
double
m_deltaZ
;
100
const
double
m_minPT
;
101
const
bool
m_weightedZ
;
102
const
unsigned
m_maxSize
;
103
const
TrackPerigee
m_trackPerigee
=
perigee_original
;
104
105
double
m_seedZ0
= 0.;
106
double
m_totalZ0Err
= 0.;
107
108
TrackVector
m_cluster
;
109
TrackVector
m_unusedTracks
;
110
};
111
112
}
// end namespace
113
114
#endif
ConstDataVector.h
DataVector adapter that acts like it holds const pointers.
TrackCollection.h
Track.h
InDet::BeamSpotData
Definition
BeamSpotData.h:21
PESA::T2TrackClusterer::m_cluster
TrackVector m_cluster
Definition
T2TrackClusterer.h:108
PESA::T2TrackClusterer::seedZ0
double seedZ0() const
Z0 position of a seed track that was used for clustering.
Definition
T2TrackClusterer.h:78
PESA::T2TrackClusterer::TrackVector
std::vector< const Trk::Track * > TrackVector
Definition
T2TrackClusterer.h:45
PESA::T2TrackClusterer::T2TrackClusterer
T2TrackClusterer(double deltaZ=10.*Gaudi::Units::mm, double minPT=1.*Gaudi::Units::GeV, bool weightedZ=true, unsigned maxSize=10000., TrackPerigee trackPerigee=perigee_original)
Definition
T2TrackClusterer.h:59
PESA::T2TrackClusterer::m_trackPerigee
const TrackPerigee m_trackPerigee
Definition
T2TrackClusterer.h:103
PESA::T2TrackClusterer::m_totalZ0Err
double m_totalZ0Err
Definition
T2TrackClusterer.h:106
PESA::T2TrackClusterer::unusedTracks
const TrackVector & unusedTracks() const
Tracks that were not included into cluster, have to be called after return from a clustering method.
Definition
T2TrackClusterer.h:89
PESA::T2TrackClusterer::m_maxSize
const unsigned m_maxSize
Definition
T2TrackClusterer.h:102
PESA::T2TrackClusterer::m_weightedZ
const bool m_weightedZ
Definition
T2TrackClusterer.h:101
PESA::T2TrackClusterer::trackPerigeeFromString
static TrackPerigee trackPerigeeFromString(const std::string &perigeeStr)
Definition
T2TrackClusterer.cxx:28
PESA::T2TrackClusterer::clusterTracks
const TrackVector & clusterTracks() const
This is the same vector as returned from clustering method, have to be called after return from a clu...
Definition
T2TrackClusterer.h:85
PESA::T2TrackClusterer::m_seedZ0
double m_seedZ0
Definition
T2TrackClusterer.h:105
PESA::T2TrackClusterer::trackWeight
double trackWeight(const Trk::Track &track) const
Definition
T2TrackClusterer.cxx:42
PESA::T2TrackClusterer::m_minPT
const double m_minPT
Definition
T2TrackClusterer.h:100
PESA::T2TrackClusterer::cluster
const TrackVector & cluster(const TrackVector &tracks, const InDet::BeamSpotData *beamspot=nullptr)
Find one cluster in a set of tracks.
Definition
T2TrackClusterer.cxx:50
PESA::T2TrackClusterer::trackPerigeeZ0
double trackPerigeeZ0(const Trk::Track &track, const InDet::BeamSpotData *beamspot) const
Definition
T2TrackClusterer.cxx:97
PESA::T2TrackClusterer::totalZ0Err
double totalZ0Err() const
Uncertainty of Z0 position of a cluster.
Definition
T2TrackClusterer.h:81
PESA::T2TrackClusterer::TrackPerigee
TrackPerigee
Definition
T2TrackClusterer.h:48
PESA::T2TrackClusterer::perigee_beamspot
@ perigee_beamspot
Definition
T2TrackClusterer.h:51
PESA::T2TrackClusterer::perigee_original
@ perigee_original
Definition
T2TrackClusterer.h:49
PESA::T2TrackClusterer::perigee_beamline
@ perigee_beamline
Definition
T2TrackClusterer.h:52
PESA::T2TrackClusterer::m_deltaZ
const double m_deltaZ
Definition
T2TrackClusterer.h:99
PESA::T2TrackClusterer::m_unusedTracks
TrackVector m_unusedTracks
Definition
T2TrackClusterer.h:109
Trk::Track
The ATLAS Track class.
Definition
Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:73
InDet
Primary Vertex Finder.
Definition
VP1ErrorUtils.h:36
PESA
Local tools.
Definition
idx.h:9
Generated on
for ATLAS Offline Software by
1.17.0