Jpp
Public Member Functions | Private Attributes | List of all members
RunAnalyzer Class Reference

Class dedicated to the analysis of KM3NeT runs. More...

#include <RunAnalyzer.hh>

Public Member Functions

 RunAnalyzer ()
 Default constructor. More...
 
 RunAnalyzer (string file, string detector_file)
 Constructor. More...
 
 ~RunAnalyzer ()
 Destructor. More...
 
void iterate_daqevent_tree (JTreeScanner< JDAQEvent, JDAQEvaluator > &scanner, JFrameIndexRange frame_index_range)
 
void iterate_summaryslice_tree (JTreeScanner< JDAQSummaryslice, JDAQEvaluator > &scanner, JFrameIndexRange frame_index_range)
 
void read_summaryslices_from_file ()
 
template<class T >
void iterate_timeslice_tree (JTreeScanner< T, JDAQEvaluator > &scanner, JFrameIndexRange frame_index_range)
 
template<class T >
void read_timeslices_from_file ()
 
void read_daqevents_from_file ()
 
JRA_Histograms getHistograms ()
 

Private Attributes

string inputfile
 
JDetector detector
 
JModuleRoutermodule_router
 
JModuleLocation default_module_location
 
JRA_Histograms histograms
 
std::set< int > DU_IDs
 
int modules_per_string
 

Detailed Description

Class dedicated to the analysis of KM3NeT runs.

Author
rgruiz

Definition at line 37 of file RunAnalyzer.hh.

Constructor & Destructor Documentation

◆ RunAnalyzer() [1/2]

RunAnalyzer::RunAnalyzer ( )
inline

Default constructor.

Definition at line 58 of file RunAnalyzer.hh.

58 {}

◆ RunAnalyzer() [2/2]

RunAnalyzer::RunAnalyzer ( string  file,
string  detector_file 
)
inline

Constructor.

Parameters
filePath to the file to be analyzed
detector_filepath to a detector file

Definition at line 68 of file RunAnalyzer.hh.

68  :
69 
70  inputfile (file),
71 
72  module_router (NULL)
73 
74  {
75 
76  try {
77 
78  load (detector_file, detector);
79 
80  }
81 
82  catch(const JException & error) {
83 
84  cerr << "FATAL ERROR. Could not open detector file '" << detector_file << "'." << endl ;
85 
86  exit(1) ;
87 
88  }
89 
91 
93 
95 
97 
98  }

◆ ~RunAnalyzer()

RunAnalyzer::~RunAnalyzer ( )
inline

Destructor.

Definition at line 105 of file RunAnalyzer.hh.

105  {
106 
107  }

Member Function Documentation

◆ iterate_daqevent_tree()

void RunAnalyzer::iterate_daqevent_tree ( JTreeScanner< JDAQEvent, JDAQEvaluator > &  scanner,
JFrameIndexRange  frame_index_range 
)
inline

Definition at line 116 of file RunAnalyzer.hh.

116  {
117 
118  while (scanner.hasNext()){
119 
120  JDAQEvent event = *(scanner.next()) ;
121 
122  int starting_frame_index = event.getFrameIndex () ;
123 
124  histograms.h_trigger.h_Snapshot_hits -> Fill((Double_t) event.size<JDAQSnapshotHit> ()) ;
125 
126  histograms.h_trigger.h_Triggered_hits -> Fill((Double_t) event.size<JDAQTriggeredHit> ()) ;
127 
128  for (unsigned int i = 0; i != NUMBER_OF_TRIGGER_BITS; ++i) {
129 
130  if (event.hasTriggerBit(i)) {
131 
132  histograms.h_trigger.h_Trigger_bit_event->Fill((Double_t) i);
133 
134  (*histograms.h_trigger.m_trigger_rates)[getTriggerName(i)] -> Fill (starting_frame_index - frame_index_range.first) ;
135 
136  }
137 
138  }
139 
141 
142  for (JDAQEvent::const_iterator<JDAQTriggeredHit> hit = event.begin<JDAQTriggeredHit>(); hit != event.end<JDAQTriggeredHit>(); ++hit) {
143 
144  histograms.h_trigger.h_pmt_distribution_triggered_hits -> Fill (hit -> getPMT()) ;
145 
147 
148  int String = module_router -> getModule (hit -> getModuleID()).getString() ;
149 
150  int Floor = module_router -> getModule (hit -> getModuleID()).getFloor() ;
151 
152  (*histograms.h_trigger.m_Trigger_map)[MAKE_STRING("Detector/DU" + to_string(String))] -> Fill (starting_frame_index , Floor) ;
153 
155 
156  for (unsigned int i = 0; i != NUMBER_OF_TRIGGER_BITS; ++i) {
157 
158  if (hit -> hasTriggerBit(i)) {
159 
160  histograms.h_trigger.h_Trigger_bit_hit->Fill((Double_t) i);
161 
162  }
163 
164  }
165 
166  }
167 
168  for (JDAQEvent::const_iterator<JDAQSnapshotHit> hit = event.begin<JDAQSnapshotHit>() ; hit != event.end<JDAQSnapshotHit>() ; ++hit){
169 
170  int String = module_router -> getModule (hit -> getModuleID()).getString() ;
171 
172  int Floor = module_router -> getModule (hit -> getModuleID()).getFloor() ;
173 
174  int pmt = hit -> getPMT() ;
175 
177 
178  (*histograms.h_trigger.m_Snapshot_hits_per_pmt)[MAKE_STRING("Detector/DU" + to_string(String))] -> Fill (pmt , Floor) ;
179 
180  histograms.h_trigger.h_pmt_distribution_snapshot_hits -> Fill (hit -> getPMT()) ;
181 
183 
184  }
185 
186  }
187 
188  }

