2 #ifndef EcalCalibBlock_H
3 #define EcalCalibBlock_H
9 #include "CLHEP/Matrix/GenMatrix.h"
10 #include "CLHEP/Matrix/Matrix.h"
11 #include "CLHEP/Matrix/Vector.h"
12 #include "CLHEP/Random/RandGaussQ.h"
30 void Fill(std::map<int, double>::const_iterator,
31 std::map<int, double>::const_iterator,
34 double sigma = 1.)
override;
37 void reset()
override;
39 int solve(
int usingBlockSolver,
double min,
double max)
override;
47 void riempiMtr(
const std::vector<double>& piena, CLHEP::HepMatrix& vuota);
49 void riempiVtr(
const std::vector<double>& pieno, CLHEP::HepVector& vuoto);
IMACalibBlock(const int)
ctor
element for the single ECAL block intercalibration
std::vector< double > m_kaliVector
vector for the chi2 inversion
void riempiMtr(const std::vector< double > &piena, CLHEP::HepMatrix &vuota)
copy a vector into a CLHEP object
std::vector< double > m_kaliMatrix
matrix for the chi2 inversion
void riempiVtr(const std::vector< double > &pieno, CLHEP::HepVector &vuoto)
copy a vector into a CLHEP object
void Fill(std::map< int, double >::const_iterator, std::map< int, double >::const_iterator, double pTk, double pSubtract, double sigma=1.) override
insert an entry
int evalX2Size()
give the size of a chi2 matrix
void reset() override
reset the chi2 matrices
void fillMap(const CLHEP::HepVector &result)
fill the coefficients map from the CLHEP vector solution
int solve(int usingBlockSolver, double min, double max) override
solve the chi2 linear system
~IMACalibBlock() override
dtor
void complete()
complete the triangolar chi2 matrix to a sym one