ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonAlignment
MuonAlignError
MuonAlignErrorTool
src
AlignmentErrorTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef MUONALIGNERRORTOOL_ALIGNMENTERRORTOOL_H
6
#define MUONALIGNERRORTOOL_ALIGNMENTERRORTOOL_H
7
8
#include <iosfwd>
9
#include <string>
10
#include <boost/regex.hpp>
11
12
#include "
AthenaBaseComps/AthAlgTool.h
"
13
#include "GaudiKernel/ServiceHandle.h"
14
#include "GaudiKernel/ToolHandle.h"
15
#include "
GeoPrimitives/GeoPrimitives.h
"
16
#include "
MuonAlignErrorBase/AlignmentDeviation.h
"
17
#include "
MuonCalibITools/IIdToFixedIdTool.h
"
18
#include "
MuonAlignmentData/MuonAlignmentErrorData.h
"
// for accessing info from the DB
19
#include "
MuonIdHelpers/IMuonIdHelperSvc.h
"
20
#include "
StoreGate/ReadCondHandleKey.h
"
21
#include "
TrkToolInterfaces/ITrkAlignmentDeviationTool.h
"
22
23
namespace
Trk
{
24
class
RIO_OnTrack
;
25
}
26
27
namespace
MuonAlign
{
28
29
class
AlignmentErrorTool
:
public
Trk::ITrkAlignmentDeviationTool
,
virtual
public
AthAlgTool
{
30
public
:
31
32
AlignmentErrorTool
(
const
std::string&,
const
std::string&,
33
const
IInterface*);
34
~AlignmentErrorTool
()
override
=
default
;
35
36
StatusCode
initialize
()
override
;
37
void
makeAlignmentDeviations
(
38
const
Trk::Track
& track,
39
std::vector<Trk::AlignmentDeviation*>& deviations)
const override
;
40
41
private
:
42
ToolHandle<MuonCalib::IIdToFixedIdTool>
m_idTool
{
this
,
"idTool"
,
"MuonCalib::IdToFixedIdTool"
};
43
ServiceHandle<Muon::IMuonIdHelperSvc>
m_idHelperSvc
{
this
,
"MuonIdHelperSvc"
,
"Muon::MuonIdHelperSvc/MuonIdHelperSvc"
};
44
45
// Struct for per-Station Deviations Information //
46
struct
deviationSummary_t
{
47
// SYSTEMATIC UNCERTAINTIES
48
double
translation
{0.0};
49
double
rotation
{0.0};
50
// RULE
51
boost::regex
stationName
{
""
};
52
boost::regex
multilayer
{
""
};
53
// SET OF HITS SATISFYING THE RULE
54
std::vector<const Trk::RIO_OnTrack*>
hits
{};
55
// USEFUL NUMBERS
56
Amg::Vector3D
sumP
{Amg::Vector3D::Zero()};
57
Amg::Vector3D
sumU
{Amg::Vector3D::Zero()};
58
Amg::Vector3D
sumV
{Amg::Vector3D::Zero()};
59
double
sumW2
{0.0};
60
};
61
62
SG::ReadCondHandleKey<MuonAlignmentErrorData>
m_readKey
{
this
,
"ReadKey"
,
"MuonAlignmentErrorData"
,
"Key of MuonAlignmentErrorData"
};
63
};
64
}
// namespace MuonAlign
65
66
#endif
AlignmentDeviation.h
AthAlgTool.h
GeoPrimitives.h
IIdToFixedIdTool.h
IMuonIdHelperSvc.h
ITrkAlignmentDeviationTool.h
MuonAlignmentErrorData.h
ReadCondHandleKey.h
AthAlgTool::AthAlgTool
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Definition
AthAlgTool.cxx:16
MuonAlign::AlignmentErrorTool::makeAlignmentDeviations
void makeAlignmentDeviations(const Trk::Track &track, std::vector< Trk::AlignmentDeviation * > &deviations) const override
Compute alignment deviations, given a track as input.
Definition
AlignmentErrorTool.cxx:43
MuonAlign::AlignmentErrorTool::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition
AlignmentErrorTool.h:43
MuonAlign::AlignmentErrorTool::m_idTool
ToolHandle< MuonCalib::IIdToFixedIdTool > m_idTool
Definition
AlignmentErrorTool.h:42
MuonAlign::AlignmentErrorTool::initialize
StatusCode initialize() override
Definition
AlignmentErrorTool.cxx:32
MuonAlign::AlignmentErrorTool::AlignmentErrorTool
AlignmentErrorTool(const std::string &, const std::string &, const IInterface *)
Definition
AlignmentErrorTool.cxx:28
MuonAlign::AlignmentErrorTool::~AlignmentErrorTool
~AlignmentErrorTool() override=default
MuonAlign::AlignmentErrorTool::m_readKey
SG::ReadCondHandleKey< MuonAlignmentErrorData > m_readKey
Definition
AlignmentErrorTool.h:62
SG::ReadCondHandleKey
Definition
ReadCondHandleKey.h:21
ServiceHandle
Definition
ClusterMakerTool.h:36
Trk::ITrkAlignmentDeviationTool
Interface for tool to add alignmenties to a global chi2 fit.
Definition
ITrkAlignmentDeviationTool.h:24
Trk::RIO_OnTrack
Class to handle RIO On Tracks ROT) for InDet and Muons, it inherits from the common MeasurementBase.
Definition
RIO_OnTrack.h:70
Trk::Track
The ATLAS Track class.
Definition
Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:73
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition
GeoPrimitives.h:47
MuonAlign
Definition
AlignmentRotationDeviation.h:10
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition
FakeTrackBuilder.h:9
MuonAlign::AlignmentErrorTool::deviationSummary_t
Definition
AlignmentErrorTool.h:46
MuonAlign::AlignmentErrorTool::deviationSummary_t::rotation
double rotation
Definition
AlignmentErrorTool.h:49
MuonAlign::AlignmentErrorTool::deviationSummary_t::multilayer
boost::regex multilayer
Definition
AlignmentErrorTool.h:52
MuonAlign::AlignmentErrorTool::deviationSummary_t::sumW2
double sumW2
Definition
AlignmentErrorTool.h:59
MuonAlign::AlignmentErrorTool::deviationSummary_t::sumP
Amg::Vector3D sumP
Definition
AlignmentErrorTool.h:56
MuonAlign::AlignmentErrorTool::deviationSummary_t::hits
std::vector< const Trk::RIO_OnTrack * > hits
Definition
AlignmentErrorTool.h:54
MuonAlign::AlignmentErrorTool::deviationSummary_t::translation
double translation
Definition
AlignmentErrorTool.h:48
MuonAlign::AlignmentErrorTool::deviationSummary_t::sumV
Amg::Vector3D sumV
Definition
AlignmentErrorTool.h:58
MuonAlign::AlignmentErrorTool::deviationSummary_t::stationName
boost::regex stationName
Definition
AlignmentErrorTool.h:51
MuonAlign::AlignmentErrorTool::deviationSummary_t::sumU
Amg::Vector3D sumU
Definition
AlignmentErrorTool.h:57
Generated on
for ATLAS Offline Software by
1.17.0