Declaration of the operator that performs the reconstruction. 
   87       const double STANDARD_DEVIATIONS       = 3.0;
 
  106       copy(dataL1.begin(), dataL1.end(), back_inserter(dataL0));
 
  108       for (buffer_type::const_iterator 
i = buffer.begin(); 
i != buffer.end(); ++
i) {
 
  110         if (find_if(dataL1.begin(), dataL1.end(), match_t(*
i, 
TMaxLocal_ns)) == dataL1.end()) {
 
  111           dataL0.push_back(*
i); 
 
  115       for (buffer_type::const_iterator 
root = dataL1.begin(); 
root != dataL1.end(); ++
root) {
 
  121         for (buffer_type::const_iterator 
i = dataL0.begin(); 
i != dataL0.end(); ++
i) {
 
  123           if(( 
root->getModuleIdentifier() != 
i->getModuleIdentifier() ) && matching(*
i)){
 
  133         double    chi2 = numeric_limits<double>::max();
 
  134         int       NDF  = 
distance(
data.begin(), __end1) - JEstimator_t::NUMBER_OF_PARAMETERS;
 
  139           double ymin = numeric_limits<double>::max();
 
  141           buffer_type::iterator __end2 = __end1;
 
  144                  JEstimator_t::NUMBER_OF_PARAMETERS; ++
n, --__end2) {
 
  151                 fit(
data.begin(), __end2);
 
  159                   NDF  = 
distance(
data.begin(), __end2) - JEstimator_t::NUMBER_OF_PARAMETERS;
 
  167             ymin -= STANDARD_DEVIATIONS * STANDARD_DEVIATIONS;
 
  172           const int number_of_outliers = 
distance(
data.begin(), __end1) - JEstimator_t::NUMBER_OF_PARAMETERS - 1;
 
  174           buffer_type::iterator __end2 = __end1;
 
  176           for (
int n = 0; n <= number_of_outliers; ++
n) {         
 
  180               fit(
data.begin(), __end2);
 
  183               NDF  = 
distance(
data.begin(), __end2) - JEstimator_t::NUMBER_OF_PARAMETERS;
 
  190             buffer_type::iterator imax = __end2;
 
  192             for (buffer_type::iterator 
i = 
data.begin() + 1; 
i != __end2; ++
i) {
 
  202             if (ymax > STANDARD_DEVIATIONS * STANDARD_DEVIATIONS) {     
 
  204               swap(*imax, *__end2);       
 
  211         if (NDF >= 0 && chi2 > numeric_limits<double>::lowest()) {
 
  217           out.rbegin()->setW(13, chi2);
 
  218           out.rbegin()->setW(14, N);           
 
int factoryLimit
factory limit for combinatorics 
 
int numberOfOutliers
maximum number of outliers 
 
static struct JTRIGGER::clusterizeWeight clusterizeWeight
 
double sigma_ns
time resolution [ns] 
 
JBinder2nd< JHit_t > JBind2nd(const JMatch< JHit_t > &match, const JHit_t &second)
Auxiliary method to create JBinder2nd object. 
 
Linear fit of bright point (position and time) between hits (objects with position and time)...
 
std::vector< T >::difference_type distance(typename std::vector< T >::const_iterator first, typename PhysicsEvent::const_iterator< T > second)
Specialisation of STL distance. 
 
Data structure for vertex fit. 
 
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. 
 
Auxiliary class to convert binary JMatch operator and given hit to unary match operator. 
 
double getQuality(const double chi2, const int N, const int NDF)
Get quality of fit. 
 
static struct JTRIGGER::JHitR1::compare compare
 
static const int JSHOWERPREFIT
 
const JModuleRouter & router
 
double ctMin
minimal cosine space angle between PMT axes 
 
Data structure for L2 parameters. 
 
then usage $script< input file >[option[primary[working directory]]] nWhere option can be N
 
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
 
int getCount(const T &hit)
Get hit count. 
 
void copy(const Head &from, JHead &to)
Copy header from from to to. 
 
double roadWidth_m
road width [m] 
 
double getChi2(const double P)
Get chi2 corresponding to given probability. 
 
Data structure for normalised vector in positive z-direction. 
 
do JPlot2D f $WORKDIR canberra[${EMITTER}] root
 
double TMaxLocal_ns
time window for local coincidences [ns]