ATLAS Offline Software
Loading...
Searching...
No Matches
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
13#include "GaudiKernel/ServiceHandle.h"
14#include "GaudiKernel/ToolHandle.h"
18#include "MuonAlignmentData/MuonAlignmentErrorData.h" // for accessing info from the DB
22
23namespace Trk {
24 class RIO_OnTrack;
25}
26
27namespace MuonAlign {
28
30 public:
31
32 AlignmentErrorTool(const std::string&, const std::string&,
33 const IInterface*);
34 ~AlignmentErrorTool() override = default;
35
36 StatusCode initialize() override;
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 //
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
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
void makeAlignmentDeviations(const Trk::Track &track, std::vector< Trk::AlignmentDeviation * > &deviations) const override
Compute alignment deviations, given a track as input.
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
ToolHandle< MuonCalib::IIdToFixedIdTool > m_idTool
AlignmentErrorTool(const std::string &, const std::string &, const IInterface *)
~AlignmentErrorTool() override=default
SG::ReadCondHandleKey< MuonAlignmentErrorData > m_readKey
Interface for tool to add alignmenties to a global chi2 fit.
Class to handle RIO On Tracks ROT) for InDet and Muons, it inherits from the common MeasurementBase.
Definition RIO_OnTrack.h:70
Eigen::Matrix< double, 3, 1 > Vector3D
Ensure that the ATLAS eigen extensions are properly loaded.
std::vector< const Trk::RIO_OnTrack * > hits