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

#include <JRunHistograms.hh>

Public Member Functions

 JRA_Histograms ()
 
 JRA_Histograms (JDetector &det)
 
void initialize_summary_histograms (JFrameIndexRange &range)
 
template<class T >
void initialize_timeslice_histograms (JFrameIndexRange &range)
 
void initialize_trigger_histograms (JFrameIndexRange &range)
 
template<class T >
void Write_histogram_table_to_file (TFile &f, string dirname, vector< vector< T * > > table)
 
template<class T >
void Write_histogram_table_to_file (TFile &f, string dirname, vector< T * > table)
 
template<class T , class V >
void Write_manager_to_file (TFile &f, string dirname, JManager< T, V > *table)
 
template<class T , class V >
void Replace_wildcard_in_name (JManager< T, V > *manager, char wc='%')
 
template<class T , class V >
void Write_manager_in_key_dir (TFile &f, JManager< T, V > *manager)
 
template<class T , class V >
void Write_manager_table_in_key_dir (TFile &f, vector< JManager< T, V > * > table)
 
void Write_to_file (TFile &f)
 

Public Attributes

JDetector detector
 
SummaryHistograms h_summary
 
TimesliceHistograms h_timeslice
 
TriggerHistograms h_trigger
 
std::set< int > du_ids
 
int modules_per_string
 

Detailed Description

Definition at line 1485 of file JRunHistograms.hh.

Constructor & Destructor Documentation

◆ JRA_Histograms() [1/2]

JRA_Histograms::JRA_Histograms ( )
inline

Definition at line 1501 of file JRunHistograms.hh.

1501 {}

◆ JRA_Histograms() [2/2]

JRA_Histograms::JRA_Histograms ( JDetector det)
inline

Definition at line 1503 of file JRunHistograms.hh.

1503  {
1504 
1505  detector = det ;
1506 
1508 
1510 
1512 
1514 
1516 
1517  }

Member Function Documentation

◆ initialize_summary_histograms()

void JRA_Histograms::initialize_summary_histograms ( JFrameIndexRange range)
inline

Definition at line 1524 of file JRunHistograms.hh.

1524  {
1525 
1527 
1528  }

◆ initialize_timeslice_histograms()

template<class T >
void JRA_Histograms::initialize_timeslice_histograms ( JFrameIndexRange range)
inline

Definition at line 1536 of file JRunHistograms.hh.

1536  {
1537 
1538  const int index = JIndexOf<JDAQTimesliceTypes_t , T>::value ;
1539 
1540  const string prefix = "KM3NETDAQ::JDAQ" ;
1541 
1542  string ts_name = T::Class_Name() ;
1543 
1544  string::size_type pos = ts_name.find(prefix);
1545 
1546  if (pos != string::npos) ts_name.replace(ts_name.find(prefix) , prefix.length() , "") ;
1547 
1548  h_timeslice.initialize(du_ids , modules_per_string , range , index , ts_name) ;
1549 
1550  }

◆ initialize_trigger_histograms()

void JRA_Histograms::initialize_trigger_histograms ( JFrameIndexRange range)
inline

Definition at line 1555 of file JRunHistograms.hh.

1555  {
1556 
1558 
1559  }

◆ Write_histogram_table_to_file() [1/2]

template<class T >
void JRA_Histograms::Write_histogram_table_to_file ( TFile &  f,
string  dirname,
vector< vector< T * > >  table 
)
inline

Definition at line 1569 of file JRunHistograms.hh.

1569  {
1570 
1571  if(f.GetDirectory(dirname.c_str()) == 0) f.mkdir (dirname.c_str()) ;
1572 
1573  f.cd (dirname.c_str()) ;
1574 
1575  for (int i=0 ; i < (int)table.size() ; i++){
1576 
1577  for (int j=0 ; j< (int)table[i].size() ; j++){
1578 
1579  if (table[i][j]) table [i][j] -> Write() ;
1580 
1581  }
1582 
1583  }
1584 
1585  }

◆ Write_histogram_table_to_file() [2/2]

template<class T >
void JRA_Histograms::Write_histogram_table_to_file ( TFile &  f,
string  dirname,
vector< T * >  table 
)
inline

Definition at line 1595 of file JRunHistograms.hh.

