1 #ifndef  __JRECONSTRUCTION__JMUONSIMPLEX__ 
    2 #define  __JRECONSTRUCTION__JMUONSIMPLEX__ 
   43 namespace JRECONSTRUCTION {}
 
   44 namespace JPP { 
using namespace JRECONSTRUCTION; }
 
   46 namespace JRECONSTRUCTION {
 
   73     using JRegressor_t::operator();
 
   84                  const int                       debug = 0) :
 
  108       using namespace JFIT;
 
  109       using namespace JTRIGGER;
 
  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;
 
  153       using namespace JGEOMETRY3D;
 
  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);
 
  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());
 
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. 
 
JPredicate< JResult_t T::*, JComparison::eq > make_predicate(JResult_t T::*member, const JResult_t value)
Helper method to create predicate for data member. 
 
int getModuleID() const 
Get module identifier. 
 
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. 
 
double TMax_ns
maximal time w.r.t. Cherenkov hypothesis [ns] 
 
Router for direct addressing of module data in detector data structure. 
 
double sigma_ns
time resolution [ns] 
 
double TMaxLocal_ns
time window for local coincidences [ns] 
 
*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. 
 
double roadWidth_m
road width [m] 
 
bool useL0
option for L0 hit use 
 
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. 
 
Reduced data structure for L1 hit. 
 
double TMin_ns
minimal time w.r.t. Cherenkov hypothesis [ns] 
 
then JCookie sh JDataQuality D $DETECTOR_ID R
 
Data structure for set of track fit results. 
 
JFit getFit(const int id, const JMODEL::JString &string)
Get fit parameters of string. 
 
static const int JMUONSIMPLEX
 
Simple fit method based on Powell's algorithm, see reference: Numerical Recipes in C++...
 
int NMax
maximum number of iterations 
 
then if[[!-f $DETECTOR]] then JDetector sh $DETECTOR fi cat $WORKDIR trigger_parameters txt<< EOFtrigger3DMuon.enabled=1;trigger3DMuon.numberOfHits=5;trigger3DMuon.gridAngle_deg=1;ctMin=0.0;TMaxLocal_ns=15.0;EOF set_variable TRIGGEREFFICIENCY_TRIGGERED_EVENTS_ONLY INPUT_FILES=() for((i=1;$i<=$NUMBER_OF_RUNS;++i));do JSirene.sh $DETECTOR $JPP_DATA/genhen.km3net_wpd_V2_0.evt.gz $WORKDIR/sirene_ ${i}.root JTriggerEfficiency.sh $DETECTOR $DETECTOR $WORKDIR/sirene_ ${i}.root $WORKDIR/trigger_efficiency_ ${i}.root $WORKDIR/trigger_parameters.txt $JPP_DATA/PMT_parameters.txt INPUT_FILES+=($WORKDIR/trigger_efficiency_ ${i}.root) done for ANGLE_DEG in $ANGLES_DEG[*];do set_variable SIGMA_NS 3.0 set_variable OUTLIERS 3 set_variable OUTPUT_FILE $WORKDIR/matrix\[${ANGLE_DEG}\deg\].root $JPP_DIR/examples/JReconstruction-f"$INPUT_FILES[*]"-o $OUTPUT_FILE-S ${SIGMA_NS}-A ${ANGLE_DEG}-O ${OUTLIERS}-d ${DEBUG}--!fiif[[$OPTION=="plot"]];then if((0));then for H1 in h0 h1;do JPlot1D-f"$WORKDIR/matrix["${^ANGLES_DEG}" deg].root:${H1}"-y"1 2e3"-Y-L TR-T""-\^"number of events [a.u.]"-> o chi2
 
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 
 
double ctMin
minimal cosine space angle between PMT axes 
 
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 JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
 
JPosition3D & rotate(const JRotation3D &R)
Rotate. 
 
Maximum likelihood estimator (M-estimators). 
 
JTOOLS::JRange< double > JTimeRange
Type definition for time range (unit [s]).