6#include "nlohmann/json.hpp"
38using json = nlohmann::json;
110 properties_description.append(
"\tM_RATE: multiplicity threshold to compare the SN hit rates to the triggered event rates\n");
137 catch(
const exception &error) {
142 FATAL(
"Length of the trigger window must be smaller than the queue.");
251 else {
FATAL(
"Need either a root file or a ligier as input!" <<
endl); }
295 DEBUG(timeslice->getDAQHeader() <<
endl);
304 const int r = timeslice->getRunNumber();
338 while (
sm->hasNext() ) {
346 for (JDAQSummaryslice::const_iterator
summary_frame = summary->begin();
356 doms[frame_index].push_back(DOMID);
368 while (
ev->hasNext() ) {
372 DEBUG(
"EVT " << event->getDAQHeader() <<
endl);
374 int frame_index =
event->getFrameIndex();
429 double tmax = tmin + 0.1;
577 if (
veto.count(frame_index)) {
593 if (trg.getPeak().multiplicity >=
M_RATE) {
598 for (
auto &
snc: trg){
606 for (
auto &
snc: trg){
681 if (!
rates.empty() &&
730 string msg =
jd.dump();
Data structure for detector geometry and calibration.
Definition of random value generator.
General purpose messaging.
#define DEBUG(A)
Message macros.
Utility class to parse command line options.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Utility class to parse parameter values.
#define gmake_property(A)
macros to convert (template) parameter to JPropertiesElement object
int main(int argc, char *argv[])
static const std::string active_pmts_name
static const std::string cc_name
static const std::string daq_time_name
static const std::string detid_name
static const std::string trignum_name
static const std::string c_name
static const std::string m_name
static const std::string coincnum_name
static const std::string run_number_name
static const std::string observables_name
static const std::string detector_rate_name
static const std::string ev_name
static const std::string trigger_name
static const std::string active_doms_name
static const std::string frame_index_name
static const std::string multiplicities_name
ROOT TTree parameter settings of various packages.
Simple wrapper around JModuleRouter class for direct addressing of PMT data in detector data structur...
Router for direct addressing of module data in detector data structure.
Utility class to parse parameter values.
void setEndOfLine(const std::string &eol)
Set end of line characters.
Auxiliary class for time values.
int PutFullString(const JTag &tag, const std::string &buffer)
Send string.
int getSize() const
Get size.
JSubscriptionList & add(const JSubscription &subscription)
Add subscription.
Template definition of a multi-dimensional oscillation probability interpolation table.
Auxiliary class to manage a cluster of coincidences.
Auxiliary class to store reduced information of a coincidence on an optical module This class allows ...
Auxiliary class to build the supernova trigger dataset.
SN filter based on veto window.
SN filter based on multiplicity selection optional suppression of multi-module coincidences WARNING: ...
SN trigger statistics, the information is stored in the form of a count as a function of the trigger ...
Auxiliary class to apply the supernova trigger to SN data.
Auxiliary class to manage a set of vetoes.
Auxiliary class to define a veto time window on a set of optical modules.
int getFrameIndex() const
Get frame index.
Data structure for UTC time.
void load(const std::string &file_name, JDetector &detector)
Load detector from input file.
std::string to_string(const T &value)
Convert value to string.
T getRandom()
Get random value.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
std::vector< event_type > data_type
KM3NeT DAQ data structures and auxiliaries.
double getFrameTime()
Get frame time duration.
void setDAQLongprint(const bool option)
Set DAQ print option.
static const int NUMBER_OF_PMTS
Total number of PMTs in module.
Normalisation of MUPAGE events.
Data structure for measured coincidence rates of all pairs of PMTs in optical module.
Auxiliary class for all subscription.
Empty structure for specification of parser element that is initialised (i.e. does not require input)...
Auxiliary class to select DAQ hits based on time-over-treshold value.
Timeslice data structure for SN data.