1595  {
1596 
1597  if(f.GetDirectory(dirname.c_str()) == 0) f.mkdir (dirname.c_str()) ;
1598 
1599  f.cd (dirname.c_str()) ;
1600 
1601  for (int i=0 ; i < (int)table.size() ; i++){
1602 
1603  if (table[i]) table[i] -> Write() ;
1604 
1605  }
1606 
1607  }

◆ Write_manager_to_file()

template<class T , class V >
void JRA_Histograms::Write_manager_to_file ( TFile &  f,
string  dirname,
JManager< T, V > *  table 
)
inline

Definition at line 1617 of file JRunHistograms.hh.

1617  {
1618 
1619  if(f.GetDirectory(dirname.c_str()) == 0) f.mkdir (dirname.c_str()) ;
1620 
1621  f.cd (dirname.c_str()) ;
1622 
1623  for (typename JManager < T , V >::const_iterator i = table -> begin() ; i != table -> end() ; ++i){
1624 
1625  i -> second -> Write() ;
1626 
1627  }
1628 
1629  }

◆ Replace_wildcard_in_name()

template<class T , class V >
void JRA_Histograms::Replace_wildcard_in_name ( JManager< T, V > *  manager,
char  wc = '%' 
)
inline

Definition at line 1637 of file JRunHistograms.hh.

1637  {
1638 
1639  for (typename JManager < T , V >::const_iterator i = manager -> begin() ; i != manager -> end() ; ++i){
1640 
1641  if (i -> second -> GetTitle()){
1642 
1643  std::string buffer = i -> second -> GetTitle() ;
1644 
1645  string::size_type ipos = buffer.find(wc) ;
1646 
1647  if (ipos!=std::string::npos){
1648 
1649  ostringstream os;
1650 
1651  os << i -> first ;
1652 
1653  buffer.replace(ipos, 1, os.str());
1654 
1655  i -> second -> SetTitle(buffer.c_str()) ;
1656 
1657  }
1658 
1659  }
1660 
1661  }
1662 
1663  }

◆ Write_manager_in_key_dir()

template<class T , class V >
void JRA_Histograms::Write_manager_in_key_dir ( TFile &  f,
JManager< T, V > *  manager 
)
inline

Definition at line 1671 of file JRunHistograms.hh.

1671  {
1672 
1673  for (typename JManager < T , V >::const_iterator i = manager -> begin() ; i != manager -> end() ; ++i){
1674 
1675  std::string fullpath = MAKE_STRING(i-> second -> GetName()) ;
1676 
1677  int pos = fullpath.rfind ('/');
1678 
1679  std::string name = fullpath.substr (pos + 1) ;
1680 
1681  std::string path = fullpath.substr (0 , pos) ;
1682 
1683  if (f.GetDirectory(path.c_str()) == 0) f.mkdir (path.c_str()) ;
1684 
1685  f.cd(path.c_str()) ;
1686 
1687  i -> second -> SetName(name.c_str()) ;
1688 
1689  i -> second -> Write() ;
1690 
1691  }
1692 
1693  }

◆ Write_manager_table_in_key_dir()

template<class T , class V >
void JRA_Histograms::Write_manager_table_in_key_dir ( TFile &  f,
vector< JManager< T, V > * >  table 
)
inline

Definition at line 1701 of file JRunHistograms.hh.

1701  {
1702 
1703  for (typename vector < JManager < T , V >* >::const_iterator i = table.begin() ; i != table.end() ; ++i){
1704 
1705  if ((*i)){
1706 
1707  for (typename JManager < T , V >::const_iterator j = (*i) -> begin() ; j != (*i) -> end() ; ++j){
1708 
1709  std::string fullpath = MAKE_STRING(j-> second -> GetName()) ;
1710 
1711  int pos = fullpath.rfind ('/');
1712 
1713  std::string name = fullpath.substr (pos + 1) ;
1714 
1715  std::string path = fullpath.substr (0 , pos) ;
1716 
1717  if (f.GetDirectory(path.c_str()) == 0) f.mkdir (path.c_str()) ;
1718 
1719  f.cd(path.c_str()) ;
1720 
1721  j -> second -> SetName(name.c_str()) ;
1722 
1723  j -> second -> Write() ;
1724 
1725  }
1726 
1727  }
1728 
1729  }
1730 
1731  }

◆ Write_to_file()

void JRA_Histograms::Write_to_file ( TFile &  f)
inline

Definition at line 1737 of file JRunHistograms.hh.

