1 #ifndef JSHOWERFIT_INCLUDE
2 #define JSHOWERFIT_INCLUDE
57 namespace JRECONSTRUCTION {}
58 namespace JPP {
using namespace JRECONSTRUCTION; }
60 namespace JRECONSTRUCTION {
79 using JRegressor_t::operator();
136 for (JEvt::const_iterator shower = in.begin(); shower != in.end(); ++shower) {
144 for (JDataL0_t::const_iterator
i = dataL0.begin();
i != dataL0.end(); ++
i) {
147 top.insert(
i->getPMTIdentifier());
158 for (JDetectorSubset_t::iterator module = subdetector.begin();
159 module != subdetector.end(); ++module) {
167 for (
size_t i = 0;
i != dom.size(); ++
i) {
171 frame[
i].is_valid() &&
177 const size_t count = top.count(
id);
184 this->step.resize(2);
189 JEnergy(
log10(sh.getE()))), buffer.begin(), buffer.end());
191 double NDF =
getCount(buffer.begin(), buffer.end()) - this->step.size();
193 JShower3E sh_fit(this->value.getPosition(), this->value.getDirection(),
194 this->value.getT(),
correct(this->value.getE()));
198 sh_fit.
add(sh.getPosition());
201 NDF, sh_fit.
getE()));
static int debug
debug level (default is off).
Template definition of a data regressor of given model.
double TMax_ns
maximum time for local coincidences [ns]
JEvt operator()(const KM3NETDAQ::JDAQEvent &event, const JFIT::JEvt &in)
Declaration of the member function that actually performs the reconstruction.
JShowerFit(const JShowerFitParameters_t ¶meters, const JModuleRouter &router, const JSummaryRouter &summary, const std::string pdfFile, const JShowerEnergyCorrection &correct, const int debug=0)
Parameterized constructor.
double roadWidth_m
road width [m]
Data structure for direction in three dimensions.
Data structure for a composite optical module.
double getQuality(const double chi2, const int NDF)
Get quality of fit.
Algorithms for hit clustering and sorting.
Template specialisation of L0 builder for JHitL0 data type.
double TMin_ns
minimum time for local coincidences [ns]
Auxiliary class for handling PMT geometry, rate and response.
Data structure for vertex fit.
Auxiliary class for correction of energy determined by JShowerEnergy.cc.
Router for direct addressing of module data in detector data structure.
double getRate() const
Get default rate.
*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
const JModuleRouter & router
const JDAQSummaryFrame & getSummaryFrame() const
Get default summary frame.
Basic data structure for time and time over threshold information of hit.
Data structure for detector geometry and calibration.
JTime & add(const JTime &value)
Addition operator.
const JShowerEnergyCorrection & correct
Basic data structure for L0 hit.
Auxiliary class to extract a subset of optical modules from a detector.
const JSummaryRouter & summary
static const int JSHOWERFIT_ENERGY
uncorrected energy [GeV] from JShowerFit.cc
Data structure for fit of straight line in positive z-direction with energy.
JDirection3D getDirection(const Vec &dir)
Get direction.
double getE() const
Get energy.
Data structure for vector in three dimensions.
set_variable E_E log10(E_{fit}/E_{#mu})"
static double Vmax_npe
Maximal integral of PDF [npe].
Data storage class for rate measurements of all PMTs in one module.
static const int PMT_DISABLE
KM3NeT Data Definitions v3.3.0-2-g5cc95cf https://git.km3net.de/common/km3net-dataformat.
JPosition3D getPosition(const Vec &pos)
Get position.
int mestimator
M-estimator.
JAxis3D & rotate_back(const JRotation3D &R)
Rotate back axis.
double fit_step
simplex initial step
Router for fast addressing of summary data in KM3NETDAQ::JDAQSummaryslice data structure as a functio...
Regressor function object for JShower3EZ fit using JSimplex minimiser.
const JPMT & getPMT(const int index) const
Get PMT.
void rotate(const JRotation3D &R)
Rotate module.
Detector subset without binary search functionality.
static const int JSHOWERCOMPLETEFIT
Reduced data structure for L1 hit.
then JCookie sh JDataQuality D $DETECTOR_ID R
bool getPMTStatus(const JStatus &status)
Test status of PMT.
const JClass_t & getReference() const
Get reference to object.
Data structure for set of track fit results.
JFit getFit(const int id, const JMODEL::JString &string)
Get fit parameters of string.
Data structure for fit parameters.
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++...
JRegressor< JShower3EZ, JSimplex > JRegressor_t
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.
Data regression method for JFIT::JShower3EZ.
Data structure for fit of energy.
static int MAXIMUM_ITERATIONS
maximal number of iterations
JMEstimator * getMEstimator(const int type)
Get M-Estimator.
class to handle the direction fit of the shower reconstruction, mainly dedicated for ORCA ...
bool getDAQStatus(const JDAQFrameStatus &frame, const JStatus &status)
Test status of DAQ.
Template specialisation of class JModel to match hit with bright point.
Data structure for normalised vector in positive z-direction.
static JTimeRange T_ns
Time window with respect to Cherenkov hypothesis [ns].
Match operator for Cherenkov light from shower in any direction.
Basic data structure for L1 hit.