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 detectorFile, JLimit_t nTimeslices, JLimit_t nSummaryslices, JLimit_t nEvents)
 Constructor. More...
 
 ~RunAnalyzer ()
 Destructor. More...
 
void iterateEventTree (JTreeScanner< JDAQEvent, JDAQEvaluator > &scanner)
 
void iterateSummarysliceTree (JTreeScanner< JDAQSummaryslice, JDAQEvaluator > &scanner)
 
template<class T >
void iterateTimesliceTree (JTreeScanner< T, JDAQEvaluator > &scanner)
 
void readSummaryData ()
 
template<class T >
void readTimesliceData ()
 
void readEvents ()
 
JRA_Histograms getHistograms ()
 

Private Attributes

string inputFile
 
JDetector detector
 
JModuleRouterrouter
 
JRA_Histograms histograms
 
int modulesPerString
 
JLimit_t numberOfTimeslices
 
JLimit_t numberOfSummaryslices
 
JLimit_t numberOfEvents
 

Detailed Description

Class dedicated to the analysis of KM3NeT runs.

Author
rgruiz

Definition at line 29 of file RunAnalyzer.hh.

Constructor & Destructor Documentation

◆ RunAnalyzer() [1/2]

RunAnalyzer::RunAnalyzer ( )
inline

Default constructor.

Definition at line 45 of file RunAnalyzer.hh.

45 {}

◆ RunAnalyzer() [2/2]

RunAnalyzer::RunAnalyzer ( string  file,
string  detectorFile,
JLimit_t  nTimeslices,
JLimit_t  nSummaryslices,
JLimit_t  nEvents 
)
inline

Constructor.

Parameters
filePath to the file to be analyzed
detectorFilepath to a detector file
nTimeslicesNumber of timeslices to be read
nSummaryslicesNumber of summary slices to be read
nEventsNumber of frames to be read

Definition at line 56 of file RunAnalyzer.hh.

56  :
57  inputFile (file),
58  router (NULL),
59  numberOfTimeslices (nTimeslices),
60  numberOfSummaryslices (nSummaryslices),
61  numberOfEvents (nEvents)
62  {
63  try {
64  load (detectorFile, detector);
65  }
66  catch(const JException & error) {
67  cerr << "FATAL ERROR. Could not open detector file '" << detectorFile << "'." << endl;
68  exit(1);
69  }
70 
74  }

◆ ~RunAnalyzer()

RunAnalyzer::~RunAnalyzer ( )
inline

Destructor.

Definition at line 79 of file RunAnalyzer.hh.

79 {}

Member Function Documentation

◆ iterateEventTree()

void RunAnalyzer::iterateEventTree ( JTreeScanner< JDAQEvent, JDAQEvaluator > &  scanner)
inline

Definition at line 87 of file RunAnalyzer.hh.

87  {
88 
89  while (scanner.hasNext()) {
90 
91  JDAQEvent event = *(scanner.next());
92 
93  histograms.h_trigger.h_Snapshot_hits -> Fill((Double_t) event.size<JDAQSnapshotHit > ());
94  histograms.h_trigger.h_Triggered_hits -> Fill((Double_t) event.size<JDAQTriggeredHit> ());
95 
96  for (unsigned int i = 0; i != NUMBER_OF_TRIGGER_BITS; ++i) {
97 
98  if (event.hasTriggerBit(i)) {
99 
100  histograms.h_trigger.h_Trigger_bit_event -> Fill((Double_t) i);
101  }
102  }
103 
104  for (JDAQEvent::const_iterator<JDAQTriggeredHit> hit = event.begin<JDAQTriggeredHit>(); hit != event.end<JDAQTriggeredHit>(); ++hit) {
105 
108 
109  int String = router->getModule (hit->getModuleID()).getString();
110  int Floor = router->getModule (hit->getModuleID()).getFloor();
111 
113 
114  for (unsigned int i = 0; i != NUMBER_OF_TRIGGER_BITS; ++i) {
115 
116  if (hit -> hasTriggerBit(i)) {
117 
118  histograms.h_trigger.h_Trigger_bit_hit->Fill((Double_t) i);
119  }
120  }
121  }
122 
123  for (JDAQEvent::const_iterator<JDAQSnapshotHit> hit = event.begin<JDAQSnapshotHit>() ; hit != event.end<JDAQSnapshotHit>() ; ++hit){
124 
125  int String = router -> getModule(hit -> getModuleID()).getString();
126  int Floor = router -> getModule(hit -> getModuleID()).getFloor();
127  int pmt = hit -> getPMT() ;
128 
129  (*histograms.h_trigger.m_Snapshot_hits_per_pmt)[MAKE_STRING("Detector/DU" + to_string(String))] -> Fill(pmt, Floor);
131  histograms.h_trigger.h_pmt_distribution_snapshot_hits -> Fill(hit->getPMT());
133  }
134  }
135  }

