Belle II Software development
TRGTOPWaveformPlotterModule.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// $Id$
10//---------------------------------------------------------------
11// Filename : TRGTOPWaveformPlotterModule.h
12// Section : TRG GRL
13// Owner :
14// Email :
15//---------------------------------------------------------------
16// Description : DQM module for TRGTOP
17//---------------------------------------------------------------
18
19#pragma once
20
21#include <framework/core/Module.h>
22
23#include <TCanvas.h>
24#include <TGraph.h>
25#include <TMultiGraph.h>
26#include <TPaveText.h>
27
28#define NUMBER_OF_TOP_SLOTS 16
29#define MAX_NUMBER_OF_CLOCK_CYCLES 384
30
31#define MAX_TIMESTAMP_RANGE 47000
32
33namespace Belle2 {
38
40
41 public:
44
47 // virtual ~TRGTOPWaveformPlotterModule();
48
49 public:
50
52 virtual void initialize() override;
54 virtual void beginRun() override;
56 virtual void event() override;
58 virtual void endRun() override;
60 // virtual void terminate() override {}
61 virtual void terminate() override;
62
63 private:
64
66 // TDirectory* oldROOTDir = nullptr;
68 // TDirectory* myROOTDir = nullptr;
69
71 // TFile* m_file;
72
73 TCanvas* m_myCanvas[NUMBER_OF_TOP_SLOTS];
74
75 TGraph* m_timeStampsGraphMainReadout[NUMBER_OF_TOP_SLOTS];
76 TGraph* m_timeStampsGraphTriggerReadout[NUMBER_OF_TOP_SLOTS];
77
78 TMultiGraph* m_myMultiGraph[NUMBER_OF_TOP_SLOTS];
79
80 TPaveText* m_myPaveText[NUMBER_OF_TOP_SLOTS];
81
82 Int_t m_timeStampsMainReadout[NUMBER_OF_TOP_SLOTS][MAX_NUMBER_OF_CLOCK_CYCLES];
83 Int_t m_timeStampsTriggerReadout[NUMBER_OF_TOP_SLOTS][MAX_NUMBER_OF_CLOCK_CYCLES];
84
85 Int_t m_clockCyclesMainReadout[NUMBER_OF_TOP_SLOTS][MAX_NUMBER_OF_CLOCK_CYCLES];
86 Int_t m_clockCyclesTriggerReadout[NUMBER_OF_TOP_SLOTS][MAX_NUMBER_OF_CLOCK_CYCLES];
87
88 // various parameters and their interpretation
89
90 int m_plottingMode;
91
92 double m_markerSizeHits;
93 double m_markerSizeTimestamps;
94
95 int m_markerTypeHits;
96 int m_markerTypeTimestamps;
97
98 int m_firstAssumedClockCycle;
99
100 int m_cutPlotMinNumberTriggerReadoutHits;
101
102 int m_cutPlotMinNumberMainReadoutHits;
103
104 int m_xMin;
105 int m_xMax;
106 int m_yMin;
107 int m_yMax;
108
109 int m_showGridx;
110 int m_showGridy;
111
112 int m_canvasXMin;
113 int m_canvasYMin;
114 int m_canvasXSize;
115 int m_canvasYSize;
116
117 int m_shiftCanvas;
118 int m_xShiftCanvas;
119 int m_yShiftCanvas;
120
121 };
122
124}
Module()
Constructor.
Definition Module.cc:30
TCanvas * m_myCanvas[NUMBER_OF_TOP_SLOTS]
TDirectory.
virtual void initialize() override
initialize
Abstract base class for different kinds of events.