Jpp  master_rocky-43-ge265d140c
the software that should make you happy
JRunQuality.hh
Go to the documentation of this file.
1 #ifndef __JDB_JRUNQUALITY__
2 #define __JDB_JRUNQUALITY__
3 
4 #include <TROOT.h>
5 #include <TObject.h>
6 
7 #include <string>
8 #include <istream>
9 
11 
12 /**
13  * \author mdejong
14  */
15 namespace JDATABASE {}
16 namespace JPP { using namespace JDATABASE; }
17 
18 namespace KM3NeT {
19  namespace DB {
20  class ResultSet;
21  }
22 }
23 
24 namespace JDATABASE {
25 
26  using KM3NeT::DB::ResultSet;
27 
28  /**
29  * Auxiliary data structure for data quality.
30  *
31  * For ASCII I/O, the number, order and type of the data members of this data structure
32  * should be compatible with the output of the script JQAQC.sh.
33  */
34  struct JRunQuality :
35  public TObject
36  {
37  static const char* const getName() { return JRunSummaryNumbers::getName(); } //!< Table name
38 
39  struct JPrescaler :
40  public TObject
41  {
43  prescale(0)
44  {}
45 
46  int prescale;
47 
49  };
50 
51  struct JEnabled :
52  public TObject
53  {
55  enabled(0)
56  {}
57 
58  int enabled;
59 
61  };
62 
63 
65  GIT("?"),
66  JPP("?"),
67  nb_of_meta(0),
68  UUID("?"),
69  detector(0),
70  run(0),
71  livetime_s(0.0),
72  UTCMin_s(0.0),
73  UTCMax_s(0.0),
74  trigger3DMuon(),
77  triggerNB(),
78  writeL0(),
79  writeL1(),
80  writeL2(),
81  writeSN(),
82  JDAQTimeslice(0),
83  JDAQTimesliceL0(0),
84  JDAQTimesliceL1(0),
85  JDAQTimesliceL2(0),
86  JDAQTimesliceSN(0),
88  JDAQEvent(0),
92  JTrigger3DMuon(0),
93  JTriggerNB(0),
94  in_sync(0),
95  out_sync(0),
96  DAQ(0.0),
97  WR(0.0),
98  HRV(0.0),
99  FIFO(0.0),
100  PMTs(0.0),
101  MEAN_Rate_Hz(0.0),
102  RMS_Rate_Hz(0.0),
105  Acoustics(0),
106  zero_AHRS(0),
107  mean_AHRS(0.0),
108  name("?"),
109  value(0.0),
110  in_usync(0),
111  out_usync(0),
112  event_duration(0.0)
113  {}
114 
115  /**
116  * Constructor.
117  *
118  * \param ID detector identifier
119  * \param run run number
120  */
121  JRunQuality(const int ID,
122  const int run) :
123  JRunQuality()
124  {
125  this->detector = ID;
126  this->run = run;
127  }
128 
129  /**
130  * Put value at given key.
131  *
132  * \param key key
133  * \param value value
134  */
135  void put(const std::string& key,
136  const std::string& value);
137 
138 
139  std::string GIT; ///< GIT version used to write QA/QC data
140  std::string JPP; ///< Jpp version used to take data (see JPrintMeta.cc)
141  int nb_of_meta; ///< Number of JMeta objects (see JPrintMeta.cc)
142  std::string UUID; ///< UUID of raw data file
143  int detector; ///< detector identifier
144  int run; ///< run number
145  double livetime_s; ///< livetime of data takig run (as determined from KM3NETDAQ::JDAQSummaryslice data)
146  double UTCMin_s; ///< minimal UTC time (from "runs" table)
147  double UTCMax_s; ///< maximal UTC time (from "runs" table)
148  JEnabled trigger3DMuon; ///< enable (1) or disable (0) of 3D-muon trigger
149  JEnabled trigger3DShower; ///< enable (1) or disable (0) of 3D-shower trigger
150  JEnabled triggerMXShower; ///< enable (1) or disable (0) of L1/L0 mixed trigger
151  JEnabled triggerNB; ///< enable (1) or disable (0) of nano-beacon trigger
152  JPrescaler writeL0; ///< pre-scaling of L0 data (0 implies off)
153  JPrescaler writeL1; ///< pre-scaling of L1 data (0 implies off)
154  JPrescaler writeL2; ///< pre-scaling of L2 data (0 implies off)
155  JPrescaler writeSN; ///< pre-scaling of Supernova data (0 implies off)
156  int JDAQTimeslice; ///< number of timeslices (reserved for rejected data)
157  int JDAQTimesliceL0; ///< number of L0 timeslices
158  int JDAQTimesliceL1; ///< number of L1 timeslices
159  int JDAQTimesliceL2; ///< number of L2 timeslices
160  int JDAQTimesliceSN; ///< number of Supernova timeslices
161  int JDAQSummaryslice; ///< number of summary slices
162  int JDAQEvent; ///< number of events
163  int JTriggerReprocessor; ///< number of events following re-triggering of the data (see JTriggerReprocessor.cc)
164  int JTrigger3DShower; ///< number of 3D-muon triggers (see JTriggerMonitor.cc)
165  int JTriggerMXShower; ///< number of 3D-shower triggers (see JTriggerMonitor.cc)
166  int JTrigger3DMuon; ///< number of L1/L0 mixed triggers (see JTriggerMonitor.cc)
167  int JTriggerNB; ///< number of nano-beacon triggers (see JTriggerMonitor.cc)
168  int in_sync; ///< number of modules in synchronisation with master clock (see JTurbot.cc)
169  int out_sync; ///< number of modules out of synchronisation with master clock (see JTurbot.cc)
170  double DAQ; ///< fraction of data frames with correct DAQ status (see JSummaryMonitor.cc)
171  double WR; ///< fraction of data frames with correct White Rabbit status (see JSummaryMonitor.cc)
172  double HRV; ///< fraction of PMTs with high-rate veto (see JSummaryMonitor.cc)
173  double FIFO; ///< fraction of PMTs with FIFO (almost) full (see JSummaryMonitor.cc)
174  double PMTs; ///< average number of PMTs with valid data (see JSummaryMonitor.cc)
175  double MEAN_Rate_Hz; ///< mean rate from PMTs with valid data (see JSummaryMonitor.cc)
176  double RMS_Rate_Hz; ///< RMS of rate from PMTs with valid data (see JSummaryMonitor.cc)
177  int hrv_fifo_failures; ///< Number of PMT/timeslices with a rate > 50 kHz (after veto filter) (see JSummaryMonitor.cc)
178  int duplic_timeslices; ///< Number of duplicated timeslices (see JSummaryMonitor.cc)
179  int Acoustics; ///< number of acoustic events (see JAcousticsEventBuilder.cc)
180  int zero_AHRS; ///< number of non-working compass (see software/JCompass/JAHRSMonitor.cc)
181  double mean_AHRS; ///< mean number of compass measurements per working compass (see software/JCompass/JAHRSMonitor.cc)
182  std::string name; ///< setup name (see JRunsetups)
183  double value; ///< setup identifier (see JRunsetups)
184  int in_usync; ///< number of modules in micro-synchronisation with master clock (see JSquid.cc)
185  int out_usync; ///< number of modules out of micro-synchronisation with master clock (see JSquid.cc)
186  int event_duration; ///< number of events with event duration exceeding preset value (see JMermaid.cc)
187 
189  };
190 
191 
192  /**
193  * Less-than operator.
194  *
195  * \param first first run quality
196  * \param second second run quality
197  * \return true if first run quality less than second; else false
198  */
199  inline bool operator<(const JRunQuality& first,
200  const JRunQuality& second)
201  {
202  if (first.detector == second.detector)
203  return first.run < second.run;
204  else
205  return first.detector < second.detector;
206  }
207 }
208 
209 #endif
Auxiliary classes and methods for database I/O.
Definition: JAHRS.hh:14
bool operator<(const JRunQuality &first, const JRunQuality &second)
Less-than operator.
Definition: JRunQuality.hh:199
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Auxiliary data structure for data quality.
Definition: JRunQuality.hh:36
double UTCMin_s
minimal UTC time (from "runs" table)
Definition: JRunQuality.hh:146
int nb_of_meta
Number of JMeta objects (see JPrintMeta.cc)
Definition: JRunQuality.hh:141
double value
setup identifier (see JRunsetups)
Definition: JRunQuality.hh:183
int JTriggerMXShower
number of 3D-shower triggers (see JTriggerMonitor.cc)
Definition: JRunQuality.hh:165
double PMTs
average number of PMTs with valid data (see JSummaryMonitor.cc)
Definition: JRunQuality.hh:174
int in_usync
number of modules in micro-synchronisation with master clock (see JSquid.cc)
Definition: JRunQuality.hh:184
int JDAQTimesliceSN
number of Supernova timeslices
Definition: JRunQuality.hh:160
int Acoustics
number of acoustic events (see JAcousticsEventBuilder.cc)
Definition: JRunQuality.hh:179
int duplic_timeslices
Number of duplicated timeslices (see JSummaryMonitor.cc)
Definition: JRunQuality.hh:178
JRunQuality(const int ID, const int run)
Constructor.
Definition: JRunQuality.hh:121
int hrv_fifo_failures
Number of PMT/timeslices with a rate > 50 kHz (after veto filter) (see JSummaryMonitor....
Definition: JRunQuality.hh:177
int out_usync
number of modules out of micro-synchronisation with master clock (see JSquid.cc)
Definition: JRunQuality.hh:185
JPrescaler writeSN
pre-scaling of Supernova data (0 implies off)
Definition: JRunQuality.hh:155
std::string UUID
UUID of raw data file.
Definition: JRunQuality.hh:142
int JDAQTimeslice
number of timeslices (reserved for rejected data)
Definition: JRunQuality.hh:156
double RMS_Rate_Hz
RMS of rate from PMTs with valid data (see JSummaryMonitor.cc)
Definition: JRunQuality.hh:176
double mean_AHRS
mean number of compass measurements per working compass (see software/JCompass/JAHRSMonitor....
Definition: JRunQuality.hh:181
int JDAQEvent
number of events
Definition: JRunQuality.hh:162
int JTriggerReprocessor
number of events following re-triggering of the data (see JTriggerReprocessor.cc)
Definition: JRunQuality.hh:163
void put(const std::string &key, const std::string &value)
Put value at given key.
Definition: JRunQuality.cc:25
int JTriggerNB
number of nano-beacon triggers (see JTriggerMonitor.cc)
Definition: JRunQuality.hh:167
int in_sync
number of modules in synchronisation with master clock (see JTurbot.cc)
Definition: JRunQuality.hh:168
int event_duration
number of events with event duration exceeding preset value (see JMermaid.cc)
Definition: JRunQuality.hh:186
static const char *const getName()
Table name.
Definition: JRunQuality.hh:37
std::string JPP
Jpp version used to take data (see JPrintMeta.cc)
Definition: JRunQuality.hh:140
int JTrigger3DMuon
number of L1/L0 mixed triggers (see JTriggerMonitor.cc)
Definition: JRunQuality.hh:166
double MEAN_Rate_Hz
mean rate from PMTs with valid data (see JSummaryMonitor.cc)
Definition: JRunQuality.hh:175
int zero_AHRS
number of non-working compass (see software/JCompass/JAHRSMonitor.cc)
Definition: JRunQuality.hh:180
double UTCMax_s
maximal UTC time (from "runs" table)
Definition: JRunQuality.hh:147
double DAQ
fraction of data frames with correct DAQ status (see JSummaryMonitor.cc)
Definition: JRunQuality.hh:170
int JDAQTimesliceL2
number of L2 timeslices
Definition: JRunQuality.hh:159
int JDAQSummaryslice
number of summary slices
Definition: JRunQuality.hh:161
double HRV
fraction of PMTs with high-rate veto (see JSummaryMonitor.cc)
Definition: JRunQuality.hh:172
JEnabled triggerMXShower
enable (1) or disable (0) of L1/L0 mixed trigger
Definition: JRunQuality.hh:150
std::string name
setup name (see JRunsetups)
Definition: JRunQuality.hh:182
JEnabled trigger3DMuon
enable (1) or disable (0) of 3D-muon trigger
Definition: JRunQuality.hh:148
double livetime_s
livetime of data takig run (as determined from KM3NETDAQ::JDAQSummaryslice data)
Definition: JRunQuality.hh:145
JEnabled trigger3DShower
enable (1) or disable (0) of 3D-shower trigger
Definition: JRunQuality.hh:149
int JTrigger3DShower
number of 3D-muon triggers (see JTriggerMonitor.cc)
Definition: JRunQuality.hh:164
JEnabled triggerNB
enable (1) or disable (0) of nano-beacon trigger
Definition: JRunQuality.hh:151
JPrescaler writeL2
pre-scaling of L2 data (0 implies off)
Definition: JRunQuality.hh:154
double FIFO
fraction of PMTs with FIFO (almost) full (see JSummaryMonitor.cc)
Definition: JRunQuality.hh:173
JPrescaler writeL0
pre-scaling of L0 data (0 implies off)
Definition: JRunQuality.hh:152
int out_sync
number of modules out of synchronisation with master clock (see JTurbot.cc)
Definition: JRunQuality.hh:169
std::string GIT
GIT version used to write QA/QC data.
Definition: JRunQuality.hh:139
double WR
fraction of data frames with correct White Rabbit status (see JSummaryMonitor.cc)
Definition: JRunQuality.hh:171
int JDAQTimesliceL0
number of L0 timeslices
Definition: JRunQuality.hh:157
int JDAQTimesliceL1
number of L1 timeslices
Definition: JRunQuality.hh:158
ClassDef(JRunQuality, 4)
int detector
detector identifier
Definition: JRunQuality.hh:143
JPrescaler writeL1
pre-scaling of L1 data (0 implies off)
Definition: JRunQuality.hh:153
static const char *const getName()
Table name.
Definition: JRoot.hh:19