◆ iterate_summaryslice_tree()

void RunAnalyzer::iterate_summaryslice_tree ( JTreeScanner< JDAQSummaryslice, JDAQEvaluator > &  scanner,
JFrameIndexRange  frame_index_range 
)
inline

Definition at line 197 of file RunAnalyzer.hh.

197  {
198 
199  std::vector<int> frame_indices ;
200 
201  std::map < int , vector < vector < JQuantile > > > PMT_rate_quantiles ;
202 
203  std::map < int , vector <JQuantile> > DOM_rate_quantiles;
204 
205  while (scanner.hasNext()){
206 
207  JDAQSummaryslice slice = *(scanner.next()) ;
208 
209  frame_indices.push_back(slice.getFrameIndex()) ;
210 
211  double time_since_run_start = (slice.getFrameIndex() - frame_index_range.first) * getFrameTime() * 1.0e-9 ;
212 
213  JQuantile HRV_quantile ;
214 
215  JQuantile FIFO_quantile ;
216 
217  for (JDAQSummaryslice::const_iterator s_frame = slice.begin() ; s_frame != slice.end() ; ++ s_frame) {
218 
219  PMT_rate_quantiles[module_router -> getModule (s_frame->getModuleID()).getString()].resize(modules_per_string , vector < JQuantile > (NUMBER_OF_PMTS)) ;
220 
221  JDAQFrameStatus status = s_frame -> getDAQFrameStatus() ;
222 
223  int nFIFOcount = status.countFIFOStatus() ;
224 
225  int nHRVcount = status.countHighRateVeto() ;
226 
227  HRV_quantile.put ( nHRVcount ) ;
228 
229  FIFO_quantile.put ( nFIFOcount ) ;
230 
231  int string = module_router -> getModule (s_frame->getModuleID()).getString() ;
232 
233  int floor = module_router -> getModule (s_frame->getModuleID()).getFloor() ;
234 
235  if ( nHRVcount > 0 ){
236 
237  histograms.h_summary.h_hrv_per_dom -> Fill (module_router -> getModule (s_frame->getModuleID()).getString() , module_router -> getModule (s_frame->getModuleID()).getFloor() ) ;
238 
239  }
240 
241  if (status.testDAQStatus() == false){
242 
243  histograms.h_summary.h_daq_status -> Fill(slice.getFrameIndex() - frame_index_range.first) ;
244 
245  histograms.h_summary.h_daq_status_per_dom -> Fill(module_router -> getModule (s_frame->getModuleID()).getString() , module_router -> getModule (s_frame->getModuleID()).getFloor()) ;
246 
247  }
248 
249  histograms.h_summary.h_fifo_per_dom -> Fill (module_router -> getModule (s_frame->getModuleID()).getString() , module_router -> getModule (s_frame->getModuleID()).getFloor() , nFIFOcount ) ;
250 
251  double rate = 0 ;
252 
253  for (int i = 0 ; i < NUMBER_OF_PMTS ; i++){
254 
255  (*histograms.h_summary.m_summary_rate_vs_time)[MAKE_STRING("Detector/DU" + to_string(string) + "/F" + to_string(floor))] -> Fill(time_since_run_start , i , s_frame -> getRate(i)) ;
256 
257  (*histograms.h_summary.m_summary_rate_distribution)[MAKE_STRING("Detector/DU" + to_string(string) + "/F" + to_string(floor))] -> Fill(s_frame -> getRate(i) * 1e-3 , i) ;
258 
259  (*histograms.h_summary.m_fifo_full)[MAKE_STRING("Detector/DU" + to_string(string) + "/F" + to_string(floor))] -> Fill(time_since_run_start , i , status.testFIFOStatus(i)) ;
260 
261  (*histograms.h_summary.m_hrv)[MAKE_STRING("Detector/DU" + to_string(string) + "/F" + to_string(floor))] -> Fill(time_since_run_start , i , status.testHighRateVeto(i)) ;
262 
263  rate += s_frame -> getRate(i) ;
264 
265  histograms.h_summary.h_pmt_rate_distribution -> Fill (s_frame -> getRate(i) * 1e-3) ;
266 
267  PMT_rate_quantiles[module_router -> getModule (s_frame->getModuleID()).getString()][module_router -> getModule (s_frame->getModuleID()).getFloor()-1][i].put(s_frame ->getRate(i) * 1e-3) ;
268 
269  }
270 
271  DOM_rate_quantiles[module_router -> getModule (s_frame->getModuleID()).getString()].resize(modules_per_string) ;
272 
273  DOM_rate_quantiles[module_router -> getModule (s_frame->getModuleID()).getString()][module_router -> getModule (s_frame->getModuleID()).getFloor()-1].put(rate * 1e-3) ;
274 
275  (*histograms.h_summary.m_module_rates_vs_time)[MAKE_STRING("Detector/DU" + to_string(string) + "/F" + to_string(floor))] -> Fill(time_since_run_start , rate ) ;
276 
277  }
278 
279  histograms.h_summary.h_fifo -> Fill ( slice.getFrameIndex() - frame_index_range.first , FIFO_quantile.getMean() ) ;
280 
281  histograms.h_summary.h_hrv -> Fill ( slice.getFrameIndex() - frame_index_range.first , HRV_quantile.getMean() ) ;
282 
283  }
284 
285  histograms.h_summary.init_h_frame_index_check ( frame_indices.size() ) ;
286 
287  for (int i = 0 ; i < (int)frame_indices.size() ; i++){
288 
289  histograms.h_summary.h_frame_index_check -> Fill(i , frame_indices[i]) ;
290 
291  }
292 
293  for (std::map<int , vector<JQuantile> >::const_iterator i = DOM_rate_quantiles.begin() ; i!= DOM_rate_quantiles.end() ; ++i){
294 
295  for (int j=1 ; j < modules_per_string + 1 ; j++){
296 
297  if (i -> second[j-1].getCount() > 0) histograms.h_summary.h_rate_summary ->Fill (i -> first , j , i -> second[j-1].getMean() ) ;
298 
299  }
300 
301  }
302 
303  for (std::map<int , vector < vector<JQuantile> > >::const_iterator i = PMT_rate_quantiles.begin() ; i!= PMT_rate_quantiles.end() ; ++i){
304 
305  for (int j = 0 ; j < modules_per_string ; j++){
306 
307  for (int k = 0 ; k < NUMBER_OF_PMTS ; k++){
308 
309  if (i -> second[j][k].getCount() > 0){
310 
311  (*histograms.h_summary.m_mean_summary_rate)[MAKE_STRING("Detector/DU" + to_string(i->first))] -> Fill(k , j+1 , i -> second[j][k].getMean()) ;
312 
313  }
314 
315  }
316 
317  }
318 
319  }
320 
321  }

