Belle II Software  release-05-02-19
CDCCrossTalkAdderModule.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2010 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: CDC group *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #ifndef CDCCROSSTALKADDER_H
12 #define CDCCROSSTALKADDER_H
13 
14 //basf2 framework headers
15 #include <framework/core/Module.h>
16 #include <framework/datastore/StoreArray.h>
17 
18 //cdc package headers
19 #include <cdc/geometry/CDCGeometryPar.h>
20 #include <cdc/dataobjects/CDCHit.h>
21 #include <cdc/dataobjects/WireID.h>
22 #include <cdc/dbobjects/CDCCrossTalkLibrary.h>
23 #include <cdc/dbobjects/CDCFEElectronics.h>
24 
25 //C++/C standard lib elements.
26 #include <string>
27 
28 namespace Belle2 {
38  class CDCCrossTalkAdderModule : public Module {
39 
40  public:
43 
45  void initialize() override;
46 
48  void event() override;
49 
51  void setFEElectronics();
52 
54  void terminate() override
55  {
56  if (m_xTalkFromDB) delete m_xTalkFromDB;
58  };
59 
60  private:
63  std::string m_inputCDCHitsName;
65  CDC::CDCGeometryPar* m_cdcgp = nullptr;
70  float m_lowEdgeOfTimeWindow[nBoards] = {0};
71  float m_uprEdgeOfTimeWindow[nBoards] = {0};
72  unsigned short m_widthOfTimeWindow [nBoards] = {0};
74  double m_invOfTDCBinWidth = 0;
82  struct XTalkInfo {
84  XTalkInfo(unsigned short tdc, unsigned short adc, unsigned short tot, unsigned short status) :
85  m_tdc(tdc), m_adc(adc), m_tot(tot), m_status(status) {}
86  unsigned short m_tdc;
87  unsigned short m_adc;
88  unsigned short m_tot;
89  unsigned short m_status;
90  };
91  };
92 
94 } // end of Belle2 namespace
95 
96 #endif // CDCCROSSTALKADDER_H
Belle2::CDCCrossTalkAdderModule::XTalkInfo::m_status
unsigned short m_status
status
Definition: CDCCrossTalkAdderModule.h:97
Belle2::CDCCrossTalkAdderModule::m_includeEarlyXTalks
bool m_includeEarlyXTalks
Flag to switch on/off xtalks earlier than the hit.
Definition: CDCCrossTalkAdderModule.h:85
Belle2::CDCCrossTalkAdderModule::m_widthOfTimeWindow
unsigned short m_widthOfTimeWindow[nBoards]
Width of time window.
Definition: CDCCrossTalkAdderModule.h:80
Belle2::CDCCrossTalkAdderModule::XTalkInfo::m_tot
unsigned short m_tot
TOT
Definition: CDCCrossTalkAdderModule.h:96
Belle2::DBArray
Class for accessing arrays of objects in the database.
Definition: DBArray.h:36
Belle2::CDCCrossTalkAdderModule::m_inputCDCHitsName
std::string m_inputCDCHitsName
Input array name.
Definition: CDCCrossTalkAdderModule.h:71
Belle2::CDCCrossTalkAdderModule::terminate
void terminate() override
Terminate func.
Definition: CDCCrossTalkAdderModule.h:62
Belle2::CDCCrossTalkAdderModule::m_hits
StoreArray< CDCHit > m_hits
CDCHit array.
Definition: CDCCrossTalkAdderModule.h:66
Belle2::DBObjPtr
Class for accessing objects in the database.
Definition: DBObjPtr.h:31
Belle2::CDC::CDCGeometryPar
The Class for CDC Geometry Parameters.
Definition: CDCGeometryPar.h:75
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::CDCCrossTalkAdderModule::initialize
void initialize() override
Initialize variables.
Definition: CDCCrossTalkAdderModule.cc:40
Belle2::CDCCrossTalkAdderModule::m_lowEdgeOfTimeWindow
float m_lowEdgeOfTimeWindow[nBoards]
Lower edge of time-window.
Definition: CDCCrossTalkAdderModule.h:78
Belle2::CDCCrossTalkAdderModule::XTalkInfo::XTalkInfo
XTalkInfo(unsigned short tdc, unsigned short adc, unsigned short tot, unsigned short status)
Constructor that initializes all members.
Definition: CDCCrossTalkAdderModule.h:92
Belle2::CDCCrossTalkAdderModule::XTalkInfo
Structure for saving the x-talk information.
Definition: CDCCrossTalkAdderModule.h:90
Belle2::CDCCrossTalkAdderModule::m_issue2ndHitWarning
bool m_issue2ndHitWarning
Flag to switch on/off a warning on the 2nd TDC hit.
Definition: CDCCrossTalkAdderModule.h:84
Belle2::CDCCrossTalkAdderModule::CDCCrossTalkAdderModule
CDCCrossTalkAdderModule()
Constructor.
Definition: CDCCrossTalkAdderModule.cc:27
Belle2::CDCCrossTalkAdderModule::m_uprEdgeOfTimeWindow
float m_uprEdgeOfTimeWindow[nBoards]
Upper edge of time-window.
Definition: CDCCrossTalkAdderModule.h:79
Belle2::CDCCrossTalkAdderModule::m_invOfTDCBinWidth
double m_invOfTDCBinWidth
Inv.
Definition: CDCCrossTalkAdderModule.h:82
Belle2::CDCCrossTalkAdderModule::m_cdcgp
CDC::CDCGeometryPar * m_cdcgp
Cached Pointer to CDCGeometryPar.
Definition: CDCCrossTalkAdderModule.h:73
Belle2::CDCCrossTalkAdderModule::XTalkInfo::m_adc
unsigned short m_adc
ADC count.
Definition: CDCCrossTalkAdderModule.h:95
Belle2::CDCCrossTalkAdderModule::m_debugLevel
int m_debugLevel
Debug level.
Definition: CDCCrossTalkAdderModule.h:87
Belle2::StoreArray
Accessor to arrays stored in the data store.
Definition: ECLMatchingPerformanceExpertModule.h:33
Belle2::CDCCrossTalkAdderModule::XTalkInfo::m_tdc
unsigned short m_tdc
TDC count.
Definition: CDCCrossTalkAdderModule.h:94
Belle2::CDCCrossTalkAdderModule::event
void event() override
Event func.
Definition: CDCCrossTalkAdderModule.cc:63
Belle2::CDCCrossTalkAdderModule::m_fEElectronicsFromDB
DBArray< CDCFEElectronics > * m_fEElectronicsFromDB
Pointer to FE electronics params.
Definition: CDCCrossTalkAdderModule.h:77
Belle2::CDCCrossTalkAdderModule::setFEElectronics
void setFEElectronics()
Set FEE parameters (from DB)
Definition: CDCCrossTalkAdderModule.cc:217
Belle2::CDCCrossTalkAdderModule::m_xTalkFromDB
DBObjPtr< CDCCrossTalkLibrary > * m_xTalkFromDB
Pointer to cross-talk from DB.
Definition: CDCCrossTalkAdderModule.h:75