Belle II Software  release-06-00-14
DQMHistAnalysisInput.h
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 //+
9 // File : DQMHistAnalysisInput.h
10 // Description : Input module for DQM Histogram analysis
11 //-
12 
13 #pragma once
14 
15 #include <framework/dataobjects/EventMetaData.h>
16 #include <framework/datastore/StoreObjPtr.h>
17 
18 #include <daq/dqm/DqmMemFile.h>
19 #include <dqm/analysis/modules/DQMHistAnalysis.h>
20 
21 #include <TCanvas.h>
22 #include <TKey.h>
23 
24 #include <string>
25 #include <map>
26 #include <vector>
27 
28 namespace Belle2 {
36 
37  // Public functions
38  public:
39 
42  virtual ~DQMHistAnalysisInputModule();
43 
45  virtual void initialize() override;
46 
48  virtual void beginRun() override;
49  virtual void event() override;
50  virtual void endRun() override;
51  virtual void terminate() override;
52 
53  // Data members
54  private:
56  DqmMemFile* m_memory = nullptr;
58  std::string m_mempath;
60  std::string m_memname;
62  int m_shm_id;
64  int m_sem_id;
66  int m_memsize;
76  std::vector<std::string> m_acfolders;
78  std::vector<std::string> m_exclfolders;
80  TCanvas* m_c_info = nullptr;
81 
85  std::map<std::string, TCanvas*> m_cs;
86 
88  unsigned int m_expno = 0;
90  unsigned int m_runno = 0;
92  unsigned int m_count = 0;
93  };
95 } // end namespace Belle2
96 
Class definition for the output module of Sequential ROOT I/O.
std::string m_memname
The name of the memory file (HLT or ExpressReco).
bool m_remove_empty
Whether to remove empty histograms.
virtual void initialize() override
Module functions to be called from main process.
bool m_autocanvas
Whether automatically generate canvases for histograms.
virtual void event() override
This method is the core of the module.
bool m_enable_run_info
Whether to enable the run info to be displayed.
int m_shm_id
The shmid for the shared memory.
virtual void endRun() override
This method is called if the current run ends.
virtual void terminate() override
This method is called at the end of the event processing.
DQMHistAnalysisInputModule()
Constructor / Destructor.
std::string m_mempath
The name of the shared memory for the histograms.
virtual void beginRun() override
Module functions to be called from event process.
int m_memsize
The size of the shared memory.
DqmMemFile * m_memory
Memory file to hold histograms.
std::map< std::string, TCanvas * > m_cs
The list of canvases for output.
StoreObjPtr< EventMetaData > m_eventMetaDataPtr
The metadata for each event.
TCanvas * m_c_info
The canvas hold the basic DQM info.
std::vector< std::string > m_acfolders
The list of folders for which automatically generate canvases.
std::vector< std::string > m_exclfolders
The list of folders which are excluded from automatically generate canvases.
int m_sem_id
The semid for the shared memory.
The base class for the histogram analysis module.
Type-safe access to single objects in the data store.
Definition: StoreObjPtr.h:95
Abstract base class for different kinds of events.