1 #ifndef __JRECONSTRUCTION__JMUONGANDALF__
2 #define __JRECONSTRUCTION__JMUONGANDALF__
48 namespace JRECONSTRUCTION {}
49 namespace JPP {
using namespace JRECONSTRUCTION; }
51 namespace JRECONSTRUCTION {
80 using JRegressor_t::operator();
94 const std::string& pdf_file,
95 const int debug = 0) :
101 using namespace JFIT;
112 this->parameters.resize(5);
132 using namespace JFIT;
133 using namespace JTRIGGER;
139 buildL0(event,
router,
true, back_inserter(dataL0));
141 return (*
this)(dataL0,
in);
155 using namespace JFIT;
156 using namespace JGEOMETRY3D;
160 for (JEvt::const_iterator track = in.begin(); track != in.end(); ++track) {
177 for (buffer_type::const_iterator i = data.begin(); i != data.end(); ++i) {
184 buffer.push_back(hit);
201 if (track->getE() > 0.1)
206 const double chi2 = (*this)(
JLine3Z(tz), buffer.begin(), __end);
216 out.rbegin()->setV(this->
V.size(), this->
V);
218 out.rbegin()->setW(track->getW());
219 out.rbegin()->setW(
JGANDALF_BETA0_RAD, sqrt(this->error.getDX() * this->error.getDX() +
220 this->error.getDY() * this->error.getDY()));
221 out.rbegin()->setW(
JGANDALF_BETA1_RAD, sqrt(this->error.getDX() * this->error.getDY()));
static int debug
debug level (default is off).
Data regression method for JFIT::JLine3Z.
Template definition of a data regressor of given model.
double ZMin_m
minimal z-positon [m]
double TTS_ns
transition-time spread [ns]
const JModuleRouter & router
double getQuality(const double chi2, const int NDF)
Get quality of fit.
double TMin_ns
minimal time w.r.t. Cherenkov hypothesis [ns]
double ZMax_m
maximal z-positon [m]
std::vector< T >::difference_type distance(typename std::vector< T >::const_iterator first, typename PhysicsEvent::const_iterator< T > second)
Specialisation of STL distance.
double roadWidth_m
road width [m]
Router for direct addressing of module data in detector data structure.
double getRate() const
Get default rate.
static const int JGANDALF_BETA1_RAD
angular resolution [rad] from JGandalf.cc
JMuonGandalf(const JMuonGandalfParameters_t ¶meters, const JModuleRouter &router, const JSummaryRouter &summary, const std::string &pdf_file, const int debug=0)
Constructor.
*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
Template specialisation of class JModel to match hit with muon trajectory along z-axis.
Data structure for fit of straight line in positive z-direction.
JRegressor< JLine3Z, JGandalf > JRegressor_t
static parameter_type pT()
double VMax_npe
maximum number of of photo-electrons
V(JDAQEvent-JTriggerReprocessor)*1.0/(JDAQEvent+1.0e-10)
JTRIGGER::JHitL0 hit_type
Wrapper class to make final fit of muon trajectory.
std::vector< hit_type > buffer_type
const JSummaryRouter & summary
static JTimeRange T_ns
Time window with respect to Cherenkov hypothesis [ns].
Basic data structure for L0 hit.
static const int JGANDALF_NUMBER_OF_HITS
number of hits from JGandalf.cc
static struct JTRIGGER::JHitL0::@83 compare
Auxiliary data structure for sorting of hits.
static parameter_type pDX()
static const int JGANDALF_LAMBDA
control parameter from JGandalf.cc
JAxis3D & rotate(const JRotation3D &R)
Rotate axis.
JDirection3D getDirection(const Vec &dir)
Get direction.
double TMax_ns
maximal time w.r.t. Cherenkov hypothesis [ns]
static const int JMUONGANDALF
double E_GeV
Energy of muon at vertex [GeV].
JPosition3D getPosition(const Vec &pos)
Get position.
static const int JGANDALF_BETA0_RAD
KM3NeT Data Definitions v2.1.0-12-g9520e6e https://git.km3net.de/common/km3net-dataformat.
Router for fast addressing of summary data in KM3NETDAQ::JDAQSummaryslice data structure as a functio...
static parameter_type pY()
Data structure for fit parameters.
then usage $script[distance] fi case set_variable R
General purpose messaging.
static parameter_type pDY()
Direct access to module in detector data structure.
Fit method based on the Levenberg-Marquardt method.
JFit getFit(const JHistory &history, const JTrack3D &track, const double Q, const int NDF, const double energy=0.0, const int status=0)
Get fit.
static parameter_type pX()
Auxiliary class for a hit with background rate value.
static const int JSTART_LENGTH_METRES
distance between first and last hits in metres from JStart.cc
Data structure for set of track fit results.
int NMax
maximum number of iterations
Regressor function object for JLine3Z fit using JGandalf minimiser.
Auxiliary class to define a range between two values.
static double Vmax_npe
Maximal integral of PDF [npe].
Data structure for L0 hit.
JEvt operator()(const buffer_type &data, const JEvt &in)
Fit function.
static const int JGANDALF_NUMBER_OF_ITERATIONS
number of iterations from JGandalf.cc
Data structure for fit of straight line paralel to z-axis.
static int MAXIMUM_ITERATIONS
maximal number of iterations
static const int JGANDALF_CHI2
chi2 from JGandalf.cc
JEvt operator()(const KM3NETDAQ::JDAQEvent &event, const JEvt &in)
Fit function.
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 source JAcoustics sh $DETECTOR_ID CHECK_EXIT_CODE typeset A TRIPODS get_tripods $WORKDIR tripod txt TRIPODS for EMITTER in
JPosition3D & rotate(const JRotation3D &R)
Rotate.
JTOOLS::JRange< double > JZRange