ATLAS Offline Software
Loading...
Searching...
No Matches
MuCCaFitter.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4
6// MuCCaFitter.h
7// Header file for class MuCCaFitter
9// (c) ATLAS Detector software
11//
13
14#ifndef MuCCaFITTER_H
15#define MuCCaFITTER_H
16
17#include <vector>
18
21
22namespace MuonCalib {
23
30 public:
32 bool fit(MuonCalibSegment& seg) const;
33
41
43 void printLevel(int level);
44
45 private:
46 bool m_debug;
47
52 // double getY( const Amg::Vector3D& p ) const { return p.y(); }
53 // double getX( const Amg::Vector3D& p ) const { return p.x(); }
54 // double getZ( const Amg::Vector3D& p ) const { return p.z(); }
55 // Amg::Vector3D getVec( double x, double y, double z) const { return Amg::Vector3D( x, y, z ); }
56 double getY(const Amg::Vector3D& p) const { return p.z(); }
57 double getX(const Amg::Vector3D& p) const { return p.x(); }
58 double getZ(const Amg::Vector3D& p) const { return p.y(); }
59 Amg::Vector3D getVec(double x, double y, double z) const { return Amg::Vector3D(x, z, y); }
60 };
61
68 public:
69 void Computelin(double x1, double y1, double r1, double x2, double y2, double r2);
70 void Computelinparnew(double x1, double y1, double r1, double x2, double y2, double r2);
71 void computehitsfromcircles(double x0, double y0, double r0, double x1, double y1, double r1, double a, double b);
72 // void Computehitpsemes(int nhit,double *xcirc, double *ycirc,
73 // double *rcirc, double a, double b);
74 void Computehitpsemes(int nhit, const std::vector<double>& xcirc, const std::vector<double>& ycirc, const std::vector<double>& rcirc, double a,
75 double b);
76 // void Computeparam3(int number_of_hits,double x[100],double y[100],
77 // double r[100],double sr[100]);
78 void Computeparam3(int number_of_hits, const std::vector<double>& x, const std::vector<double>& y, const std::vector<double>& r, const std::vector<double>& sr);
79 double get_a();
80 double get_b();
81 double get_da();
82 double get_db();
83 double get_corrab();
84 double get_chi2f();
85
86 private:
89 double m_bfpar[4];
91 double m_xout0;
92 double m_yout0;
93 double m_xout1;
94 double m_yout1;
96 double m_xpoint[100];
97 double m_ypoint[100];
99 double m_aoutn;
100 double m_sig2a;
101 double m_bout;
102 double m_sig2b;
103 double m_corrab;
104 double m_chi2f;
105 };
106
107} // namespace MuonCalib
108#endif
static Double_t a
#define y
#define x
#define z
Interface for MdtSegment fitters.
std::vector< unsigned int > HitSelection
The straight line fitter for drift circles used by Calib.
Definition MuCCaFitter.h:67
void Computeparam3(int number_of_hits, const std::vector< double > &x, const std::vector< double > &y, const std::vector< double > &r, const std::vector< double > &sr)
void Computelinparnew(double x1, double y1, double r1, double x2, double y2, double r2)
double m_bout
track constant term
double m_angularcoefficient[4]
parameters of the 4 tangent lines from first and last hit
Definition MuCCaFitter.h:88
void computehitsfromcircles(double x0, double y0, double r0, double x1, double y1, double r1, double a, double b)
double m_xpoint[100]
track points
Definition MuCCaFitter.h:96
double m_xout0
track points from 2 circles
Definition MuCCaFitter.h:91
void Computelin(double x1, double y1, double r1, double x2, double y2, double r2)
double m_sig2b
error on track constant term
double m_sig2a
track slope's variance
double m_corrab
correlation term
void Computehitpsemes(int nhit, const std::vector< double > &xcirc, const std::vector< double > &ycirc, const std::vector< double > &rcirc, double a, double b)
Interface to the straight line fitter for drift circles used by Calib.
Definition MuCCaFitter.h:29
bool fit(MuonCalibSegment &seg) const
fit using all hits
void printLevel(int level)
set print level
Amg::Vector3D getVec(double x, double y, double z) const
Definition MuCCaFitter.h:59
double getZ(const Amg::Vector3D &p) const
Definition MuCCaFitter.h:58
double getY(const Amg::Vector3D &p) const
these methods are needed to change the reference frame between the local one of the hit and one used ...
Definition MuCCaFitter.h:56
double getX(const Amg::Vector3D &p) const
Definition MuCCaFitter.h:57
A MuonCalibSegment is a reconstructed three dimensional track segment in the MuonSpectrometer.
const std::string selection
int r
Definition globals.cxx:22
Eigen::Matrix< double, 3, 1 > Vector3D
CscCalcPed - algorithm that finds the Cathode Strip Chamber pedestals from an RDO.