Belle II Software  release-05-01-25
eclDQMInjection.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2019 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Bjoern Spruck, Dmitry Matvienko *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 //FRAMEWORK
14 #include <framework/core/HistoModule.h>
15 #include <framework/datastore/StoreArray.h>
16 #include <framework/datastore/StoreObjPtr.h>
17 #include <framework/database/DBObjPtr.h>
18 #include <framework/dataobjects/EventMetaData.h>
19 //ECL
20 #include <ecl/dataobjects/ECLDigit.h>
21 #include <ecl/dataobjects/ECLTrig.h>
22 #include <ecl/utility/ECLChannelMapper.h>
23 #include <ecl/dbobjects/ECLCrystalCalib.h>
24 //OTHER
25 #include <mdst/dataobjects/TRGSummary.h>
26 #include <rawdata/dataobjects/RawFTSW.h>
27 
28 #include <TH1.h>
29 #include <TH2.h>
30 #include <string>
31 
32 namespace Belle2 {
38  class ECLDsp;
39 
40  namespace ECL {
45  class ECLDQMInjectionModule : public HistoModule {
46 
47  public:
48 
51 
52  private:
54  std::string m_ECLDigitsName;
55  double m_revolutionTime;
65 
74 
77 
79  int m_iEvent{ -1};
81  bool m_DPHYTTYP{0};
82 
83 
84 
86  std::vector<int> v_totalthrApsd = {};
87 
88 
89  TH1F* hHitsAfterInjLER{};
90  TH1F* hHitsAfterInjHER{};
92  TH1F* hEHitsAfterInjLER{};
93  TH1F* hEHitsAfterInjHER{};
95  TH1F* hBurstsAfterInjLER{};
96  TH1F* hBurstsAfterInjHER{};
99  TH1F* hEBurstsAfterInjHER{};
102  TH2F* hVetoAfterInjHER{};
104  TH2F* hOccAfterInjLER{};
105  TH2F* hOccAfterInjHER{};
110  std::vector<float> m_ped_peak_range = {};
117  std::vector<TH1F*> h_ped_peak = {};
118 
119  void initialize() override final;
121  void beginRun() override final;
123  void event() override final;
125  void defineHisto() override final;
127  };//end class declaration
128 
129 
130  } //end ECL namespace;
132 } // end namespace Belle2
Belle2::ECL::ECLDQMInjectionModule::m_iEvent
int m_iEvent
Global event number.
Definition: eclDQMInjection.h:87
Belle2::ECL::ECLDQMInjectionModule::hVetoAfterInjHER
TH2F * hVetoAfterInjHER
Histogram Veto tuning w/ ECL hits after HER injection.
Definition: eclDQMInjection.h:110
Belle2::ECL::ECLDQMInjectionModule::hBurstsAfterInjHER
TH1F * hBurstsAfterInjHER
Histogram Bursts suppression after HER injection.
Definition: eclDQMInjection.h:104
Belle2::ECL::ECLDQMInjectionModule::m_histogramDirectoryName
std::string m_histogramDirectoryName
Name of the histogram directory in ROOT file.
Definition: eclDQMInjection.h:61
Belle2::ECL::ECLDQMInjectionModule::hEHitsAfterInjHER
TH1F * hEHitsAfterInjHER
Histogram for Nr Entries (=Triggrs) for normalization after HER injection.
Definition: eclDQMInjection.h:101
Belle2::ECL::ECLDQMInjectionModule::m_eventmetadata
StoreObjPtr< EventMetaData > m_eventmetadata
StoreObjPtr EventMetaData.
Definition: eclDQMInjection.h:68
Belle2::ECL::ECLDQMInjectionModule::m_l1Trigger
StoreObjPtr< TRGSummary > m_l1Trigger
StoreObjPtr TRGSummary
Definition: eclDQMInjection.h:70
Belle2::ECL::ECLDQMInjectionModule::m_ECLDsps
StoreArray< ECLDsp > m_ECLDsps
Input array for ECL waveform data.
Definition: eclDQMInjection.h:81
Belle2::ECL::ECLDQMInjectionModule::hEBurstsAfterInjLER
TH1F * hEBurstsAfterInjLER
Histogram Bursts suppression for normalization after LER injection.
Definition: eclDQMInjection.h:106
Belle2::ECL::ECLDQMInjectionModule::hEBurstsAfterInjHER
TH1F * hEBurstsAfterInjHER
Histogram Bursts suppression for normalization after HER injection.
Definition: eclDQMInjection.h:107
Belle2::ECL::ECLDQMInjectionModule::m_calibrationThrApsd
DBObjPtr< ECLCrystalCalib > m_calibrationThrApsd
PSD waveform amplitude threshold.
Definition: eclDQMInjection.h:84
Belle2::ECL::ECLDQMInjectionModule::initialize
void initialize() override final
initialize function
Definition: eclDQMInjection.cc:130
Belle2::ECL::ECLDQMInjectionModule::m_ECLDigitsName
std::string m_ECLDigitsName
The name of the StoreArray of ECLRawHits to be generated.
Definition: eclDQMInjection.h:62
Belle2::ECL::ECLDQMInjectionModule::ECLDQMInjectionModule
ECLDQMInjectionModule()
Constructor defining the parameters.
Definition: eclDQMInjection.cc:38
Belle2::ECL::ECLDQMInjectionModule::hOccAfterInjLER
TH2F * hOccAfterInjLER
Histogram Occupancy after LER injection.
Definition: eclDQMInjection.h:112
Belle2::DBObjPtr
Class for accessing objects in the database.
Definition: DBObjPtr.h:31
Belle2::ECL::ECLChannelMapper
This class provides access to ECL channel map that is either a) Loaded from the database (see ecl/dbo...
Definition: ECLChannelMapper.h:36
Belle2::ECL::ECLDQMInjectionModule::m_revolutionTime
double m_revolutionTime
The beam revolution cycle time in #mus.
Definition: eclDQMInjection.h:63
Belle2::ECL::ECLDQMInjectionModule::hHitsAfterInjHER
TH1F * hHitsAfterInjHER
Histogram Hits after HER injection.
Definition: eclDQMInjection.h:98
Belle2::ECL::ECLDQMInjectionModule::beginRun
void beginRun() override final
beginRun function
Definition: eclDQMInjection.cc:145
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::StoreObjPtr
Type-safe access to single objects in the data store.
Definition: ParticleList.h:33
Belle2::ECL::ECLDQMInjectionModule::m_ped_peak_range
std::vector< float > m_ped_peak_range
Injection time range (in ms) for h_ped_peak histograms.
Definition: eclDQMInjection.h:118
Belle2::ECL::ECLDQMInjectionModule::h_ped_peak
std::vector< TH1F * > h_ped_peak
Distribution of pedestal peak (peak in first 16 waveform samples) after HER/LER injection,...
Definition: eclDQMInjection.h:125
Belle2::ECL::ECLDQMInjectionModule::m_ECLTrigs
StoreArray< ECLTrig > m_ECLTrigs
Input array for ECL burst suppresions.
Definition: eclDQMInjection.h:79
Belle2::ECL::ECLDQMInjectionModule::defineHisto
void defineHisto() override final
defineHisto function
Definition: eclDQMInjection.cc:58
Belle2::ECL::ECLDQMInjectionModule::hBurstsAfterInjLER
TH1F * hBurstsAfterInjLER
Histogram Bursts suppression after LER injection.
Definition: eclDQMInjection.h:103
Belle2::ECL::ECLDQMInjectionModule::m_ECLThresholdforVetoTuning
double m_ECLThresholdforVetoTuning
ECL threshold for injection veto tuning, ADC channels.
Definition: eclDQMInjection.h:64
Belle2::ECL::ECLDQMInjectionModule::hHitsAfterInjLER
TH1F * hHitsAfterInjLER
Histogram Hits after LER injection.
Definition: eclDQMInjection.h:97
Belle2::ECL::ECLDQMInjectionModule::v_totalthrApsd
std::vector< int > v_totalthrApsd
Vector to store psd wf amplitude threshold.
Definition: eclDQMInjection.h:94
Belle2::ECL::ECLDQMInjectionModule::m_DPHYTTYP
bool m_DPHYTTYP
Flag to select events triggered by delayed bhabha.
Definition: eclDQMInjection.h:89
Belle2::ECL::ECLDQMInjectionModule::event
void event() override final
event function
Definition: eclDQMInjection.cc:162
Belle2::StoreArray
Accessor to arrays stored in the data store.
Definition: ECLMatchingPerformanceExpertModule.h:33
Belle2::ECL::ECLDQMInjectionModule::hVetoAfterInjLER
TH2F * hVetoAfterInjLER
Histogram Veto tuning w/ ECL hits after LER injection.
Definition: eclDQMInjection.h:109
Belle2::ECL::ECLDQMInjectionModule::m_rawTTD
StoreArray< RawFTSW > m_rawTTD
Input array for DAQ Status.
Definition: eclDQMInjection.h:75
Belle2::ECL::ECLDQMInjectionModule::mapper
ECLChannelMapper mapper
ECL channel mapper.
Definition: eclDQMInjection.h:72
Belle2::ECL::ECLDQMInjectionModule::m_storeHits
StoreArray< ECLDigit > m_storeHits
Input array for ECL Raw Hits.
Definition: eclDQMInjection.h:77
Belle2::ECL::ECLDQMInjectionModule::hEHitsAfterInjLER
TH1F * hEHitsAfterInjLER
Histogram for Nr Entries (=Triggrs) for normalization after LER injection.
Definition: eclDQMInjection.h:100
Belle2::ECL::ECLDQMInjectionModule::hOccAfterInjHER
TH2F * hOccAfterInjHER
Histogram Occupancy after HER injection.
Definition: eclDQMInjection.h:113