File indexing completed on 2024-04-06 11:58:39
0001 #ifndef __CINT__
0002 #ifndef L3CalibBlock_H
0003 #define L3CalibBlock_H
0004
0005 #include <map>
0006 #include <string>
0007 #include <vector>
0008
0009 #include "CLHEP/Matrix/GenMatrix.h"
0010 #include "CLHEP/Matrix/Matrix.h"
0011 #include "CLHEP/Matrix/Vector.h"
0012 #include "CLHEP/Random/RandGaussQ.h"
0013
0014 #include "Calibration/Tools/interface/InvMatrixCommonDefs.h"
0015 #include "Calibration/Tools/interface/MinL3Algorithm.h"
0016 #include "Calibration/Tools/interface/MinL3AlgoUniv.h"
0017 #include "Calibration/EcalCalibAlgos/interface/VEcalCalibBlock.h"
0018
0019
0020
0021
0022
0023
0024 class L3CalibBlock : public VEcalCalibBlock {
0025 public:
0026
0027 L3CalibBlock(const int numberOfElements, const int keventweight = 1);
0028
0029 ~L3CalibBlock() override;
0030
0031
0032 void Fill(std::map<int, double>::const_iterator,
0033 std::map<int, double>::const_iterator,
0034 double pTk,
0035 double pSubtract,
0036 double sigma = 1.) override;
0037
0038
0039 void reset() override;
0040
0041 double at(int);
0042
0043 int solve(int usingBlockSolver, double min, double max) override;
0044
0045 private:
0046
0047
0048
0049 MinL3AlgoUniv<unsigned int>* m_L3AlgoUniv;
0050 };
0051
0052 #endif
0053 #endif