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 ()
 
template<class T >
void initialize_timeslice_histograms ()
 
void initialize_trigger_histograms ()
 
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 792 of file JRunHistograms.hh.

Constructor & Destructor Documentation

◆ JRA_Histograms() [1/2]

JRA_Histograms::JRA_Histograms ( )
inline

Definition at line 803 of file JRunHistograms.hh.

803 {}

◆ JRA_Histograms() [2/2]

JRA_Histograms::JRA_Histograms ( JDetector det)
inline

Member Function Documentation

◆ initialize_summary_histograms()

void JRA_Histograms::initialize_summary_histograms ( )
inline

Definition at line 820 of file JRunHistograms.hh.

820  {
821 
823 
824  }

◆ initialize_timeslice_histograms()

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

Definition at line 832 of file JRunHistograms.hh.

832  {
833 
835  const string prefix = "KM3NETDAQ::JDAQ" ;
836  string ts_name = T::Class_Name();
837  string::size_type pos = ts_name.find(prefix);
838 
839  if (pos != string::npos) ts_name.replace(ts_name.find(prefix) , prefix.length() , "");
840 
841  h_timeslice.initialize(du_ids , modules_per_string , index , ts_name);
842  }

◆ initialize_trigger_histograms()

void JRA_Histograms::initialize_trigger_histograms ( )
inline

Definition at line 847 of file JRunHistograms.hh.

847  {
848 
850  }

◆ 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 860 of file JRunHistograms.hh.

860  {
861 
862  if(f.GetDirectory(dirname.c_str()) == 0) f.mkdir (dirname.c_str());
863 
864  f.cd (dirname.c_str());
865 
866  for (int i=0 ; i < (int)table.size(); i++){
867 
868  for (int j=0 ; j< (int)table[i].size(); j++){
869 
870  if (table[i][j]) table [i][j] -> Write();
871  }
872  }
873  }

◆ 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 883 of file JRunHistograms.hh.

883  {
884 
885  if(f.GetDirectory(dirname.c_str()) == 0) f.mkdir (dirname.c_str());
886 
887  f.cd (dirname.c_str());
888 
889  for (int i=0 ; i < (int)table.size(); i++){
890 
891  if (table[i]) table[i] -> Write();
892  }
893  }

◆ 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 903 of file JRunHistograms.hh.

903  {
904 
905  if(f.GetDirectory(dirname.c_str()) == 0) f.mkdir (dirname.c_str());
906 
907  f.cd (dirname.c_str());
908 
909  for (typename JManager < T , V >::const_iterator i = table -> begin() ; i != table -> end() ; ++i){
910 
911  i -> second -> Write();
912  }
913  }

◆ 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 921 of file JRunHistograms.hh.

921  {
922 
923  for (typename JManager < T , V >::const_iterator i = manager -> begin() ; i != manager -> end() ; ++i){
924 
925  if (i -> second -> GetTitle()){
926 
927  std::string buffer = i -> second -> GetTitle();
928  string::size_type ipos = buffer.find(wc);
929 
930  if (ipos!=std::string::npos){
931 
932  ostringstream os;
933 
934  os << i -> first ;
935 
936  buffer.replace(ipos, 1, os.str());
937 
938  i -> second -> SetTitle(buffer.c_str());
939  }
940  }
941  }
942  }

◆ 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 950 of file JRunHistograms.hh.

950  {
951 
952  for (typename JManager < T , V >::const_iterator i = manager -> begin() ; i != manager -> end() ; ++i){
953 
954  std::string fullpath = MAKE_STRING(i->second->GetName());
955 
956  int pos = fullpath.rfind ('/');
957  std::string name = fullpath.substr (pos + 1);
958  std::string path = fullpath.substr (0 , pos);
959 
960  if (f.GetDirectory(path.c_str()) == 0) f.mkdir (path.c_str());
961 
962  f.cd(path.c_str());
963 
964  i -> second -> SetName(name.c_str());
965  i -> second -> Write();
966  }
967  }

◆ 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 975 of file JRunHistograms.hh.

