Belle II Software  release-05-02-19
CDCTrigger3DFitterModule.h
1 #ifndef CDCTRIGGER3DFITTERModule_H
2 #define CDCTRIGGER3DFITTERModule_H
3 
4 #include "framework/core/Module.h"
5 #include <string>
6 
7 #include <framework/datastore/StoreArray.h>
8 #include <framework/datastore/StoreObjPtr.h>
9 #include <trg/cdc/dataobjects/CDCTriggerSegmentHit.h>
10 #include <trg/cdc/dataobjects/CDCTriggerTrack.h>
11 #include <framework/dataobjects/BinnedEventT0.h>
12 
13 namespace Belle2 {
19  class TRGCDCJSignal;
20  class TRGCDCJLUT;
21  class TRGCDCJSignalData;
22 
25 
26  public:
27 
30 
33 
35  virtual void initialize() override;
36 
38  virtual void event() override;
39 
40  protected:
48  void finder(int charge, double rho, double phi,
49  std::vector<int>& bestTSIndex, std::vector<double>& bestTSPhi);
60  void fitter(std::vector<int>& bestTSIndex, std::vector<double>& bestTSPhi,
61  int charge, double rho, double phi,
62  double& z0, double& cot, double& chi2);
63 
65  std::string m_hitCollectionName;
67  std::string m_EventTimeName;
69  std::string m_inputCollectionName;
73  unsigned m_fitterMode;
75  unsigned m_minHits;
77  bool m_xtSimple;
80 
81  private:
83  std::vector<double> nWires = {};
85  std::vector<double> rr = {};
87  std::vector<double> zToStraw = {};
89  std::vector<int> nShift = {};
91  std::vector<double> angleSt = {};
93  std::vector<std::vector<double>> xtTables = {};
94 
96  std::map<std::string, std::vector<double> > m_stGeometry;
98  std::vector<std::vector<double> > m_stXts;
99 
103  std::map<std::string, Belle2::TRGCDCJSignal> m_mSignalStorage;
105  std::map<std::string, Belle2::TRGCDCJLUT*> m_mLutStorage;
107  std::map<std::string, double> m_mConstD;
109  std::map<std::string, std::vector<double> > m_mConstV;
110 
119  };
120 
122 } // namespace Belle2
123 
124 #endif // CDCTrigger3DFitterModule_H
Belle2::CDCTrigger3DFitterModule::m_minHits
unsigned m_minHits
Minimal number of hits required for fitting.
Definition: CDCTrigger3DFitterModule.h:75
Belle2::CDCTrigger3DFitterModule::m_mConstD
std::map< std::string, double > m_mConstD
Constants for firmware simulation.
Definition: CDCTrigger3DFitterModule.h:107
Belle2::CDCTrigger3DFitterModule::CDCTrigger3DFitterModule
CDCTrigger3DFitterModule()
Constructor, for setting module description and parameters.
Definition: CDCTrigger3DFitterModule.cc:18
Belle2::CDCTrigger3DFitterModule::m_tracks2D
StoreArray< CDCTriggerTrack > m_tracks2D
list of 2D input tracks
Definition: CDCTrigger3DFitterModule.h:112
Belle2::CDCTrigger3DFitterModule::nShift
std::vector< int > nShift
geometry constants: wire shift of stereo layers
Definition: CDCTrigger3DFitterModule.h:89
Belle2::CDCTrigger3DFitterModule::m_tracks3D
StoreArray< CDCTriggerTrack > m_tracks3D
list of 3D output tracks
Definition: CDCTrigger3DFitterModule.h:114
Belle2::CDCTrigger3DFitterModule::m_fitterMode
unsigned m_fitterMode
Fitter mode: 1: fast, 2: firmware.
Definition: CDCTrigger3DFitterModule.h:73
Belle2::CDCTrigger3DFitterModule::m_mConstV
std::map< std::string, std::vector< double > > m_mConstV
Constants for firmware simulation.
Definition: CDCTrigger3DFitterModule.h:109
Belle2::CDCTrigger3DFitterModule::nWires
std::vector< double > nWires
geometry constants: number of wires per super layer
Definition: CDCTrigger3DFitterModule.h:83
Belle2::CDCTrigger3DFitterModule::~CDCTrigger3DFitterModule
virtual ~CDCTrigger3DFitterModule()
Destructor.
Definition: CDCTrigger3DFitterModule.h:32
Belle2::CDCTrigger3DFitterModule::m_hits
StoreArray< CDCTriggerSegmentHit > m_hits
list of track segment hits
Definition: CDCTrigger3DFitterModule.h:116
Belle2::CDCTrigger3DFitterModule
Module for the 3D Fitter of the CDC trigger.
Definition: CDCTrigger3DFitterModule.h:24
Belle2::CDCTrigger3DFitterModule::rr
std::vector< double > rr
geometry constants: radius of priority layers
Definition: CDCTrigger3DFitterModule.h:85
Belle2::CDCTrigger3DFitterModule::finder
void finder(int charge, double rho, double phi, std::vector< int > &bestTSIndex, std::vector< double > &bestTSPhi)
Select stereo hits.
Definition: CDCTrigger3DFitterModule.cc:205
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::CDCTrigger3DFitterModule::m_inputCollectionName
std::string m_inputCollectionName
Name of the StoreArray containing the input tracks from the 2D fitter.
Definition: CDCTrigger3DFitterModule.h:69
Belle2::CDCTrigger3DFitterModule::m_commonData
Belle2::TRGCDCJSignalData * m_commonData
Datastore for firmware simulation.
Definition: CDCTrigger3DFitterModule.h:101
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::CDCTrigger3DFitterModule::m_mLutStorage
std::map< std::string, Belle2::TRGCDCJLUT * > m_mLutStorage
Lutstore for firmware simulation.
Definition: CDCTrigger3DFitterModule.h:105
Belle2::CDCTrigger3DFitterModule::m_eventTime
StoreObjPtr< BinnedEventT0 > m_eventTime
StoreObjPtr containing the event time.
Definition: CDCTrigger3DFitterModule.h:118
Belle2::CDCTrigger3DFitterModule::m_xtSimple
bool m_xtSimple
Switch between nominal drift velocity and xt table.
Definition: CDCTrigger3DFitterModule.h:77
Belle2::CDCTrigger3DFitterModule::m_outputCollectionName
std::string m_outputCollectionName
Name of the StoreArray containing the resulting 3D tracks.
Definition: CDCTrigger3DFitterModule.h:71
Belle2::CDCTrigger3DFitterModule::m_EventTimeName
std::string m_EventTimeName
name of the event time StoreObjPtr
Definition: CDCTrigger3DFitterModule.h:67
Belle2::CDCTrigger3DFitterModule::m_stXts
std::vector< std::vector< double > > m_stXts
stereo xt tables
Definition: CDCTrigger3DFitterModule.h:98
Belle2::CDCTrigger3DFitterModule::fitter
void fitter(std::vector< int > &bestTSIndex, std::vector< double > &bestTSPhi, int charge, double rho, double phi, double &z0, double &cot, double &chi2)
Perform the 3D fit.
Definition: CDCTrigger3DFitterModule.cc:278
Belle2::CDCTrigger3DFitterModule::xtTables
std::vector< std::vector< double > > xtTables
geometry constants: drift length - drift time relation
Definition: CDCTrigger3DFitterModule.h:93
Belle2::CDCTrigger3DFitterModule::m_mSignalStorage
std::map< std::string, Belle2::TRGCDCJSignal > m_mSignalStorage
Signalstore for firmware simulation.
Definition: CDCTrigger3DFitterModule.h:103
Belle2::CDCTrigger3DFitterModule::event
virtual void event() override
Run the 3D fitter for an event.
Definition: CDCTrigger3DFitterModule.cc:103
Belle2::CDCTrigger3DFitterModule::angleSt
std::vector< double > angleSt
geometry constants: stereo angle
Definition: CDCTrigger3DFitterModule.h:91
Belle2::CDCTrigger3DFitterModule::m_stGeometry
std::map< std::string, std::vector< double > > m_stGeometry
map of geometry constants
Definition: CDCTrigger3DFitterModule.h:96
Belle2::CDCTrigger3DFitterModule::zToStraw
std::vector< double > zToStraw
geometry constants: backward z of priority layers
Definition: CDCTrigger3DFitterModule.h:87
Belle2::StoreArray
Accessor to arrays stored in the data store.
Definition: ECLMatchingPerformanceExpertModule.h:33
Belle2::CDCTrigger3DFitterModule::initialize
virtual void initialize() override
Initialize the module and register DataStore arrays.
Definition: CDCTrigger3DFitterModule.cc:54
Belle2::CDCTrigger3DFitterModule::m_hitCollectionName
std::string m_hitCollectionName
Name of the StoreArray containing the input track segment hits.
Definition: CDCTrigger3DFitterModule.h:65
Belle2::CDCTrigger3DFitterModule::m_isVerbose
bool m_isVerbose
Switch printing detail information.
Definition: CDCTrigger3DFitterModule.h:79