Belle II Software
release-08-01-10
|
A class to finded stereo TS hits related to 2D tracks. More...
#include <Hough3DUtility.h>
Public Member Functions | |
Hough3DFinder (void) | |
3D finder constructor. | |
~Hough3DFinder (void) | |
3D finder destructor. | |
Hough3DFinder (Hough3DFinder &)=delete | |
Copy constructor, deleted. | |
Hough3DFinder & | operator= (Hough3DFinder &)=delete |
Assignment operator, deleted. | |
void | setMode (int mode) |
Sets which 3D finder to use. | |
int | getMode (void) |
Gets which 3D finder is used. | |
void | initialize (const TVectorD &geometryVariables, std::vector< float > &initVariables) |
Geometry variables. More... | |
void | destruct (void) |
Destructs the 3D finder. | |
void | runFinder (const std::vector< double > &trackVariables, std::vector< std::vector< double > > &stTSs, const std::vector< std::vector< int > > &stTSDrift) |
Track variables. More... | |
void | initVersion1 (const std::vector< float > &initVariables) |
Init variables. More... | |
void | initVersion2 (std::vector< float > &initVariables) |
Initializes the 3D finder for mode 2. | |
void | initVersion3 (std::vector< float > &initVariables) |
Initializes the 3D finder for mode 3. | |
void | setInputFileName (const std::string &inputFileName) |
Sets the config file for the GeoFinder. | |
void | destVersion1 (void) |
Destructs the 3D finder for mode 1. | |
void | destVersion2 (void) |
Destructs the 3D finder for mode 2. | |
void | destVersion3 (void) |
Destructs the 3D finder for mode 3. | |
void | runFinderVersion1 (const std::vector< double > &trackVariables, const std::vector< std::vector< double > > &stTSs, const std::vector< double > &tsArcS, const std::vector< std::vector< double > > &tsZ) |
Uses the 3D finder for mode 1. | |
void | runFinderVersion2 (const std::vector< double > &trackVariables, std::vector< std::vector< double > > &stTSs, const std::vector< std::vector< int > > &stTSDrift) |
Uses the 3D finder for mode 2. | |
void | runFinderVersion3 (const std::vector< double > &trackVariables, std::vector< std::vector< double > > &stTSs, const std::vector< std::vector< int > > &stTSDrift) |
Uses the 3D finder for mode 3. | |
void | getValues (const std::string &input, std::vector< double > &result) |
Gets results from the 3D finder. | |
void | getHoughMeshLayer (bool ***&houghMeshLayer) |
Gets the Hough plane for the 3D finder. | |
Public Attributes | |
int | m_mode |
Members. More... | |
int | m_nWires [4] |
Holds the number of wires for stereo superlayer. | |
double | m_rr [4] |
Holds the radius for stereo super layer in cm. | |
double | m_ztostraw [4] |
Holds the length of for stereo super layer from center in cm. | |
double | m_anglest [4] |
Holds the tan theta of streo super layer in radian. | |
double | m_cotStart |
Hough finder variables. More... | |
double | m_cotEnd |
Hough mesh cot end range. | |
double | m_z0Start |
Hough mesh z0 start range. | |
double | m_z0End |
Hough mesh z0 end range. | |
int | m_nCotSteps |
Number of Hough meshes for cot. | |
int | m_nZ0Steps |
Number of Hough meshes for z0. | |
double | m_cotStepSize |
Holds the size of Hough mesh for cot. | |
double | m_z0StepSize |
Holds the size of Hough mesh for z0. | |
float *** | m_houghMeshLayerDiff |
Hold the minimum z differences for the Hough vote in a stereo superlayer. | |
bool *** | m_houghMeshLayer |
Map to check if there is a Hough vote in a stereo superlayer. | |
int ** | m_houghMesh |
Map that combines the number of Hough votes for all stereo superlayers. | |
float ** | m_houghMeshDiff |
Map that combines the z differences for all stereo superlayers. | |
bool ** | m_hitMap |
Hit map for all streo superlayers. | |
int ** | m_driftMap |
Drift map for all streo superlayers. | |
std::vector< std::vector< int > > * | m_geoCandidatesIndex |
GeoFinder Variables. More... | |
std::vector< std::vector< double > > * | m_geoCandidatesPhi |
The phi for stereo superlayer hits. | |
std::vector< std::vector< double > > * | m_geoCandidatesDiffStWires |
The number of wires difference from fitted axial phi location. | |
double | m_stAxPhi [4] |
The fitted axial phi for stereo superlayers. | |
double | m_bestCot |
Finder results. More... | |
double | m_bestZ0 |
The found z0 value for track. | |
double | m_houghMax |
The maximum vote number for track. | |
double | m_minDiffHough |
The minimum z diff between all Hough votes that have maximum vote number. | |
double | m_foundZ [4] |
The z location for stereo superlayer using found z0 and cot values for track. | |
double | m_foundPhiSt [4] |
The phi location for streo superlayer using found z0 and cot values for track. | |
int | m_bestTSIndex [4] |
The hit index of the found TSs. | |
double | m_bestTS [4] |
The phi location of the found TSs. | |
std::string | m_inputFileName |
Version3 (GeoFinder Integer space) GeoFinder input file for parameters. | |
std::vector< double > | m_FPGAInput |
[rho, phi0, sign] Holds input values of the GeoFinder. | |
std::vector< double > | m_FPGAOutput |
[arcCos0, arcCos1, arcCos2, arcCos3, bestTSIndex0, bestTSIndex1, bestTSIndex2, bestTSIndex3] Holds output values of the GeoFinder. | |
double | m_findRhoMax |
Find min and max values Holds the maximum value for rho. | |
double | m_findRhoMin |
Holds the minimum value for rho. | |
double | m_findRhoIntMax |
Holds the maximum value for integer rho. | |
double | m_findRhoIntMin |
Holds the minimum value for integer rho. | |
double | m_findPhi0Max |
Holds the maximum value for phi0. | |
double | m_findPhi0Min |
Holds the minimum value for phi0. | |
double | m_findPhi0IntMax |
Holds the maximum value for integer phi0. | |
double | m_findPhi0IntMin |
Holds the minimum value for integer phi0. | |
double | m_findArcCosMax |
Holds the maximum value for arc cos(radius/2/rho). | |
double | m_findArcCosMin |
Holds the minimum value for arc cos(radius/2/rho). | |
double | m_findArcCosIntMax |
Holds the maximum value for intger arc cos(radius/2/rho). | |
double | m_findArcCosIntMin |
Holds the minimum value for intger arc cos(radius/2/rho). | |
double | m_findPhiZMax |
Holds the maximum for fitted axial phi location between superlayers. | |
double | m_findPhiZMin |
Holds the minimum value for fitted axial phi location between superlayers. | |
double | m_findPhiZIntMax |
Holds the maximum value for fitted integer axial phi location between superlayers. | |
double | m_findPhiZIntMin |
Holds the minimum value for fitted integer axial phi location between superlayers. | |
double | m_rhoMax |
Integer space The rho max value for integer geo finder. | |
double | m_rhoMin |
The rho min value for integer geo finder. | |
int | m_rhoBit |
The number of bits of rho for integer geo finder. | |
double | m_phi0Max |
The phi0 max value for integer geo finder. | |
double | m_phi0Min |
The phi0 min value for integer geo finder. | |
int | m_phi0Bit |
The number of bits of phi0 for integer geo finder. | |
int | m_stAxWireFactor |
A factor that changes phi space to wire space. | |
bool | m_LUT |
FPGA LUTs A flag to check if acos LUT and wire convert LUT was set for geo finder. | |
int ** | m_arcCosLUT |
Memory for acos LUT. | |
int ** | m_wireConvertLUT |
Memory for wire convert LUT. | |
std::map< std::string, Belle2::TRGCDCJSignal > | m_mSignalStorage |
Map to hold JSignals. | |
std::map< std::string, Belle2::TRGCDCJLUT * > | m_mLutStorage |
Map to hold JLuts. | |
Belle2::TRGCDCJSignalData * | m_commonData |
For VHDL code. | |
std::map< std::string, std::vector< signed long long > > | m_mSavedSignals |
Array of saved signals. | |
std::map< std::string, std::vector< signed long long > > | m_mSavedIoSignals |
Array of I/O signals. | |
std::map< std::string, bool > | m_mBool |
Map to hold input options. | |
std::string | m_outputVhdlDirname |
Output directory for vhdl. | |
std::string | m_outputLutDirname |
Output directory for luts. | |
A class to finded stereo TS hits related to 2D tracks.
Definition at line 25 of file Hough3DUtility.h.
void initialize | ( | const TVectorD & | geometryVariables, |
std::vector< float > & | initVariables | ||
) |
Geometry variables.
[rr0, rr1, rr2, rr3, anglest0, anglest1, anglest2, anglest3, ztostraw0, ztostraw1, ztostraw2, ztostraw3] Init variables. [cotStart, cotEnd, z0Start, z0End, nCotSteps, nZ0Steps] Initializes the 3D finder.
Definition at line 69 of file Hough3DUtility.cc.
void initVersion1 | ( | const std::vector< float > & | initVariables | ) |
Init variables.
[cotStart, cotEnd, z0Start, z0Ent, nCotSteps, nZ0Steps] Initializes the 3D finder for mode 1.
Definition at line 180 of file Hough3DUtility.cc.
void runFinder | ( | const std::vector< double > & | trackVariables, |
std::vector< std::vector< double > > & | stTSs, | ||
const std::vector< std::vector< int > > & | stTSDrift | ||
) |
Track variables.
[charge, rho, phi0] Stereo TS candidates[layer][TS ID] Uses the 3D finder.
Definition at line 134 of file Hough3DUtility.cc.
double m_bestCot |
double m_cotStart |
std::vector< std::vector< int> >* m_geoCandidatesIndex |
GeoFinder Variables.
The index for stereo superlayer hits.
Definition at line 121 of file Hough3DUtility.h.
int m_mode |
Members.
Value that holds which mode the 3D finder is in.
Definition at line 81 of file Hough3DUtility.h.