1 #ifndef RecoLocalCalo_HcalRecAlgos_MahiFit_HH 2 #define RecoLocalCalo_HcalRecAlgos_MahiFit_HH 15 #include <Math/Functor.h> 94 void setParameters(
bool iDynamicPed,
99 bool iCalculateArrivalTime,
101 double iTimeSigmaHPD,
102 double iTimeSigmaSiPM,
103 const std::vector<int>& iActiveBXs,
106 double iDeltaChiSqThresh,
110 float& reconstructedEnergy,
111 float& reconstructedTime,
117 void doFit(std::array<float, 3>& correctedOutput,
const int nbx)
const;
130 const float minimize()
const;
131 void onePulseMinimize()
const;
133 void updatePulseShape(
const float itQ,
139 float calculateChiSq()
const;
141 void resetWorkspace()
const;
143 void nnlsUnconstrainParameter(Index idxp)
const;
144 void nnlsConstrainParameter(Index minratioidx)
const;
164 float tsDelay1GeV_ = 0.f;
185 std::unique_ptr<FitterFuncs::PulseShapeFunctor>
psfPtr_;
Eigen::Matrix< double, SampleVectorSize, Eigen::Dynamic, 0, SampleVectorSize, PulseVectorSize > SamplePulseMatrix
SamplePulseMatrix invcovp
HcalTimeSlew::BiasSetting slewFlavor_
Eigen::Matrix< double, FullSampleVectorSize, FullSampleVectorSize > FullSampleMatrix
Eigen::LLT< SampleMatrix > SampleDecompLLT
MahiNnlsWorkspace nnlsWork_
Eigen::Matrix< double, FullSampleVectorSize, 1 > FullSampleVector
std::array< SampleMatrix, MaxPVSize > pulseCovArray
SampleDecompLLT covDecomp
Eigen::Matrix< double, Eigen::Dynamic, 1, 0, PulseVectorSize, 1 > PulseVector
SamplePulseMatrix pulseDerivMat
bool calculateArrivalTime_
std::unique_ptr< FitterFuncs::PulseShapeFunctor > psfPtr_
std::vector< int > activeBXs_
std::unique_ptr< ROOT::Math::Functor > pfunctor_
Eigen::Matrix< double, SampleVectorSize, 1 > SampleVector
SamplePulseMatrix pulseMat
Eigen::Matrix< double, SampleVectorSize, SampleVectorSize > SampleMatrix
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic, 0, PulseVectorSize, PulseVectorSize > PulseMatrix