Belle II Software  release-05-02-19
CDCTriggerTSFModule.h
1 #ifndef CDCTRIGGERTSFModule_H
2 #define CDCTRIGGERTSFModule_H
3 
4 #include "framework/core/Module.h"
5 #include <string>
6 
7 #include "CLHEP/Geometry/Point3D.h"
8 #include "trg/trg/Clock.h"
9 
10 #include <framework/datastore/StoreArray.h>
11 #include <trg/cdc/dataobjects/CDCTriggerSegmentHit.h>
12 #include <cdc/dataobjects/CDCHit.h>
13 
14 namespace Belle2 {
21 
22  class TRGCDCLayer;
23 
27  class CDCTriggerTSFModule : public Module {
28 
29  public:
30 
33 
35  virtual ~CDCTriggerTSFModule() {}
36 
38  virtual void initialize() override;
39 
41  virtual void event() override;
42 
44  virtual void terminate() override;
45 
47  void clear();
48 
49  protected:
53  std::string m_TSHitCollectionName;
55  std::string m_innerTSLUTFilename;
57  std::string m_outerTSLUTFilename;
68 
69  private:
71  std::vector<std::vector<TRGCDCLayer*>> superLayers;
73  std::vector<TRGCDCLayer*> tsLayers;
75  std::vector<TRGClock*> clocks;
78  std::vector<std::vector<unsigned>> innerTrueLRTable = {};
81  std::vector<std::vector<unsigned>> outerTrueLRTable = {};
82 
87  };
88 
90 } // namespace Belle2
91 
92 #endif // CDCTriggerTSFModule_H
Belle2::CDCTriggerTSFModule::innerTrueLRTable
std::vector< std::vector< unsigned > > innerTrueLRTable
list of (# true right, # true left, # true background) for the inner-most super layer
Definition: CDCTriggerTSFModule.h:78
Belle2::CDCTriggerTSFModule::m_makeTrueLRTable
bool m_makeTrueLRTable
switch for saving the number of true left/right for each pattern
Definition: CDCTriggerTSFModule.h:61
Belle2::CDCTriggerTSFModule::tsLayers
std::vector< TRGCDCLayer * > tsLayers
structure to hold pointers to all track segment shapes
Definition: CDCTriggerTSFModule.h:73
Belle2::CDCTriggerTSFModule::m_cdcHits
StoreArray< CDCHit > m_cdcHits
list of input CDC hits
Definition: CDCTriggerTSFModule.h:84
Belle2::CDCTriggerTSFModule::m_outerTrueLRTableFilename
std::string m_outerTrueLRTableFilename
filename for the table which contains the number of true left/right for each pattern in the outer sup...
Definition: CDCTriggerTSFModule.h:67
Belle2::CDCTriggerTSFModule::m_innerTSLUTFilename
std::string m_innerTSLUTFilename
The filename of LUT for the inner-most track segments.
Definition: CDCTriggerTSFModule.h:55
Belle2::Module
Base class for Modules.
Definition: Module.h:74
Belle2::CDCTriggerTSFModule::superLayers
std::vector< std::vector< TRGCDCLayer * > > superLayers
structure to hold pointers to all wires in the CDC
Definition: CDCTriggerTSFModule.h:71
Belle2::CDCTriggerTSFModule::m_CDCHitCollectionName
std::string m_CDCHitCollectionName
name of the input StoreArray
Definition: CDCTriggerTSFModule.h:51
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::CDCTriggerTSFModule::initialize
virtual void initialize() override
Initialize the module and register DataStore arrays.
Definition: CDCTriggerTSFModule.cc:66
Belle2::CDCTriggerTSFModule::~CDCTriggerTSFModule
virtual ~CDCTriggerTSFModule()
Destructor.
Definition: CDCTriggerTSFModule.h:35
Belle2::CDCTriggerTSFModule::m_TSHitCollectionName
std::string m_TSHitCollectionName
name of the output StoreArray
Definition: CDCTriggerTSFModule.h:53
Belle2::CDCTriggerTSFModule::event
virtual void event() override
Run the TSF for an event.
Definition: CDCTriggerTSFModule.cc:258
Belle2::CDCTriggerTSFModule::m_clockSimulation
bool m_clockSimulation
switch for simulating clock by clock
Definition: CDCTriggerTSFModule.h:59
Belle2::CDCTriggerTSFModule::outerTrueLRTable
std::vector< std::vector< unsigned > > outerTrueLRTable
list of (# true right, # true left, # true background) for the outer super layers
Definition: CDCTriggerTSFModule.h:81
Belle2::CDCTriggerTSFModule::clear
void clear()
remove hit information from last event
Definition: CDCTriggerTSFModule.cc:418
Belle2::CDCTriggerTSFModule::m_outerTSLUTFilename
std::string m_outerTSLUTFilename
The filename of LUT for outer track segments.
Definition: CDCTriggerTSFModule.h:57
HepGeom::Point3D< double >
Belle2::StoreArray
Accessor to arrays stored in the data store.
Definition: ECLMatchingPerformanceExpertModule.h:33
Belle2::CDCTriggerTSFModule
Module for the Track Segment Finder of the CDC trigger.
Definition: CDCTriggerTSFModule.h:27
Belle2::Point3D
HepGeom::Point3D< double > Point3D
3D point
Definition: Cell.h:33
Belle2::CDCTriggerTSFModule::m_innerTrueLRTableFilename
std::string m_innerTrueLRTableFilename
filename for the table which contains the number of true left/right for each pattern in the inner-mos...
Definition: CDCTriggerTSFModule.h:64
Belle2::CDCTriggerTSFModule::terminate
virtual void terminate() override
Clean up pointers.
Definition: CDCTriggerTSFModule.cc:369
Belle2::CDCTriggerTSFModule::m_segmentHits
StoreArray< CDCTriggerSegmentHit > m_segmentHits
list of output track segment hits
Definition: CDCTriggerTSFModule.h:86
Belle2::CDCTriggerTSFModule::clocks
std::vector< TRGClock * > clocks
list of clocks used in the TSF
Definition: CDCTriggerTSFModule.h:75
Belle2::CDCTriggerTSFModule::CDCTriggerTSFModule
CDCTriggerTSFModule()
Constructor, for setting module description and parameters.
Definition: CDCTriggerTSFModule.cc:23