◆ iterateSummarysliceTree()

void RunAnalyzer::iterateSummarysliceTree ( JTreeScanner< JDAQSummaryslice, JDAQEvaluator > &  scanner)
inline

Definition at line 143 of file RunAnalyzer.hh.

143  {
144 
145  std::map <int,vector<vector <JQuantile>>> PMT_rate_quantiles;
146  std::map <int,vector<JQuantile>> DOM_rate_quantiles;
147 
148  while (scanner.hasNext()){
149 
150  JDAQSummaryslice slice = *(scanner.next());
151 
152  for (JDAQSummaryslice::const_iterator frame = slice.begin() ; frame != slice.end() ; ++ frame) {
153 
154  PMT_rate_quantiles[router->getModule(frame->getModuleID()).getString()].resize(modulesPerString , vector <JQuantile>(NUMBER_OF_PMTS));
155 
156  JDAQFrameStatus status = frame -> getDAQFrameStatus();
157  int nFIFOcount = status.countFIFOStatus();
158  int nHRVcount = status.countHighRateVeto();
159 
160  int string = router->getModule(frame->getModuleID()).getString();
161  int floor = router->getModule(frame->getModuleID()).getFloor ();
162 
163  if (nHRVcount > 0) {
164  histograms.h_summary.h_hrv_per_dom->Fill(router -> getModule (frame->getModuleID()).getString() , router->getModule (frame->getModuleID()).getFloor());
165  }
166 
167  if (status.testDAQStatus() == false) {
168  histograms.h_summary.h_daq_status_per_dom->Fill(router -> getModule (frame->getModuleID()).getString() , router->getModule (frame->getModuleID()).getFloor());
169  }
170 
171  histograms.h_summary.h_fifo_per_dom->Fill(router -> getModule (frame->getModuleID()).getString() , router->getModule (frame->getModuleID()).getFloor() , nFIFOcount);
172 
173  TH2D* h2 = (*histograms.h_summary.m_summary_rate_distribution)[MAKE_STRING("Detector/DU" + to_string(string) + "/F" + to_string(floor))];
174  double rate = 0;
175 
176  for (int i = 0 ; i < NUMBER_OF_PMTS ; i++){
177 
178  h2->Fill(i , frame->getRate(i) * 1e-3);
179 
180  rate += frame->getRate(i);
181  histograms.h_summary.h_pmt_rate_distribution->Fill(frame->getRate(i)*1e-3);
182  PMT_rate_quantiles[router->getModule(frame->getModuleID()).getString()][router->getModule(frame->getModuleID()).getFloor()-1][i].put(frame->getRate(i)*1e-3);
183  }
184 
186 
187  DOM_rate_quantiles[router->getModule (frame->getModuleID()).getString()].resize(modulesPerString);
188  DOM_rate_quantiles[router->getModule (frame->getModuleID()).getString()][router->getModule(frame->getModuleID()).getFloor()-1].put(rate * 1e-3);
189  }
190  }
191 
192  for (std::map<int , vector<JQuantile> >::const_iterator i = DOM_rate_quantiles.begin() ; i!= DOM_rate_quantiles.end() ; ++i) {
193 
194  for (int j=1 ; j < modulesPerString + 1 ; j++) {
195 
196  if (i->second[j-1].getCount() > 0) histograms.h_summary.h_rate_summary->Fill(i->first, j, i->second[j-1].getMean());
197  }
198  }
199 
200  for (std::map<int , vector < vector<JQuantile> > >::const_iterator i = PMT_rate_quantiles.begin() ; i!= PMT_rate_quantiles.end() ; ++i) {
201 
202  for (int j=0 ; j < modulesPerString ; j++){
203 
204  for (int k=0 ; k < NUMBER_OF_PMTS ; k++){
205 
206  if (i -> second[j][k].getCount() > 0){
207 
208  (*histograms.h_summary.m_mean_summary_rate) [MAKE_STRING("Detector/DU" + to_string(i->first))]->Fill(k, j+1, i->second[j][k].getMean());
209  (*histograms.h_summary.m_mean_summary_rate_distribution)[MAKE_STRING("Detector/DU" + to_string(i->first))]->Fill( i->second[j][k].getMean());
210  }
211  }
212  }
213  }
214  }

