#include <TileFitter.h>
Definition at line 31 of file TileFitter.h.
◆ TileFitter() [1/2]
| TileFitter::TileFitter |
( |
| ) |
|
Definition at line 23 of file TileFitter.cxx.
36{
37}
std::vector< double > m_errDiag
std::vector< int > m_vConfig
◆ TileFitter() [2/2]
| TileFitter::TileFitter |
( |
bool | debug, |
|
|
int | nRow, |
|
|
int | nColumn, |
|
|
int | index, |
|
|
CLHEP::HepMatrix & | S, |
|
|
int | Icon ) |
Definition at line 39 of file TileFitter.cxx.
52{
53
54
59
60
64
65
67
68
69 CLHEP::HepMatrix SPDT =
m_SPD.T();
70 CLHEP::HepMatrix M =
m_SPD * SPDT;
71
72
75 std::cout <<
" add f*p: F2_sigPed=" <<
m_sigPedF2 <<
", Ped_const=" <<
m_pedConst <<
", F2_sigPile="
77 }
82 }
83 }
84 }
85
87 CLHEP::HepMatrix MI = M.inverse(err);
89
92 for (
int i = 0;
i < 10;
i++) {
94 }
97 std::cout << " Camp: ";
99 }
100 }
101
103 double err = sqrt(MI[i][i]);
105 }
106
108 std::cout << " SPD: ";
110 std::cout << " SPDT: ";
112 CLHEP::HepMatrix Ident = M * MI;
113 std::cout << " M*MI: ";
115 std::cout << " MISPD: ";
117 std::cout << " errDiag=";
120 }
121 std::cout << std::endl;
122 }
123}
void printMat(CLHEP::HepMatrix &mat)
void printVec(CLHEP::HepVector &vec)
◆ ~TileFitter()
| TileFitter::~TileFitter |
( |
| ) |
|
|
default |
◆ fitAmp()
Definition at line 125 of file TileFitter.cxx.
125 {
126 int iret = -1;
127 bool debugFitAmp = lDebug;
128
130 CLHEP::HepVector& digits = tResult.
getDigRef();
131
133 CLHEP::HepVector& Err = tResult.
getErrRef();
134 CLHEP::HepVector& residuals = tResult.
getResidRef();
136 if (debugFitAmp) {
138 std::cout << " In FitAmp: MISPD=" << std::endl;
140 }
141
142
143
146
147
149 predict =
m_SPD.T() * Amp;
150
151
152 residuals = digits - predict;
153 chisq = residuals.normsq() / (sigDig * sigDig);
157 chisq = chisq + Amp[iamp] * Amp[iamp] *
m_sigPileF2;
158 }
159 }
160
161
165 }
166 Err = newErr;
167
168 if (debugFitAmp) {
169 std::cout << " predict: ";
171 std::cout << " residuals: ";
173
174
175
176
177 }
178 iret = 0;
179 return iret;
180}
CLHEP::HepVector & getParamRef()
CLHEP::HepVector & getErrRef()
CLHEP::HepVector & getDigRef()
CLHEP::HepVector & getResidRef()
◆ getErr()
| std::vector< double > & TileFitter::getErr |
( |
| ) |
|
◆ getIndex()
| int TileFitter::getIndex |
( |
| ) |
|
◆ printMat()
| void TileFitter::printMat |
( |
CLHEP::HepMatrix & | mat | ) |
|
Definition at line 191 of file TileFitter.cxx.
191 {
192 boost::io::ios_base_all_saver coutsave(std::cout);
193 int nrow =
mat.num_row();
194 int ncol =
mat.num_col();
195 std::cout << " nrow=" << nrow << ", ncol=" << ncol << std::endl;
196 std::streamsize oldprec = std::cout.precision(4);
197 for (int irow = 0; irow < nrow; irow++) {
198 std::cout << " irow=" << irow << ": Mat=";
199 for (
int icol = 0;
icol < ncol;
icol++) {
200 std::cout << std::setw(7) <<
mat[irow][
icol];
201 }
202 std::cout << std::endl;
203 }
204 std::cout.precision(oldprec);
205}
◆ printVec()
| void TileFitter::printVec |
( |
CLHEP::HepVector & | vec | ) |
|
Definition at line 207 of file TileFitter.cxx.
207 {
208 int nr =
vec.num_row();
209 int nc =
vec.num_col();
210 std::cout <<
" nr=" << nr <<
", nc=" <<
nc <<
", vec=";
211 for (
int i = 0;
i < nr;
i++) {
212 std::cout <<
vec[
i] <<
" ";
213 }
214 std::cout << std::endl;
215}
std::vector< size_t > vec
◆ m_cAmp
| CLHEP::HepVector TileFitter::m_cAmp |
|
private |
◆ m_errDiag
| std::vector<double> TileFitter::m_errDiag |
|
private |
◆ m_iConfig
| int TileFitter::m_iConfig |
|
private |
◆ m_iConstraint
| int TileFitter::m_iConstraint |
|
private |
◆ m_MISPD
| CLHEP::HepMatrix TileFitter::m_MISPD |
|
private |
◆ m_nParameters
| int TileFitter::m_nParameters |
|
private |
◆ m_nSamples
| int TileFitter::m_nSamples |
|
private |
◆ m_pedConst
| double TileFitter::m_pedConst |
|
private |
◆ m_sigPedF2
| double TileFitter::m_sigPedF2 |
|
private |
◆ m_sigPileF2
| double TileFitter::m_sigPileF2 |
|
private |
◆ m_SPD
| CLHEP::HepMatrix TileFitter::m_SPD |
|
private |
◆ m_vConfig
| std::vector<int> TileFitter::m_vConfig |
|
private |
The documentation for this class was generated from the following files: