Belle II Software  release-05-02-19
CDCTriggerNeuroModule.h
1 #ifndef CDCTRIGGERNEUROMODULE_H
2 #define CDCTRIGGERNEUROMODULE_H
3 
4 #include <framework/core/Module.h>
5 #include <trg/cdc/NeuroTrigger.h>
6 #include <framework/datastore/StoreArray.h>
7 #include <framework/database/DBObjPtr.h>
8 #include <trg/cdc/dbobjects/CDCTriggerNeuroConfig.h>
9 #include <trg/cdc/dataobjects/CDCTriggerTrack.h>
10 #include <trg/cdc/dataobjects/CDCTriggerSegmentHit.h>
11 #include <trg/cdc/dataobjects/CDCTriggerMLPInput.h>
12 
13 namespace Belle2 {
24  class CDCTriggerNeuroModule : public Module {
25  public:
28 
31 
35  virtual void initialize() override;
36 
41  virtual void event() override;
43  float hwInputIdShuffle(float tsid, int sl);
44 
45  protected:
47  std::string m_filename;
49  std::string m_arrayname;
51  std::string m_hitCollectionName;
53  std::string m_EventTimeName;
55  std::string m_inputCollectionName;
72  std::vector<unsigned> m_precision;
86  std::string m_et_option;
105  };
107 }
108 #endif
Belle2::CDCTriggerNeuroModule::event
virtual void event() override
Called once for each event.
Definition: CDCTriggerNeuroModule.cc:123
Belle2::CDCTriggerNeuroModule::m_realtracks2D
StoreArray< CDCTriggerTrack > m_realtracks2D
list of input real 2D tracks
Definition: CDCTriggerNeuroModule.h:96
Belle2::CDCTriggerNeuroModule::m_outputCollectionName
std::string m_outputCollectionName
Name of the StoreArray containing the resulting NN tracks.
Definition: CDCTriggerNeuroModule.h:59
Belle2::CDCTriggerNeuroModule::~CDCTriggerNeuroModule
virtual ~CDCTriggerNeuroModule()
Destructor.
Definition: CDCTriggerNeuroModule.h:30
Belle2::CDCTriggerNeuroModule::m_mlpInput
StoreArray< CDCTriggerMLPInput > m_mlpInput
list of input vectors for each NN track
Definition: CDCTriggerNeuroModule.h:102
Belle2::CDCTriggerNeuroModule::m_EventTimeName
std::string m_EventTimeName
name of the event time StoreObjPtr
Definition: CDCTriggerNeuroModule.h:53
Belle2::CDCTriggerNeuroModule::m_hardwareCompatibilityMode
bool m_hardwareCompatibilityMode
Switch to mimic an apparent bug in the hardware preprocessing.
Definition: CDCTriggerNeuroModule.h:90
Belle2::CDCTriggerNeuroModule::m_writeMLPinput
bool m_writeMLPinput
Switch for writing out the input vector for each track (off by default).
Definition: CDCTriggerNeuroModule.h:88
Belle2::CDCTriggerNeuroModule
The neural network module of the CDC trigger.
Definition: CDCTriggerNeuroModule.h:24
Belle2::CDCTriggerNeuroModule::hwInputIdShuffle
float hwInputIdShuffle(float tsid, int sl)
shuffle the input ids in the input vector to match the hardware
Definition: CDCTriggerNeuroModule.cc:110
Belle2::CDCTriggerNeuroModule::m_precision
std::vector< unsigned > m_precision
Fixed point precision in bit after radix point.
Definition: CDCTriggerNeuroModule.h:72
Belle2::DBObjPtr
Class for accessing objects in the database.
Definition: DBObjPtr.h:31
Belle2::CDCTriggerNeuroModule::m_filename
std::string m_filename
Name of file where network weights etc.
Definition: CDCTriggerNeuroModule.h:47
Belle2::Module
Base class for Modules.
Definition: Module.h:74
Belle2::CDCTriggerNeuroModule::m_tracksNN
StoreArray< CDCTriggerTrack > m_tracksNN
list of output NN tracks
Definition: CDCTriggerNeuroModule.h:98
Belle2::CDCTriggerNeuroModule::m_tracks2D
StoreArray< CDCTriggerTrack > m_tracks2D
list of input 2D tracks or neurotracks
Definition: CDCTriggerNeuroModule.h:94
Belle2::CDCTriggerNeuroModule::m_realinputCollectionName
std::string m_realinputCollectionName
Name of the StoreArray containing the real input 2D tracks.
Definition: CDCTriggerNeuroModule.h:57
Belle2::NeuroTrigger
Class to represent the CDC Neurotrigger.
Definition: NeuroTrigger.h:31
Belle2::CDCTriggerNeuroModule::m_segmentHits
StoreArray< CDCTriggerSegmentHit > m_segmentHits
list of track segment hits
Definition: CDCTriggerNeuroModule.h:100
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::CDCTriggerNeuroModule::initialize
virtual void initialize() override
Initialize the module.
Definition: CDCTriggerNeuroModule.cc:76
Belle2::CDCTriggerNeuroModule::m_fixedPoint
bool m_fixedPoint
Switch to execute the network with fixed point calculation.
Definition: CDCTriggerNeuroModule.h:64
Belle2::CDCTriggerNeuroModule::m_cdctriggerneuroconfig
DBObjPtr< CDCTriggerNeuroConfig > m_cdctriggerneuroconfig
get NNT payload from database.
Definition: CDCTriggerNeuroModule.h:104
Belle2::CDCTriggerNeuroModule::CDCTriggerNeuroModule
CDCTriggerNeuroModule()
Constructor, for setting module description and parameters.
Definition: CDCTriggerNeuroModule.cc:12
Belle2::CDCTriggerNeuroModule::m_NeuroTrigger
NeuroTrigger m_NeuroTrigger
Instance of the NeuroTrigger.
Definition: CDCTriggerNeuroModule.h:61
Belle2::CDCTriggerNeuroModule::m_neuroTrackInputMode
bool m_neuroTrackInputMode
use Neurotracks as InputTracks
Definition: CDCTriggerNeuroModule.h:92
Belle2::CDCTriggerNeuroModule::m_inputCollectionName
std::string m_inputCollectionName
Name of the StoreArray containing the input 2D tracks or neurotracks.
Definition: CDCTriggerNeuroModule.h:55
Belle2::StoreArray
Accessor to arrays stored in the data store.
Definition: ECLMatchingPerformanceExpertModule.h:33
Belle2::CDCTriggerNeuroModule::m_et_option
std::string m_et_option
way to obtain the event time, possible values are: "etf_only" : only ETF info is used,...
Definition: CDCTriggerNeuroModule.h:86
Belle2::CDCTriggerNeuroModule::m_arrayname
std::string m_arrayname
Name of the TObjArray holding the networks.
Definition: CDCTriggerNeuroModule.h:49
Belle2::CDCTriggerNeuroModule::m_hitCollectionName
std::string m_hitCollectionName
Name of the StoreArray containing the input track segment hits.
Definition: CDCTriggerNeuroModule.h:51