◆ iterateTimesliceTree()

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

Definition at line 224 of file RunAnalyzer.hh.

224  {
225 
227 
228  std::map < int , std::map <int , JQuantile> > DOM_rate_quantiles;
229 
230  double inverseFrameTimeSec = 1. / (1.0e-9 * getFrameTime());
231 
232  while (scanner.hasNext()){
233 
234  T slice = *(scanner.next());
235 
236  for(auto & frame : slice) {
237 
238  JModule module = router -> getModule(frame.getModuleID());
239  double rate = frame.numberOfHits * inverseFrameTimeSec;
240  int string = module.getString();
241  int floor = module.getFloor ();
242 
243  DOM_rate_quantiles[string][floor].put(rate);
244 
245  vector < vector < int > > hit_time_buffers ;
246 
247  hit_time_buffers.resize(NUMBER_OF_PMTS);
248 
249  TH2D* h2 = (*histograms.h_timeslice.m_pmt_tot_distributions[ts_type])[MAKE_STRING("Detector/DU" + to_string(string) + "/F" + to_string(floor) + "/" + to_string(frame.getModuleID()))];
250 
251  for (JDAQSuperFrame::const_iterator hit = frame.begin() ; hit != frame.end() ; ++hit){
252 
253  h2 -> Fill(hit->getPMT() , hit->getToT()) ;
254 
255  hit_time_buffers [hit->getPMT()].push_back (hit->getT()) ;
256 
257  if (hit->getToT() == 255) {
258 
259  (*histograms.h_timeslice.m_ToT_255[ts_type])[MAKE_STRING("Detector/DU" + to_string(string))] -> Fill(floor , hit->getPMT()) ;
260 
261  histograms.h_timeslice.h_ToT_255_vs_time [ts_type] -> Fill(hit -> getT());
262  histograms.h_timeslice.h_ToT_255_Floor_vs_time [ts_type] -> Fill(hit -> getT() , floor);
263  histograms.h_timeslice.h_ToT_255_Floor_vs_time_2[ts_type] -> Fill(hit -> getT() , floor);
264  }
265  }
266 
267  for (int pmt = 0 ; pmt != NUMBER_OF_PMTS ; ++pmt) {
268 
269  (*histograms.h_timeslice.m_pmt_rate_distributions[ts_type])[MAKE_STRING("Detector/DU" + to_string(string) + "/F" + to_string(floor))] -> Fill(pmt , 1e-3 * hit_time_buffers[pmt].size() * inverseFrameTimeSec);
270 
271  TH2D* h2 = (*histograms.h_timeslice.m_pmt_dt_consecutive_hits[ts_type])[MAKE_STRING("Detector/DU" + to_string(string) + "/F" + to_string(floor))];
272 
273  if (hit_time_buffers[pmt].size() > 1) {
274  for (vector<int>::const_iterator q = hit_time_buffers[pmt].begin(), p = q++; q != hit_time_buffers[pmt].end(); ++p, ++q) {
275  h2 -> Fill ( log10(*q - *p) , pmt);
276  }
277  }
278  }
279  }
280  }
281 
282  for (std::map< int , std::map<int,JQuantile>>::const_iterator i = DOM_rate_quantiles.begin() ; i != DOM_rate_quantiles.end() ; i++){
283 
284  for (std::map<int , JQuantile>::const_iterator j = i->second.begin() ; j != i->second.end() ; j++){
285 
286  if (j->second.getCount() > 0) histograms.h_timeslice.h_dom_mean_rates[ts_type] -> Fill (i->first , j->first , j->second.getMean() ) ;
287  }
288  }
289  }