975  {
976 
977  for (typename vector < JManager < T , V >* >::const_iterator i = table.begin() ; i != table.end() ; ++i){
978 
979  if ((*i)){
980 
981  for (typename JManager < T , V >::const_iterator j = (*i) -> begin() ; j != (*i) -> end() ; ++j){
982 
983  std::string fullpath = MAKE_STRING(j-> second -> GetName());
984 
985  int pos = fullpath.rfind ('/');
986  std::string name = fullpath.substr (pos + 1);
987  std::string path = fullpath.substr (0 , pos);
988 
989  if (f.GetDirectory(path.c_str()) == 0) f.mkdir (path.c_str());
990 
991  f.cd(path.c_str());
992 
993  j -> second -> SetName(name.c_str());
994  j -> second -> Write();
995  }
996  }
997  }
998  }

◆ Write_to_file()

void JRA_Histograms::Write_to_file ( TFile &  f)
inline

Definition at line 1004 of file JRunHistograms.hh.

1004  {
1005 
1006  f.mkdir("Detector");
1007  f .cd("Detector");
1008 
1015 
1016  Write_histogram_table_to_file(f , MAKE_STRING("Detector/ToT_255_vs_time") , h_timeslice.h_ToT_255_vs_time);
1017  Write_histogram_table_to_file(f , MAKE_STRING("Detector/ToT_255_Floor_vs_time") , h_timeslice.h_ToT_255_Floor_vs_time);
1018  Write_histogram_table_to_file(f , MAKE_STRING("Detector/ToT_255_Floor_vs_time") , h_timeslice.h_ToT_255_Floor_vs_time_2);
1019  Write_histogram_table_to_file(f , MAKE_STRING("Detector/DOM_mean_rates") , h_timeslice.h_dom_mean_rates);
1020 
1021  for (typename vector < JManager < string , TH2D >* >::const_iterator i = h_timeslice.m_pmt_tot_distributions.begin() ; i != h_timeslice.m_pmt_tot_distributions.end() ; ++i){
1022 
1023  if ((*i)){
1024 
1025  for (typename JManager < string , TH2D >::const_iterator j = (*i) -> begin() ; j != (*i) -> end() ; ++j){
1026 
1027  for(int k=1 ; k < j -> second -> GetNbinsX() ; ++k){
1028 
1029  for(int t=1 ; t < j -> second -> GetNbinsY() ; ++t){
1030 
1031  double width = j -> second -> GetYaxis() -> GetBinWidth(t);
1032 
1033  j -> second -> SetBinContent(k,t,j -> second -> GetBinContent(k,t) / width);
1034  j -> second -> SetBinError(k,t,j -> second -> GetBinError(k,t) / width);
1035  }
1036  }
1037  }
1038  }
1039  }
1040 
1046 
1049 
1051 
1054 
1055  f.mkdir ( MAKE_STRING ("JDAQEvent").c_str());
1056  f.cd ("JDAQEvent");
1057 
1060 
1061  f.mkdir (MAKE_STRING ("JDAQEvent/hits_per_event").c_str());
1062  f.cd ("JDAQEvent/hits_per_event");
1063 
1066 
1067  f.mkdir ( MAKE_STRING ("JDAQEvent/hits_pmt_distributions").c_str());
1068  f.cd ("JDAQEvent/hits_pmt_distributions");
1069 
1072 
1073  f.mkdir ( MAKE_STRING ("JDAQEvent/hits_tot_distributions").c_str());
1074  f.cd ("JDAQEvent/hits_tot_distributions");
1075 
1078 
1079  f.cd ("JDAQEvent");
1080 
1083 
1085  }

Member Data Documentation

◆ detector

JDetector JRA_Histograms::detector

Definition at line 796 of file JRunHistograms.hh.

◆ h_summary

SummaryHistograms JRA_Histograms::h_summary

Definition at line 797 of file JRunHistograms.hh.

◆ h_timeslice

TimesliceHistograms JRA_Histograms::h_timeslice

Definition at line 798 of file JRunHistograms.hh.

◆ h_trigger

TriggerHistograms JRA_Histograms::h_trigger

Definition at line 799 of file JRunHistograms.hh.

◆ du_ids

std::set<int> JRA_Histograms::du_ids

Definition at line 800 of file JRunHistograms.hh.

◆ modules_per_string

int JRA_Histograms::modules_per_string

