ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkAlignment
TrkAlignGenTools
TrkAlignGenTools
AlignResidualCalculator.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef TRKALIGNGENTOOLS_ALIGNRESIDUALCALCULATOR_H
6
#define TRKALIGNGENTOOLS_ALIGNRESIDUALCALCULATOR_H
7
8
#include "
AthenaBaseComps/AthAlgTool.h
"
9
#include "GaudiKernel/ToolHandle.h"
10
#include "
AthContainers/DataVector.h
"
11
12
#include "
TrkAlignInterfaces/IAlignResidualCalculator.h
"
13
14
#include "
TrkToolInterfaces/IResidualPullCalculator.h
"
15
#include "
TrkToolInterfaces/IUpdator.h
"
16
#include "
TrkAlignEvent/AlignResidualType.h
"
17
28
29
class
AtlasDetectorID
;
30
31
namespace
Trk
{
32
33
class
AlignTrack
;
34
class
ResidualPull;
35
class
Track
;
36
class
AlignTSOS
;
37
class
TrackStateOnSurface;
38
39
class
AlignResidualCalculator
:
public
AthAlgTool
,
virtual
public
IAlignResidualCalculator
{
40
41
public
:
42
43
AlignResidualCalculator
(
const
std::string&
type
,
const
std::string& name,
44
const
IInterface* parent);
45
virtual
~AlignResidualCalculator
();
46
47
virtual
StatusCode
initialize
()
override
;
48
virtual
StatusCode
finalize
()
override
;
49
51
virtual
double
setResiduals
(
DataVector<AlignTSOS>
* alignTSOSColl,
52
const
Track
* track)
override
;
53
55
virtual
double
setResiduals
(
AlignTrack
* alignTrack,
56
const
Track
* track)
override
;
57
59
virtual
double
setResiduals
(
DataVector<AlignTSOS>::iterator
firstAtsos,
60
DataVector<AlignTSOS>::iterator
lastAtsos,
61
const
Track
* track,
bool
newTrack)
override
;
62
64
virtual
double
chi2ForMeasType
(
int
measType)
const override
65
{
return
m_chi2ForMeasType
[measType]; }
66
67
private
:
68
69
double
setResidualsOnATSOS
(
AlignTSOS
* atsos,
const
TrackStateOnSurface
* tsos);
70
void
accumulateScattering
(
const
TrackStateOnSurface
* tsos);
71
const
TrackStateOnSurface
*
getMatchingTSOS
(
const
AlignTSOS
* atsos,
const
Track
* track);
72
73
ToolHandle <IResidualPullCalculator>
m_pullCalculator
{
74
this
,
"ResidualPullCalculator"
,
"Trk::ResidualPullCalculator/ResidualPullCalculator"
};
75
ToolHandle <IUpdator>
m_updator
{
76
this
,
"UpdatorTool"
,
"Trk::KalmanUpdator/TrkKalmanUpdator"
};
77
78
IntegerProperty
m_resType
{
79
this
,
"ResidualType"
,
Trk::AlignResidualType::HitOnly
,
80
"residual type as defined in the Trk::AlignResidualType enum"
};
81
82
BooleanProperty
m_includeScatterers
{
this
,
"IncludeScatterers"
,
false
};
83
double
m_qOverP
{};
84
double
m_previousQOverP
{};
85
86
int
m_nDoF
{};
87
88
double
*
m_chi2ForMeasType
=
nullptr
;
89
90
std::vector<const TrackStateOnSurface*>
m_matchedTSOS
;
91
92
};
93
94
95
}
96
97
#endif
// TRKALIGNGENTOOLS_ALIGNRESIDUALCALCULATOR_H
AlignResidualType.h
AthAlgTool.h
DataVector.h
An STL vector of pointers that by default owns its pointed-to elements.
IAlignResidualCalculator.h
IResidualPullCalculator.h
IUpdator.h
AlignTSOS
AlignTSOS is a TSOS with extra variables useful for alignment.
AlignTrack
AlignTrack is a generalization of a Trk::Track, used as the basic object to contain track information...
AthAlgTool::AthAlgTool
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Definition
AthAlgTool.cxx:16
AtlasDetectorID
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Definition
AtlasDetectorID.h:53
DataVector
Derived DataVector<T>.
Definition
DataVector.h:795
DataVector::iterator
DataModel_detail::iterator< DataVector > iterator
Standard iterator.
Definition
DataVector.h:842
Trk::AlignResidualCalculator::getMatchingTSOS
const TrackStateOnSurface * getMatchingTSOS(const AlignTSOS *atsos, const Track *track)
Definition
AlignResidualCalculator.cxx:310
Trk::AlignResidualCalculator::m_updator
ToolHandle< IUpdator > m_updator
Definition
AlignResidualCalculator.h:75
Trk::AlignResidualCalculator::m_nDoF
int m_nDoF
Definition
AlignResidualCalculator.h:86
Trk::AlignResidualCalculator::accumulateScattering
void accumulateScattering(const TrackStateOnSurface *tsos)
Definition
AlignResidualCalculator.cxx:290
Trk::AlignResidualCalculator::initialize
virtual StatusCode initialize() override
Definition
AlignResidualCalculator.cxx:37
Trk::AlignResidualCalculator::setResiduals
virtual double setResiduals(DataVector< AlignTSOS > *alignTSOSColl, const Track *track) override
sets residuals for AlignTSOS on AlignTrack and returns total chi2
Trk::AlignResidualCalculator::m_chi2ForMeasType
double * m_chi2ForMeasType
Definition
AlignResidualCalculator.h:88
Trk::AlignResidualCalculator::m_pullCalculator
ToolHandle< IResidualPullCalculator > m_pullCalculator
Definition
AlignResidualCalculator.h:73
Trk::AlignResidualCalculator::m_matchedTSOS
std::vector< const TrackStateOnSurface * > m_matchedTSOS
Definition
AlignResidualCalculator.h:90
Trk::AlignResidualCalculator::AlignResidualCalculator
AlignResidualCalculator(const std::string &type, const std::string &name, const IInterface *parent)
Definition
AlignResidualCalculator.cxx:24
Trk::AlignResidualCalculator::finalize
virtual StatusCode finalize() override
Definition
AlignResidualCalculator.cxx:61
Trk::AlignResidualCalculator::m_includeScatterers
BooleanProperty m_includeScatterers
Definition
AlignResidualCalculator.h:82
Trk::AlignResidualCalculator::m_qOverP
double m_qOverP
Definition
AlignResidualCalculator.h:83
Trk::AlignResidualCalculator::setResiduals
virtual double setResiduals(DataVector< AlignTSOS >::iterator firstAtsos, DataVector< AlignTSOS >::iterator lastAtsos, const Track *track, bool newTrack) override
sets residuals for AlignTSOS on AlignTrack and returns total chi2
Trk::AlignResidualCalculator::setResidualsOnATSOS
double setResidualsOnATSOS(AlignTSOS *atsos, const TrackStateOnSurface *tsos)
Definition
AlignResidualCalculator.cxx:130
Trk::AlignResidualCalculator::~AlignResidualCalculator
virtual ~AlignResidualCalculator()
Definition
AlignResidualCalculator.cxx:31
Trk::AlignResidualCalculator::m_previousQOverP
double m_previousQOverP
Definition
AlignResidualCalculator.h:84
Trk::AlignResidualCalculator::m_resType
IntegerProperty m_resType
Definition
AlignResidualCalculator.h:78
Trk::AlignResidualCalculator::chi2ForMeasType
virtual double chi2ForMeasType(int measType) const override
returns chi2 summed over hits of a particular MeasurementType
Definition
AlignResidualCalculator.h:64
Trk::AlignTSOS
Definition
AlignTSOS.h:37
Trk::AlignTrack
Definition
AlignTrack.h:41
Trk::IAlignResidualCalculator
Definition
IAlignResidualCalculator.h:35
Trk::TrackStateOnSurface
represents the track state (measurement, material, fit parameters and quality) at a surface.
Definition
TrackStateOnSurface.h:71
Track
Definition
TriggerChamberClusterOnTrackCreator.h:19
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition
FakeTrackBuilder.h:9
Trk::HitOnly
@ HitOnly
Definition
AlignResidualType.h:27
type
Generated on
for ATLAS Offline Software by
1.17.0