CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 
27 {
28  public :
30  IMACalibBlock (const int) ;
32  ~IMACalibBlock () ;
33 
35  void Fill (std::map<int,double>::const_iterator,
36  std::map<int,double>::const_iterator,
37  double pTk,
38  double pSubtract,
39  double sigma = 1.) ;
40 
42  void reset () ;
44  int solve (int usingBlockSolver, double min, double max) ;
45  private :
46 
48  int evalX2Size () ;
50  void complete () ;
52  void riempiMtr (const std::vector<double> & piena, CLHEP::HepMatrix & vuota) ;
54  void riempiVtr (const std::vector<double> & pieno, CLHEP::HepVector & vuoto) ;
56  void fillMap (const CLHEP::HepVector & result) ;
57 
58  private :
59 
61  std::vector<double> m_kaliVector ;
63  std::vector<double> m_kaliMatrix ;
64 } ;
65 
66 
67 #endif
68 #endif
69 
IMACalibBlock(const int)
ctor
void Fill(std::map< int, double >::const_iterator, std::map< int, double >::const_iterator, double pTk, double pSubtract, double sigma=1.)
insert an entry
element for the single ECAL block intercalibration
#define min(a, b)
Definition: mlp_lapack.h:161
std::vector< double > m_kaliVector
vector for the chi2 inversion
Definition: IMACalibBlock.h:61
void riempiMtr(const std::vector< double > &piena, CLHEP::HepMatrix &vuota)
copy a vector into a CLHEP object
const T & max(const T &a, const T &b)
tuple result
Definition: query.py:137
std::vector< double > m_kaliMatrix
matrix for the chi2 inversion
Definition: IMACalibBlock.h:63
void riempiVtr(const std::vector< double > &pieno, CLHEP::HepVector &vuoto)
copy a vector into a CLHEP object
~IMACalibBlock()
dtor
int evalX2Size()
give the size of a chi2 matrix
int solve(int usingBlockSolver, double min, double max)
solve the chi2 linear system
void reset()
reset the chi2 matrices
void fillMap(const CLHEP::HepVector &result)
fill the coefficients map from the CLHEP vector solution
void complete()
complete the triangolar chi2 matrix to a sym one