◆ read_summaryslices_from_file()

void RunAnalyzer::read_summaryslices_from_file ( )
inline

Definition at line 330 of file RunAnalyzer.hh.

330  {
331 
332  JFrameIndexRange range ;
333 
335 
336  if( scanner.hasNext() ){
337 
338  range = JFrameIndexRange (scanner.begin()->getFrameIndex() , scanner.rbegin()->getFrameIndex()) ;
339 
341 
342  scanner.rewind () ;
343 
344  iterate_summaryslice_tree (scanner , range) ;
345 
346  }
347 
348  }

◆ iterate_timeslice_tree()

template<class T >
void RunAnalyzer::iterate_timeslice_tree ( JTreeScanner< T, JDAQEvaluator > &  scanner,
JFrameIndexRange  frame_index_range 
)
inline

Definition at line 359 of file RunAnalyzer.hh.

359  {
360 
362 
363  std::map < int , std::map <int , JQuantile> > DOM_rate_quantiles ;
364 
365  while (scanner.hasNext()){
366 
367  T slice = *(scanner.next()) ;
368 
369  double time_since_run_start = (slice.getFrameIndex() - frame_index_range.first) * getFrameTime() * 1.0e-9 ;
370 
371  JQuantile detector_rate_quantile ;
372 
373  std::map < int , JQuantile > active_DOM_DU_quantiles ;
374 
375  JQuantile active_DOM_quantile ;
376 
377  for(auto & s_frame : slice){
378 
379  JModule module = module_router -> getModule (s_frame.getModuleID()) ;
380 
381  double rate = s_frame.numberOfHits / (1.0e-9 * getFrameTime()) ;
382 
383  int string = module.getString() ;
384 
385  int floor = module.getFloor() ;
386 
387  DOM_rate_quantiles[string][floor].put(rate) ;
388 
389  detector_rate_quantile.put (rate) ;
390 
391  (*histograms.h_timeslice.m_module_rates_vs_time[ts_type])[MAKE_STRING("Detector/DU" + to_string(string) + "/F" + to_string(floor))] -> Fill(time_since_run_start , rate ) ;
392 
393  if ( rate > 0 ) {
394 
395  active_DOM_quantile.put ( 1 ) ;
396 
397  active_DOM_DU_quantiles [string].put(1) ;
398 
399  }
400 
401  std::map <int , vector < double > > hit_time_buffers ;
402 
403  std::map < int , JQuantile > tot_quantiles ;
404 
405  std::vector < JQuantile > pmt_rate_quantiles ;
406 
407  pmt_rate_quantiles.resize(NUMBER_OF_PMTS);
408 
409  for (JDAQSuperFrame::const_iterator hit = s_frame.begin() ; hit != s_frame.end() ; ++hit){
410 
411  (*histograms.h_timeslice.m_pmt_tot_distributions[ts_type])[MAKE_STRING("Detector/DU" + to_string(string) + "/F" + to_string(floor) + "/" + to_string(s_frame.getModuleID()))] -> Fill(hit->getPMT() , hit->getToT()) ;
412 
413  hit_time_buffers[hit->getPMT()].push_back (hit->getT()) ;
414 
415  tot_quantiles[hit->getPMT()].put (hit->getToT()) ;
416 
417  pmt_rate_quantiles[hit->getPMT()].put (1) ;
418 
419  if (hit->getToT() == 255) {
420 
421  (*histograms.h_timeslice.m_ToT_255[ts_type])[MAKE_STRING("Detector/DU" + to_string(string))] -> Fill(floor , hit->getPMT()) ;
422 
423  histograms.h_timeslice.h_ToT_255_vs_time[ts_type] -> Fill(hit -> getT()) ;
424 
425  histograms.h_timeslice.h_ToT_255_Floor_vs_time[ts_type] -> Fill(hit -> getT() , floor) ;
426 
427  histograms.h_timeslice.h_ToT_255_Floor_vs_time_2[ts_type] -> Fill(hit -> getT() , floor) ;
428 
429  }
430 
431  }
432 
433  for (std::vector<JQuantile>::const_iterator pmt = pmt_rate_quantiles.begin() ; pmt != pmt_rate_quantiles.end() ; pmt++){
434 
435  (*histograms.h_timeslice.m_pmt_rates_vs_time[ts_type])[MAKE_STRING("Detector/DU" + to_string(string) + "/F" + to_string(floor))] -> Fill(time_since_run_start , pmt - pmt_rate_quantiles.begin() , pmt->getCount()/getFrameTime()/1.0e-9 ) ;
436 
437  }
438 
439  for(std::map<int,JQuantile>::const_iterator pmt = tot_quantiles.begin() ; pmt != tot_quantiles.end() ; pmt++){
440 
441  if (pmt->second.getCount() > 0){
442 
443  (*histograms.h_timeslice.m_pmt_rate_distributions[ts_type])[MAKE_STRING("Detector/DU" + to_string(string) + "/F" + to_string(floor))] -> Fill(1e-3 * pmt->second.getCount()/getFrameTime()/1.0e-9 , pmt->first ) ;
444 
445  (*histograms.h_timeslice.m_pmt_tot_vs_time[ts_type])[MAKE_STRING("Detector/DU" + to_string(string) + "/F" + to_string(floor))] -> Fill (time_since_run_start , pmt->first , pmt->second.getMean() ) ;
446 
447  }
448 
449  for (int i=1 ; i < (int)hit_time_buffers[pmt->first].size() ; i++){
450 
451  (*histograms.h_timeslice.m_pmt_dt_consecutive_hits[ts_type])[MAKE_STRING("Detector/DU" + to_string(string) + "/F" + to_string(floor))] -> Fill ( log10(hit_time_buffers[pmt->first][i] - hit_time_buffers[pmt->first][i-1]) , pmt->first) ;
452 
453  }
454 
455  }
456 
457  }
458 
459  histograms.h_timeslice.h_rate[ts_type] -> Fill ( slice.getFrameIndex() - frame_index_range.first , detector_rate_quantile.getMean() ) ;
460 
461  histograms.h_timeslice.h_slice_start_time[ts_type] -> Fill ( slice.getFrameIndex() - frame_index_range.first , time_since_run_start ) ;
462 
463  histograms.h_timeslice.h_active_modules[ts_type] -> Fill ( slice.getFrameIndex() - frame_index_range.first , double(active_DOM_quantile.getCount()) / JDETECTOR::getNumberOfModules (detector) ) ;
464 
465  for ( std::map <int , JQuantile>::const_iterator i = active_DOM_DU_quantiles.begin() ; i != active_DOM_DU_quantiles.end() ; i++){
466 
467  histograms.h_timeslice.h_du_active_modules[ts_type] -> Fill(slice.getFrameIndex() - frame_index_range.first , i->first , i->second.getCount() ) ;
468 
469  }
470 
471  }
472 
473  for (std::map< int , std::map<int,JQuantile>>::const_iterator i = DOM_rate_quantiles.begin() ; i != DOM_rate_quantiles.end() ; i++){
474 
475  for (std::map<int , JQuantile>::const_iterator j = i->second.begin() ; j != i->second.end() ; j++){
476 
477  if (j->second.getCount() > 0) histograms.h_timeslice.h_dom_mean_rates[ts_type] -> Fill (i->first , j->first , j->second.getMean() ) ;
478 
479  }
480 
481  }
482 
483  }