1737  {
1738 
1739  f.mkdir("Detector") ;
1740 
1741  f.cd("Detector") ;
1742 
1743  if (h_summary.h_fifo) h_summary.h_fifo -> Write() ;
1744 
1745  if (h_summary.h_daq_status) h_summary.h_daq_status -> Write() ;
1746 
1747  if (h_summary.h_hrv) h_summary.h_hrv -> Write() ;
1748 
1750 
1752 
1754 
1756 
1758 
1760 
1761  // if (h_summary.h_mean_fifo) h_summary.h_mean_fifo -> Write() ;
1762 
1763  // if (h_summary.h_mean_daq_status) h_summary.h_mean_daq_status -> Write() ;
1764 
1765  // if (h_summary.h_mean_hrv) h_summary.h_mean_hrv -> Write() ;
1766 
1767  // if (h_summary.h_mean_wr_status) h_summary.h_mean_wr_status -> Write() ;
1768 
1769  // if (h_summary.h_mean_active_PMTs) h_summary.h_mean_active_PMTs -> Write() ;
1770 
1771  Write_histogram_table_to_file(f , MAKE_STRING("Detector/ToT_255_vs_time") , h_timeslice.h_ToT_255_vs_time) ;
1772 
1773  Write_histogram_table_to_file(f , MAKE_STRING("Detector/ToT_255_Floor_vs_time") , h_timeslice.h_ToT_255_Floor_vs_time) ;
1774 
1775  Write_histogram_table_to_file(f , MAKE_STRING("Detector/ToT_255_Floor_vs_time") , h_timeslice.h_ToT_255_Floor_vs_time_2) ;
1776 
1777  Write_histogram_table_to_file(f , MAKE_STRING("Detector/slice_start_time") , h_timeslice.h_slice_start_time) ;
1778 
1780 
1781  Write_histogram_table_to_file(f , MAKE_STRING("Detector/Active_modules_detector") , h_timeslice.h_active_modules) ;
1782 
1783  Write_histogram_table_to_file(f , MAKE_STRING("Detector/Active_modules_du") , h_timeslice.h_du_active_modules) ;
1784 
1785  Write_histogram_table_to_file(f , MAKE_STRING("Detector/DOM_mean_rates") , h_timeslice.h_dom_mean_rates) ;
1786 
1788 
1790 
1792 
1794 
1796 
1798 
1800 
1802 
1804 
1806 
1808 
1810 
1812 
1814 
1816 
1818 
1819  f.mkdir ( MAKE_STRING ("JDAQEvent").c_str() ) ;
1820 
1821  f.cd ("JDAQEvent") ;
1822 
1824 
1826 
1827  f.mkdir ( MAKE_STRING ("JDAQEvent/hits_per_event").c_str() ) ;
1828 
1829  f.cd ("JDAQEvent/hits_per_event") ;
1830 
1832 
1834 
1835  f.mkdir ( MAKE_STRING ("JDAQEvent/hits_pmt_distributions").c_str() ) ;
1836 
1837  f.cd ("JDAQEvent/hits_pmt_distributions") ;
1838 
1840 
1842 
1843  f.mkdir ( MAKE_STRING ("JDAQEvent/hits_tot_distributions").c_str() ) ;
1844 
1845  f.cd ("JDAQEvent/hits_tot_distributions") ;
1846 
1848 
1850 
1851  f.mkdir ( MAKE_STRING ("JDAQEvent/trigger_rates").c_str() ) ;
1852 
1853  f.cd ("JDAQEvent/trigger_rates") ;
1854 
1855  if (h_trigger.m_trigger_rates){
1856 
1858 
1859  i -> second -> Scale (1./(i->second->GetBinWidth(1) * getFrameTime() * 1e-9) ) ;
1860 
1861  i -> second -> Write() ;
1862 
1863  }
1864 
1865  }
1866 
1867  f.cd ("JDAQEvent") ;
1868 
1869  //if (h_trigger.h_Trigger_map) { h_trigger.h_Trigger_map -> Write() ; }
1870 
1872 
1874 
1876 
1878 
1879  }

Member Data Documentation

◆ detector

JDetector JRA_Histograms::detector

Definition at line 1489 of file JRunHistograms.hh.

◆ h_summary

SummaryHistograms JRA_Histograms::h_summary

Definition at line 1491 of file JRunHistograms.hh.

◆ h_timeslice

TimesliceHistograms JRA_Histograms::h_timeslice

Definition at line 1493 of file JRunHistograms.hh.

◆ h_trigger

TriggerHistograms JRA_Histograms::h_trigger

