1#ifndef __JRECONSTRUCTION__JSHOWERFEATURES__
2#define __JRECONSTRUCTION__JSHOWERFEATURES__
79 public JRegressor<JShower3EZ, JAbstractMinimiser>
130 const int debug = 0) :
135 using namespace JFIT;
162 const JBuildL0 <JHitR0> buildL0;
169 for (JDAQTimeslice::const_iterator i = timeslice.begin(); i != timeslice.end(); ++i) {
171 if (router.
hasModule(i->getModuleID())) {
173 buffer(*i, router.
getModule(i->getModuleID()));
175 buildL0(buffer, back_inserter(data[i->getModuleID()]));
180 if (!module.empty()) {
198 using namespace JFIT;
220 for (
const auto& module : input.
data) {
221 if (module.size() != 0) {
223 size_t snapshot_hits = 0;
225 for (
size_t i = 0; i !=
module->size(); ++i) {
227 if (module.getStatus(i)) {
229 const size_t nhits = std::count_if(
233 return hit.getPMT() == i;
237 if (nhits > 0) snapshot_hits++;
241 if (snapshot_hits > snapshot.nhits){
242 snapshot.nhits = snapshot_hits;
243 snapshot.id =
module->getID();
248 for (JEvt::const_iterator shower = in.begin(); shower != in.end(); ++shower) {
252 double Dmin = numeric_limits<double>::max();
256 for (
const auto& module : input.
data) {
257 if (module->getFloor() != 0) {
261 if (D < vertex.Dmin) {
264 vertex.id =
module->getID();
282 copy(input.
in.begin(), input.
in.end(), back_inserter(out));
Coverage of dynamical detector calibration.
Basic data structure for L0 hit.
Logical location of module.
General purpose messaging.
Direct access to module in detector data structure.
Auxiliary class to define a range between two values.
Data regression method for JFIT::JShower3EZ.
Auxiliary methods to convert data members or return values of member methods of a set of objects to a...
Logical location of module.
Router for direct addressing of module data in detector data structure.
bool hasModule(const JModuleIdentifier &id) const
Has module.
const JModule & getModule(const JModuleIdentifier &id) const
Get module parameters.
Auxiliary class for map of PMT parameters.
Data structure for fit of energy.
Data structure for set of track fit results.
void select(const JSelector_t &selector)
Select fits.
JFit & add(const int type)
Add event to history.
Data structure for fit of straight line in positive z-direction with energy.
const JClass_t & getReference() const
Get reference to object.
Router for fast addressing of summary data in KM3NETDAQ::JDAQSummaryslice data structure as a functio...
const JDAQSummaryFrame & getSummaryFrame(const JDAQModuleIdentifier &module) const
Get summary frame.
Reduced data structure for L0 hit.
2-dimensional frame with time calibrated data from one optical module.
static const int JSHOWERFEATURES_DMIN
mininal distance between shower vertex and any optical module [m] see JRECONSTRUCTION::JShowerFeature...
static const int JSHOWERFEATURES_NSNAPSHOT
maximum number of PMT with at least one snapshot hit in any DOM see JRECONSTRUCTION::JShowerFeatures
static const int JSHOWERFEATURES_DMIN_MODULEID
optical module identifier for which the distance to the shower vertex was mininal see JRECONSTRUCTION...
static const int JSHOWERFEATURES_NSNAPSHOT_MODULEID
optical module identifier for which the number of PMT with at least one snapshot hit was maximal see ...
Auxiliary classes and methods for linear and iterative data regression.
Auxiliary classes and methods for 3D geometrical objects and operations.
double getDistance(const JFirst_t &first, const JSecond_t &second)
Get distance between objects.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
JPosition3D getPosition(const JFit &fit)
Get position.
void copy(const JFIT::JEvt::const_iterator __begin, const JFIT::JEvt::const_iterator __end, Evt &out)
Copy tracks.
bool qualitySorter(const JFit &first, const JFit &second)
Comparison of fit results.
Auxiliary classes and methods for triggering.
Data structure for coverage of detector by dynamical calibrations.
static int debug
debug level (default is off).
Auxiliary class for historical event.
Auxiliary class to test history.
JTimeRange T_ns
Time window with respect to Cherenkov hypothesis [ns].
Template data structure for storage of internal data.
Template definition of a data regressor of given model.
Auxiliary class for handling module response.
Wrapper class to add features after the final fit of shower.
std::vector< module_type > detector_type
const JPMTParametersMap & pmtParameters
JEvt operator()(const input_type &input)
Fit function.
input_type getInput(const JModuleRouter &router, const JSummaryRouter &summary, const JDAQEvent &event, const JEvt &in, const coverage_type &coverage) const
Get input data.
JRegressor< JShower3EZ, JAbstractMinimiser > JRegressor_t
JShowerFeatures(const JShowerFitParameters_t ¶meters, const storage_type &storage, const JPMTParametersMap &pmtParameters, const int debug=0)
Constructor.
JRegressorStorage< JShower3EZ, JFIT::JAbstractMinimiser > storage_type
Data structure for fit parameters.
double TMax_ns
maximum time for local coincidences [ns]
double R_Hz
default rate [Hz]
double TMin_ns
minimum time for local coincidences [ns]
size_t numberOfPrefits
number of prefits