Class dedicated to the analysis of KM3NeT runs.
More...
#include <RunAnalyzer.hh>
Class dedicated to the analysis of KM3NeT runs.
- Author
- rgruiz
Definition at line 29 of file RunAnalyzer.hh.
◆ RunAnalyzer() [1/2]
RunAnalyzer::RunAnalyzer |
( |
| ) |
|
|
inline |
◆ RunAnalyzer() [2/2]
RunAnalyzer::RunAnalyzer |
( |
string |
file, |
|
|
string |
detectorFile, |
|
|
JLimit_t |
nTimeslices, |
|
|
JLimit_t |
nSummaryslices, |
|
|
JLimit_t |
nEvents |
|
) |
| |
|
inline |
Constructor.
- Parameters
-
file | Path to the file to be analyzed |
detectorFile | path to a detector file |
nTimeslices | Number of timeslices to be read |
nSummaryslices | Number of summary slices to be read |
nEvents | Number of frames to be read |
Definition at line 56 of file RunAnalyzer.hh.
67 cerr <<
"FATAL ERROR. Could not open detector file '" << detectorFile <<
"'." << endl;
◆ ~RunAnalyzer()
RunAnalyzer::~RunAnalyzer |
( |
| ) |
|
|
inline |
◆ iterateEventTree()
Definition at line 87 of file RunAnalyzer.hh.
89 while (scanner.hasNext()) {
98 if (event.hasTriggerBit(i)) {
116 if (hit -> hasTriggerBit(i)) {
127 int pmt = hit -> getPMT() ;
◆ iterateSummarysliceTree()
Definition at line 143 of file RunAnalyzer.hh.
148 while (scanner.hasNext()){
152 for (JDAQSummaryslice::const_iterator frame = slice.begin() ; frame != slice.end() ; ++ frame) {
178 h2->Fill(i , frame->getRate(i) * 1e-3);
180 rate += frame->getRate(i);
182 PMT_rate_quantiles[
router->
getModule(frame->getModuleID()).getString()][
router->
getModule(frame->getModuleID()).getFloor()-1][i].put(frame->getRate(i)*1e-3);
192 for (
std::map<
int ,
vector<JQuantile> >::const_iterator i = DOM_rate_quantiles.begin() ; i!= DOM_rate_quantiles.end() ; ++i) {
◆ iterateTimesliceTree()
Definition at line 224 of file RunAnalyzer.hh.
230 double inverseFrameTimeSec = 1. / (1.0e-9 *
getFrameTime());
232 while (scanner.hasNext()){
234 T slice = *(scanner.next());
236 for(
auto & frame : slice) {
239 double rate = frame.numberOfHits * inverseFrameTimeSec;
243 DOM_rate_quantiles[string][floor].put(rate);
253 h2 -> Fill(hit->getPMT() , hit->getToT()) ;
255 hit_time_buffers [hit->getPMT()].push_back (hit->getT()) ;
257 if (hit->getToT() == 255) {
273 if (hit_time_buffers[pmt].size() > 1) {
275 h2 -> Fill ( log10(*q - *p) , pmt);
◆ readSummaryData()
void RunAnalyzer::readSummaryData |
( |
| ) |
|
|
inline |
◆ readTimesliceData()
template<class T >
void RunAnalyzer::readTimesliceData |
( |
| ) |
|
|
inline |
◆ readEvents()
void RunAnalyzer::readEvents |
( |
| ) |
|
|
inline |
◆ getHistograms()
◆ inputFile
string RunAnalyzer::inputFile |
|
private |
◆ detector
◆ router
◆ histograms
◆ modulesPerString
int RunAnalyzer::modulesPerString |
|
private |
◆ numberOfTimeslices
JLimit_t RunAnalyzer::numberOfTimeslices |
|
private |
◆ numberOfSummaryslices
JLimit_t RunAnalyzer::numberOfSummaryslices |
|
private |
◆ numberOfEvents
The documentation for this class was generated from the following file:
JManager< string, TH2D > * m_Snapshot_hits_per_pmt
TH2D * h_Snapshot_hits_per_module
JRA_Histograms histograms
void initialize_trigger_histograms()
JLimit_t numberOfSummaryslices
TH1D * h_pmt_distribution_triggered_hits
vector< JManager< string, TH2D > * > m_pmt_tot_distributions
int countFIFOStatus() const
Count FIFO status.
TH1D * h_Trigger_bit_event
const JModule & getModule(const JObjectID &id) const
Get module parameters.
const JModule & getModule(const JDetector &detector, const JModuleLocation &location)
find module with a given string and floor number
void load(const JString &file_name, JDetector &detector)
Load detector from input file.
void iterateSummarysliceTree(JTreeScanner< JDAQSummaryslice, JDAQEvaluator > &scanner)
TH1D * h_pmt_distribution_snapshot_hits
SummaryHistograms h_summary
static const int NUMBER_OF_PMTS
Total number of PMTs in module.
TH1D * h_pmt_rate_distribution
#define MAKE_STRING(A)
Make string.
int getNumberOfStrings(const JDetector &detector)
Get number of strings.
static const unsigned int NUMBER_OF_TRIGGER_BITS
Number of trigger bits.
TH2D * h_daq_status_per_dom
vector< TH2D * > h_ToT_255_Floor_vs_time
void initialize_timeslice_histograms()
double getFrameTime()
Get frame time duration.
TH1D * h_tot_distribution_triggered_hits
int countHighRateVeto() const
Count high-rate veto status.
JDAQFrame::const_iterator const_iterator
TH1D * h_tot_distribution_snapshot_hits
JManager< string, TH2D > * m_mean_summary_rate
int getNumberOfModules(const JDetector &detector)
Get number of modules.
Indexing of data type in type list.
Data structure for a composite optical module.
std::string to_string(const T &value)
Convert value to string.
bool testDAQStatus() const
Test DAQ status of packets.
Router for direct addressing of module data in detector data structure.
vector< TH1D * > h_ToT_255_vs_time
TH2D * h_Triggered_hits_per_module
TriggerHistograms h_trigger
TimesliceHistograms h_timeslice
void initialize_summary_histograms()
JManager< string, TH2D > * m_summary_rate_distribution
void iterateTimesliceTree(JTreeScanner< T, JDAQEvaluator > &scanner)
int getFloor() const
Get floor number.
TH1D * h_dom_rate_distribution
vector< JManager< string, TH2D > * > m_ToT_255
vector< JManager< string, TH2D > * > m_pmt_rate_distributions
JManager< string, TH1D > * m_mean_summary_rate_distribution
vector< JManager< string, TH2D > * > m_pmt_dt_consecutive_hits
vector< TH2D * > h_dom_mean_rates
JLimit_t numberOfTimeslices
int getString() const
Get string number.
int getCount(const JHitL0 &hit)
Get hit count.
void iterateEventTree(JTreeScanner< JDAQEvent, JDAQEvaluator > &scanner)
General purpose string class.
vector< TH2D * > h_ToT_255_Floor_vs_time_2