1 #ifndef __JFIT__JSHOWERENERGYREGRESSOR__
2 #define __JFIT__JSHOWERENERGYREGRESSOR__
36 namespace JPP {
using namespace JFIT; }
78 const JPDF_t::JSupervisor supervisor(
new JPDF_t::JDefaultResult(
JMATH::zero));
80 for (
int i = 0; i != NUMBER_OF_PDFS; ++i) {
86 const string file_name =
getFilename(fileDescriptor, pdf_t[i]);
88 NOTICE(
"loading PDF from file " << file_name <<
"... " << flush);
90 pdf.
load(file_name.c_str());
105 for (
int i = 1; i < NUMBER_OF_PDFS; i += 2) {
124 const double E =
x.getE();
127 return estimator->getRho(
u);
138 const double R_Hz)
const
145 const double U_length = std::sqrt(U.
getDX()*U.
getDX() +
173 if (D <= i->getXmax()) {
177 const double y =
get_value((*i)(std::max(D, i->getXmin()), cd));
184 ERROR(error << std::endl);
196 static const int NUMBER_OF_PDFS = 2;
Maximum likelihood estimator (M-estimators).
General purpose messaging.
Numbering scheme for PDF types.
General purpose data regression method.
This include file containes various data structures that can be used as specific return types for the...
Definition of zero value for any class.
Data structure for fit of energy.
Simple fit method based on Powell's algorithm, see reference: Numerical Recipes in C++,...
Data structure for direction in three dimensions.
const JDirection3D & getDirection() const
Get direction.
double getDot(const JAngle3D &angle) const
Get dot product.
Data structure for position in three dimensions.
const JPosition3D & getPosition() const
Get position.
double getLength() const
Get length.
double getDY() const
Get y direction.
double getDX() const
Get x direction.
double getDZ() const
Get z direction.
virtual const char * what() const override
Get error message.
The template JSharedPointer class can be used to share a pointer to an object.
Custom class for integrated values of the PDF of the arrival time of Cherenkov light.
Multi-dimensional PDF table for arrival time of Cherenkov light.
double getNPE(const Hit &hit)
Get true charge of hit.
std::string getFilename(const std::string &file_name)
Get file name part, i.e. part after last JEEP::PATHNAME_SEPARATOR if any.
Auxiliary classes and methods for linear and iterative data regression.
static const JZero zero
Function object to assign zero value.
@ SCATTERED_LIGHT_FROM_BRIGHT_POINT
scattered light from bright point
@ DIRECT_LIGHT_FROM_BRIGHT_POINT
direct light from bright point
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Abstract class for global fit method.
static JTimeRange T_ns
Time window with respect to Cherenkov hypothesis [ns].
JTOOLS::JSplineFunction1S_t JFunction1D_t
JShowerNPE getNPE(const JAxis3D &axis, const double R_Hz) const
Create data structure for handling light yields for PMT.
double operator()(const JEnergy &x, const JShowerNPEHit &npe) const
Fit function.
JPHYSICS::JNPETable< double, double, JMapList_t > JNPE_t
static double getNPE(const std::vector< JNPE_t > &NPE, const double D, const double cd)
Get number of photo-electrons.
JPHYSICS::JPDFTable< JFunction1D_t, JMapList_t > JPDF_t
std::vector< JNPE_t > Y
light from EM showers
JTOOLS::JMAPLIST< JTOOLS::JPolint1FunctionalMap, JTOOLS::JPolint1FunctionalGridMap >::maplist JMapList_t
JRegressor(const std::string &fileDescriptor)
Parameterized constructor.
JLANG::JSharedPointer< JMEstimator > estimator
M-Estimator function.
static double Vmax_npe
Maximal integral of PDF [npe].
Template definition of a data regressor of given model.
Auxiliary class for simultaneously handling light yields and response of PMT.
double getChi2(const double E_GeV) const
Get chi2.
Auxiliary class for handling EM shower light yield.
void load(const char *file_name)
Load from input file.