◆ readSummaryData()

void RunAnalyzer::readSummaryData ( )
inline

Definition at line 297 of file RunAnalyzer.hh.

297  {
298 
300  if (scanner.hasNext()) {
301 
303  scanner.rewind();
304  iterateSummarysliceTree(scanner);
305  }
306  }

◆ readTimesliceData()

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

Definition at line 315 of file RunAnalyzer.hh.

315  {
316 
318  if(scanner.hasNext()) {
319 
321  scanner.rewind();
322  iterateTimesliceTree(scanner);
323  }
324  }

◆ readEvents()

void RunAnalyzer::readEvents ( )
inline

Definition at line 332 of file RunAnalyzer.hh.

332  {
333 
335 
336  if(scanner.hasNext()) {
337 
339  scanner.rewind();
340  iterateEventTree(scanner);
341  }
342  }

◆ getHistograms()

JRA_Histograms RunAnalyzer::getHistograms ( )
inline

Definition at line 347 of file RunAnalyzer.hh.

347  {
348 
349  return histograms ;
350  }

Member Data Documentation

◆ inputFile

string RunAnalyzer::inputFile
private

Definition at line 31 of file RunAnalyzer.hh.

◆ detector

JDetector RunAnalyzer::detector
private

Definition at line 32 of file RunAnalyzer.hh.

◆ router

JModuleRouter* RunAnalyzer::router
private

Definition at line 33 of file RunAnalyzer.hh.

◆ histograms

JRA_Histograms RunAnalyzer::histograms
private

Definition at line 34 of file RunAnalyzer.hh.

◆ modulesPerString

int RunAnalyzer::modulesPerString
private

Definition at line 35 of file RunAnalyzer.hh.

◆ numberOfTimeslices

JLimit_t RunAnalyzer::numberOfTimeslices
private

Definition at line 36 of file RunAnalyzer.hh.

◆ numberOfSummaryslices

JLimit_t RunAnalyzer::numberOfSummaryslices
private

Definition at line 37 of file RunAnalyzer.hh.

◆ numberOfEvents

JLimit_t RunAnalyzer::numberOfEvents
private

