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) :
106 using namespace JFIT;
107 using namespace JTRIGGER;
118 for (JDAQTimeslice::const_iterator i = timeslice.begin(); i != timeslice.end(); ++i) {
125 buildL0(buffer, back_inserter(dataL0));
128 buildL2(buffer, back_inserter(dataL1));
133 return (*
this)(dataL0, dataL1,
in);
150 using namespace JFIT;
151 using namespace JGEOMETRY3D;
157 data.reserve(dataL0.size() +
161 for (JEvt::const_iterator track = in.begin(); track != in.end(); ++track) {
169 for (buffer_type::const_iterator i = dataL1.begin(); i != dataL1.end(); ++i) {
182 buffer_type::iterator __end = data.end();
184 for (buffer_type::const_iterator i = dataL0.begin(); i != dataL0.end(); ++i) {
186 if (find_if(data.begin(), __end, bind2nd(equal_to<JDAQModuleIdentifier>(), i->getModuleID())) == __end) {
200 this->step.resize(5);
208 const int NDF =
getCount(data.begin(), data.end()) - this->step.size();
212 const double chi2 = (*this)(
JLine3Z(tz), data.begin(), data.end());
220 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
double getQuality(const double chi2, const int NDF)
Get quality of fit.
JTOOLS::JRange< double > JTimeRange
Type definition for time range (unit [ns]).
Router for direct addressing of module data in detector data structure.
*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.
JDirection3D getDirection(const Vec &dir)
Get direction.
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
JPosition3D getPosition(const Vec &pos)
Get position.
JEvt operator()(const KM3NETDAQ::JDAQEvent &event, const JEvt &in)
Fit function.
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.
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR set_variable NORTH set_variable EAST set_variable SOUTH set_variable WEST set_variable WORKDIR tmp set_variable R set_variable CT set_variable YMAX set_variable YMIN if do_usage *then usage $script[distance] fi case set_variable R
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.
static int MAXIMUM_ITERATIONS
maximal number of iterations
Data structure for fit parameters.
Data structure for normalised vector in positive z-direction.
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY source JAcoustics sh $DETECTOR_ID CHECK_EXIT_CODE typeset A TRIPODS get_tripods $WORKDIR tripod txt TRIPODS for EMITTER in
JPosition3D & rotate(const JRotation3D &R)
Rotate.
Maximum likelihood estimator (M-estimators).