CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/Calibration/EcalCalibAlgos/interface/IMACalibBlock.h

Go to the documentation of this file.
00001 #ifndef __CINT__
00002 #ifndef EcalCalibBlock_H
00003 #define EcalCalibBlock_H
00004 
00005 #include <map>
00006 #include <string>
00007 #include <vector>
00008 
00009 #include "CLHEP/Matrix/GenMatrix.h"
00010 #include "CLHEP/Matrix/Matrix.h"
00011 #include "CLHEP/Matrix/Vector.h"
00012 #include "CLHEP/Random/RandGaussQ.h"
00013 
00014 #include "Calibration/Tools/interface/InvMatrixCommonDefs.h"
00015 #include "Calibration/EcalCalibAlgos/interface/VEcalCalibBlock.h"
00016 
00026 class IMACalibBlock : public VEcalCalibBlock
00027 {
00028   public :
00030     IMACalibBlock (const int) ;
00032     ~IMACalibBlock () ;
00033     
00035     void Fill (std::map<int,double>::const_iterator,
00036                std::map<int,double>::const_iterator,
00037                double pTk,
00038                double pSubtract,
00039                double sigma = 1.) ;
00040 
00042     void reset () ;
00044     int solve (int usingBlockSolver, double min, double max) ;
00045   private :
00046     
00048     int evalX2Size () ;
00050     void complete () ;
00052     void riempiMtr (const std::vector<double> & piena, CLHEP::HepMatrix & vuota) ;
00054     void riempiVtr (const std::vector<double> & pieno, CLHEP::HepVector & vuoto) ;
00056     void fillMap (const CLHEP::HepVector & result) ; 
00057   
00058   private :  
00059 
00061     std::vector<double> m_kaliVector ; 
00063     std::vector<double> m_kaliMatrix ;
00064 } ;
00065 
00066 
00067 #endif
00068 #endif
00069