Definition at line 38 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:574
RunAnalyzer::modulesPerString
int modulesPerString
Definition: RunAnalyzer.hh:35
TriggerHistograms::h_Snapshot_hits_per_module
TH2D * h_Snapshot_hits_per_module
Definition: JRunHistograms.hh:569
RunAnalyzer::histograms
JRA_Histograms histograms
Definition: RunAnalyzer.hh:34
KM3NETDAQ::JDAQEvent
DAQ Event.
Definition: JDAQEvent.hh:30
JRA_Histograms::initialize_trigger_histograms
void initialize_trigger_histograms()
Definition: JRunHistograms.hh:847
RunAnalyzer::numberOfSummaryslices
JLimit_t numberOfSummaryslices
Definition: RunAnalyzer.hh:37
TriggerHistograms::h_pmt_distribution_triggered_hits
TH1D * h_pmt_distribution_triggered_hits
Definition: JRunHistograms.hh:576
TimesliceHistograms::m_pmt_tot_distributions
vector< JManager< string, TH2D > * > m_pmt_tot_distributions
Definition: JRunHistograms.hh:311
KM3NETDAQ::JDAQFrameStatus::countFIFOStatus
int countFIFOStatus() const
Count FIFO status.
Definition: JDAQFrameStatus.hh:268
TriggerHistograms::h_Trigger_bit_event
TH1D * h_Trigger_bit_event
Definition: JRunHistograms.hh:565
JDETECTOR::JModuleRouter::getModule
const JModule & getModule(const JObjectID &id) const
Get module parameters.
Definition: JModuleRouter.hh:89
SummaryHistograms::h_rate_summary
TH2D * h_rate_summary
Definition: JRunHistograms.hh:113
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:476
RunAnalyzer::iterateSummarysliceTree
void iterateSummarysliceTree(JTreeScanner< JDAQSummaryslice, JDAQEvaluator > &scanner)
Definition: RunAnalyzer.hh:143
TriggerHistograms::h_Trigger_bit_hit
TH1D * h_Trigger_bit_hit
Definition: JRunHistograms.hh:566
std::vector
Definition: JSTDTypes.hh:12
KM3NETDAQ::JDAQFrameStatus
DAQ frame status.
Definition: JDAQFrameStatus.hh:17
TriggerHistograms::h_pmt_distribution_snapshot_hits
TH1D * h_pmt_distribution_snapshot_hits
Definition: JRunHistograms.hh:578
JRA_Histograms::h_summary
SummaryHistograms h_summary
Definition: JRunHistograms.hh:797
JTOOLS::j
int j
Definition: JPolint.hh:634
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:114
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:398
KM3NETDAQ::NUMBER_OF_TRIGGER_BITS
static const unsigned int NUMBER_OF_TRIGGER_BITS
Number of trigger bits.
Definition: JDAQTriggerMask.hh:27
SummaryHistograms::h_daq_status_per_dom
TH2D * h_daq_status_per_dom
Definition: JRunHistograms.hh:111
TimesliceHistograms::h_ToT_255_Floor_vs_time
vector< TH2D * > h_ToT_255_Floor_vs_time
Definition: JRunHistograms.hh:300
SummaryHistograms::h_hrv_per_dom
TH2D * h_hrv_per_dom
Definition: JRunHistograms.hh:112
JRA_Histograms::initialize_timeslice_histograms
void initialize_timeslice_histograms()
Definition: JRunHistograms.hh:832
KM3NETDAQ::getFrameTime
double getFrameTime()
Get frame time duration.
Definition: JDAQClock.hh:162
TriggerHistograms::h_tot_distribution_triggered_hits
TH1D * h_tot_distribution_triggered_hits
Definition: JRunHistograms.hh:577
KM3NETDAQ::JDAQTriggeredHit
DAQ triggered hit.
Definition: JDAQTriggeredHit.hh:20
KM3NETDAQ::JDAQFrameStatus::countHighRateVeto
int countHighRateVeto() const
Count high-rate veto status.
Definition: JDAQFrameStatus.hh:224
KM3NETDAQ::JDAQSuperFrame::const_iterator
JDAQFrame::const_iterator const_iterator
Definition: JDAQSuperFrame.hh:29
JRA_Histograms
Definition: JRunHistograms.hh:792
JSUPPORT::JTreeScanner< JDAQSummaryslice, JDAQEvaluator >
KM3NETDAQ::JDAQEvent::const_iterator
Template const_iterator.
Definition: JDAQEvent.hh:68
TriggerHistograms::h_tot_distribution_snapshot_hits
TH1D * h_tot_distribution_snapshot_hits
Definition: JRunHistograms.hh:579
SummaryHistograms::m_mean_summary_rate
JManager< string, TH2D > * m_mean_summary_rate
Definition: JRunHistograms.hh:118
JDETECTOR::getNumberOfModules
int getNumberOfModules(const JDetector &detector)
Get number of modules.
Definition: JDetectorToolkit.hh:452
TriggerHistograms::h_Triggered_hits
TH1D * h_Triggered_hits
Definition: JRunHistograms.hh:568
JLANG::JIndexOf
Indexing of data type in type list.
Definition: JTypeList.hh:310
KM3NETDAQ::JDAQSummaryslice
Data summary slice.
Definition: JDAQSummaryslice.hh:25
JDETECTOR::JModule
Data structure for a composite optical module.
Definition: JModule.hh:49
KM3NETDAQ::JDAQKeyHit
DAQ key hit.
Definition: JDAQKeyHit.hh:19
std::map
Definition: JSTDTypes.hh:16
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:135
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:299
TriggerHistograms::h_Triggered_hits_per_module
TH2D * h_Triggered_hits_per_module
Definition: JRunHistograms.hh:570
RunAnalyzer::numberOfEvents
JLimit_t numberOfEvents
Definition: RunAnalyzer.hh:38
JRA_Histograms::h_trigger
TriggerHistograms h_trigger
Definition: JRunHistograms.hh:799
JRA_Histograms::h_timeslice
TimesliceHistograms h_timeslice
Definition: JRunHistograms.hh:798
JRA_Histograms::initialize_summary_histograms
void initialize_summary_histograms()
Definition: JRunHistograms.hh:820
SummaryHistograms::h_fifo_per_dom
TH2D * h_fifo_per_dom
Definition: JRunHistograms.hh:110
RunAnalyzer::inputFile
string inputFile
Definition: RunAnalyzer.hh:31
JAANET::detector
Detector file.
Definition: JHead.hh:130
SummaryHistograms::m_summary_rate_distribution
JManager< string, TH2D > * m_summary_rate_distribution
Definition: JRunHistograms.hh:122
RunAnalyzer::router
JModuleRouter * router
Definition: RunAnalyzer.hh:33
RunAnalyzer::iterateTimesliceTree
void iterateTimesliceTree(JTreeScanner< T, JDAQEvaluator > &scanner)
Definition: RunAnalyzer.hh:224
JDETECTOR::JModuleLocation::getFloor
int getFloor() const
Get floor number.
Definition: JModuleLocation.hh:144
SummaryHistograms::h_dom_rate_distribution
TH1D * h_dom_rate_distribution
Definition: JRunHistograms.hh:115
TimesliceHistograms::m_ToT_255
vector< JManager< string, TH2D > * > m_ToT_255
Definition: JRunHistograms.hh:307
TimesliceHistograms::m_pmt_rate_distributions
vector< JManager< string, TH2D > * > m_pmt_rate_distributions
Definition: JRunHistograms.hh:312
SummaryHistograms::m_mean_summary_rate_distribution
JManager< string, TH1D > * m_mean_summary_rate_distribution
Definition: JRunHistograms.hh:119
TimesliceHistograms::m_pmt_dt_consecutive_hits
vector< JManager< string, TH2D > * > m_pmt_dt_consecutive_hits
Definition: JRunHistograms.hh:313
TimesliceHistograms::h_dom_mean_rates
vector< TH2D * > h_dom_mean_rates
Definition: JRunHistograms.hh:298
RunAnalyzer::numberOfTimeslices
JLimit_t numberOfTimeslices
Definition: RunAnalyzer.hh:36
JLANG::JException
General exception.
Definition: JException.hh:23
TriggerHistograms::h_Snapshot_hits
TH1D * h_Snapshot_hits
Definition: JRunHistograms.hh:567
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
RunAnalyzer::iterateEventTree
void iterateEventTree(JTreeScanner< JDAQEvent, JDAQEvaluator > &scanner)
Definition: RunAnalyzer.hh:87
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:301