CMS 3D CMS Logo

IMACalibBlock.h
Go to the documentation of this file.
1 #ifndef __CINT__
2 #ifndef EcalCalibBlock_H
3 #define EcalCalibBlock_H
4 
5 #include <map>
6 #include <string>
7 #include <vector>
8 
9 #include "CLHEP/Matrix/GenMatrix.h"
10 #include "CLHEP/Matrix/Matrix.h"
11 #include "CLHEP/Matrix/Vector.h"
12 #include "CLHEP/Random/RandGaussQ.h"
13 
16 
23 {
24  public :
26  IMACalibBlock (const int) ;
28  ~IMACalibBlock () override ;
29 
31  void Fill (std::map<int,double>::const_iterator,
32  std::map<int,double>::const_iterator,
33  double pTk,
34  double pSubtract,
35  double sigma = 1.) override ;
36 
38  void reset () override ;
40  int solve (int usingBlockSolver, double min, double max) override ;
41  private :
42 
44  int evalX2Size () ;
46  void complete () ;
48  void riempiMtr (const std::vector<double> & piena, CLHEP::HepMatrix & vuota) ;
50  void riempiVtr (const std::vector<double> & pieno, CLHEP::HepVector & vuoto) ;
52  void fillMap (const CLHEP::HepVector & result) ;
53 
54  private :
55 
57  std::vector<double> m_kaliVector ;
59  std::vector<double> m_kaliMatrix ;
60 } ;
61 
62 
63 #endif
64 #endif
65 
IMACalibBlock(const int)
ctor
element for the single ECAL block intercalibration
std::vector< double > m_kaliVector
vector for the chi2 inversion
Definition: IMACalibBlock.h:57
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
Definition: IMACalibBlock.h:59
T min(T a, T b)
Definition: MathUtil.h:58
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