1 #ifndef __NEWRUNANALYZER__
2 #define __NEWRUNANALYZER__
25 using namespace JLANG ;
84 cerr <<
"FATAL ERROR. Could not open detector file '" << detector_file <<
"'." << endl ;
118 while (scanner.hasNext()){
130 if (event.hasTriggerBit(i)) {
158 if (hit -> hasTriggerBit(i)) {
174 int pmt = hit -> getPMT() ;
205 while (scanner.hasNext()){
217 for (JDAQSummaryslice::const_iterator s_frame = slice.begin() ; s_frame != slice.end() ; ++ s_frame) {
227 HRV_quantile.
put ( nHRVcount ) ;
229 FIFO_quantile.
put ( nFIFOcount ) ;
231 int string = module_router ->
getModule (s_frame->getModuleID()).getString() ;
233 int floor = module_router ->
getModule (s_frame->getModuleID()).getFloor() ;
235 if ( nHRVcount > 0 ){
263 rate += s_frame -> getRate(i) ;
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) ;
271 DOM_rate_quantiles[module_router ->
getModule (s_frame->getModuleID()).getString()].resize(modules_per_string) ;
273 DOM_rate_quantiles[module_router ->
getModule (s_frame->getModuleID()).getString()][module_router ->
getModule (s_frame->getModuleID()).getFloor()-1].put(rate * 1e-3) ;
287 for (
int i = 0 ; i < (int)frame_indices.size() ; i++){
293 for (
std::map<
int ,
vector<JQuantile> >::const_iterator i = DOM_rate_quantiles.begin() ; i!= DOM_rate_quantiles.end() ; ++i){
295 for (
int j=1 ;
j < modules_per_string + 1 ;
j++){
305 for (
int j = 0 ;
j < modules_per_string ;
j++){
336 if( scanner.hasNext() ){
338 range =
JFrameIndexRange (scanner.begin()->getFrameIndex() , scanner.rbegin()->getFrameIndex()) ;
344 iterate_summaryslice_tree (scanner , range) ;
365 while (scanner.hasNext()){
367 T slice = *(scanner.next()) ;
369 double time_since_run_start = (slice.getFrameIndex() - frame_index_range.
first) *
getFrameTime() * 1.0e-9 ;
377 for(
auto & s_frame : slice){
381 double rate = s_frame.numberOfHits / (1.0e-9 *
getFrameTime()) ;
387 DOM_rate_quantiles[string][floor].put(rate) ;
389 detector_rate_quantile.
put (rate) ;
395 active_DOM_quantile.
put ( 1 ) ;
397 active_DOM_DU_quantiles [string].put(1) ;
413 hit_time_buffers[hit->getPMT()].push_back (hit->getT()) ;
415 tot_quantiles[hit->getPMT()].put (hit->getToT()) ;
417 pmt_rate_quantiles[hit->getPMT()].put (1) ;
419 if (hit->getToT() == 255) {
441 if (pmt->second.getCount() > 0){
449 for (
int i=1 ; i < (int)hit_time_buffers[pmt->first].size() ; i++){
497 if( scanner.hasNext() ){
499 range =
JFrameIndexRange (scanner.begin()->getFrameIndex() , scanner.rbegin()->getFrameIndex()) ;
505 iterate_timeslice_tree (scanner , range) ;
524 if( scanner.hasNext() ){
526 range =
JFrameIndexRange (scanner.begin()->getFrameIndex() , scanner.rbegin()->getFrameIndex()) ;
532 iterate_daqevent_tree (scanner , range) ;