1 #ifndef JSHOWERFIT_INCLUDE
2 #define JSHOWERFIT_INCLUDE
57 namespace JRECONSTRUCTION {}
58 namespace JPP {
using namespace JRECONSTRUCTION; }
60 namespace JRECONSTRUCTION {
78 using JRegressor_t::operator();
95 const std::string pdfFile,
111 this->parameters.resize(3);
142 for (JEvt::const_iterator shower = in.begin(); shower != in.end(); ++shower) {
152 for (JDataL0_t::const_iterator
i = dataL0.begin();
i != dataL0.end(); ++
i) {
154 top.insert(
i->getPMTIdentifier());
164 for (JDetectorSubset_t::const_iterator module = subdetector.begin();
165 module != subdetector.end(); ++module) {
173 for (
size_t i = 0;
i != dom.size(); ++
i) {
177 frame[
i].is_valid() &&
182 const size_t count = top.count(
id);
190 shower->getE()), buffer.begin(), buffer.end());
194 JShower3E sh_fit(this->value.getPosition(), this->value.getDirection(),
195 this->value.getT(),
correct(this->value.getE()));
199 sh_fit.
add(Vertex.getPosition());
202 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]
static parameter_type pDX()
static double EPSILON
maximal distance to minimum
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.
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.
std::vector< T >::difference_type distance(typename std::vector< T >::const_iterator first, typename PhysicsEvent::const_iterator< T > second)
Specialisation of STL distance.
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.
Auxiliary class for correction of energy determined by JShowerEnergy.cc.
double DMax_m
maximal distance to optical module [m]
Router for direct addressing of module data in detector data structure.
double getRate() const
Get default rate.
then usage $script< input file >[option] nPossible options count
*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})"
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 epsilon
tolerance for minimisation
static parameter_type pE()
Router for fast addressing of summary data in KM3NETDAQ::JDAQSummaryslice data structure as a functio...
const JPMT & getPMT(const int index) const
Get PMT.
void rotate(const JRotation3D &R)
Rotate module.
JRegressor< JShower3EZ, JGandalf > JRegressor_t
Detector subset without binary search functionality.
static const int JSHOWERCOMPLETEFIT
Fit method based on the Levenberg-Marquardt method.
Reduced data structure for L1 hit.
Regressor function object for JShower3EZ fit using JGandalf minimiser.
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
static parameter_type pDY()
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.
static double Vmax_npe
Maximal integral of PDF [npe].
Data structure for fit of energy.
static JTimeRange T_ns
Time window with respect to Cherenkov hypothesis [ns].
static int MAXIMUM_ITERATIONS
maximal number of iterations
double Vmax_npe
maximum number of of photo-electrons
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.
Match operator for Cherenkov light from shower in any direction.
Basic data structure for L1 hit.
double DStep_m
step increase for the distance to optical module [m]