◆ read_timeslices_from_file()

template<class T >
void RunAnalyzer::read_timeslices_from_file ( )
inline

Definition at line 491 of file RunAnalyzer.hh.

491  {
492 
493  JFrameIndexRange range ;
494 
496 
497  if( scanner.hasNext() ){
498 
499  range = JFrameIndexRange (scanner.begin()->getFrameIndex() , scanner.rbegin()->getFrameIndex()) ;
500 
502 
503  scanner.rewind () ;
504 
505  iterate_timeslice_tree (scanner , range) ;
506 
507  }
508 
509  }

◆ read_daqevents_from_file()

void RunAnalyzer::read_daqevents_from_file ( )
inline

Definition at line 518 of file RunAnalyzer.hh.

518  {
519 
520  JFrameIndexRange range ;
521 
523 
524  if( scanner.hasNext() ){
525 
526  range = JFrameIndexRange (scanner.begin()->getFrameIndex() , scanner.rbegin()->getFrameIndex()) ;
527 
529 
530  scanner.rewind() ;
531 
532  iterate_daqevent_tree (scanner , range) ;
533 
534  }
535 
536  }

◆ getHistograms()

JRA_Histograms RunAnalyzer::getHistograms ( )
inline

Definition at line 541 of file RunAnalyzer.hh.

