Belle II Software release-09-00-07
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// TOP headers.
12#include <top/dataobjects/TOPDigit.h>
13#include <top/dataobjects/TOPRecBunch.h>
14#include <top/dataobjects/TOPTimeZero.h>
15#include <top/dataobjects/TOPProductionEventDebug.h>
16#include <top/dbobjects/TOPCalCommonT0.h>
17
18// Basf2 headers.
19#include <framework/core/HistoModule.h>
20#include <framework/datastore/StoreArray.h>
21#include <framework/datastore/StoreObjPtr.h>
22#include <rawdata/dataobjects/RawFTSW.h>
23#include <mdst/dataobjects/Track.h>
24
25// ROOT headers.
26#include <TH1F.h>
27#include <TH1D.h>
28#include <TH2F.h>
29#include <TProfile.h>
30#include <TProfile2D.h>
31
32// C++ headers.
33#include <string>
34#include <vector>
35
36namespace Belle2 {
45 class TOPDQMModule : public HistoModule {
46
47 public:
48
53
57 virtual ~TOPDQMModule();
58
63 virtual void defineHisto() override;
64
69 virtual void initialize() override;
70
75 virtual void beginRun() override;
76
80 virtual void event() override;
81
82 private:
83
89 int getModuleID(const Track& track) const;
90
91 // module parameters
95 // histograms
96 TH1D* m_BoolEvtMonitor = 0;
97 TH2F* m_window_vs_slot = 0;
98 TH1F* m_eventT0 = 0;
99 TH1F* m_bunchOffset = 0;
100 TH1F* m_time = 0;
101 TH1F* m_timeBG = 0;
102 TProfile* m_signalHits = 0;
103 TProfile* m_backgroundHits = 0;
104 TH2F* m_trackHits = 0;
108 TH1F* m_goodTDCAll = 0;
109 TH1F* m_badTDCAll = 0;
116 TProfile2D* m_nhitInjLER = 0;
117 TProfile2D* m_nhitInjHER = 0;
118 TProfile2D* m_nhitInjLERcut = 0;
119 TProfile2D* m_nhitInjHERcut = 0;
120 TH2F* m_eventInjLER = 0;
121 TH2F* m_eventInjHER = 0;
125 std::vector<TH2F*> m_window_vs_asic;
126 std::vector<TH2F*> m_goodHitsXY;
127 std::vector<TH2F*> m_badHitsXY;
128 std::vector<TH2F*> m_goodHitsAsics;
129 std::vector<TH2F*> m_badHitsAsics;
130 std::vector<TH1F*> m_goodTDC;
131 std::vector<TH1F*> m_badTDC;
132 std::vector<TH1F*> m_goodTiming;
133 std::vector<TH1F*> m_goodTimingBG;
134 std::vector<TH1F*> m_goodChannelHits;
135 std::vector<TH1F*> m_badChannelHits;
136 std::vector<TProfile*> m_pulseHeights;
138 TH2F* m_skipProcFlag = 0;
139 TH2F* m_injVetoFlag = 0;
141 TH2F* m_PSBypassMode = 0;
143 // other
144 int m_numModules = 0;
145 double m_bunchTimeSep = 0;
147 // dataobjects
155 // dbobjects
158 };
159
161} // Belle2 namespace
162
Class for accessing objects in the database.
Definition: DBObjPtr.h:21
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:96
TOP DQM histogrammer.
Definition: TOPDQMModule.h:45
std::vector< TH2F * > m_window_vs_asic
Histograms window w.r.t reference vs.
Definition: TOPDQMModule.h:125
std::vector< TH1F * > m_badChannelHits
Histograms for bad channel hits.
Definition: TOPDQMModule.h:135
int m_numModules
number of TOP modules
Definition: TOPDQMModule.h:144
std::vector< TH2F * > m_goodHitsXY
Histograms (2D) for good hits in pixels.
Definition: TOPDQMModule.h:126
std::vector< TH2F * > m_goodHitsAsics
Histograms (2D) for good hits in asic channels.
Definition: TOPDQMModule.h:128
StoreObjPtr< TOPRecBunch > m_recBunch
reconstructed bunch and event T0
Definition: TOPDQMModule.h:150
TH2F * m_eventInjHER
event distribution (HER injection)
Definition: TOPDQMModule.h:121
DBObjPtr< TOPCalCommonT0 > m_commonT0
common T0 calibration constants
Definition: TOPDQMModule.h:156
double m_momentumCut
momentum cut
Definition: TOPDQMModule.h:93
TH2F * m_injVetoFlag
injection veto flag vs.
Definition: TOPDQMModule.h:139
std::vector< TH2F * > m_badHitsXY
Histograms (2D) for bad hits in pixels.
Definition: TOPDQMModule.h:127
TH1F * m_bunchOffset
reconstructed bunch: current offset
Definition: TOPDQMModule.h:99
TProfile2D * m_nhitInjLER
average number of good digits (LER injection)
Definition: TOPDQMModule.h:116
TProfile * m_backgroundHits
number of hits in the background time window vs.
Definition: TOPDQMModule.h:103
StoreArray< TOPProductionEventDebug > m_productionEventDebugs
collection of event debug data
Definition: TOPDQMModule.h:153
std::vector< TH1F * > m_badTDC
Histograms for TDC distribution of bad hits.
Definition: TOPDQMModule.h:131
std::vector< TH1F * > m_goodChannelHits
Histograms for good channel hits.
Definition: TOPDQMModule.h:134
TH1F * m_eventT0
reconstructed event T0
Definition: TOPDQMModule.h:98
TH2F * m_eventInjLERcut
event distribution after cut (LER injection)
Definition: TOPDQMModule.h:122
TH2F * m_window_vs_slot
Histogram window w.r.t reference vs.
Definition: TOPDQMModule.h:97
TH1F * m_injVetoFlagDiff
check if injection veto flags differ in the event
Definition: TOPDQMModule.h:140
std::vector< TH1F * > m_goodTDC
Histograms for TDC distribution of good hits.
Definition: TOPDQMModule.h:130
std::vector< TH1F * > m_goodTimingBG
Histograms for timing distribution of good hits (background)
Definition: TOPDQMModule.h:133
TH1F * m_timeBG
time distribution of good hits (background)
Definition: TOPDQMModule.h:101
TH2F * m_eventInjLER
event distribution (LER injection)
Definition: TOPDQMModule.h:120
StoreArray< RawFTSW > m_rawFTSWs
Input array for DAQ Status.
Definition: TOPDQMModule.h:148
TH1F * m_TOPEOccAfterInjHER
Histogram for Nr Entries (=Triggrs) for normalization after HER injection.
Definition: TOPDQMModule.h:114
std::string m_histogramDirectoryName
histogram directory in ROOT file
Definition: TOPDQMModule.h:92
TProfile2D * m_nhitInjLERcut
average number of good digits after cut (LER injection)
Definition: TOPDQMModule.h:118
StoreArray< Track > m_tracks
collection of tracks
Definition: TOPDQMModule.h:152
TH1F * m_badHitsPerEventAll
Number of bad hits per event (all slots)
Definition: TOPDQMModule.h:107
TH1F * m_TOPEOccAfterInjLER
Histogram for Nr Entries (=Triggrs) for normalization after LER injection.
Definition: TOPDQMModule.h:113
std::vector< TH1F * > m_goodTiming
Histograms for timing distribution of good hits.
Definition: TOPDQMModule.h:132
TH1F * m_time
time distribution of good hits
Definition: TOPDQMModule.h:100
TH1F * m_goodTDCAll
TDC distribution of good hits (all slots)
Definition: TOPDQMModule.h:108
TProfile2D * m_nhitInjHER
average number of good digits (HER injection)
Definition: TOPDQMModule.h:117
TH1F * m_TOPOccAfterInjLER
Histogram Ndigits after LER injection.
Definition: TOPDQMModule.h:111
StoreArray< TOPDigit > m_digits
collection of digits
Definition: TOPDQMModule.h:149
std::vector< TProfile * > m_pulseHeights
Pulse heights of good hits.
Definition: TOPDQMModule.h:136
TH2F * m_eventInjHERcut
event distribution after cut (HER injection)
Definition: TOPDQMModule.h:123
StoreArray< TOPTimeZero > m_timeZeros
reconstructed event T0 in case of cosmics
Definition: TOPDQMModule.h:151
TProfile * m_signalHits
number of hits in the signal time window vs.
Definition: TOPDQMModule.h:102
TH2F * m_trackHits
counting events w/ and w/o track in the slot vs.
Definition: TOPDQMModule.h:104
TH2F * m_PSBypassMode
PS-bypass mode vs.
Definition: TOPDQMModule.h:141
double m_bunchTimeSep
bunch separation time
Definition: TOPDQMModule.h:145
TH1D * m_BoolEvtMonitor
Event desynchronization monitoring.
Definition: TOPDQMModule.h:96
TProfile2D * m_nhitInjHERcut
average number of good digits after cut (HER injection)
Definition: TOPDQMModule.h:119
std::vector< TH2F * > m_badHitsAsics
Histograms (2D) for bad hits in asic channels.
Definition: TOPDQMModule.h:129
TH1F * m_TOPOccAfterInjHER
Histogram Ndigits after HER injection.
Definition: TOPDQMModule.h:112
TH1F * m_badTDCAll
TDC distribution of bad hits (all slots)
Definition: TOPDQMModule.h:109
TH1F * m_goodHitsPerEventAll
Number of good hits per event (all slots)
Definition: TOPDQMModule.h:106
TH2F * m_skipProcFlag
skip processing flag vs.
Definition: TOPDQMModule.h:138
Class that bundles various TrackFitResults.
Definition: Track.h:25
TOPDQMModule()
Constructor.
Definition: TOPDQMModule.cc:41
virtual void initialize() override
Initialize the Module.
virtual void event() override
Event processor.
virtual ~TOPDQMModule()
Destructor.
Definition: TOPDQMModule.cc:55
virtual void beginRun() override
Called when entering a new run.
int getModuleID(const Track &track) const
Returns slot ID of the module that is hit by the track.
virtual void defineHisto() override
Histogram definitions such as TH1(), TH2(), TNtuple(), TTree()....
Definition: TOPDQMModule.cc:59
Abstract base class for different kinds of events.