1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
#ifndef __CINT__
#ifndef L3CalibBlock_H
#define L3CalibBlock_H
#include <map>
#include <string>
#include <vector>
#include "CLHEP/Matrix/GenMatrix.h"
#include "CLHEP/Matrix/Matrix.h"
#include "CLHEP/Matrix/Vector.h"
#include "CLHEP/Random/RandGaussQ.h"
#include "Calibration/Tools/interface/InvMatrixCommonDefs.h"
#include "Calibration/Tools/interface/MinL3Algorithm.h"
#include "Calibration/Tools/interface/MinL3AlgoUniv.h"
#include "Calibration/EcalCalibAlgos/interface/VEcalCalibBlock.h"
/** \class L3CalibBlock
\brief interface to the L3Univ class for testing
*/
class L3CalibBlock : public VEcalCalibBlock {
public:
//! ctor
L3CalibBlock(const int numberOfElements, const int keventweight = 1);
//! dtor
~L3CalibBlock() override;
//! insert an entry
void Fill(std::map<int, double>::const_iterator,
std::map<int, double>::const_iterator,
double pTk,
double pSubtract,
double sigma = 1.) override;
//! reset the calib objects
void reset() override;
//! To retrieve the coefficients
double at(int);
//! get the coefficients
int solve(int usingBlockSolver, double min, double max) override;
private:
//! the L3 algo
// MinL3Algorithm * m_L3Algo ;
//! the universal L3 algo
MinL3AlgoUniv<unsigned int>* m_L3AlgoUniv;
};
#endif
#endif
|