|
ATLAS Offline Software
|
#include <CalibSegmentChi2Minimizer.h>
Definition at line 21 of file CalibSegmentChi2Minimizer.h.
◆ HitType
◆ HitVec
◆ CalibSegmentChi2Minimizer()
Constructor taking the input hits to fit.
Beam spot constraint
Definition at line 19 of file CalibSegmentChi2Minimizer.cxx.
29 m_hits{std::move(
hits)},
34 for (
const HitType& hit : m_hits) {
44 m_nMeas += hit->spacePoint()->measuresEta();
45 m_nMeas += hit->spacePoint()->measuresPhi();
46 m_hasPhi |= hit->spacePoint()->measuresPhi();
54 std::ranges::sort(m_hits,
56 return a->positionInChamber().
z() <
b->positionInChamber().z();
◆ chi2Terms()
std::vector<double> MuonR4::CalibSegmentChi2Minimizer::chi2Terms |
( |
const double * |
pars | ) |
const |
Returns the contribution of each measurement to the chi2.
◆ Clone()
Clone of the object.
Definition at line 60 of file CalibSegmentChi2Minimizer.cxx.
62 for (
const HitType& copyMe : m_hits) {
63 copyHits.emplace_back(std::make_unique<CalibratedSpacePoint>(*copyMe));
◆ DoEval()
double MuonR4::CalibSegmentChi2Minimizer::DoEval |
( |
const double * |
pars | ) |
const |
|
finaloverride |
Evaluate the chi2 for the given set of parameters.
Definition at line 97 of file CalibSegmentChi2Minimizer.cxx.
100 for (
int p = 0 ;
p <
toInt(ParamDefs::nPars); ++
p) {
103 const auto[segPos, segDir] =
makeLine(parVec);
107 <<
", timeDelay: "<<timeDelay<<
". Do time fit "<<
m_doT0Fit);
112 std::optional<double> arrivalTime = std::nullopt;
114 arrivalTime = std::make_optional<double>( (
m_locToGlob *segPos).
mag() * c_inv + timeDelay);
116 for (
const HitType& hit : m_hits) {
◆ doTimeFit()
bool MuonR4::CalibSegmentChi2Minimizer::doTimeFit |
( |
| ) |
const |
◆ hasPhiMeas()
bool MuonR4::CalibSegmentChi2Minimizer::hasPhiMeas |
( |
| ) |
const |
◆ initMessaging()
void AthMessaging::initMessaging |
( |
| ) |
const |
|
privateinherited |
Initialize our message level and MessageSvc.
This method should only be called once.
Definition at line 39 of file AthMessaging.cxx.
◆ localToGlobTrans()
◆ measurements()
const HitVec & MuonR4::CalibSegmentChi2Minimizer::measurements |
( |
| ) |
const |
◆ msg() [1/2]
MsgStream & AthMessaging::msg |
( |
| ) |
const |
|
inlineinherited |
The standard message stream.
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.
Definition at line 164 of file AthMessaging.h.
◆ msg() [2/2]
MsgStream & AthMessaging::msg |
( |
const MSG::Level |
lvl | ) |
const |
|
inlineinherited |
The standard message stream.
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.
Definition at line 179 of file AthMessaging.h.
180 {
return msg() << lvl; }
◆ msgLvl()
bool AthMessaging::msgLvl |
( |
const MSG::Level |
lvl | ) |
const |
|
inlineinherited |
Test the output level.
- Parameters
-
lvl | The message level to test against |
- Returns
- boolean Indicating if messages at given level will be printed
- Return values
-
true | Messages at level "lvl" will be printed |
Definition at line 151 of file AthMessaging.h.
◆ NDim()
unsigned int MuonR4::CalibSegmentChi2Minimizer::NDim |
( |
| ) |
const |
|
finaloverride |
◆ nDoF()
int MuonR4::CalibSegmentChi2Minimizer::nDoF |
( |
| ) |
const |
◆ release()
HitVec MuonR4::CalibSegmentChi2Minimizer::release |
( |
const double * |
pars | ) |
|
◆ segmentChi2TermMdt()
◆ segmentChi2TermStrip()
◆ setLevel()
void AthMessaging::setLevel |
( |
MSG::Level |
lvl | ) |
|
|
inherited |
◆ ATLAS_THREAD_SAFE
HitVec m_hits MuonR4::CalibSegmentChi2Minimizer::ATLAS_THREAD_SAFE {} |
|
mutableprivate |
◆ m_calibrator
◆ m_ctx
const EventContext& MuonR4::CalibSegmentChi2Minimizer::m_ctx |
|
private |
◆ m_doT0Fit
bool MuonR4::CalibSegmentChi2Minimizer::m_doT0Fit {false} |
|
private |
◆ m_hasPhi
bool MuonR4::CalibSegmentChi2Minimizer::m_hasPhi {false} |
|
private |
◆ m_imsg
std::atomic<IMessageSvc*> AthMessaging::m_imsg { nullptr } |
|
mutableprivateinherited |
◆ m_locToGlob
Amg::Transform3D MuonR4::CalibSegmentChi2Minimizer::m_locToGlob {Amg::Transform3D::Identity()} |
|
private |
◆ m_lvl
std::atomic<MSG::Level> AthMessaging::m_lvl { MSG::NIL } |
|
mutableprivateinherited |
◆ m_msg_tls
boost::thread_specific_ptr<MsgStream> AthMessaging::m_msg_tls |
|
mutableprivateinherited |
MsgStream instance (a std::cout like with print-out levels)
Definition at line 132 of file AthMessaging.h.
◆ m_name
std::string MuonR4::CalibSegmentChi2Minimizer::m_name {} |
|
private |
◆ m_nm
std::string AthMessaging::m_nm |
|
privateinherited |
◆ m_nMeas
unsigned int MuonR4::CalibSegmentChi2Minimizer::m_nMeas {0} |
|
private |
The documentation for this class was generated from the following files:
std::atomic< MSG::Level > m_lvl
Current logging level.
AmgVector(toInt(ParamDefs::nPars)) Parameters
CalibSegmentChi2Minimizer(const std::string &name, const EventContext &ctx, const Amg::Transform3D &locToGlobTrf, HitVec &&hits, const ISpacePointCalibrator *calibrator, bool doT0Fit)
Constructor taking the input hits to fit.
virtual CalibSpacePointPtr calibrate(const EventContext &ctx, const SpacePoint *spacePoint, const Amg::Vector3D &seedPosInChamb, const Amg::Vector3D &seedDirInChamb, const double timeDelay) const =0
Calibrates a single space point.
std::vector< HitType > HitVec
#define ATH_MSG_VERBOSE(x)
double chiSqTerm(const Amg::Vector3D &posInChamber, const Amg::Vector3D &dirInChamber, const SpacePoint &measurement, MsgStream &msg)
Calculates the chi2 contribuation to a linear segment line from an uncalibrated measurement.
std::pair< Amg::Vector3D, Amg::Vector3D > makeLine(const Parameters &pars)
Returns the parsed parameters into an Eigen line parametrization.
std::atomic< IMessageSvc * > m_imsg
MessageSvc pointer.
IMessageSvc * getMessageSvc(bool quiet=false)
std::string toString(const Translation3D &translation, int precision=4)
GeoPrimitvesToStringConverter.
double chi2(TH1 *h0, TH1 *h1)
Class to provide easy MsgStream access and capabilities.
MsgStream & msg() const
The standard message stream.
constexpr int toInt(const ParamDefs p)
std::string m_nm
Message source name.
Amg::Transform3D m_locToGlob
void initMessaging() const
Initialize our message level and MessageSvc.
const EventContext & m_ctx
boost::thread_specific_ptr< MsgStream > m_msg_tls
MsgStream instance (a std::cout like with print-out levels)
const ISpacePointCalibrator * m_calibrator
Scalar mag() const
mag method