Fit function.
194 for (JEvt::const_iterator track = in.begin(); track != in.end(); ++track) {
202 for (buffer_type::const_iterator i = data.begin(); i != data.end(); ++i) {
209 top[hit.getModuleID()].insert(hit.getPMTAddress());
215 double getZ()
const {
return z; }
216 double getP()
const {
return p; }
224 for (JDetector::const_iterator module =
detector.begin(); module !=
detector.end(); ++module) {
236 const double z = pos.getZ() - pos.getX() /
getTanThetaC();
240 data.push_back({ z, p });
247 double npe_total = 0.0;
248 double npe_missed = 0.0;
257 if (track_start != data. end()) { Zmin = track_start->getZ(); }
258 if (track_end != data.rend()) { Zmax = track_end ->getZ(); }
262 for (JDetector::const_iterator module =
detector.begin(); module !=
detector.end(); ++module) {
270 const double z = pos.getZ() - pos.getX() /
getTanThetaC();
272 if (z >= Zmin && z <= Zmax) {
274 for (
size_t i = 0; i != module->size(); ++i) {
282 JPMT pmt = module->getPMT(i);
286 const double ya = this->
getNPE(pmt, 0.0).getYA();
290 if (top[module->getID()].count(i) == 0) {
308 out.rbegin()->setW(track->getW());
static const int JMUONSTART
static const int JSTART_NPE_MIP_TOTAL
number of photo-electrons along the whole track from JStart.cc
JComparator< JResult_t T::*, JComparison::lt > make_comparator(JResult_t T::*member)
Helper method to create comparator between values of data member.
double roadWidth_m
road width [m]
double Pmin2
minimal probability for twofold observations
Template specialisation of class JModel to match hit with muon trajectory along z-axis.
const JDAQSummaryFrame & getSummaryFrame() const
Get default summary frame.
void transform(const JRotation3D &R, const JVector3D &pos)
Transform position.
void transform(const JAxis3D &axis)
Transform axis to reference frame of given axis.
double getProbability(const JModule &module, const JDAQSummaryFrame &frame, const JRateL1_t &R_Hz, const double T_ns, const std::multiset< int > &top)
Get probability of given response in optical module due to random background.
const JRateL1_t & getMultiplesRates() const
Get multiples rate.
static const int JSTART_NPE_MIP_MISSED
number of photo-electrons missed from JStart.cc
Auxiliary class for start or end point evaluation.
Data storage class for rate measurements of all PMTs in one module.
static JTimeRange T_ns
Time window with respect to Cherenkov hypothesis [ns].
Data structure for PMT geometry, calibration and status.
static const int PMT_DISABLE
KM3NeT Data Definitions v3.0.0-3-gef79250 https://git.km3net.de/common/km3net-dataformat.
JDirection3D getDirection(const JFit &fit)
Get direction.
double getP(const double expval, bool hit)
Get Poisson probability to observe a hit or not for given expectation value for the number of hits...
int Nmax2
maximal number for twofold observations
const JModuleRouter & router
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.
const double getSpeedOfLight()
Get speed of light.
static const int JSTART_LENGTH_METRES
distance between first and last hits in metres from JStart.cc
bool hasSummaryFrame(const JDAQModuleIdentifier &module) const
Has summary frame.
Auxiliary class to set-up Hit.
Data structure for fit of straight line paralel to z-axis.
const JSummaryRouter & summary
double getTanThetaC()
Get average tangent of Cherenkov angle of water corresponding to group velocity.
JPosition3D getPosition(const JFit &fit)
Get position.
double getNPE(const Hit &hit)
Get true charge of hit.
double Pmin1
minimal probability single observation
Data structure for position in three dimensions.
bool getDAQStatus(const JDAQFrameStatus &frame, const JStatus &status)
Test status of DAQ.
JPosition3D & rotate(const JRotation3D &R)
Rotate.