58   JLimit_t&       numberOfEvents = inputFile.getLimit();
 
   73     JParser<> zap(
"Example program to check for sparks.");
 
   76     zap[
'n'] = 
make_field(numberOfEvents)      = JLimit::max();
 
   87   catch(
const exception& error) {
 
   88     FATAL(error.what() << endl);
 
  103   unique_ptr<JDynamics> dynamics;
 
  109     dynamics->load(calibrationFile);
 
  111   catch(
const exception& error) {
 
  112     if (!calibrationFile.empty()) {
 
  121   TH1D h0(
"h0", NULL, 50, -1.0, 2.0);
 
  125   for (Int_t i = 1; i <= H2->GetXaxis()->GetNbins(); ++i) {
 
  126     H2->GetXaxis()->SetBinLabel(i, 
MAKE_CSTRING(router.at(i-1)));
 
  128   for (Int_t i = 1; i <= H2->GetYaxis()->GetNbins(); ++i) {
 
  138   for (
string file_name = 
""; inputFile.
hasNext(); ) {
 
  142     const Evt* evt = inputFile.
next();
 
  147         dynamics->update(evt->
t.GetSec());
 
  152         if (!evt->
w.empty()) {
 
  166             if (
is_mupage(head))     { W = head.DAQ.livetime_s / head.livetime.numberOfSeconds; }
 
  167             if (
is_pure_noise(head)) { W = head.DAQ.livetime_s / head.K40.livetime_s; }
 
  169           catch(
const exception& error) {}
 
  173       double    Dmin      = numeric_limits<double>::max();
 
  183           for (
const auto& module : (dynamics ? dynamics->getDetector() : 
detector)) {
 
  185             if (module.getFloor() != 0) {
 
  191                 location = module.getLocation();
 
  197         if (Dmin != numeric_limits<double>::max()) {
 
  199           h0.Fill(log10(Dmin), W);
 
  201           const int i = 
distance(Dmax_m.begin(), Dmax_m.lower_bound(Dmin));
 
  203           H2   ->Fill((
double) router.getIndex(location.getString()), (
double) location.getFloor(), W);
 
  204           H2[i]->Fill((
double) router.getIndex(location.getString()), (
double) location.getFloor(), W);
 
  216   for (
auto& h2 : H2) {
 
#define DEBUG(A)
Message macros.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
#define MAKE_CSTRING(A)
Make C-string.
#define gmake_property(A)
macros to convert (template) parameter to JPropertiesElement object
std::vector< T >::difference_type distance(typename std::vector< T >::const_iterator first, typename PhysicsEvent::const_iterator< T > second)
Specialisation of STL distance.
Logical location of module.
Utility class to parse parameter values.
const JPosition3D & getPosition() const
Get position.
Utility class to parse command line options.
Auxiliary class to manage set of compatible ROOT objects (e.g. histograms) using unique keys.
virtual bool hasNext() override
Check availability of next element.
counter_type getCounter() const
Get counter.
virtual const pointer_type & next() override
Get next element.
const std::string & getFilename() const
Get current file name.
Auxiliary class for trigger mask.
bool hasTriggerMask(const JDAQTriggerMask &mask) const
Has trigger bit pattern.
JTrack3E getTrack(const Trk &track)
Get track.
bool is_pure_noise(const JHead &header)
Check for generator.
bool is_mupage(const JHead &header)
Check for generator.
floor_range getRangeOfFloors(const JDetector &detector)
Get range of floors.
void load(const std::string &file_name, JDetector &detector)
Load detector from input file.
JComparator< JResult_t T::*, JComparison::lt > make_comparator(JResult_t T::*member)
Helper method to create comparator between values of data member.
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).
Head getHeader(const JMultipleFileScanner_t &file_list)
Get Monte Carlo header.
KM3NeT DAQ data structures and auxiliaries.
static const JDAQTriggerMask TRIGGER_MASK_ON
Trigger mask on;.
The Evt class respresent a Monte Carlo (MC) event as well as an offline event.
std::vector< double > w
MC: Weights w[0]=w1, w[1]=w2, w[2]=w3 (see e.g. Tag list or km3net-dataformat/definitions)
ULong64_t trigger_mask
trigger mask from raw data (i.e. the trigger bits)
TTimeStamp t
UTC time of the timeslice, or the event_time for MC. (default: 01 Jan 1970 00:00:00)
Router for mapping of string identifier to index.
Dynamic detector calibration.
Empty structure for specification of parser element that is initialised (i.e. does not require input)...
Auxiliary class for defining the range of iterations of objects.
The Trk class represents a Monte Carlo (MC) particle as well as a reconstructed track/shower.
int status
MC status code, see km3net-dataformat/definitions/trkmembers.csv for values.
static const int TRK_ST_UNDEFINED
status was not defined for this MC track (all reco tracks have this value)
static const int WEIGHTLIST_RUN_BY_RUN_WEIGHT
w[1]*DAQ_livetime / MC_evts_summary::n_gen (gseagen; [GeV m2 sr s]) or DAQ_livetime/MC_evts_summary::...