Belle II Software  release-08-01-10
TOPXTalkChargeShareSetterModule.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 #include <framework/core/Module.h>
12 
13 #include <framework/datastore/StoreArray.h>
14 #include <top/dataobjects/TOPDigit.h>
15 
16 namespace Belle2 {
30 
31  public:
35  enum { c_NPixelsPerRow = 64 };
36 
41 
43  virtual ~TOPXTalkChargeShareSetterModule() override;
44 
46  virtual void initialize() override;
47 
49  virtual void beginRun() override;
50 
52  virtual void event() override;
53 
55  virtual void endRun() override;
56 
58  virtual void terminate() override;
59 
68  bool isCrossTalk(std::vector<short> wfm, int iRawTime, short height);
69 
70 
71  private:
72 
73  bool m_sumChargeShare = false;
74  float m_timeCut = 1;
76  0;
79  50;
81  30;
83  0.2;
85  5;
87  10;
90  true;
93  true;
94  };
96 };
Base class for Modules.
Definition: Module.h:72
int m_nSampleAfter
the number of samples by which the second peak should exist from the CFD timing, used for cross talk ...
double m_nCrossTalkRingingSamples
the number of samples to identify the hit as a cross talk hit when there is another cross talk hit in...
bool m_checkPreValleyForXTalkId
require existence of pre-valley.
int m_preValleyDepthLoose
loose threshold for depth of pre valley [ADC counts], for corss talk identification
TOPXTalkChargeShareSetterModule()
Constructor: Sets the description, the properties and the parameters of the module.
int m_2ndPeakAmplitudeLoose
loose threshold for amplitude of the second peak [ADC counts] for cross talk identification.
bool isCrossTalk(std::vector< short > wfm, int iRawTime, short height)
Examine whether the give hit is cross talk hits using waveform information Thresholds for such as pre...
float m_timeCut
cut range of hittiming for chargeshare
int m_preValleyDepthTight
tight threshold for depth of pre valley [ADC counts], identified as cross talk with loose threshold f...
double m_2ndPeakAmplitudeRatioTight
tight threshold for amplitude ratio of the second peak to the main peak height [ADC counts]
bool m_sumChargeShare
sum charge of PrimaryChargeShare and SecondaryChargeShare
bool m_checkPostValleyForXTalkId
require existence of post-valley and 2nd peak.
int m_nSampleBefore
the number of samples by which the pre-valley should exist from the CFD timing, used for cross talk i...
Abstract base class for different kinds of events.