1 #ifndef __JRECONSTRUCTION__JMUONSIMPLEX__
2 #define __JRECONSTRUCTION__JMUONSIMPLEX__
41 namespace JRECONSTRUCTION {}
42 namespace JPP {
using namespace JRECONSTRUCTION; }
44 namespace JRECONSTRUCTION {
71 using JRegressor_t::operator();
82 const int debug = 0) :
117 for (JDAQTimeslice::const_iterator i = timeslice.begin(); i != timeslice.end(); ++i) {
124 buildL0(buffer, back_inserter(dataL0));
127 buildL2(buffer, back_inserter(dataL1));
132 return (*
this)(dataL0, dataL1,
in);
155 data.reserve(dataL0.size() +
159 for (JEvt::const_iterator track = in.begin(); track != in.end(); ++track) {
167 for (buffer_type::const_iterator i = dataL1.begin(); i != dataL1.end(); ++i) {
180 buffer_type::iterator __end = data.end();
182 for (buffer_type::const_iterator i = dataL0.begin(); i != dataL0.end(); ++i) {
184 if (find_if(data.begin(), __end, bind2nd(equal_to<JDAQModuleIdentifier>(), i->getModuleID())) == __end) {
198 this->step.resize(5);
206 const int NDF =
getCount(data.begin(), data.end()) - this->step.size();
210 const double chi2 = (*this)(
JLine3Z(tz), data.begin(), data.end());
218 out.rbegin()->setW(track->getW());
static int debug
debug level (default is off).
Data regression method for JFIT::JLine3Z.
Template definition of a data regressor of given model.
JEvt operator()(const buffer_type &dataL0, const buffer_type &dataL1, const JEvt &in)
Fit function.
const JModule & getModule(const JObjectID &id) const
Get module parameters.
const JModuleRouter & router
Router for direct addressing of module data in detector data structure.
esac print_variable DETECTOR INPUT_FILE OUTPUT_FILE CDF for TYPE in
*fatal Wrong number of arguments esac JCookie sh typeset Z DETECTOR typeset Z SOURCE_RUN typeset Z TARGET_RUN set_variable PARAMETERS_FILE $WORKDIR parameters
Template specialisation of class JModel to match hit with muon trajectory along z-axis.
Data structure for fit of straight line in positive z-direction.
double getQuality(const double chi2, const int N, const int NDF)
Get quality of fit.
Data structure for vector in three dimensions.
Wrapper class to make intermediate fit of muon trajectory.
Regressor function object for JLine3Z fit using JSimplex minimiser.
JRegressor< JLine3Z, JSimplex > JRegressor_t
JEvt operator()(const KM3NETDAQ::JDAQEvent &event, const JEvt &in)
Fit function.
then usage $script[distance] fi case set_variable R
General purpose messaging.
Direct access to module in detector data structure.
std::vector< hit_type > buffer_type
Data structure for L2 parameters.
JFit getFit(const JHistory &history, const JTrack3D &track, const double Q, const int NDF, const double energy=0.0, const int status=0)
Get fit.
Reduced data structure for L1 hit.
Data structure for set of track fit results.
static const int JMUONSIMPLEX
Simple fit method based on Powell's algorithm, see reference: Numerical Recipes in C++...
Data structure for fit of straight line paralel to z-axis.
bool hasModule(const JObjectID &id) const
Has module.
int getCount(const T &hit)
Get hit count.
JTRIGGER::JHitR1 hit_type
JMuonSimplex(const JMuonSimplexParameters_t ¶meters, const JModuleRouter &router, const int debug=0)
Constructor.
2-dimensional frame with time calibrated data from one optical module.
Reduced data structure for L1 hit.
JDirection3D getDirection(const Vec &v)
Get direction.
static int MAXIMUM_ITERATIONS
maximal number of iterations
Data structure for fit parameters.
Data structure for normalised vector in positive z-direction.
JPosition3D & rotate(const JRotation3D &R)
Rotate.
Maximum likelihood estimator (M-estimators).
JPosition3D getPosition(const Vec &v)
Get position.