1#ifndef __JRECONSTRUCTION__JMUONSIMPLEX__
2#define __JRECONSTRUCTION__JMUONSIMPLEX__
73 using JRegressor_t::operator();
84 const int debug = 0) :
93 JRegressor_t::debug =
debug;
94 JRegressor_t::MAXIMUM_ITERATIONS =
NMax;
108 using namespace JFIT;
120 for (JDAQTimeslice::const_iterator i = timeslice.begin(); i != timeslice.end(); ++i) {
127 buildL0(buffer, back_inserter(dataL0));
130 buildL2(buffer, back_inserter(dataL1));
135 return (*
this)(dataL0, dataL1, in);
152 using namespace JFIT;
154 using namespace JLANG;
160 data.reserve(dataL0.size() +
164 for (JEvt::const_iterator track = in.begin(); track != in.end(); ++track) {
172 for (buffer_type::const_iterator i = dataL1.begin(); i != dataL1.end(); ++i) {
185 buffer_type::iterator __end = data.end();
187 for (buffer_type::const_iterator i = dataL0.begin(); i != dataL0.end(); ++i) {
189 if (find_if(data.begin(), __end, make_predicate(&
hit_type::getModuleID, i->getModuleID())) == __end) {
203 this->step.resize(5);
211 const int NDF =
getCount(data.begin(), data.end()) - this->step.size();
215 const double chi2 = (*this)(
JLine3Z(tz), data.begin(), data.end());
223 out.rbegin()->setW(track->getW());
Reduced data structure for L1 hit.
Data regression method for JFIT::JLine3Z.
Maximum likelihood estimator (M-estimators).
General purpose messaging.
Direct access to module in detector data structure.
Router for direct addressing of module data in detector data structure.
bool hasModule(const JObjectID &id) const
Has module.
const JModule & getModule(const JObjectID &id) const
Get module parameters.
Data structure for set of track fit results.
Data structure for fit of straight line paralel to z-axis.
Data structure for fit of straight line in positive z-direction.
Simple fit method based on Powell's algorithm, see reference: Numerical Recipes in C++,...
JPosition3D & rotate(const JRotation3D &R)
Rotate.
Data structure for vector in three dimensions.
Data structure for normalised vector in positive z-direction.
Reduced data structure for L1 hit.
2-dimensional frame with time calibrated data from one optical module.
int getModuleID() const
Get module identifier.
static const int JMUONSIMPLEX
JTOOLS::JRange< double > JTimeRange
Type definition for time range (unit [s]).
Auxiliary classes and methods for linear and iterative data regression.
Auxiliary classes and methods for 3D geometrical objects and operations.
Auxiliary classes and methods for language specific functionality.
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).
double getQuality(const double chi2, const int N, const int NDF)
Get quality of fit.
JPosition3D getPosition(const JFit &fit)
Get position.
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.
JDirection3D getDirection(const JFit &fit)
Get direction.
Auxiliary classes and methods for triggering.
Model for fit to acoustics data.
JHistory & add(const int type)
Add event to history.
Template definition of a data regressor of given model.
Data structure for fit parameters.
double TMax_ns
maximal time w.r.t. Cherenkov hypothesis [ns]
bool useL0
option for L0 hit use
double roadWidth_m
road width [m]
int NMax
maximum number of iterations
double TMaxLocal_ns
time window for local coincidences [ns]
double sigma_ns
time resolution [ns]
double TMin_ns
minimal time w.r.t. Cherenkov hypothesis [ns]
double ctMin
minimal cosine space angle between PMT axes
Wrapper class to make intermediate fit of muon trajectory.
JRegressor< JLine3Z, JSimplex > JRegressor_t
JEvt operator()(const KM3NETDAQ::JDAQEvent &event, const JEvt &in)
Fit function.
JEvt operator()(const buffer_type &dataL0, const buffer_type &dataL1, const JEvt &in)
Fit function.
const JModuleRouter & router
JMuonSimplex(const JMuonSimplexParameters_t ¶meters, const JModuleRouter &router, const int debug=0)
Constructor.
std::vector< hit_type > buffer_type
JTRIGGER::JHitR1 hit_type
Data structure for L2 parameters.