Belle II Software  release-08-01-10
TRGCDCFitter3D Class Reference

A class to fit tracks in 3D. More...

#include <Fitter3D.h>

Collaboration diagram for TRGCDCFitter3D:

Public Member Functions

 TRGCDCFitter3D (const std::string &name, const std::string &rootFitter3DFile, const TRGCDC &, const std::map< std::string, bool > &flags)
 Constructor.
 
virtual ~TRGCDCFitter3D ()
 Destructor.
 
void initialize ()
 Initialization.
 
void terminate ()
 Termination.
 
int doit (std::vector< TRGCDCTrack * > &trackList)
 Does track fitting.
 
int doitComplex (std::vector< TRGCDCTrack * > &trackList)
 Does track fitting using JSignals.
 
bool isAxialTrackFull (const TRGCDCTrack &aTrack)
 Checks if axial track has 5 TSs. One per each superlayer.
 
bool isStereoTrackFull (const TRGCDCTrack &aTrack)
 Checks if stereo track has 4 TSs. One per each superlayer.
 
void removeImpossibleStereoSuperlayers (std::vector< double > &useStSL)
 Removes TSs that are not possible with track Pt.
 
void print3DInformation (int iTrack)
 Print's information for debugging 3D.
 
void saveVhdlAndCoe ()
 Functions for saving. More...
 
void saveAllSignals ()
 Saves all signals for debugging.
 
void saveIoSignals ()
 Saves all I/O signals for debugging.
 
std::string name (void) const
 Gets name of class.
 
std::string version (void) const
 Gets version of class.
 

Static Public Member Functions

static double calPhi (TRGCDCSegmentHit const *segmentHit, double eventTime)
 Utility functions.
 
static void getMCValues (const TRGCDC &m_cdc_in, TRGCDCTrack *aTrack, const std::map< std::string, double > &m_mConstD_in, std::map< std::string, double > &m_mDouble_in, std::map< std::string, std::vector< double > > &m_mVector_in)
 Function for mc debugging.
 
static void findHitAxialSuperlayers (const TRGCDCTrack &aTrack, std::vector< double > &useAxSL, bool printError)
 Finds which axial superlayers has TSs. useAxSL array indicating hit superlayers.
 
static void findHitStereoSuperlayers (const TRGCDCTrack &aTrack, std::vector< double > &useStSL, bool printError)
 Finds which stereo superlayers has TSs. useStSL array indicating hit superlayers.
 
static void selectAxialTSs (const TRGCDCTrack &aTrack, std::vector< int > &bestTSIndex)
 Selects priority TSs when there are multiple candidate TSs for a superlayer.
 
static int do2DFit (TRGCDCTrack &aTrack, const std::map< std::string, bool > &m_mBool_in, const std::map< std::string, double > &m_mConstD_in, std::map< std::string, std::vector< double > > &m_mConstV_in, std::map< std::string, double > &m_mDouble_in, std::map< std::string, std::vector< double > > &m_mVector_in)
 Does 2D fit. Returns 0 if fit is done successfully. m_mBool should have fIsPrintError, fmcLR, fLRLUT, fmcLR, f2DFit, f2DFitDrift. m_mConstD should have Trg_PI. m_mConstV should have nWires, driftPhi2DError, wirePhi2DError, rr, rr2D.
 
static void getStereoGeometry (std::map< std::string, std::vector< double > > &stGeometry)
 Get stereo geometry.
 
static void getStereoXt (std::vector< double > const &stPriorityLayer, std::vector< std::vector< double > > &stXts, bool isSimple=0)
 Get stereo Xt.
 
static void getConstants (std::map< std::string, double > &mConstD, std::map< std::string, std::vector< double > > &mConstV, bool isXtSimple=0)
 Get constants for firmwareFit.
 

Private Attributes

const std::string m_name
 Name.
 
const TRGCDCm_cdc
 CDCTRG.
 
std::map< std::string, double > m_mDouble
 Map to hold double values for Fitter3D.
 
std::map< std::string, std::vector< double > > m_mVector
 Map to hold vector values for Fitter3D.
 
std::map< std::string, double > m_mConstD
 Map to hold constant values for Fitter3D.
 
std::map< std::string, std::vector< double > > m_mConstV
 Map to hold constant vectcors for Fitter3D.
 
std::map< std::string, bool > m_mBool
 Map to hold input options.
 
std::map< std::string, TRGCDCJSignalm_mSignalStorage
 Map to hold JSignals.
 
std::map< std::string, TRGCDCJLUT * > m_mLutStorage
 Map to hold JLuts.
 
TRGCDCJSignalDatam_commonData
 For VHDL code.
 
std::string m_rootFitter3DFileName
 Members for saving.
 
TFile * m_fileFitter3D
 Tfile for Fitter3D root file.
 
TTree * m_treeTrackFitter3D
 TTree for tracks of fitter3D.
 
TTree * m_treeConstantsFitter3D
 TTree for constants of fitter3D.
 
std::map< std::string, TVectorD * > m_mTVectorD
 TVectorD map for saving values to root file.
 
std::map< std::string, TClonesArray * > m_mTClonesArray
 TClonesArray map for saving values to root file.
 
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.
 

Detailed Description

A class to fit tracks in 3D.

Definition at line 40 of file Fitter3D.h.


The documentation for this class was generated from the following files: