CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC2/src/Calibration/EcalCalibAlgos/interface/L3CalibBlock.h

Go to the documentation of this file.
00001 #ifndef __CINT__
00002 #ifndef L3CalibBlock_H
00003 #define L3CalibBlock_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/Tools/interface/MinL3Algorithm.h"
00016 #include "Calibration/Tools/interface/MinL3AlgoUniv.h"
00017 #include "Calibration/EcalCalibAlgos/interface/VEcalCalibBlock.h"
00018 
00028 class L3CalibBlock : public VEcalCalibBlock
00029 {
00030   public :
00032     L3CalibBlock (const int numberOfElements, 
00033                   const int keventweight = 1) ;
00035     ~L3CalibBlock () ;
00036     
00038     void Fill (std::map<int,double>::const_iterator,
00039                std::map<int,double>::const_iterator,
00040                double pTk,
00041                double pSubtract,
00042                double sigma = 1.) ;
00043 
00045     void reset () ;
00047     double at ( int);
00049     int solve (int usingBlockSolver, double min, double max) ;
00050   
00051   private :  
00052 
00054 //    MinL3Algorithm * m_L3Algo ;
00056     MinL3AlgoUniv<unsigned int> * m_L3AlgoUniv ;
00057 
00058 } ;
00059 
00060 
00061 #endif
00062 #endif
00063