Belle II Software  release-08-01-10
TRGECLDQMModule.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 #ifndef TRCECLDQMMODULE_h
9 #define TRCECLDQMMODULE_h
10 
11 #include <framework/core/HistoModule.h>
12 #include "trg/ecl/dataobjects/TRGECLUnpackerStore.h"
13 #include "trg/ecl/dataobjects/TRGECLUnpackerEvtStore.h"
14 #include "trg/ecl/dataobjects/TRGECLUnpackerSumStore.h"
15 #include "trg/ecl/dataobjects/TRGECLCluster.h"
16 #include <framework/datastore/StoreArray.h>
17 #include <framework/database/DBObjPtr.h>
18 #include <framework/dbobjects/HardwareClockSettings.h>
19 #include <mdst/dataobjects/EventLevelTriggerTimeInfo.h>
20 
21 class TH1;
22 class TH2;
23 
24 namespace Belle2 {
33  class TRGECLDQMModule : public HistoModule {
34 
35  public:
39  virtual ~TRGECLDQMModule();
40 
41  public:
43  virtual void initialize() override;
45  virtual void beginRun() override;
47  virtual void event() override;
49  virtual void endRun() override;
51  virtual void terminate() override;
53  virtual void defineHisto() override;
54 
55  private:
58 
60  TH1* h_TCId = nullptr;
62  TH1* h_TCthetaId = nullptr;
64  TH1* h_TCphiId_BWD = nullptr;
66  TH1* h_TCphiId_BR = nullptr;
68  TH1* h_TCphiId_FWD = nullptr;
70  TH1* h_TCEnergy = nullptr;
72  TH1* h_TotalEnergy = nullptr;
74  TH1* h_Narrow_TCEnergy = nullptr;
76  TH1* h_Narrow_TotalEnergy = nullptr;
78  TH1* h_n_TChit_event = nullptr;
80  TH1* h_n_TChit_clean = nullptr;
82  TH1* h_n_TChit_injHER = nullptr;
84  TH1* h_n_TChit_injLER = nullptr;
86  TH2* h_nTChit_injtime = nullptr;
88  TH1* h_Cluster = nullptr;
90  TH1* h_TCTiming = nullptr;
92  TH1* h_TRGTiming = nullptr;
94  TH1* h_Cal_TCTiming = nullptr;
96  TH1* h_Cal_TRGTiming = nullptr;
98  TH1* h_ECL_TriggerBit = nullptr;
100  TH1* h_Cluster_Energy_Sum = nullptr;
101 
103  TH1* h_n_TChit_event_clkgrp = nullptr;
105  TH1* h_n_TChit_clean_clkgrp = nullptr;
107  TH1* h_n_TChit_injHER_clkgrp = nullptr;
109  TH1* h_n_TChit_injLER_clkgrp = nullptr;
111  TH2* h_nTChit_injtime_clkgrp = nullptr;
112 
114  TH1* h_n_TChit_part_event_clkgrp[3] = {nullptr};
116  TH1* h_n_TChit_part_clean_clkgrp[3] = {nullptr};
118  TH1* h_n_TChit_part_injHER_clkgrp[3] = {nullptr};
120  TH1* h_n_TChit_part_injLER_clkgrp[3] = {nullptr};
122  TH2* h_nTChit_part_injtime_clkgrp[3] = {nullptr};
123 
125  std::vector<int> TCId;
127  std::vector<int> TCHitWin;
129  std::vector<double> TCEnergy;
131  std::vector<double> TCTiming;
133  std::vector<double> RevoFAM;
135  std::vector<double> FineTiming;
137  std::vector<double> RevoTrg;
138 
139 
150 
153  };
154 
156 }
157 
158 #endif
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
TH1 * h_n_TChit_part_injHER_clkgrp[3]
N of TC Hit / events in the injection BG clean region vs. time since injection per two ETM clocks for...
TH1 * h_n_TChit_clean
N of TC Hit / event vs. time since injection.
TH1 * h_n_TChit_injLER_clkgrp
N of TC Hit / events in the HER injection BG region vs. time since injection per two ETM clocks.
std::vector< double > TCEnergy
Hit TC Energy.
TH1 * h_TCId
TCId histogram.
TH1 * h_TCphiId_BWD
TCphiId histogram.
TH1 * h_Narrow_TotalEnergy
Total Energy on narrow range.
TH1 * h_TotalEnergy
Total Energy.
TH1 * h_n_TChit_clean_clkgrp
N of TC Hit / event vs. time since injection per two ETM clocks.
TH1 * h_Cluster
N of Cluster / event.
virtual void initialize() override
initialize
TH1 * h_n_TChit_part_event_clkgrp[3]
N of TC Hit / event per two ETM clocks.
StoreArray< TRGECLUnpackerStore > trgeclHitArray
Trg ECL Unpakcer TC output.
virtual void event() override
Event.
TH1 * h_Cal_TRGTiming
Event Timing / event.
TH1 * h_n_TChit_injHER
N of TC Hit / events in the injection BG clean region vs. time since injection.
TH1 * h_Narrow_TCEnergy
TC Energy histogram on narrow range.
TH2 * h_nTChit_injtime_clkgrp
N of TC Hit / events in the LER injection BG region vs. time since injection per two ETM clocks.
virtual void endRun() override
End Run.
DBObjPtr< HardwareClockSettings > m_hwclkdb
DB pointerto access the hardware clock information.
TH1 * h_Cluster_Energy_Sum
Energy sum of 2 Top energetic clusters when 3D bhabnha bit on.
virtual void terminate() override
terminate
TH1 * h_n_TChit_event_clkgrp
N of TC Hit / event per two ETM clocks.
virtual ~TRGECLDQMModule()
Destrunctor.
TH1 * h_n_TChit_injHER_clkgrp
N of TC Hit / events in the injection BG clean region vs. time since injection per two ETM clocks.
std::vector< int > TCHitWin
Hit TCHitWin.
TH1 * h_TCphiId_FWD
TCphiId histogram.
TH1 * h_TRGTiming
Event Timing / event.
TH2 * h_nTChit_injtime
N of TC Hit / events in the LER injection BG region vs. time since injection.
TH1 * h_ECL_TriggerBit
ECL Trigger Bit.
std::vector< double > TCTiming
Hit TC Timing.
StoreArray< TRGECLUnpackerEvtStore > trgeclEvtArray
Trg ECL Unpakcer Event output.
TH1 * h_TCthetaId
TCthetaId histogram.
virtual void beginRun() override
begin Run
StoreArray< TRGECLUnpackerSumStore > trgeclSumArray
Trg Ecl Unpacker Summary output.
TH1 * h_n_TChit_part_clean_clkgrp[3]
N of TC Hit / event vs. time since injection per two ETM clocks for each part (FWD,...
TH2 * h_nTChit_part_injtime_clkgrp[3]
N of TC Hit / events in the LER injection BG region vs. time since injection per two ETM clocks for e...
TH1 * h_TCphiId_BR
TCphiId histogram.
TH1 * h_Cal_TCTiming
TC Timing / event.
TH1 * h_TCEnergy
TC Energy.
std::vector< double > FineTiming
Event Timing.
int m_grpclknum
The number of clocks to group the number of TCs of ECLTRG.
std::vector< double > RevoTrg
GDL Revolution Clk.
TH1 * h_TCTiming
TC Timing / event.
TH1 * h_n_TChit_event
N of TC Hit / event.
std::vector< double > RevoFAM
FAM Revolution Clk.
TH1 * h_n_TChit_part_injLER_clkgrp[3]
N of TC Hit / events in the HER injection BG region vs. time since injection per two ETM clocks for e...
TH1 * h_n_TChit_injLER
N of TC Hit / events in the HER injection BG region vs. time since injection.
StoreArray< TRGECLCluster > trgeclCluster
Trg ECL Cluster output.
StoreObjPtr< EventLevelTriggerTimeInfo > m_trgTime
Array to access the FTSW information.
std::vector< int > TCId
Hit TCId.
virtual void defineHisto() override
Define Histogram.
Abstract base class for different kinds of events.