1#ifndef JSHOWERPOINTSIMPLEX_INCLUDE
2#define JSHOWERPOINTSIMPLEX_INCLUDE
83 using JRegressor_t::operator();
126 const int debug = 0):
132 JRegressor_t::debug =
debug;
133 JRegressor_t::MAXIMUM_ITERATIONS =
NMax;
134 JRegressor_t::EPSILON = 1e-4;
137 this->parameters.resize(4);
165 buildL0(
JDAQTimeslice(event,
true), router, back_inserter(dataL0));
166 buildL2(
JDAQTimeslice(event,
false), router, back_inserter(dataL1));
199 for (JEvt::const_iterator shower = in.begin(); shower != in.end(); ++shower) {
206 data.reserve(dataL0.size() + dataL1.size());
207 for (buffer_type::const_iterator i = dataL1.begin(); i != dataL1.end(); ++i) {
214 buffer_type::iterator __end = data.end();
216 for (buffer_type::const_iterator i = dataL0.begin(); i != dataL0.end(); ++i) {
217 if (find_if(data.begin(), __end, make_predicate(&
hit_type::getModuleID, i->getModuleID())) == __end) {
224 const int NDF =
getCount(data.begin(), data.end()) - this->parameters.size();
228 double chi2 = (*this)(vx, data.begin(), data.end());
230 JShower3E sh_fit(this->value.getPosition(),
246 copy(input.
in.begin(), input.
in.end(), back_inserter(out));
Algorithms for hit clustering and sorting.
Coverage of dynamical detector calibration.
Auxiliary class to extract a subset of optical modules from a detector.
Data structure for detector geometry and calibration.
Reduced data structure for L1 hit.
Match operator for Cherenkov light from shower in any direction.
Direct access to module in detector data structure.
Auxiliary class to define a range between two values.
Basic data structure for time and time over threshold information of hit.
Router for direct addressing of module data in detector data structure.
Data structure for set of track fit results.
void select(const JSelector_t &selector)
Select fits.
Fit method based on the Levenberg-Marquardt method.
Data structure for vertex fit.
static parameter_type pT()
static parameter_type pZ()
static parameter_type pX()
static parameter_type pY()
Data structure for direction in three dimensions.
double getE() const
Get energy.
class to handle the second position fit of the shower reconstruction, mainly dedicated for ORCA
std::vector< hit_type > buffer_type
JRegressor< JPoint4D, JGandalf > JRegressor_t
JTRIGGER::JHitR1 hit_type
JEvt operator()(const input_type &input)
Fit function.
JShowerPointSimplex(const JShowerPointSimplexParameters_t ¶meters, const int debug=0)
Parameterized constructor.
input_type getInput(const JModuleRouter &router, const KM3NETDAQ::JDAQEvent &event, const JEvt &in, const coverage_type &coverage) const
Get input data.
Reduced data structure for L1 hit.
int getModuleID() const
Get module identifier.
static const int JSHOWERPOINTSIMPLEX
static const int JPP_COVERAGE_POSITION
coverage of dynamic position calibration from any Jpp application
static const int JPP_COVERAGE_ORIENTATION
coverage of dynamic orientation calibration from any Jpp application
void copy(const Head &from, JHead &to)
Copy header from from to to.
JMEstimator * getMEstimator(const int type)
Get M-Estimator.
size_t getCount(const array_type< T > &buffer, const JCompare_t &compare)
Count number of unique values.
JTOOLS::JRange< double > JTimeRange
Type definition for time range (unit [ns]).
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
double getQuality(const double chi2, const int N, const int NDF)
Get quality of fit.
JPosition3D getPosition(const JFit &fit)
Get position.
bool qualitySorter(const JFit &first, const JFit &second)
Comparison of fit results.
JFit getFit(const JHistory &history, const JTrack3D &track, const double Q, const int NDF, const double energy=0.0, const int status=SINGLE_STAGE)
Get fit.
Auxiliary classes and methods for triggering.
KM3NeT DAQ data structures and auxiliaries.
Data structure for coverage of detector by dynamical calibrations.
double position
coverage of detector by available position calibration [0,1]
double orientation
coverage of detector by available orientation calibration [0,1]
Auxiliary class for historical event.
Auxiliary class to test history.
Auxiliary class to match data points with given model.
Template definition of a data regressor of given model.
double TMin_ns
minimum time for local coincidences [ns]
double TMaxLocal_ns
time window for local coincidences [ns]
double TMax_ns
maximum time for local coincidences [ns]
double ctMin
minimal cosine space angle between PMT axes
double sigma_ns
time resolution [ns]
int mestimator
m-estimator
int NMax
maximum number of iterations
double DMax_m
maximal distance to optical module [m]
size_t numberOfPrefits
number of prefits
Data structure for L2 parameters.