Belle II Software  release-06-00-14
TOPDQMModule.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 #pragma once
10 
11 #include <framework/core/Module.h>
12 #include <string>
13 #include <vector>
14 #include "TH1F.h"
15 #include "TH2F.h"
16 #include "TProfile.h"
17 #include "TProfile2D.h"
18 
19 // dataobject classes
20 #include <framework/datastore/StoreArray.h>
21 #include <framework/datastore/StoreObjPtr.h>
22 #include <top/dataobjects/TOPDigit.h>
23 #include <rawdata/dataobjects/RawFTSW.h>
24 #include <top/dataobjects/TOPRecBunch.h>
25 #include <mdst/dataobjects/Track.h>
26 
27 namespace Belle2 {
39  class TOPDQMModule : public HistoModule {
40 
41  public:
42 
46  TOPDQMModule();
47 
51  virtual ~TOPDQMModule();
52 
57  virtual void defineHisto() override;
58 
63  virtual void initialize() override;
64 
69  virtual void beginRun() override;
70 
74  virtual void event() override;
75 
80  virtual void endRun() override;
81 
86  virtual void terminate() override;
87 
88  private:
89 
90  // module parameters
92  double m_momentumCut;
93  double m_pValueCut;
94  bool m_usePionID;
95  int m_cutNphot;
97  // histograms
98  TH1F* m_BoolEvtMonitor = 0;
100  TH1F* m_recoTime = 0;
101  TH1F* m_recoTimeBg = 0;
102  TH1F* m_recoTimeMinT0 = 0;
103  TH1F* m_recoTimeDiff = 0;
104  TH1F* m_recoPull = 0;
106  TProfile* m_recoPull_Phic = 0;
109  TH1F* m_goodTDCAll = 0;
110  TH1F* m_badTDCAll = 0;
112  TH1F* m_goodHits = nullptr;
113  TH1F* m_badHits = nullptr;
114  TH2F* m_window_vs_slot = 0;
115  TH1F* m_bunchOffset = 0;
116  TH1F* m_time = 0;
117  TProfile* m_goodHitsPerEventProf = 0;
118  TProfile* m_badHitsPerEventProf = 0;
124  std::vector<TH2F*> m_window_vs_asic;
125  std::vector<TH2F*> m_goodHitsXY;
126  std::vector<TH2F*> m_badHitsXY;
127  std::vector<TH2F*> m_goodHitsAsics;
128  std::vector<TH2F*> m_badHitsAsics;
129  std::vector<TH1F*> m_goodTdc;
130  std::vector<TH1F*> m_badTdc;
131  std::vector<TH1F*> m_goodTiming;
132  std::vector<TH1F*> m_goodChannelHits;
133  std::vector<TH1F*> m_badChannelHits;
134  std::vector<TH1F*> m_goodHitsPerEvent;
135  std::vector<TH1F*> m_badHitsPerEvent;
136  std::vector<TProfile2D*> m_goodHitsXYTrack;
137  std::vector<TProfile2D*> m_goodHitsXYTrackBkg;
139  // other
140  int m_numModules = 0;
142  // dataobjects
148  };
149 
151 } // Belle2 namespace
152 
HistoModule.h is supposed to be used instead of Module.h for the modules with histogram definitions t...
Definition: HistoModule.h:29
Accessor to arrays stored in the data store.
Definition: StoreArray.h:113
Type-safe access to single objects in the data store.
Definition: StoreObjPtr.h:95
TOP DQM histogrammer.
Definition: TOPDQMModule.h:39
TH1F * m_badHits
Histogram for number of accumulated bad hits.
Definition: TOPDQMModule.h:113
std::vector< TH2F * > m_window_vs_asic
Histograms window w.r.t reference vs.
Definition: TOPDQMModule.h:124
std::vector< TH1F * > m_badChannelHits
Histograms for bad channel hits.
Definition: TOPDQMModule.h:133
int m_numModules
number of TOP modules
Definition: TOPDQMModule.h:140
std::vector< TH2F * > m_goodHitsXY
Histograms (2D) for good hits in x-y.
Definition: TOPDQMModule.h:125
std::vector< TH2F * > m_goodHitsAsics
Histograms (2D) for good hits for asics.
Definition: TOPDQMModule.h:127
StoreObjPtr< TOPRecBunch > m_recBunch
reconstructed bunch
Definition: TOPDQMModule.h:145
std::vector< TH1F * > m_goodHitsPerEvent
Histograms for good hits per event.
Definition: TOPDQMModule.h:134
TH1F * m_BoolEvtMonitor
Event desynchronization monitoring.
Definition: TOPDQMModule.h:98
double m_momentumCut
momentum cut
Definition: TOPDQMModule.h:92
std::vector< TH2F * > m_badHitsXY
Histograms (2D) for bad hits in x-y.
Definition: TOPDQMModule.h:126
TH1F * m_bunchOffset
reconstructed bunch: current offset
Definition: TOPDQMModule.h:115
bool m_usePionID
use pion ID in track selection
Definition: TOPDQMModule.h:94
std::vector< TProfile2D * > m_goodHitsXYTrack
Histograms (2D) for good hits in x-y per module with track.
Definition: TOPDQMModule.h:136
TH1F * m_recoPull
pull distribution
Definition: TOPDQMModule.h:104
std::vector< TH1F * > m_goodChannelHits
Histograms for good channel hits.
Definition: TOPDQMModule.h:132
TProfile * m_badHitsPerEventProf
a profile histogram of bad hits per event
Definition: TOPDQMModule.h:118
StoreArray< RawFTSW > m_rawFTSW
Input array for DAQ Status.
Definition: TOPDQMModule.h:143
TH2F * m_recoTimeDiff_Phic
residuals vs phiCer
Definition: TOPDQMModule.h:105
TH1F * m_recoTime
time distribution
Definition: TOPDQMModule.h:100
TH2F * m_window_vs_slot
Histogram window w.r.t reference vs.
Definition: TOPDQMModule.h:114
TH1F * m_recoTimeMinT0
time distribution in respect to the first peak
Definition: TOPDQMModule.h:102
int m_cutNphot
Number of photon cut.
Definition: TOPDQMModule.h:95
TH1F * m_TOPEOccAfterInjHER
Histogram for Nr Entries (=Triggrs) for normalization after HER injection.
Definition: TOPDQMModule.h:122
std::vector< TH1F * > m_goodTdc
Histograms for TDC distribution of good hits.
Definition: TOPDQMModule.h:129
std::string m_histogramDirectoryName
histogram directory in ROOT file
Definition: TOPDQMModule.h:91
StoreArray< Track > m_tracks
collection of tracks
Definition: TOPDQMModule.h:146
double m_pValueCut
pValue cut
Definition: TOPDQMModule.h:93
TH1F * m_badHitsPerEventAll
Histograms for bad hits per event (all slots)
Definition: TOPDQMModule.h:108
TH1F * m_TOPEOccAfterInjLER
Histogram for Nr Entries (=Triggrs) for normalization after LER injection.
Definition: TOPDQMModule.h:121
std::vector< TH1F * > m_goodTiming
Histograms for timing distribution of good hits.
Definition: TOPDQMModule.h:131
TH1F * m_time
time distribution of good hits
Definition: TOPDQMModule.h:116
TH1F * m_goodTDCAll
Histograms for TDC distribution of good hits (all slots)
Definition: TOPDQMModule.h:109
TH1F * m_TOPOccAfterInjLER
Histogram Ndigits after LER injection.
Definition: TOPDQMModule.h:119
TProfile * m_recoPull_Phic
pulls vs phiCer
Definition: TOPDQMModule.h:106
StoreArray< TOPDigit > m_digits
collection of digits
Definition: TOPDQMModule.h:144
TH1F * m_recoTimeBg
time distribution background
Definition: TOPDQMModule.h:101
TH1F * m_goodHits
Histogram for number of accumulated good hits.
Definition: TOPDQMModule.h:112
std::vector< TProfile2D * > m_goodHitsXYTrackBkg
Histograms (2D) for good hits in x-y per module with bkg track.
Definition: TOPDQMModule.h:137
std::vector< TH1F * > m_badHitsPerEvent
Histograms for bad hits per event.
Definition: TOPDQMModule.h:135
TProfile * m_goodHitsPerEventProf
a profile histogram of good hits per event
Definition: TOPDQMModule.h:117
std::vector< TH1F * > m_badTdc
Histograms for TDC distribution of bad hits.
Definition: TOPDQMModule.h:130
std::vector< TH2F * > m_badHitsAsics
Histograms (2D) for bad hits for asics.
Definition: TOPDQMModule.h:128
TH1F * m_TOPOccAfterInjHER
Histogram Ndigits after HER injection.
Definition: TOPDQMModule.h:120
TH1F * m_badTDCAll
Histograms for TDC distribution of bad hits (all slots)
Definition: TOPDQMModule.h:110
TH1F * m_recoTimeDiff
residual distribution
Definition: TOPDQMModule.h:103
TH1F * m_goodHitsPerEventAll
Histograms for good hits per event (all slots)
Definition: TOPDQMModule.h:107
TOPDQMModule()
Constructor.
Definition: TOPDQMModule.cc:59
virtual void initialize() override
Initialize the Module.
virtual void event() override
Event processor.
virtual void endRun() override
End-of-run action.
virtual void terminate() override
Termination action.
virtual ~TOPDQMModule()
Destructor.
Definition: TOPDQMModule.cc:78
virtual void beginRun() override
Called when entering a new run.
virtual void defineHisto() override
Histogram definitions such as TH1(), TH2(), TNtuple(), TTree()....
Definition: TOPDQMModule.cc:82
Abstract base class for different kinds of events.