541  {
542 
543  return histograms ;
544 
545  }

Member Data Documentation

◆ inputfile

string RunAnalyzer::inputfile
private

Definition at line 39 of file RunAnalyzer.hh.

◆ detector

JDetector RunAnalyzer::detector
private

Definition at line 41 of file RunAnalyzer.hh.

◆ module_router

JModuleRouter* RunAnalyzer::module_router
private

Definition at line 43 of file RunAnalyzer.hh.

◆ default_module_location

JModuleLocation RunAnalyzer::default_module_location
private

Definition at line 45 of file RunAnalyzer.hh.

◆ histograms

JRA_Histograms RunAnalyzer::histograms
private

Definition at line 47 of file RunAnalyzer.hh.

◆ DU_IDs

std::set<int> RunAnalyzer::DU_IDs
private

Definition at line 49 of file RunAnalyzer.hh.

◆ modules_per_string

int RunAnalyzer::modules_per_string
private

Definition at line 51 of file RunAnalyzer.hh.


The documentation for this class was generated from the following file:
TriggerHistograms::m_Snapshot_hits_per_pmt
JManager< string, TH2D > * m_Snapshot_hits_per_pmt
Definition: JRunHistograms.hh:1119
JDETECTOR::getToT
double getToT(const T &tot, const JCalibration &cal)
Get calibrated time-over-threshold of hit.
Definition: JDetector/JCalibration.hh:230
RunAnalyzer::iterate_timeslice_tree
void iterate_timeslice_tree(JTreeScanner< T, JDAQEvaluator > &scanner, JFrameIndexRange frame_index_range)
Definition: RunAnalyzer.hh:359
TriggerHistograms::h_Snapshot_hits_per_module
TH2D * h_Snapshot_hits_per_module
Definition: JRunHistograms.hh:1107
RunAnalyzer::histograms
JRA_Histograms histograms
Definition: RunAnalyzer.hh:47
KM3NETDAQ::JDAQFrameStatus::testHighRateVeto
bool testHighRateVeto() const
Test high-rate veto status.
Definition: JDAQFrameStatus.hh:202
KM3NETDAQ::JDAQEvent
DAQ Event.
Definition: JDAQEvent.hh:34
TriggerHistograms::h_pmt_distribution_triggered_hits
TH1D * h_pmt_distribution_triggered_hits
Definition: JRunHistograms.hh:1123
TimesliceHistograms::m_pmt_tot_distributions
vector< JManager< string, TH2D > * > m_pmt_tot_distributions
Definition: JRunHistograms.hh:638
KM3NETDAQ::JDAQFrameStatus::countFIFOStatus
int countFIFOStatus() const
Count FIFO status.
Definition: JDAQFrameStatus.hh:269
JTOOLS::JQuantile::getCount
long long int getCount() const
Get total count.
Definition: JQuantile.hh:183
RunAnalyzer::iterate_summaryslice_tree
void iterate_summaryslice_tree(JTreeScanner< JDAQSummaryslice, JDAQEvaluator > &scanner, JFrameIndexRange frame_index_range)
Definition: RunAnalyzer.hh:197
JTOOLS::JPair::first
JKey_t first
Definition: JPair.hh:128
JRA_Histograms::initialize_timeslice_histograms
void initialize_timeslice_histograms(JFrameIndexRange &range)
Definition: JRunHistograms.hh:1536
TriggerHistograms::h_Trigger_bit_event
TH1D * h_Trigger_bit_event
Definition: JRunHistograms.hh:1099
SummaryHistograms::init_h_frame_index_check
void init_h_frame_index_check(int n_frames)
Definition: JRunHistograms.hh:251
SummaryHistograms::h_fifo
TH1D * h_fifo
Definition: JRunHistograms.hh:93
SummaryHistograms::h_rate_summary
TH2D * h_rate_summary
Definition: JRunHistograms.hh:117
getModule
const JModule & getModule(const JDetector &detector, const JModuleLocation &location)
find module with a given string and floor number
Definition: JBeaconSimulator.cc:927
JDETECTOR::load
void load(const JString &file_name, JDetector &detector)
Load detector from input file.
Definition: JDetectorToolkit.hh:456
TriggerHistograms::h_n_triggered_hits_distribution
TH1D * h_n_triggered_hits_distribution
Definition: JRunHistograms.hh:1131
TimesliceHistograms::m_pmt_rates_vs_time
vector< JManager< string, TProfile2D > * > m_pmt_rates_vs_time
Definition: JRunHistograms.hh:644
TriggerHistograms::h_Trigger_bit_hit
TH1D * h_Trigger_bit_hit
Definition: JRunHistograms.hh:1101
std::vector< int >
KM3NETDAQ::JDAQFrameStatus
DAQ frame status.
Definition: JDAQFrameStatus.hh:23
KM3NETDAQ::JDAQChronometer::getFrameIndex
int getFrameIndex() const
Get frame index.
Definition: JDAQChronometer.hh:132
JTOOLS::JRange< int >
TimesliceHistograms::h_du_active_modules
vector< TProfile2D * > h_du_active_modules
Definition: JRunHistograms.hh:618
TriggerHistograms::h_pmt_distribution_snapshot_hits
TH1D * h_pmt_distribution_snapshot_hits
Definition: JRunHistograms.hh:1127
JRA_Histograms::h_summary
SummaryHistograms h_summary
Definition: JRunHistograms.hh:1491
JTOOLS::j
int j
Definition: JPolint.hh:634
SummaryHistograms::h_frame_index_check
TH1D * h_frame_index_check
Definition: JRunHistograms.hh:99
KM3NETDAQ::NUMBER_OF_PMTS
static const int NUMBER_OF_PMTS
Total number of PMTs in module.
Definition: JDAQ.hh:26
SummaryHistograms::h_pmt_rate_distribution
TH1D * h_pmt_rate_distribution
Definition: JRunHistograms.hh:119
MAKE_STRING
#define MAKE_STRING(A)
Make string.
Definition: JPrint.hh:699
JDETECTOR::getNumberOfStrings
int getNumberOfStrings(const JDetector &detector)
Get number of strings.
Definition: JDetectorToolkit.hh:378
KM3NETDAQ::NUMBER_OF_TRIGGER_BITS
static const unsigned int NUMBER_OF_TRIGGER_BITS
Number of trigger bits.
Definition: JDAQTriggerMask.hh:31
SummaryHistograms::h_daq_status_per_dom
TH2D * h_daq_status_per_dom
Definition: JRunHistograms.hh:113
TimesliceHistograms::h_ToT_255_Floor_vs_time
vector< TH2D * > h_ToT_255_Floor_vs_time
Definition: JRunHistograms.hh:624
TriggerHistograms::m_trigger_rates
JManager< string, TH1D > * m_trigger_rates
Definition: JRunHistograms.hh:1115
SummaryHistograms::h_hrv_per_dom
TH2D * h_hrv_per_dom
Definition: JRunHistograms.hh:115
KM3NETDAQ::getFrameTime
double getFrameTime()
Get frame time duration.
Definition: JDAQClock.hh:162
SummaryHistograms::h_daq_status
TH1D * h_daq_status
Definition: JRunHistograms.hh:97
RunAnalyzer::inputfile
string inputfile
Definition: RunAnalyzer.hh:39
TriggerHistograms::h_tot_distribution_triggered_hits
TH1D * h_tot_distribution_triggered_hits
Definition: JRunHistograms.hh:1125
KM3NETDAQ::JDAQTriggeredHit
DAQ triggered hit.
Definition: JDAQTriggeredHit.hh:25
KM3NETDAQ::JDAQFrameStatus::countHighRateVeto
int countHighRateVeto() const
Count high-rate veto status.
Definition: JDAQFrameStatus.hh:225
KM3NETDAQ::JDAQSuperFrame::const_iterator
JDAQFrame::const_iterator const_iterator
Definition: JDAQSuperFrame.hh:34
RunAnalyzer::iterate_daqevent_tree
void iterate_daqevent_tree(JTreeScanner< JDAQEvent, JDAQEvaluator > &scanner, JFrameIndexRange frame_index_range)
Definition: RunAnalyzer.hh:116
JRA_Histograms::initialize_summary_histograms
void initialize_summary_histograms(JFrameIndexRange &range)
Definition: JRunHistograms.hh:1524
SummaryHistograms::m_hrv
JManager< string, TProfile2D > * m_hrv
Definition: JRunHistograms.hh:133
TimesliceHistograms::m_pmt_tot_vs_time
vector< JManager< string, TProfile2D > * > m_pmt_tot_vs_time
Definition: JRunHistograms.hh:642
JRA_Histograms
Definition: JRunHistograms.hh:1485
JTOOLS::JQuantile::put
void put(const double x, const double w=1.0)
Put value.
Definition: JQuantile.hh:123
JSUPPORT::JTreeScanner< JDAQSummaryslice, JDAQEvaluator >
KM3NETDAQ::JDAQEvent::const_iterator
Template const_iterator.
Definition: JDAQEvent.hh:69
TriggerHistograms::h_tot_distribution_snapshot_hits
TH1D * h_tot_distribution_snapshot_hits
Definition: JRunHistograms.hh:1129
SummaryHistograms::m_mean_summary_rate
JManager< string, TH2D > * m_mean_summary_rate
Definition: JRunHistograms.hh:123
JDETECTOR::getNumberOfModules
int getNumberOfModules(const JDetector &detector)
Get number of modules.
Definition: JDetectorToolkit.hh:432
TriggerHistograms::h_Triggered_hits
TH1D * h_Triggered_hits
Definition: JRunHistograms.hh:1105
JLANG::JIndexOf
Indexing of data type in type list.
Definition: JTypeList.hh:310
KM3NETDAQ::JDAQSummaryslice
Data summary slice.
Definition: JDAQSummaryslice.hh:31
JDETECTOR::JModule
Data structure for a composite optical module.
Definition: JModule.hh:49
KM3NETDAQ::JDAQKeyHit
DAQ key hit.
Definition: JDAQKeyHit.hh:24
KM3NETDAQ::JDAQFrameStatus::testFIFOStatus
bool testFIFOStatus() const
Test FIFO status.
Definition: JDAQFrameStatus.hh:246
std::map
Definition: JSTDTypes.hh:16
JTOOLS::JQuantile::getMean
double getMean() const
Get mean value.
Definition: JQuantile.hh:217
JTOOLS::JQuantile
Quantile calculator.
Definition: JQuantile.hh:34
JLANG::to_string
std::string to_string(const T &value)
Convert value to string.
Definition: JLangToolkit.hh:192
KM3NETDAQ::JDAQFrameStatus::testDAQStatus
bool testDAQStatus() const
Test DAQ status of packets.
Definition: JDAQFrameStatus.hh:136
JDETECTOR::JModuleRouter
Router for direct addressing of module data in detector data structure.
Definition: JModuleRouter.hh:34
TimesliceHistograms::h_ToT_255_vs_time
vector< TH1D * > h_ToT_255_vs_time
Definition: JRunHistograms.hh:622
TriggerHistograms::h_Triggered_hits_per_module
TH2D * h_Triggered_hits_per_module
Definition: JRunHistograms.hh:1109
JRA_Histograms::h_trigger
TriggerHistograms h_trigger
Definition: JRunHistograms.hh:1495
JRA_Histograms::h_timeslice
TimesliceHistograms h_timeslice
Definition: JRunHistograms.hh:1493
SummaryHistograms::h_fifo_per_dom
TH2D * h_fifo_per_dom
Definition: JRunHistograms.hh:111
RunAnalyzer::DU_IDs
std::set< int > DU_IDs
Definition: RunAnalyzer.hh:49
SummaryHistograms::m_summary_rate_vs_time
JManager< string, TProfile2D > * m_summary_rate_vs_time
Definition: JRunHistograms.hh:127
JAANET::detector
Detector file.
Definition: JHead.hh:130
TriggerHistograms::m_Trigger_map
JManager< string, TH2D > * m_Trigger_map
Definition: JRunHistograms.hh:1121
JDETECTOR::getStringIDs
std::set< int > getStringIDs(const JDetector &detector)
Get list of strings IDs.
Definition: JDetectorToolkit.hh:396
RunAnalyzer::modules_per_string
int modules_per_string
Definition: RunAnalyzer.hh:51
JTRIGGER::getTriggerName
const char * getTriggerName(JTriggerbit_t bit)
Get trigger name.
Definition: JTriggerInterface.hh:237
SummaryHistograms::h_hrv
TH1D * h_hrv
Definition: JRunHistograms.hh:103
SummaryHistograms::m_summary_rate_distribution
JManager< string, TH2D > * m_summary_rate_distribution
Definition: JRunHistograms.hh:129
JRA_Histograms::initialize_trigger_histograms
void initialize_trigger_histograms(JFrameIndexRange &range)
Definition: JRunHistograms.hh:1555
SummaryHistograms::m_fifo_full
JManager< string, TProfile2D > * m_fifo_full
Definition: JRunHistograms.hh:131
JDETECTOR::JModuleLocation::getFloor
int getFloor() const
Get floor number.
Definition: JModuleLocation.hh:144
getMean
double getMean(vector< double > &v)
get mean of vector content
Definition: JBeaconSimulator.cc:55
SummaryHistograms::m_module_rates_vs_time
JManager< string, TProfile > * m_module_rates_vs_time
Definition: JRunHistograms.hh:135
TimesliceHistograms::m_ToT_255
vector< JManager< string, TH2D > * > m_ToT_255
Definition: JRunHistograms.hh:632
JSUPPORT::JFrameIndexRange
JTOOLS::JRange< int > JFrameIndexRange
Type definition for frame index range.
Definition: JSupportToolkit.hh:36
TimesliceHistograms::m_pmt_rate_distributions
vector< JManager< string, TH2D > * > m_pmt_rate_distributions
Definition: JRunHistograms.hh:640
TimesliceHistograms::m_pmt_dt_consecutive_hits
vector< JManager< string, TH2D > * > m_pmt_dt_consecutive_hits
Definition: JRunHistograms.hh:646
TimesliceHistograms::h_dom_mean_rates
vector< TH2D * > h_dom_mean_rates
Definition: JRunHistograms.hh:620
JLANG::JException
General exception.
Definition: JException.hh:40
TriggerHistograms::h_Snapshot_hits
TH1D * h_Snapshot_hits
Definition: JRunHistograms.hh:1103
TimesliceHistograms::h_rate
vector< TProfile * > h_rate
Definition: JRunHistograms.hh:610
RunAnalyzer::module_router
JModuleRouter * module_router
Definition: RunAnalyzer.hh:43
TimesliceHistograms::h_slice_start_time
vector< TH1D * > h_slice_start_time
Definition: JRunHistograms.hh:606
TimesliceHistograms::h_active_modules
vector< TProfile * > h_active_modules
Definition: JRunHistograms.hh:614
TimesliceHistograms::m_module_rates_vs_time
vector< JManager< string, TProfile > * > m_module_rates_vs_time
Definition: JRunHistograms.hh:636
JDETECTOR::JModuleLocation::getString
int getString() const
Get string number.
Definition: JModuleLocation.hh:133
JFIT::getCount
int getCount(const JHitL0 &hit)
Get hit count.
Definition: JEvtToolkit.hh:728
JAANET::String
General purpose string class.
Definition: JHead.hh:102
TimesliceHistograms::h_ToT_255_Floor_vs_time_2
vector< TH2D * > h_ToT_255_Floor_vs_time_2
Definition: JRunHistograms.hh:626