1#ifndef __JRECONSTRUCTION__JMUONFEATURES__
2#define __JRECONSTRUCTION__JMUONFEATURES__
89 using JRegressor_t::operator();
133 const storage_type& storage,
134 const int debug = 0) :
138 using namespace JFIT;
144 JRegressor_t::debug =
debug;
147 JRegressor_t::MAXIMUM_ITERATIONS =
NMax;
149 this->parameters.resize(5);
184 buildL0(event, router,
true, back_inserter(data));
186 for (
const auto& hit : data) {
204 using namespace JFIT;
223 for (JEvt::const_iterator track = in.begin(); track != in.end(); ++track) {
240 for (buffer_type::const_iterator i = data.begin(); i != data.end(); ++i) {
247 buffer.push_back(hit);
256 for (buffer_type::const_iterator i = buffer.begin(); i != buffer.end(); ++i) {
257 auto it = mapString.find((*i).getModuleID());
258 stringSet.insert(it->second);
263 const int number_of_lines = stringSet.size();
265 const int NDF = number_of_hits - this->parameters.size();
284 copy(input.
in.begin(), input.
in.end(), back_inserter(out));
Coverage of dynamical detector calibration.
Basic data structure for L0 hit.
Data regression method for JFIT::JLine3Z.
General purpose messaging.
Direct access to module in detector data structure.
Auxiliary class to define a range between two values.
Auxiliary methods to convert data members or return values of member methods of a set of objects to a...
int getString() const
Get string number.
Router for direct addressing of module data in detector data structure.
const JModule & getModule(const JObjectID &id) const
Get module parameters.
Data structure for set of track fit results.
void select(const JSelector_t &selector)
Select fits.
JFit & add(const int type)
Add event to history.
Fit method based on the Levenberg-Marquardt method.
Data structure for fit of straight line paralel to z-axis.
static parameter_type pY()
static parameter_type pX()
static parameter_type pT()
Data structure for fit of straight line in positive z-direction.
static parameter_type pDY()
static parameter_type pDX()
JAxis3D & rotate(const JRotation3D &R)
Rotate axis.
JPosition3D & rotate(const JRotation3D &R)
Rotate.
Auxiliary class for a hit with background rate value.
Router for fast addressing of summary data in KM3NETDAQ::JDAQSummaryslice data structure as a functio...
double getRate(const JDAQPMTIdentifier &id) const
Get rate.
const JDAQModuleIdentifier & getModuleIdentifier() const
Get Module identifier.
const JDAQPMTIdentifier & getPMTIdentifier() const
Get PMT identifier.
static const int JMUONFEATURES
static const int JMUONFEATURES_NUMBER_OF_LINES
number of lines from JMuonFeatures.cc
static const int JSTART_LENGTH_METRES
distance between projected positions on the track of optical modules for which the response does not ...
static const int JMUONFEATURES_NUMBER_OF_HITS
number of hits from JMuonFeatures.cc
static const int JMUONFEATURES_NUMBER_OF_DOMS
number of doms from JMuonFeatures.cc
void copy(const Head &from, JHead &to)
Copy header from from to to.
Auxiliary classes and methods for linear and iterative data regression.
JTOOLS::JRange< double > JZRange
Auxiliary classes and methods for 3D geometrical objects and operations.
const array_type< JValue_t > & make_array(const JValue_t(&array)[N])
Method to create array of values.
size_t getCount(const array_type< T > &buffer, const JCompare_t &compare)
Count number of unique values.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
JPosition3D getPosition(const JFit &fit)
Get position.
bool qualitySorter(const JFit &first, const JFit &second)
Comparison of fit results.
JDirection3D getDirection(const JFit &fit)
Get direction.
Auxiliary classes and methods for triggering.
Model for fit to acoustics data.
Data structure for coverage of detector by dynamical calibrations.
Auxiliary class for historical event.
Auxiliary class to test history.
Template definition of a data regressor of given model.
Wrapper class to add features after the final fit of muon trajectory.
JMuonFeatures(const JMuonGandalfParameters_t ¶meters, const storage_type &storage, const int debug=0)
Constructor.
JEvt operator()(const input_type &input)
Fit function.
JRegressor< JLine3Z, JGandalf > JRegressor_t
std::vector< hit_type > buffer_type
input_type getInput(const JModuleRouter &router, const JSummaryRouter &summary, const JDAQEvent &event, const JEvt &in, const coverage_type &coverage) const
Get input data.
Data structure for fit parameters.
double TMin_ns
minimal time w.r.t. Cherenkov hypothesis [ns]
double roadWidth_m
road width [m]
double TMax_ns
maximal time w.r.t. Cherenkov hypothesis [ns]
double VMax_npe
maximum number of of photo-electrons
double ZMax_m
maximal z-positon [m]
double ZMin_m
minimal z-positon [m]
int NMax
maximum number of iterations
size_t numberOfPrefits
number of prefits