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 public:
25  IMACalibBlock(const int);
27  ~IMACalibBlock() override;
28 
30  void Fill(std::map<int, double>::const_iterator,
31  std::map<int, double>::const_iterator,
32  double pTk,
33  double pSubtract,
34  double sigma = 1.) override;
35 
37  void reset() override;
39  int solve(int usingBlockSolver, double min, double max) override;
40 
41 private:
43  int evalX2Size();
45  void complete();
47  void riempiMtr(const std::vector<double>& piena, CLHEP::HepMatrix& vuota);
49  void riempiVtr(const std::vector<double>& pieno, CLHEP::HepVector& vuoto);
51  void fillMap(const CLHEP::HepVector& result);
52 
53 private:
55  std::vector<double> m_kaliVector;
57  std::vector<double> m_kaliMatrix;
58 };
59 
60 #endif
61 #endif
IMACalibBlock(const int)
ctor
element for the single ECAL block intercalibration
std::vector< double > m_kaliVector
vector for the chi2 inversion
Definition: IMACalibBlock.h:55
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:57
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