1 #ifndef __JRECONSTRUCTION__JMUONSIMPLEX__
2 #define __JRECONSTRUCTION__JMUONSIMPLEX__
73 using JRegressor_t::operator();
84 const int debug = 0) :
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) {
203 this->step.resize(5);
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.
const JModule & getModule(const JObjectID &id) const
Get module parameters.
bool hasModule(const JObjectID &id) const
Has module.
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
JDirection3D getDirection(const Vec &dir)
Get direction.
JPosition3D getPosition(const Vec &pos)
Get position.
double getQuality(const double chi2, const int NDF)
Get quality of fit.
JFit getFit(const int id, const JMODEL::JString &string)
Get fit parameters of string.
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.
JPredicate< JResult_t T::*, JComparison::eq > make_predicate(JResult_t T::*member, const JResult_t value)
Helper method to create predicate for data member.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Auxiliary classes and methods for triggering.
JHistory & add(const int type)
Add event to history.
Template specialisation of class JModel to match hit with muon trajectory along z-axis.
Regressor function object for JLine3Z fit using JSimplex minimiser.
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.
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
JRegressor< JLine3Z, JSimplex > JRegressor_t
Data structure for L2 parameters.