1 #ifndef JSHOWERDIRECTIONPREFIT_INCLUDE
2 #define JSHOWERDIRECTIONPREFIT_INCLUDE
55 namespace JRECONSTRUCTION {}
56 namespace JPP {
using namespace JRECONSTRUCTION; }
58 namespace JRECONSTRUCTION {
77 using JRegressor_t::operator();
93 const std::string pdfFile,
107 this->parameters.resize(2);
136 for (JEvt::const_iterator shower = in.begin(); shower != in.end(); ++shower) {
146 if(sh.getE() >
E_GeV) {
156 for (JDataL0_t::const_iterator i = dataL0.begin(); i != dataL0.end(); ++i) {
160 top.insert(i->getPMTIdentifier());
171 JOmega3D scan_directions(sh.getDirection(),
173 scan_angle *
PI/180.0);
175 for (JOmega3D_t::const_iterator dir = scan_directions.begin(); dir != scan_directions.end(); ++dir) {
182 for (JDetectorSubset_t::iterator module = subdetector.begin();
183 module != subdetector.end(); ++module) {
188 for (
unsigned int i = 0; i != dom.size(); ++i) {
194 buffer.push_back(
JPMTW0(dom.
getPMT(i), rate_Hz, top.count(
id)));
199 JEnergy(log10(sh.getE()))), buffer.begin(), buffer.end());
203 JShower3E sh_fit(this->value.getPosition(), this->value.getDirection(),
204 this->value.getT(), this->value.getE());
208 sh_fit.
add(sh.getPosition());
211 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()
JEvt operator()(const KM3NETDAQ::JDAQEvent &event, const JFIT::JEvt &in)
Declaration of the member function that actually performs the reconstruction.
int NMax
maximum number of iterations
Data structure for direction in three dimensions.
class to handle the direction fit of the shower reconstruction, mainly dedicated for ORCA ...
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.
Auxiliary class for handling PMT geometry, rate and response.
Data structure for vertex fit.
const JSummaryRouter & summary
Router for direct addressing of module data in detector data structure.
Data structure for fit parameters.
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
Direction set covering (part of) solid angle.
double MaxAngle_deg_lowE
maximum scanning angle in [deg] for low energy events
std::pair< double, double > range_type
double roadWidth_m
road width [m]
Basic data structure for time and time over threshold information of hit.
Data structure for detector geometry and calibration.
Basic data structure for L0 hit.
double scanAngle_deg_highE
scanning angle step in [deg] for high energy events
Auxiliary class to extract a subset of optical modules from a detector.
double scanAngle_deg_lowE
scanning angle step in [deg] for low energy events
double DMin_m
radius of the hit selection for high energy events (used to speedup the code)
Data structure for fit of straight line in positive z-direction with energy.
JRegressor< JShower3EZ, JGandalf > JRegressor_t
JDirection3D getDirection(const Vec &dir)
Get direction.
Data structure for vector in three dimensions.
double MaxAngle_deg_highE
maximum scanning angle in [deg] for high energy events
static const int JSHOWERDIRECTIONPREFIT
int getID() const
Get identifier.
JShowerDirectionPrefit(const JShowerDirectionPrefitParameters_t ¶meters, const JModuleRouter &router, const JSummaryRouter &summary, const std::string pdfFile, const int debug=0)
Parameterized constructor.
JPosition3D getPosition(const Vec &pos)
Get position.
JAxis3D & rotate_back(const JRotation3D &R)
Rotate back axis.
static const double PI
Mathematical constants.
Router for fast addressing of summary data in JDAQSummaryslice data structure as a function of the op...
const JPMT & getPMT(const int index) const
Get PMT.
void rotate(const JRotation3D &R)
Rotate module.
then usage $script[distance] fi case set_variable R
Detector subset without binary search functionality.
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.
Reduced data structure for L1 hit.
Regressor function object for JShower3EZ fit using JGandalf minimiser.
const JClass_t & getReference() const
Get reference to object.
Data structure for set of track fit results.
Simple fit method based on Powell's algorithm, see reference: Numerical Recipes in C++...
double VMax_npe
maximum number of of photo-electrons
static parameter_type pDY()
int mestimator
M-estimator.
int getCount(const T &hit)
Get hit count.
Data regression method for JFIT::JShower3EZ.
const JModuleRouter & router
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
JMEstimator * getMEstimator(const int type)
Get M-Estimator.
Template specialisation of class JModel to match hit with bright point.
Data structure for normalised vector in positive z-direction.
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
double TMin_ns
minimum time for local coincidences [ns]
JVector3D & add(const JVector3D &vector)
Add vector.
Match operator for Cherenkov light from shower in any direction.
Basic data structure for L1 hit.