1 #ifndef JSHOWERPOINTSIMPLEX_INCLUDE
2 #define JSHOWERPOINTSIMPLEX_INCLUDE
54 namespace JRECONSTRUCTION {}
55 namespace JPP {
using namespace JRECONSTRUCTION; }
57 namespace JRECONSTRUCTION {
75 using JRegressor_t::operator();
125 for (JEvt::const_iterator shower = in.begin(); shower != in.end(); ++shower) {
131 data.reserve(dataL0.size() + dataL1.size());
151 for (buffer_type::const_iterator
i = dataL1.begin();
i != dataL1.end(); ++
i) {
158 buffer_type::iterator __end = data.end();
160 for (buffer_type::const_iterator
i = dataL0.begin();
i != dataL0.end(); ++
i) {
168 const int NDF =
getCount(data.begin(), data.end()) - this->step.size();
179 this->step.resize(4);
185 double chi2 = (*this)(vxs, data.begin(), data.end());
188 this->value.getT(), shower->getE());
static int debug
debug level (default is off).
Template definition of a data regressor of given model.
class to handle the second position fit of the shower reconstruction, mainly dedicated for ORCA ...
const JModuleRouter & router
double pos_step_m
step in [m] of position grid
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.
Data structure for direction in three dimensions.
double getQuality(const double chi2, const int NDF)
Get quality of fit.
double roadWidth_m
road width [m]
Algorithms for hit clustering and sorting.
Data structure for vertex fit.
JRange_t pos_grid_m
edges in [m] of the position grid
Router for direct addressing of module data in detector data structure.
static const int JSHOWERPOINTSIMPLEX
*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
double sigma_ns
time resolution [ns]
Basic data structure for time and time over threshold information of hit.
Data structure for detector geometry and calibration.
JRange_t TWindow_ns
time window for local coincidences [ns] for events with few prefits
JRegressor< JPoint4D, JSimplex > JRegressor_t
Auxiliary class to extract a subset of optical modules from a detector.
JEvt operator()(const KM3NETDAQ::JDAQEvent &event, const JFIT::JEvt &in)
Declaration of the member function that actually performs the reconstruction.
Regressor function object for JPoint4D fit using JSimplex minimiser.
std::vector< hit_type > buffer_type
Data structure for vector in three dimensions.
JRange_t time_grid_ns
edges in [ns] of the time grid
int NMax
maximum number of iterations
double TMaxLocal_ns
time window for local coincidences [ns]
double simplex_step_m
step in [m] of JSimplex minimiser
JPosition3D getPosition(const Vec &pos)
Get position.
JTRIGGER::JHitR1 hit_type
double simplex_step_ns
step in [ns] of JSimplex minimiser
JShowerPointSimplex(const JShowerPointSimplexParameters_t ¶meters, const JModuleRouter &router, const int debug=0)
Parameterized constructor.
Direct access to module in detector data structure.
Data structure for L2 parameters.
Reduced data structure for L1 hit.
double TMax_ns
maximum time for local coincidences [ns]
Data structure for set of track fit results.
JFit getFit(const int id, const JMODEL::JString &string)
Get fit parameters of string.
Auxiliary class to define a range between two values.
Simple fit method based on Powell's algorithm, see reference: Numerical Recipes in C++...
size_t minPrefitsSize
number of prefits under which an event is treated as a very low energy one
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.
Reduced data structure for L1 hit.
double time_step_ns
step in [ns] of time grid
static int MAXIMUM_ITERATIONS
maximal number of iterations
double TMin_ns
minimum time for local coincidences [ns]
double tukey_std_dev
standard deviation of Tukey estimator
double ctMin
minimal cosine space angle between PMT axes
Template specialisation of class JModel to match hit with bright point.
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
Tukey's biweight M-estimator.
Match operator for Cherenkov light from shower in any direction.
JTOOLS::JRange< double > JTimeRange
Type definition for time range (unit [s]).