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" 31 void Fill (std::map<int,double>::const_iterator,
32 std::map<int,double>::const_iterator,
35 double sigma = 1.)
override ;
38 void reset ()
override ;
40 int solve (
int usingBlockSolver,
double min,
double max)
override ;
48 void riempiMtr (
const std::vector<double> & piena, CLHEP::HepMatrix & vuota) ;
50 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