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 DMax_m
maximal distance to optical module [m]
double getQuality(const double chi2, const int NDF)
Get quality of fit.
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.
then fatal The output file must have the wildcard in the e g root fi 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
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.
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]).