Belle II Software  release-05-02-19
TRGCDCT3DConverterModule.h
1 //---------------------------------------------------------------
2 // $Id$
3 //---------------------------------------------------------------
4 // Filename : TRGCDCT3DConverterModule.h
5 // Section :
6 // Owner :
7 // Email :
8 //---------------------------------------------------------------
9 // Description : TRGCDCT3DConverter Module
10 //---------------------------------------------------------------
11 // $Log$
12 //---------------------------------------------------------------
13 
14 #ifndef TRGCDCT3DCONVERTER_H
15 #define TRGCDCT3DCONVERTER_H
16 
17 #include <string>
18 #include <vector>
19 
20 #include <framework/datastore/StoreArray.h>
21 #include <framework/core/Module.h>
22 #include <framework/datastore/StoreObjPtr.h>
23 #include "trg/cdc/dataobjects/TRGCDCT3DUnpackerStore.h"
24 #include <trg/cdc/dataobjects/CDCTriggerSegmentHit.h>
25 #include <trg/cdc/dataobjects/CDCTriggerTrack.h>
26 #include <framework/dataobjects/BinnedEventT0.h>
27 
28 namespace Belle2 {
34  class TRGCDCJSignal;
35  class TRGCDCJLUT;
36  class TRGCDCJSignalData;
37 
38  namespace TRGCDCT3DCONVERTERSPACE {
39 
45 
46  public:
47 
50 
52  virtual ~TRGCDCT3DConverterModule();
53 
55  virtual void initialize() override;
56 
58  virtual void event() override;
59 
61  virtual void terminate() override;
62 
64  virtual void beginRun() override;
65 
67  virtual void endRun() override;
68 
70  std::string version() const;
71 
73  void storeTSFirmwareData(std::vector<std::vector<std::vector<std::vector<double> > > >& tsfInfo);
74 
76  void filterTSData(std::vector<std::vector<std::vector<std::vector<double> > > >& tsfFirmwareInfo,
77  std::vector<std::vector<std::vector<double> > >& tsfInfo);
78 
80  void addTSDatastore(std::vector<std::vector<std::vector<double> > >& tsfInfo, int isSt = 1);
81 
83  void store2DFirmwareData(std::vector<std::vector<std::vector<double> > >& t2DFirmwareInfo,
84  std::vector<std::vector<std::vector<std::vector<double> > > >& axTsfFirmwareInfo);
85 
87  //void filter2DData(std::vector<std::vector<std::vector<double> > > & t2DFirmwareInfo, std::vector<std::vector<std::vector<std::vector<double> > > > & t2DTsfFirmwareInfo, std::vector<std::vector<double> > & t2DInfo, std::vector<std::vector<std::vector<double> > > & t2DTsfInfo, std::vector<int> & t2DClks, std::vector<int> & t2DId);
88 
90  void filter2DData(std::vector<std::vector<std::vector<double> > >& t2DFirmwareInfo,
91  std::vector<std::vector<std::vector<std::vector<double> > > >& t2DTsfFirmwareInfo, std::vector<std::vector<double> >& t2DInfo,
92  std::vector<std::vector<std::vector<double> > >& t2DTsfInfo);
93 
95  void add2DDatastore(std::vector<std::vector<double> >& t2DInfo, std::vector<std::vector<std::vector<double> > >& t2DTsfInfo);
96 
98  void store3DFirmwareData(std::vector<std::vector<std::vector<double> > >& t3DFirmwareInfo);
99 
101  void store3DFastSimData(std::vector<std::vector<std::vector<double> > >& t3DFirmwareInfo);
102 
104  void store3DFirmSimData(std::vector<std::vector<std::vector<double> > >& t3DFirmwareInfo);
105 
107  void filter3DData(std::vector<std::vector<std::vector<double> > >& t3DFirmwareInfo, std::vector<std::vector<double> >& t3DInfo);
108 
110  void add3DDatastore(std::vector<std::vector<double> >& t3DInfo, bool doConvert = 1);
111 
113  void debug3DFirmware();
114 
116  int toTSID(int iSL, int iWire);
117 
119  int toSigned(int value, int nBits);
120 
122  int t2DRhoTot3DRho(int value, bool isSigned = 1);
123 
125  int t2DPhiTot3DPhi(int phi, int rho);
126 
127  protected:
131  std::string m_hitCollectionName;
143  unsigned m_fit3DWithTSIM;
145  std::string m_EventTimeName;
149  unsigned m_isVerbose;
150 
151 
152 
153  private:
164 
168  std::map<std::string, TRGCDCJSignal> m_mSignalStorage;
170  std::map<std::string, TRGCDCJLUT*> m_mLutStorage;
171 
172  };
173  }
175 } // end namespace Belle2
176 #endif // TRGCDCT3DUNPACKER_H
Belle2::TRGCDCT3DCONVERTERSPACE::TRGCDCT3DConverterModule::version
std::string version() const
returns version of TRGCDCT3DConverterModule.
Definition: TRGCDCT3DConverterModule.cc:28
Belle2::TRGCDCT3DCONVERTERSPACE::TRGCDCT3DConverterModule::m_EventTimeName
std::string m_EventTimeName
name of the event time StoreObjPtr
Definition: TRGCDCT3DConverterModule.h:145
Belle2::TRGCDCT3DCONVERTERSPACE::TRGCDCT3DConverterModule::add2DDatastore
void add2DDatastore(std::vector< std::vector< double > > &t2DInfo, std::vector< std::vector< std::vector< double > > > &t2DTsfInfo)
adds t2DInfo to track data store
Definition: TRGCDCT3DConverterModule.cc:393
Belle2::TRGCDCT3DCONVERTERSPACE::TRGCDCT3DConverterModule::m_fit3DWithTSIM
unsigned m_fit3DWithTSIM
Mode for fitting with TSIM.
Definition: TRGCDCT3DConverterModule.h:143
Belle2::TRGCDCT3DCONVERTERSPACE::TRGCDCT3DConverterModule::m_add3DToDatastore
bool m_add3DToDatastore
Flag for adding 3D to datastore.
Definition: TRGCDCT3DConverterModule.h:141
Belle2::TRGCDCT3DCONVERTERSPACE::TRGCDCT3DConverterModule::t2DRhoTot3DRho
int t2DRhoTot3DRho(int value, bool isSigned=1)
converts to 2D rho to 3D rho value
Definition: TRGCDCT3DConverterModule.cc:233
Belle2::TRGCDCT3DCONVERTERSPACE::TRGCDCT3DConverterModule::m_addTSToDatastore
bool m_addTSToDatastore
Flag for adding TS to datastore.
Definition: TRGCDCT3DConverterModule.h:133
Belle2::TRGCDCT3DCONVERTERSPACE::TRGCDCT3DConverterModule::store3DFirmSimData
void store3DFirmSimData(std::vector< std::vector< std::vector< double > > > &t3DFirmwareInfo)
uses firm sim with debug
Definition: TRGCDCT3DConverterModule.cc:1011
Belle2::TRGCDCT3DCONVERTERSPACE::TRGCDCT3DConverterModule::t2DPhiTot3DPhi
int t2DPhiTot3DPhi(int phi, int rho)
converts to 2D phi to 3D phi value
Definition: TRGCDCT3DConverterModule.cc:244
Belle2::TRGCDCT3DCONVERTERSPACE::TRGCDCT3DConverterModule::TRGCDCT3DConverterModule
TRGCDCT3DConverterModule()
Constructor.
Definition: TRGCDCT3DConverterModule.cc:33
Belle2::TRGCDCT3DCONVERTERSPACE::TRGCDCT3DConverterModule::~TRGCDCT3DConverterModule
virtual ~TRGCDCT3DConverterModule()
Destructor.
Definition: TRGCDCT3DConverterModule.cc:75
Belle2::TRGCDCT3DCONVERTERSPACE::TRGCDCT3DConverterModule::m_add2DFinderToDatastore
bool m_add2DFinderToDatastore
Flag for adding 2D finder to datastore.
Definition: TRGCDCT3DConverterModule.h:137
Belle2::TRGCDCT3DCONVERTERSPACE::TRGCDCT3DConverterModule::beginRun
virtual void beginRun() override
Called when new run started.
Definition: TRGCDCT3DConverterModule.cc:96
Belle2::TRGCDCT3DCONVERTERSPACE::TRGCDCT3DConverterModule::endRun
virtual void endRun() override
Called when run ended.
Definition: TRGCDCT3DConverterModule.cc:100
Belle2::TRGCDCT3DCONVERTERSPACE::TRGCDCT3DConverterModule::m_commonData
Belle2::TRGCDCJSignalData * m_commonData
TRGCDCJSignalData for VHDL generation (jbkim's class)
Definition: TRGCDCT3DConverterModule.h:166
Belle2::TRGCDCT3DCONVERTERSPACE::TRGCDCT3DConverterModule::m_addEventTimeToDatastore
bool m_addEventTimeToDatastore
Flag for adding event time to datastore.
Definition: TRGCDCT3DConverterModule.h:147
Belle2::TRGCDCT3DCONVERTERSPACE::TRGCDCT3DConverterModule::toTSID
int toTSID(int iSL, int iWire)
converts sl, iWire to continuous TS ID [0,2335]
Definition: TRGCDCT3DConverterModule.cc:211
Belle2::TRGCDCT3DCONVERTERSPACE::TRGCDCT3DConverterModule::event
virtual void event() override
Called event by event.
Definition: TRGCDCT3DConverterModule.cc:104
Belle2::TRGCDCT3DCONVERTERSPACE::TRGCDCT3DConverterModule::filter2DData
void filter2DData(std::vector< std::vector< std::vector< double > > > &t2DFirmwareInfo, std::vector< std::vector< std::vector< std::vector< double > > > > &t2DTsfFirmwareInfo, std::vector< std::vector< double > > &t2DInfo, std::vector< std::vector< std::vector< double > > > &t2DTsfInfo)
‍** filters t2DFirmwareInfo to t2DInfo*‍/
Definition: TRGCDCT3DConverterModule.cc:306
Belle2::TRGCDCT3DCONVERTERSPACE::TRGCDCT3DConverterModule::m_firmwareResultCollectionName
std::string m_firmwareResultCollectionName
Name of the StoreArray containing the input firmware results.
Definition: TRGCDCT3DConverterModule.h:129
Belle2::TRGCDCT3DCONVERTERSPACE::TRGCDCT3DConverterModule::m_hitCollectionName
std::string m_hitCollectionName
Name of the StoreArray containing the input track segment hits.
Definition: TRGCDCT3DConverterModule.h:131
Belle2::TRGCDCT3DCONVERTERSPACE::TRGCDCT3DConverterModule::terminate
virtual void terminate() override
Called when processing ended.
Definition: TRGCDCT3DConverterModule.cc:79
Belle2::Module
Base class for Modules.
Definition: Module.h:74
Belle2::TRGCDCJSignalData
A class to hold common data for JSignals.
Definition: JSignalData.h:34
Belle2::TRGCDCT3DCONVERTERSPACE::TRGCDCT3DConverterModule::toSigned
int toSigned(int value, int nBits)
converts to signed value
Definition: TRGCDCT3DConverterModule.cc:223
Belle2::TRGCDCT3DCONVERTERSPACE::TRGCDCT3DConverterModule::store2DFirmwareData
void store2DFirmwareData(std::vector< std::vector< std::vector< double > > > &t2DFirmwareInfo, std::vector< std::vector< std::vector< std::vector< double > > > > &axTsfFirmwareInfo)
converts firmwareResults of 2D to a vector
Definition: TRGCDCT3DConverterModule.cc:772
Belle2::TRGCDCT3DCONVERTERSPACE::TRGCDCT3DConverterModule::m_tracks3D
StoreArray< CDCTriggerTrack > m_tracks3D
list of 3D output tracks
Definition: TRGCDCT3DConverterModule.h:161
Belle2::TRGCDCT3DCONVERTERSPACE::TRGCDCT3DConverterModule::debug3DFirmware
void debug3DFirmware()
Used for debugging 3D firmware.
Definition: TRGCDCT3DConverterModule.cc:1082
Belle2::TRGCDCT3DCONVERTERSPACE::TRGCDCT3DConverterModule
A module of TRGCDCT3DConverter.
Definition: TRGCDCT3DConverterModule.h:44
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::StoreObjPtr
Type-safe access to single objects in the data store.
Definition: ParticleList.h:33
Belle2::TRGCDCT3DCONVERTERSPACE::TRGCDCT3DConverterModule::m_eventTime
StoreObjPtr< BinnedEventT0 > m_eventTime
StoreObjPtr containing the event time.
Definition: TRGCDCT3DConverterModule.h:163
Belle2::TRGCDCT3DCONVERTERSPACE::TRGCDCT3DConverterModule::add3DDatastore
void add3DDatastore(std::vector< std::vector< double > > &t3DInfo, bool doConvert=1)
adds t3DInfo to track data store
Definition: TRGCDCT3DConverterModule.cc:1476
Belle2::TRGCDCT3DCONVERTERSPACE::TRGCDCT3DConverterModule::m_mSignalStorage
std::map< std::string, TRGCDCJSignal > m_mSignalStorage
TRGCDCJSignal for VHDL generation (jbkim's class)
Definition: TRGCDCT3DConverterModule.h:168
Belle2::TRGCDCT3DCONVERTERSPACE::TRGCDCT3DConverterModule::store3DFastSimData
void store3DFastSimData(std::vector< std::vector< std::vector< double > > > &t3DFirmwareInfo)
uses fast sim with debug
Definition: TRGCDCT3DConverterModule.cc:946
Belle2::TRGCDCT3DCONVERTERSPACE::TRGCDCT3DConverterModule::addTSDatastore
void addTSDatastore(std::vector< std::vector< std::vector< double > > > &tsfInfo, int isSt=1)
adds tsfInfo to TS data store
Definition: TRGCDCT3DConverterModule.cc:440
Belle2::TRGCDCT3DCONVERTERSPACE::TRGCDCT3DConverterModule::m_firmwareResults
StoreArray< TRGCDCT3DUnpackerStore > m_firmwareResults
list of firmware results
Definition: TRGCDCT3DConverterModule.h:155
Belle2::TRGCDCT3DCONVERTERSPACE::TRGCDCT3DConverterModule::store3DFirmwareData
void store3DFirmwareData(std::vector< std::vector< std::vector< double > > > &t3DFirmwareInfo)
converts firmwareResults of 3D to a vector
Definition: TRGCDCT3DConverterModule.cc:897
Belle2::TRGCDCT3DCONVERTERSPACE::TRGCDCT3DConverterModule::initialize
virtual void initialize() override
Initilizes TRGCDCT3DConverterModule.
Definition: TRGCDCT3DConverterModule.cc:83
Belle2::TRGCDCT3DCONVERTERSPACE::TRGCDCT3DConverterModule::m_outputCollectionName
std::string m_outputCollectionName
Name of the StoreArray containing the resulting 3D tracks.
Definition: TRGCDCT3DConverterModule.h:139
Belle2::TRGCDCT3DCONVERTERSPACE::TRGCDCT3DConverterModule::m_isVerbose
unsigned m_isVerbose
Switch printing detail information.
Definition: TRGCDCT3DConverterModule.h:149
Belle2::TRGCDCT3DCONVERTERSPACE::TRGCDCT3DConverterModule::m_mLutStorage
std::map< std::string, TRGCDCJLUT * > m_mLutStorage
TRGCDCJLUT for VHDL generation (jbkim's class)
Definition: TRGCDCT3DConverterModule.h:170
Belle2::TRGCDCT3DCONVERTERSPACE::TRGCDCT3DConverterModule::storeTSFirmwareData
void storeTSFirmwareData(std::vector< std::vector< std::vector< std::vector< double > > > > &tsfInfo)
converts firmwareResults of TS to a vector
Definition: TRGCDCT3DConverterModule.cc:457
Belle2::TRGCDCT3DCONVERTERSPACE::TRGCDCT3DConverterModule::m_tracks2D
StoreArray< CDCTriggerTrack > m_tracks2D
list of 2D input tracks
Definition: TRGCDCT3DConverterModule.h:159
Belle2::StoreArray
Accessor to arrays stored in the data store.
Definition: ECLMatchingPerformanceExpertModule.h:33
Belle2::TRGCDCT3DCONVERTERSPACE::TRGCDCT3DConverterModule::filter3DData
void filter3DData(std::vector< std::vector< std::vector< double > > > &t3DFirmwareInfo, std::vector< std::vector< double > > &t3DInfo)
filters t3DFirmwareInfo to t3DInfo
Definition: TRGCDCT3DConverterModule.cc:1452
Belle2::TRGCDCT3DCONVERTERSPACE::TRGCDCT3DConverterModule::m_inputCollectionName
std::string m_inputCollectionName
Name of the StoreArray containing the input tracks from the 2D fitter.
Definition: TRGCDCT3DConverterModule.h:135
Belle2::TRGCDCT3DCONVERTERSPACE::TRGCDCT3DConverterModule::m_hits
StoreArray< CDCTriggerSegmentHit > m_hits
list of track segment hits
Definition: TRGCDCT3DConverterModule.h:157
Belle2::TRGCDCT3DCONVERTERSPACE::TRGCDCT3DConverterModule::filterTSData
void filterTSData(std::vector< std::vector< std::vector< std::vector< double > > > > &tsfFirmwareInfo, std::vector< std::vector< std::vector< double > > > &tsfInfo)
filters tsfFirmwareInfo to tsfInfo
Definition: TRGCDCT3DConverterModule.cc:254