1 #ifndef MinL3Algorithm_H 2 #define MinL3Algorithm_H 24 MinL3Algorithm(
float kweight_ = 0.,
int squareMode_ = 5,
int mineta_ = 1,
int maxeta_ = 85,
int minphi_ = 1,
int maxphi_ = 20);
32 std::vector<float>
iterate(
const std::vector<std::vector<float> >& eventMatrix,
const std::vector<int>& VmaxCeta,
const std::vector<int>& VmaxCphi,
const std::vector<float>& energyVector,
const int& nIter,
const bool& normalizeFlag =
false);
36 void addEvent(
const std::vector<float>& eventSquare,
const int& maxCeta,
const int& maxCphi,
const float& energy);
39 std::vector<float>
recalibrateEvent(
const std::vector<float>& eventSquare,
const int& maxCeta,
const int& maxCphi,
const std::vector<float>& recalibrateVector);
42 std::vector<float>
getSolution(
bool resetsolution=
true);
48 int indexSqr2Reg(
const int& sqrIndex,
const int& maxCeta,
const int& maxCphi);
63 #endif // MinL3Algorithm_H
MinL3Algorithm(float kweight_=0., int squareMode_=5, int mineta_=1, int maxeta_=85, int minphi_=1, int maxphi_=20)
std::vector< float > getSolution(bool resetsolution=true)
get the solution at the end of the calibration
int indexSqr2Reg(const int &sqrIndex, const int &maxCeta, const int &maxCphi)
method to translate from square indices to region indices
std::vector< float > wsum
~MinL3Algorithm()
Destructor.
void resetSolution()
reset for new iteration
void addEvent(const std::vector< float > &eventSquare, const int &maxCeta, const int &maxCphi, const float &energy)
add event to the calculation of the calibration vector
std::vector< float > Ewsum
std::vector< float > recalibrateEvent(const std::vector< float > &eventSquare, const int &maxCeta, const int &maxCphi, const std::vector< float > &recalibrateVector)
recalibrate before next iteration: give previous solution vector as argument
std::vector< float > iterate(const std::vector< std::vector< float > > &eventMatrix, const std::vector< int > &VmaxCeta, const std::vector< int > &VmaxCphi, const std::vector< float > &energyVector, const int &nIter, const bool &normalizeFlag=false)