Definition at line 1495 of file JRunHistograms.hh.

◆ du_ids

std::set<int> JRA_Histograms::du_ids

Definition at line 1497 of file JRunHistograms.hh.

◆ modules_per_string

int JRA_Histograms::modules_per_string

Definition at line 1499 of file JRunHistograms.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
JRA_Histograms::Write_histogram_table_to_file
void Write_histogram_table_to_file(TFile &f, string dirname, vector< vector< T * > > table)
Definition: JRunHistograms.hh:1569
TriggerHistograms::h_Snapshot_hits_per_module
TH2D * h_Snapshot_hits_per_module
Definition: JRunHistograms.hh:1107
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
TriggerHistograms::h_Trigger_bit_event
TH1D * h_Trigger_bit_event
Definition: JRunHistograms.hh:1099
SummaryHistograms
Definition: JRunHistograms.hh:91
JRA_Histograms::modules_per_string
int modules_per_string
Definition: JRunHistograms.hh:1499
SummaryHistograms::h_fifo
TH1D * h_fifo
Definition: JRunHistograms.hh:93
SummaryHistograms::h_rate_summary
TH2D * h_rate_summary
Definition: JRunHistograms.hh:117
TriggerHistograms::h_n_triggered_hits_distribution
TH1D * h_n_triggered_hits_distribution
Definition: JRunHistograms.hh:1131
TriggerHistograms
Definition: JRunHistograms.hh:1097
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
SummaryHistograms::initialize
void initialize(std::set< int > &du_ids, int modules_per_string, JFrameIndexRange &frame_index_range)
Definition: JRunHistograms.hh:188
std::vector
Definition: JSTDTypes.hh:12
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
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
JGIZMO::JManager
Auxiliary class to manage set of compatible ROOT objects (e.g.
Definition: JManager.hh:40
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
TriggerHistograms::h_tot_distribution_triggered_hits
TH1D * h_tot_distribution_triggered_hits
Definition: JRunHistograms.hh:1125
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
TriggerHistograms::h_tot_distribution_snapshot_hits
TH1D * h_tot_distribution_snapshot_hits
Definition: JRunHistograms.hh:1129
TimesliceHistograms::m_mean_ToT
vector< JManager< string, TH2D > * > m_mean_ToT
Definition: JRunHistograms.hh:630
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
JRA_Histograms::du_ids
std::set< int > du_ids
Definition: JRunHistograms.hh:1497
TimesliceHistograms::Fill_mean_ToT_histograms
void Fill_mean_ToT_histograms()
Definition: JRunHistograms.hh:764
normalize
void normalize(T *h, double n=1.0)
Definition: JRunHistograms.hh:81
TimesliceHistograms
Definition: JRunHistograms.hh:590
TimesliceHistograms::h_ToT_255_vs_time
vector< TH1D * > h_ToT_255_vs_time
Definition: JRunHistograms.hh:622
JRA_Histograms::Write_manager_in_key_dir
void Write_manager_in_key_dir(TFile &f, JManager< T, V > *manager)
Definition: JRunHistograms.hh:1671
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
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
JRA_Histograms::Write_manager_table_in_key_dir
void Write_manager_table_in_key_dir(TFile &f, vector< JManager< T, V > * > table)
Definition: JRunHistograms.hh:1701
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
SummaryHistograms::m_fifo_full
JManager< string, TProfile2D > * m_fifo_full
Definition: JRunHistograms.hh:131
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
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
TriggerHistograms::h_Snapshot_hits
TH1D * h_Snapshot_hits
Definition: JRunHistograms.hh:1103
TimesliceHistograms::h_rate
vector< TProfile * > h_rate
Definition: JRunHistograms.hh:610
TimesliceHistograms::h_slice_start_time
vector< TH1D * > h_slice_start_time
Definition: JRunHistograms.hh:606
TriggerHistograms::initialize
void initialize(std::set< int > &du_ids, JFrameIndexRange &frame_index_range, int modules_per_string)
Definition: JRunHistograms.hh:1176
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
TimesliceHistograms::h_ToT_255_Floor_vs_time_2
vector< TH2D * > h_ToT_255_Floor_vs_time_2
Definition: JRunHistograms.hh:626
TimesliceHistograms::initialize
void initialize(std::set< int > du_ids, int modules_per_string, JFrameIndexRange &frame_index_range, int ts_type, std::string ts_name)
Definition: JRunHistograms.hh:709