1 #ifndef JSHOWERBJORKENY_INCLUDE
2 #define JSHOWERBJORKENY_INCLUDE
58 namespace JRECONSTRUCTION {}
59 namespace JPP {
using namespace JRECONSTRUCTION; }
61 namespace JRECONSTRUCTION {
80 using JRegressor_t::operator();
97 const std::string pdfFile,
137 for (JEvt::const_iterator shower = in.begin(); shower != in.end(); ++shower) {
140 shower->getE(), 0.0);
146 for (JDataL0_t::const_iterator i = dataL0.begin(); i != dataL0.end(); ++i) {
149 top.insert(i->getPMTIdentifier());
160 for (JDetectorSubset_t::iterator module = subdetector.begin();
161 module != subdetector.end(); ++module) {
166 for (
unsigned int i = 0; i != dom.size(); ++i) {
172 buffer.push_back(
JPMTW0(dom.
getPMT(i), rate_Hz, top.count(
id)));
176 this->step.resize(2);
180 double f_h = 1 - 0.681 * (
std::pow(shower->getE()/0.863, -0.207));
184 buffer.begin(), buffer.end());
186 double NDF =
getCount(buffer.begin(), buffer.end()) - this->step.size();
188 JShower3EY sh_fit(this->value.getPosition(), this->value.getDirection(),
189 this->value.getT(),
correct(this->value.getEem() + this->value.getEh()), this->value.getBy());
191 double y =
getFinalBjY(this->value.getEem(), this->value.getEh());
193 sh_fit.rotate_back(R);
198 NDF, sh_fit.getE()));
200 out.rbegin()->setW(5, y);
201 out.rbegin()->setW(6, this->value.getEem());
202 out.rbegin()->setW(7, this->value.getEh());
220 return E_h / (E_em + E_h);
double VMax_npe
maximum number of of photo-electrons
static int debug
debug level (default is off).
Template definition of a data regressor of given model.
double getBjY() const
Get Bjorken Y.
Regressor function object for JShowerEH fit using JSimplex minimiser.
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.
const JModuleRouter & router
Algorithms for hit clustering and sorting.
Template specialisation of L0 builder for JHitL0 data type.
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
double TMin_ns
minimum time for local coincidences [ns]
3D track with energy and Bjorken Y.
Basic data structure for time and time over threshold information of hit.
Data structure for detector geometry and calibration.
double fit_step
simplex initial step
JVersor3D getDirection(const JVector3D &pos) const
Get photon direction of Cherenkov light on PMT.
JEvt operator()(const KM3NETDAQ::JDAQEvent &event, const JFIT::JEvt &in)
Declaration of the member function that actually performs the reconstruction.
int mestimator
M-estimator.
Basic data structure for L0 hit.
Data structure for fit parameters.
JShowerBjorkenY(const JShowerBjorkenYParameters_t ¶meters, const JModuleRouter &router, const JSummaryRouter &summary, const std::string pdfFile, const JShowerEnergyCorrection &correct, const int debug=0)
Parameterized constructor.
double TMax_ns
maximum time for local coincidences [ns]
Auxiliary class to extract a subset of optical modules from a detector.
const JSummaryRouter & summary
JDirection3D getDirection(const Vec &dir)
Get direction.
double getE() const
Get energy.
Data structure for vector in three dimensions.
static JTimeRange T_ns
Time window with respect to Cherenkov hypothesis [ns].
int getID() const
Get identifier.
JPosition3D getPosition(const Vec &pos)
Get position.
T pow(const T &x, const double y)
Power .
Data regression method for JFIT::JShowerEH.
static double Vmax_npe
Maximal integral of PDF [npe].
static const int JSHOWER_BJORKEN_Y
const JPosition3D & getPosition() const
Get position.
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
double getT(const JVector3D &pos) const
Get arrival time of Cherenkov light at given position.
Detector subset without binary search functionality.
Data structure for fit of straight line in positive z-direction with energy.
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.
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 getFinalBjY(double E_em, double E_h)
int NMax
maximum number of iterations
int getCount(const T &hit)
Get hit count.
Data structure for fit of energy.
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.
double roadWidth_m
road width [m]
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
const JShowerEnergyCorrection & correct
Match operator for Cherenkov light from shower in any direction.
Basic data structure for L1 hit.
class to handle the direction fit of the shower reconstruction, mainly dedicated for ORCA ...
JRegressor< JShowerEH, JSimplex > JRegressor_t