Definition at line 801 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:574
JRA_Histograms::Write_histogram_table_to_file
void Write_histogram_table_to_file(TFile &f, string dirname, vector< vector< T * > > table)
Definition: JRunHistograms.hh:860
TriggerHistograms::h_Snapshot_hits_per_module
TH2D * h_Snapshot_hits_per_module
Definition: JRunHistograms.hh:569
JManager< string, TH2D >
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
TriggerHistograms::h_Trigger_bit_event
TH1D * h_Trigger_bit_event
Definition: JRunHistograms.hh:565
SummaryHistograms
Definition: JRunHistograms.hh:108
JRA_Histograms::modules_per_string
int modules_per_string
Definition: JRunHistograms.hh:801
SummaryHistograms::h_rate_summary
TH2D * h_rate_summary
Definition: JRunHistograms.hh:113
TriggerHistograms
Definition: JRunHistograms.hh:563
TriggerHistograms::h_Trigger_bit_hit
TH1D * h_Trigger_bit_hit
Definition: JRunHistograms.hh:566
std::vector
Definition: JSTDTypes.hh:12
TriggerHistograms::h_pmt_distribution_snapshot_hits
TH1D * h_pmt_distribution_snapshot_hits
Definition: JRunHistograms.hh:578
TimesliceHistograms::initialize
void initialize(std::set< int > du_ids, int modules_per_string, int ts_type, std::string ts_name)
Definition: JRunHistograms.hh:345
JRA_Histograms::h_summary
SummaryHistograms h_summary
Definition: JRunHistograms.hh:797
JTOOLS::j
int j
Definition: JPolint.hh:634
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
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: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
TriggerHistograms::h_tot_distribution_triggered_hits
TH1D * h_tot_distribution_triggered_hits
Definition: JRunHistograms.hh:577
TriggerHistograms::h_tot_distribution_snapshot_hits
TH1D * h_tot_distribution_snapshot_hits
Definition: JRunHistograms.hh:579
TimesliceHistograms::m_mean_ToT
vector< JManager< string, TH2D > * > m_mean_ToT
Definition: JRunHistograms.hh:305
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
SummaryHistograms::initialize
void initialize(std::set< int > &du_ids, int modules_per_string)
Definition: JRunHistograms.hh:139
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
JRA_Histograms::du_ids
std::set< int > du_ids
Definition: JRunHistograms.hh:800
TimesliceHistograms::Fill_mean_ToT_histograms
void Fill_mean_ToT_histograms()
Definition: JRunHistograms.hh:366
TimesliceHistograms::m_mean_ToT_distribution
vector< JManager< string, TH1D > * > m_mean_ToT_distribution
Definition: JRunHistograms.hh:306
normalize
void normalize(T *h, double n=1.0)
Definition: JRunHistograms.hh:99
TimesliceHistograms
Definition: JRunHistograms.hh:287
TimesliceHistograms::h_ToT_255_vs_time
vector< TH1D * > h_ToT_255_vs_time
Definition: JRunHistograms.hh:299
JRA_Histograms::Write_manager_in_key_dir
void Write_manager_in_key_dir(TFile &f, JManager< T, V > *manager)
Definition: JRunHistograms.hh:950
TriggerHistograms::h_Triggered_hits_per_module
TH2D * h_Triggered_hits_per_module
Definition: JRunHistograms.hh:570
JRA_Histograms::h_trigger
TriggerHistograms h_trigger
Definition: JRunHistograms.hh:799
JRA_Histograms::h_timeslice
TimesliceHistograms h_timeslice
Definition: JRunHistograms.hh:798
SummaryHistograms::h_fifo_per_dom
TH2D * h_fifo_per_dom
Definition: JRunHistograms.hh:110
JAANET::detector
Detector file.
Definition: JHead.hh:130
JDETECTOR::getStringIDs
std::set< int > getStringIDs(const JDetector &detector)
Get list of strings IDs.
Definition: JDetectorToolkit.hh:416
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:975
SummaryHistograms::m_summary_rate_distribution
JManager< string, TH2D > * m_summary_rate_distribution
Definition: JRunHistograms.hh:122
TriggerHistograms::initialize
void initialize(std::set< int > &du_ids, int modules_per_string)
Definition: JRunHistograms.hh:604
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
TriggerHistograms::h_Snapshot_hits
TH1D * h_Snapshot_hits
Definition: JRunHistograms.hh:567
TimesliceHistograms::h_ToT_255_Floor_vs_time_2
vector< TH2D * > h_ToT_255_Floor_vs_time_2
Definition: JRunHistograms.hh:301