Belle II Software  release-05-02-19
TOPLaserHitSelectorModule.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2017 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Maeda Yosuke, Okuto Rikuya *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 #include <framework/core/HistoModule.h>
14 
15 #include <TH2.h>
16 
17 namespace Belle2 {
26  enum { c_NChannelPerAsic = 8, c_NModule = 16, c_NChannelPerPMT = 16,
27  c_NChannelPerPMTRow = 4, c_NPMTPerRow = 16,
28  c_NPMTPerModule = 32, c_NPixelPerRow = 64, c_NPixelPerModule = 512
29  };
30 
37  class TOPLaserHitSelectorModule : public HistoModule {
38 
39  public:
40 
44  typedef struct {
45  float m_time;
46  float m_height;
47  } hitInfo_t;
48 
53 
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 
91  virtual void defineHisto() override;
92 
93  private:
94 
95  TH2F* m_TimeHeightHistogramForFit[c_NPixelPerModule *
96  c_NModule] = {0};
97  TH2F* m_TimeHeightHistogramForHitRate[c_NPixelPerModule *
98  c_NModule] = {0};
99  TH2F* m_TimeIntegralHistogramForFit[c_NPixelPerModule *
100  c_NModule] = {0};
101  TH1F* m_nCalPulseHistogram =
102  0;
105  std::vector<int>
107  std::vector<int>
110  bool m_useDoublePulse = true;
112  300;
114  100;
115  float m_calibrationPulseInterval = 25.5;
117  int m_windowSelect = 0;
119  bool m_includeAllChargeShare = false;
120  };
121 
123 } //namespace Belle2
Belle2::TOPLaserHitSelectorModule::m_TimeIntegralHistogramForFit
TH2F * m_TimeIntegralHistogramForFit[c_NPixelPerModule *c_NModule]
array of histogram pointer to 2D histogram of hit timing vs integral distribution for each pixel (all...
Definition: TOPLaserHitSelectorModule.h:108
Belle2::TOPLaserHitSelectorModule::m_windowSelect
int m_windowSelect
select window number is [All=0, Odd=2, Even=1]
Definition: TOPLaserHitSelectorModule.h:125
Belle2::TOPLaserHitSelectorModule::~TOPLaserHitSelectorModule
virtual ~TOPLaserHitSelectorModule()
Destructor.
Definition: TOPLaserHitSelectorModule.cc:94
Belle2::TOPLaserHitSelectorModule::event
virtual void event() override
Event processor.
Definition: TOPLaserHitSelectorModule.cc:156
Belle2::TOPLaserHitSelectorModule::terminate
virtual void terminate() override
Termination action.
Definition: TOPLaserHitSelectorModule.cc:262
Belle2::TOPLaserHitSelectorModule::m_calibrationPulseThreshold2
float m_calibrationPulseThreshold2
minimum pulse height for the secon calibration pulse to be qualified as calibration signals
Definition: TOPLaserHitSelectorModule.h:121
Belle2::TOPLaserHitSelectorModule::m_calibrationPulseInterval
float m_calibrationPulseInterval
nominal DeltaT value (time interval of two calibration signals) in a unit of ns
Definition: TOPLaserHitSelectorModule.h:123
Belle2::TOPLaserHitSelectorModule::beginRun
virtual void beginRun() override
Called when entering a new run.
Definition: TOPLaserHitSelectorModule.cc:152
Belle2::TOPLaserHitSelectorModule::m_useDoublePulse
bool m_useDoublePulse
set true when you require both of double calibration pulses for reference timing
Definition: TOPLaserHitSelectorModule.h:118
Belle2::TOPLaserHitSelectorModule::m_TimeHeightHistogramForHitRate
TH2F * m_TimeHeightHistogramForHitRate[c_NPixelPerModule *c_NModule]
array of histogram pointer to 2D histogram of hit timing vs pulse height distribution for each pixel ...
Definition: TOPLaserHitSelectorModule.h:106
Belle2::TOPLaserHitSelectorModule::endRun
virtual void endRun() override
End-of-run action.
Definition: TOPLaserHitSelectorModule.cc:258
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TOPLaserHitSelectorModule::m_TimeHeightHistogramForFit
TH2F * m_TimeHeightHistogramForFit[c_NPixelPerModule *c_NModule]
array of histogram pointer to 2D histogram of hit timing vs pulse height distribution for each pixel ...
Definition: TOPLaserHitSelectorModule.h:104
Belle2::TOPLaserHitSelectorModule::m_calibrationPulseThreshold1
float m_calibrationPulseThreshold1
minimum pulse height for the first calibration pulse to be qualified as calibration signals
Definition: TOPLaserHitSelectorModule.h:119
Belle2::TOPLaserHitSelectorModule::m_includeAllChargeShare
bool m_includeAllChargeShare
set true when you require without chargeshare cut for making 2D histogram
Definition: TOPLaserHitSelectorModule.h:127
Belle2::TOPLaserHitSelectorModule::m_includePrimaryChargeShare
bool m_includePrimaryChargeShare
set true when you require without chargeshare cut for making 2D histogram
Definition: TOPLaserHitSelectorModule.h:126
Belle2::TOPLaserHitSelectorModule::m_nCalPulseHistogram
TH1F * m_nCalPulseHistogram
histogram to store the number of events with calibration pulse(s) identified for each asic (1,...
Definition: TOPLaserHitSelectorModule.h:109
Belle2::TOPLaserHitSelectorModule::initialize
virtual void initialize() override
Initialize the Module.
Definition: TOPLaserHitSelectorModule.cc:96
Belle2::TOPLaserHitSelectorModule::defineHisto
virtual void defineHisto() override
create timing-height 2D histograms for all 8192 pixels
Definition: TOPLaserHitSelectorModule.cc:104
Belle2::TOPLaserHitSelectorModule::m_chargeHistogramBinning
std::vector< int > m_chargeHistogramBinning
histogram binning of pulse height distribution, in the order of number of bins, lower limit,...
Definition: TOPLaserHitSelectorModule.h:116
Belle2::TOPLaserHitSelectorModule::m_calibrationPulseIntervalRange
float m_calibrationPulseIntervalRange
tolerable shift of DeltaT from its nominal before calibration in a unit of ns
Definition: TOPLaserHitSelectorModule.h:124
Belle2::TOPLaserHitSelectorModule::TOPLaserHitSelectorModule
TOPLaserHitSelectorModule()
Constructor.
Definition: TOPLaserHitSelectorModule.cc:46
Belle2::TOPLaserHitSelectorModule::m_timeHistogramBinning
std::vector< int > m_timeHistogramBinning
histogram binning of hit timing distribution, in the order of number of bins, lower limit,...
Definition: TOPLaserHitSelectorModule.h:114