Belle II Software  release-05-02-19
DQMHistAnalysisInputRootFile.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2010 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Boqun Wang *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 #include <framework/dataobjects/EventMetaData.h>
14 #include <framework/datastore/StoreObjPtr.h>
15 
16 #include <dqm/analysis/modules/DQMHistAnalysis.h>
17 
18 #include <TFile.h>
19 #include <TCanvas.h>
20 
21 #include <string>
22 #include <map>
23 #include <vector>
24 
25 namespace Belle2 {
35  class DQMHistAnalysisInputRootFileModule : public DQMHistAnalysisModule {
36 
37  public:
38 
43 
47  void initialize() override final;
48 
52  void beginRun() override final;
53 
57  void event() override final;
58 
62  void endRun() override final;
63 
67  void terminate() override final;
68 
69  private:
76  bool hname_pattern_match(std::string pattern, std::string text);
77 
79  std::vector<std::string> m_file_list;
80 
82  TFile* m_file = nullptr;
83 
86 
88  std::map<std::string, TCanvas*> m_cs;
89 
91  std::vector<std::string> m_histograms;
92 
94  unsigned int m_expno = 0;
95 
97  unsigned int m_count = 0;
98 
100  std::vector<unsigned int> m_events_list;
101 
103  std::vector<unsigned int> m_run_list;
104 
106  unsigned int m_interval = 0;
107 
109  unsigned int m_run_idx = 0;
110 
112  bool m_null_histo_mode = false;
114  bool m_autocanvas = true;
115  };
117 } // end namespace Belle2
118 
Belle2::DQMHistAnalysisInputRootFileModule::m_autocanvas
bool m_autocanvas
Whether to automatically generate canvases for histograms.
Definition: DQMHistAnalysisInputRootFile.h:122
Belle2::DQMHistAnalysisInputRootFileModule::m_file_list
std::vector< std::string > m_file_list
The list of names of the input root file.
Definition: DQMHistAnalysisInputRootFile.h:87
Belle2::DQMHistAnalysisInputRootFileModule::beginRun
void beginRun() override final
Called when entering a new run.
Definition: DQMHistAnalysisInputRootFile.cc:85
Belle2::DQMHistAnalysisInputRootFileModule::m_expno
unsigned int m_expno
Exp number.
Definition: DQMHistAnalysisInputRootFile.h:102
Belle2::DQMHistAnalysisInputRootFileModule::hname_pattern_match
bool hname_pattern_match(std::string pattern, std::string text)
Pattern match for histogram name.
Definition: DQMHistAnalysisInputRootFile.cc:61
Belle2::DQMHistAnalysisInputRootFileModule::m_histograms
std::vector< std::string > m_histograms
List of histogram name patterns to process.
Definition: DQMHistAnalysisInputRootFile.h:99
Belle2::DQMHistAnalysisInputRootFileModule::m_run_idx
unsigned int m_run_idx
Index in the list of runs, events and files.
Definition: DQMHistAnalysisInputRootFile.h:117
Belle2::DQMHistAnalysisInputRootFileModule::initialize
void initialize() override final
Initialize the module.
Definition: DQMHistAnalysisInputRootFile.cc:47
Belle2::DQMHistAnalysisInputRootFileModule::DQMHistAnalysisInputRootFileModule
DQMHistAnalysisInputRootFileModule()
Constructor.
Definition: DQMHistAnalysisInputRootFile.cc:31
Belle2::DQMHistAnalysisInputRootFileModule::endRun
void endRun() override final
End-of-run action.
Definition: DQMHistAnalysisInputRootFile.cc:246
Belle2::DQMHistAnalysisInputRootFileModule::event
void event() override final
Event processor.
Definition: DQMHistAnalysisInputRootFile.cc:90
Belle2::DQMHistAnalysisInputRootFileModule::m_events_list
std::vector< unsigned int > m_events_list
List of total number of events for each run.
Definition: DQMHistAnalysisInputRootFile.h:108
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::StoreObjPtr
Type-safe access to single objects in the data store.
Definition: ParticleList.h:33
Belle2::DQMHistAnalysisInputRootFileModule::m_cs
std::map< std::string, TCanvas * > m_cs
The map between canvas name and canvas object.
Definition: DQMHistAnalysisInputRootFile.h:96
Belle2::DQMHistAnalysisInputRootFileModule::m_run_list
std::vector< unsigned int > m_run_list
List of runs.
Definition: DQMHistAnalysisInputRootFile.h:111
Belle2::DQMHistAnalysisInputRootFileModule::m_count
unsigned int m_count
Evt number.
Definition: DQMHistAnalysisInputRootFile.h:105
Belle2::DQMHistAnalysisInputRootFileModule::m_null_histo_mode
bool m_null_histo_mode
Test mode for null histograms.
Definition: DQMHistAnalysisInputRootFile.h:120
Belle2::EventMetaData
Store event, run, and experiment numbers.
Definition: EventMetaData.h:43
Belle2::DQMHistAnalysisInputRootFileModule::m_eventMetaDataPtr
StoreObjPtr< EventMetaData > m_eventMetaDataPtr
Global EventMetaData for run number and event number.
Definition: DQMHistAnalysisInputRootFile.h:93
Belle2::DQMHistAnalysisInputRootFileModule::m_interval
unsigned int m_interval
Time between two events in second.
Definition: DQMHistAnalysisInputRootFile.h:114
Belle2::DQMHistAnalysisInputRootFileModule::m_file
TFile * m_file
The TFile object for the input file.
Definition: DQMHistAnalysisInputRootFile.h:90
Belle2::DQMHistAnalysisInputRootFileModule::terminate
void terminate() override final
Termination action.
Definition: DQMHistAnalysisInputRootFile.cc:252