|
ATLAS Offline Software
|
#include <FitParameters.h>
|
| FitParameters (const Perigee &perigee) |
|
| FitParameters (double d0, double z0, double cosPhi, double sinPhi, double cotTheta, double ptInv0, const PerigeeSurface &surface) |
|
| FitParameters (const FitParameters ¶meters)=default |
|
| FitParameters (FitParameters &&)=default |
|
FitParameters & | operator= (const FitParameters &)=default |
|
FitParameters & | operator= (FitParameters &&)=default |
|
| ~FitParameters (void)=default |
|
void | addAlignment (bool constrained, double localAngle, double localOffset) |
|
void | addScatterer (double phi, double theta) |
|
double | alignmentAngle (int alignment) const |
|
double | alignmentAngleConstraint (int alignment) const |
|
double | alignmentOffset (int alignment) const |
|
double | alignmentOffsetConstraint (int alignment) const |
|
const Surface * | associatedSurface (void) const |
|
double | cosPhi (void) const |
|
double | cosTheta (void) const |
|
double | cotTheta (void) const |
|
void | covariance (Amg::MatrixX *finalCovariance, const Amg::MatrixX *fullCovariance) |
|
double | d0 (void) const |
|
void | d0 (double value) |
|
double | difference (int param) const |
|
const Amg::VectorX & | differences (void) const |
|
Amg::Vector3D | direction (void) const |
|
bool | extremeMomentum (void) const |
|
void | extremeMomentum (bool value) |
|
const Amg::MatrixX * | finalCovariance (void) const |
|
int | firstAlignmentParameter (void) const |
|
void | firstAlignmentParameter (int value) |
|
int | firstScatteringParameter (void) const |
|
void | firstScatteringParameter (int value) |
|
bool | fitEnergyDeposit (void) const |
|
void | fitEnergyDeposit (double minEnergyDeposit) |
|
bool | fitMomentum (void) const |
|
void | fitMomentum (bool value) |
|
const Amg::MatrixX * | fullCovariance (void) const |
|
TrackSurfaceIntersection | intersection (void) const |
|
int | numberAlignments (void) const |
|
void | numberAlignments (int numberAlignments) |
|
int | numberOscillations (void) const |
|
int | numberParameters (void) const |
|
void | numberParameters (int numberParameters) |
|
int | numberScatterers (void) const |
|
void | numberScatterers (int numberScatterers) |
|
void | performCutStep (double cutStep) |
|
bool | phiInstability (void) const |
|
double | ptInv0 (void) const |
|
const Amg::MatrixX | parameterDifference (const Amg::VectorX ¶meters) const |
|
Perigee * | perigee (void) const |
|
const Amg::Vector3D & | position (void) const |
|
void | print (MsgStream &log) const |
|
void | printCovariance (MsgStream &log) const |
|
void | printVerbose (MsgStream &log) const |
|
double | qOverP (void) const |
|
void | qOverP (double value) |
|
double | qOverP1 (void) const |
|
void | qOverP1 (double value) |
|
void | reset (const FitParameters ¶meters) |
|
void | resetOscillations (void) |
|
double | scattererPhi (int scatterer) const |
|
double | scattererTheta (int scatterer) const |
|
ScatteringAngles | scatteringAngles (const FitMeasurement &fitMeasurement, int scatterer=-1) const |
|
void | setPhiInstability (void) |
|
double | sinPhi (void) const |
|
double | sinTheta (void) const |
|
Perigee * | startingPerigee (void) const |
|
TrackParameters * | trackParameters (MsgStream &log, const FitMeasurement &measurement, bool withCovariance=false) |
|
void | update (const Amg::VectorX &differences) |
|
void | update (Amg::Vector3D position, Amg::Vector3D direction, double qOverP, const Amg::MatrixX &leadingCovariance) |
|
const Amg::Vector3D & | vertex (void) const |
|
double | z0 (void) const |
|
Definition at line 29 of file FitParameters.h.
◆ FitParameters() [1/4]
Trk::FitParameters::FitParameters |
( |
const Perigee & |
perigee | ) |
|
◆ FitParameters() [2/4]
Trk::FitParameters::FitParameters |
( |
double |
d0, |
|
|
double |
z0, |
|
|
double |
cosPhi, |
|
|
double |
sinPhi, |
|
|
double |
cotTheta, |
|
|
double |
ptInv0, |
|
|
const PerigeeSurface & |
surface |
|
) |
| |
◆ FitParameters() [3/4]
◆ FitParameters() [4/4]
◆ ~FitParameters()
Trk::FitParameters::~FitParameters |
( |
void |
| ) |
|
|
default |
◆ addAlignment()
void Trk::FitParameters::addAlignment |
( |
bool |
constrained, |
|
|
double |
localAngle, |
|
|
double |
localOffset |
|
) |
| |
◆ addScatterer()
void Trk::FitParameters::addScatterer |
( |
double |
phi, |
|
|
double |
theta |
|
) |
| |
◆ alignmentAngle()
double Trk::FitParameters::alignmentAngle |
( |
int |
alignment | ) |
const |
|
inline |
◆ alignmentAngleConstraint()
double Trk::FitParameters::alignmentAngleConstraint |
( |
int |
alignment | ) |
const |
|
inline |
◆ alignmentOffset()
double Trk::FitParameters::alignmentOffset |
( |
int |
alignment | ) |
const |
|
inline |
◆ alignmentOffsetConstraint()
double Trk::FitParameters::alignmentOffsetConstraint |
( |
int |
alignment | ) |
const |
|
inline |
◆ associatedSurface()
const Surface * Trk::FitParameters::associatedSurface |
( |
void |
| ) |
const |
◆ cosPhi()
double Trk::FitParameters::cosPhi |
( |
void |
| ) |
const |
|
inline |
◆ cosTheta()
double Trk::FitParameters::cosTheta |
( |
void |
| ) |
const |
|
inline |
◆ cotTheta()
double Trk::FitParameters::cotTheta |
( |
void |
| ) |
const |
|
inline |
◆ covariance()
◆ d0() [1/2]
void Trk::FitParameters::d0 |
( |
double |
value | ) |
|
◆ d0() [2/2]
double Trk::FitParameters::d0 |
( |
void |
| ) |
const |
|
inline |
◆ difference()
double Trk::FitParameters::difference |
( |
int |
param | ) |
const |
|
inline |
◆ differences()
◆ direction()
◆ extremeMomentum() [1/2]
void Trk::FitParameters::extremeMomentum |
( |
bool |
value | ) |
|
◆ extremeMomentum() [2/2]
bool Trk::FitParameters::extremeMomentum |
( |
void |
| ) |
const |
|
inline |
◆ finalCovariance()
◆ firstAlignmentParameter() [1/2]
void Trk::FitParameters::firstAlignmentParameter |
( |
int |
value | ) |
|
◆ firstAlignmentParameter() [2/2]
int Trk::FitParameters::firstAlignmentParameter |
( |
void |
| ) |
const |
|
inline |
◆ firstScatteringParameter() [1/2]
void Trk::FitParameters::firstScatteringParameter |
( |
int |
value | ) |
|
◆ firstScatteringParameter() [2/2]
int Trk::FitParameters::firstScatteringParameter |
( |
void |
| ) |
const |
|
inline |
◆ fitEnergyDeposit() [1/2]
void Trk::FitParameters::fitEnergyDeposit |
( |
double |
minEnergyDeposit | ) |
|
◆ fitEnergyDeposit() [2/2]
bool Trk::FitParameters::fitEnergyDeposit |
( |
void |
| ) |
const |
|
inline |
◆ fitMomentum() [1/2]
void Trk::FitParameters::fitMomentum |
( |
bool |
value | ) |
|
◆ fitMomentum() [2/2]
bool Trk::FitParameters::fitMomentum |
( |
void |
| ) |
const |
|
inline |
◆ fullCovariance()
◆ intersection()
◆ numberAlignments() [1/2]
void Trk::FitParameters::numberAlignments |
( |
int |
numberAlignments | ) |
|
◆ numberAlignments() [2/2]
int Trk::FitParameters::numberAlignments |
( |
void |
| ) |
const |
|
inline |
◆ numberOscillations()
int Trk::FitParameters::numberOscillations |
( |
void |
| ) |
const |
|
inline |
◆ numberParameters() [1/2]
void Trk::FitParameters::numberParameters |
( |
int |
numberParameters | ) |
|
◆ numberParameters() [2/2]
int Trk::FitParameters::numberParameters |
( |
void |
| ) |
const |
|
inline |
◆ numberScatterers() [1/2]
void Trk::FitParameters::numberScatterers |
( |
int |
numberScatterers | ) |
|
◆ numberScatterers() [2/2]
int Trk::FitParameters::numberScatterers |
( |
void |
| ) |
const |
|
inline |
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ parameterDifference()
◆ performCutStep()
void Trk::FitParameters::performCutStep |
( |
double |
cutStep | ) |
|
◆ perigee()
Perigee * Trk::FitParameters::perigee |
( |
void |
| ) |
const |
◆ phiInstability()
bool Trk::FitParameters::phiInstability |
( |
void |
| ) |
const |
◆ position()
◆ print()
void Trk::FitParameters::print |
( |
MsgStream & |
log | ) |
const |
◆ printCovariance()
void Trk::FitParameters::printCovariance |
( |
MsgStream & |
log | ) |
const |
◆ printVerbose()
void Trk::FitParameters::printVerbose |
( |
MsgStream & |
log | ) |
const |
Definition at line 296 of file FitParameters.cxx.
299 log <<
" dParams ====" << std::setiosflags(std::ios::fixed)
300 << std::setw(10) << std::setprecision(4) <<
differences(0) <<
" (0) "
301 << std::setw(10) << std::setprecision(4) <<
differences(1) <<
" (1) "
302 << std::setw(10) << std::setprecision(5) <<
differences(2) <<
" (2) "
303 << std::setw(10) << std::setprecision(5) <<
differences(3) <<
" (3) "
304 << std::setw(13) << std::setprecision(9)
307 log << std::setiosflags(std::ios::fixed) << std::setw(13)
308 << std::setprecision(9)
313 log <<
" dAlign ==== ";
317 if (scat % 5 == 0 && scat > 0)
318 log << std::endl <<
" ";
319 log << std::setiosflags(std::ios::fixed) << std::setw(10)
322 log << std::setiosflags(std::ios::fixed) << std::setw(10)
323 << std::setprecision(6) <<
differences(param) <<
" ("
324 << std::setw(2) << scat <<
"A) ";
330 log <<
" dScat ==== ";
334 if (scat % 5 == 0 && scat > 0)
335 log << std::endl <<
" ";
336 log << std::setiosflags(std::ios::fixed) << std::setw(10)
339 log << std::setiosflags(std::ios::fixed) << std::setw(10)
340 << std::setprecision(6) <<
differences(param) <<
" ("
341 << std::setw(2) << scat <<
"S) ";
347 log << std::setiosflags(std::ios::fixed | std::ios::right)
348 <<
" parameters: " << std::setw(12) << std::setprecision(4) <<
m_d0
349 <<
" transverse impact " << std::setw(10) << std::setprecision(4)
350 <<
m_position.z() <<
" z0 " << std::setw(10) << std::setprecision(6)
352 <<
m_cotTheta <<
" phi,cotTheta " << std::setw(13)
354 << std::setw(12) << std::setprecision(6)
359 <<
" E before/after energy deposit" << std::setw(12)
361 << std::setw(12) << std::setprecision(3)
365 log << std::endl <<
" alignment number, angle, offset: ";
367 log << std::setiosflags(std::ios::fixed) << std::setw(6) << align
370 if ((align + 1) % 5 == 0)
371 log << std::endl <<
" ";
375 log << std::endl <<
" scatterer number, delta(phi), delta(theta): ";
377 log << std::setiosflags(std::ios::fixed) << std::setw(6) << scat
380 if ((scat + 1) % 5 == 0)
381 log << std::endl <<
" ";
◆ ptInv0()
double Trk::FitParameters::ptInv0 |
( |
void |
| ) |
const |
|
inline |
◆ qOverP() [1/2]
void Trk::FitParameters::qOverP |
( |
double |
value | ) |
|
◆ qOverP() [2/2]
double Trk::FitParameters::qOverP |
( |
void |
| ) |
const |
|
inline |
◆ qOverP1() [1/2]
void Trk::FitParameters::qOverP1 |
( |
double |
value | ) |
|
◆ qOverP1() [2/2]
double Trk::FitParameters::qOverP1 |
( |
void |
| ) |
const |
|
inline |
◆ reset()
◆ resetOscillations()
void Trk::FitParameters::resetOscillations |
( |
void |
| ) |
|
|
inline |
◆ scattererPhi()
double Trk::FitParameters::scattererPhi |
( |
int |
scatterer | ) |
const |
|
inline |
◆ scattererTheta()
double Trk::FitParameters::scattererTheta |
( |
int |
scatterer | ) |
const |
|
inline |
◆ scatteringAngles()
Definition at line 454 of file FitParameters.cxx.
460 return {0., 0., scattererSigmaPhi, scattererSigmaTheta};
463 scattererSigmaPhi, scattererSigmaTheta};
◆ setPhiInstability()
void Trk::FitParameters::setPhiInstability |
( |
void |
| ) |
|
◆ sinPhi()
double Trk::FitParameters::sinPhi |
( |
void |
| ) |
const |
|
inline |
◆ sinTheta()
double Trk::FitParameters::sinTheta |
( |
void |
| ) |
const |
|
inline |
◆ startingPerigee()
Perigee * Trk::FitParameters::startingPerigee |
( |
void |
| ) |
const |
◆ trackParameters()
Definition at line 484 of file FitParameters.cxx.
488 <<
"FitParameters::trackParameters - measurement lacks Surface"
496 <<
"FitParameters::trackParameters - invalid measurement" <<
endmsg;
504 if (!measurement.surface()->globalToLocal(
507 <<
"FitParameters::trackParameters - globalToLocal failure" <<
endmsg;
512 if (measurement.isEnergyDeposit()) {
522 if (withCovariance && (measurement.isDrift() || measurement.isCluster() ||
523 measurement.isPerigee())) {
525 double sigma = 1. / measurement.weight();
526 double sigma2 = 1. / measurement.weight2();
527 int lastParameter = measurement.lastParameter();
529 for (
int i = 0;
i != lastParameter; ++
i) {
530 jacobian(0,
i) =
sigma * measurement.derivative(
i);
531 jacobian(1,
i) = sigma2 * measurement.derivative2(
i);
538 while (++
i < lastParameter) {
554 jacobian(2, 5) =
deltaPhi / measurement.qOverP();
555 jacobian(3, 5) = deltaTheta / measurement.qOverP();
556 jacobian(4, 5) = measurement.qOverP() /
m_qOverP1;
564 jacobian(2, 4) =
deltaPhi / measurement.qOverP();
565 jacobian(3, 4) = deltaTheta / measurement.qOverP();
566 jacobian(4, 4) = measurement.qOverP() /
m_qOverP;
575 jacobian.transpose());
580 if (measurement.isFlipped()) {
589 if (!measurement.surface()) {
591 <<
"FitParameters::trackParameters - unrecognized surface" <<
endmsg;
595 return measurement.surface()
597 measurement.qOverP(), std::move(
covMatrix))
◆ update() [1/2]
Definition at line 672 of file FitParameters.cxx.
689 for (
int i = 0;
i != 5; ++
i) {
690 for (
int j = 0; j != 5; ++j) {
691 (*m_finalCovariance)(
i, j) += leadingCovariance(
i, j);
◆ update() [2/2]
Definition at line 603 of file FitParameters.cxx.
649 if (std::abs(sinDPhi) < 1.0) {
650 cosDPhi = std::sqrt(1. - sinDPhi * sinDPhi);
◆ vertex()
◆ z0()
double Trk::FitParameters::z0 |
( |
void |
| ) |
const |
|
inline |
◆ m_alignmentAngle
std::vector<double> Trk::FitParameters::m_alignmentAngle |
|
private |
◆ m_alignmentAngleConstraint
std::vector<double> Trk::FitParameters::m_alignmentAngleConstraint |
|
private |
◆ m_alignmentOffset
std::vector<double> Trk::FitParameters::m_alignmentOffset |
|
private |
◆ m_alignmentOffsetConstraint
std::vector<double> Trk::FitParameters::m_alignmentOffsetConstraint |
|
private |
◆ m_cosPhi
double Trk::FitParameters::m_cosPhi |
|
private |
◆ m_cosPhi1
double Trk::FitParameters::m_cosPhi1 |
|
private |
◆ m_cosTheta
double Trk::FitParameters::m_cosTheta |
|
private |
◆ m_cosTheta1
double Trk::FitParameters::m_cosTheta1 |
|
private |
◆ m_cotTheta
double Trk::FitParameters::m_cotTheta |
|
private |
◆ m_d0
double Trk::FitParameters::m_d0 |
|
private |
◆ m_differences
◆ m_eigen
bool Trk::FitParameters::m_eigen {} |
|
private |
◆ m_extremeMomentum
bool Trk::FitParameters::m_extremeMomentum |
|
private |
◆ m_finalCovariance
◆ m_firstAlignmentParameter
int Trk::FitParameters::m_firstAlignmentParameter |
|
private |
◆ m_firstScatteringParameter
int Trk::FitParameters::m_firstScatteringParameter |
|
private |
◆ m_fitEnergyDeposit
bool Trk::FitParameters::m_fitEnergyDeposit |
|
private |
◆ m_fitMomentum
bool Trk::FitParameters::m_fitMomentum |
|
private |
◆ m_fullCovariance
◆ m_minEnergyDeposit
double Trk::FitParameters::m_minEnergyDeposit |
|
private |
◆ m_numberAlignments
int Trk::FitParameters::m_numberAlignments |
|
private |
◆ m_numberOscillations
int Trk::FitParameters::m_numberOscillations |
|
private |
◆ m_numberParameters
int Trk::FitParameters::m_numberParameters |
|
private |
◆ m_numberScatterers
int Trk::FitParameters::m_numberScatterers |
|
private |
◆ m_oldDifference
double Trk::FitParameters::m_oldDifference |
|
private |
◆ m_perigee
◆ m_phiInstability
bool Trk::FitParameters::m_phiInstability |
|
private |
◆ m_position
◆ m_qOverP
double Trk::FitParameters::m_qOverP |
|
private |
◆ m_qOverP1
double Trk::FitParameters::m_qOverP1 |
|
private |
◆ m_scattererPhi
std::vector<double> Trk::FitParameters::m_scattererPhi |
|
private |
◆ m_scattererTheta
std::vector<double> Trk::FitParameters::m_scattererTheta |
|
private |
◆ m_sinPhi
double Trk::FitParameters::m_sinPhi |
|
private |
◆ m_sinPhi1
double Trk::FitParameters::m_sinPhi1 |
|
private |
◆ m_sinTheta
double Trk::FitParameters::m_sinTheta |
|
private |
◆ m_sinTheta1
double Trk::FitParameters::m_sinTheta1 |
|
private |
◆ m_surface
◆ m_vertex
◆ m_z0
double Trk::FitParameters::m_z0 |
|
private |
The documentation for this class was generated from the following files:
JetConstituentVector::iterator iterator
const Perigee * m_perigee
int m_firstAlignmentParameter
std::vector< double > m_scattererTheta
std::vector< double > m_alignmentAngle
std::vector< double > m_scattererPhi
Eigen::Matrix< double, Eigen::Dynamic, 1 > VectorX
Dynamic Vector - dynamic allocation.
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
std::vector< double > m_alignmentOffsetConstraint
Amg::Vector3D direction(void) const
const Amg::MatrixX * m_fullCovariance
Eigen::Matrix< double, 2, 1 > Vector2D
setSAddress setEtaMS setDirPhiMS setDirZMS setBarrelRadius setEndcapAlpha setEndcapRadius setInterceptInner setEtaMap setEtaBin setIsTgcFailure setDeltaPt deltaPhi
double sinTheta(void) const
void setPhiInstability(void)
ParametersT< TrackParametersDim, Charged, PerigeeSurface > Perigee
double ptInv0(void) const
Perigee * perigee(void) const
double m_minEnergyDeposit
AmgSymMatrix(5) &GXFTrackState
virtual const S & associatedSurface() const override final
Access to the Surface method.
TrackSurfaceIntersection intersection(void) const
Amg::VectorX m_differences
const Surface * m_surface
const Amg::Vector3D & position() const
Method to retrieve the position of the Intersection.
double angle(const GeoTrf::Vector2D &a, const GeoTrf::Vector2D &b)
void update(const Amg::VectorX &differences)
const Amg::Vector3D & position(void) const
double qOverP(void) const
double cosPhi(void) const
std::vector< double > m_alignmentOffset
double charge(const T &p)
ScatteringAngles scatteringAngles(const FitMeasurement &fitMeasurement, int scatterer=-1) const
Eigen::Matrix< double, 3, 1 > Vector3D
double cotTheta(void) const
const Amg::Vector3D & direction() const
Method to retrieve the direction at the Intersection.
int m_firstScatteringParameter
std::vector< double > m_alignmentAngleConstraint
double sinPhi(void) const
FitParameters(const Perigee &perigee)
void addScatterer(double phi, double theta)
Amg::MatrixX * m_finalCovariance
bool phiInstability(void) const
const Amg::VectorX & differences(void) const