Belle II Software development
TRGCDCFitter3D Class Reference

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

#include <Fitter3D.h>

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.
 
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.

Member Data Documentation

◆ m_cdc

const TRGCDC& m_cdc
private

CDCTRG.

Definition at line 126 of file Fitter3D.h.

◆ m_commonData

TRGCDCJSignalData* m_commonData
private

For VHDL code.

Definition at line 144 of file Fitter3D.h.

◆ m_fileFitter3D

TFile* m_fileFitter3D
private

Tfile for Fitter3D root file.

Definition at line 150 of file Fitter3D.h.

◆ m_mBool

std::map<std::string, bool> m_mBool
private

Map to hold input options.

Definition at line 137 of file Fitter3D.h.

◆ m_mConstD

std::map<std::string, double> m_mConstD
private

Map to hold constant values for Fitter3D.

Definition at line 133 of file Fitter3D.h.

◆ m_mConstV

std::map<std::string, std::vector<double> > m_mConstV
private

Map to hold constant vectcors for Fitter3D.

Definition at line 135 of file Fitter3D.h.

◆ m_mDouble

std::map<std::string, double> m_mDouble
private

Map to hold double values for Fitter3D.

Definition at line 129 of file Fitter3D.h.

◆ m_mLutStorage

std::map<std::string, TRGCDCJLUT*> m_mLutStorage
private

Map to hold JLuts.

Definition at line 142 of file Fitter3D.h.

◆ m_mSavedIoSignals

std::map<std::string, std::vector<signed long long> > m_mSavedIoSignals
private

Array of I/O signals.

Definition at line 165 of file Fitter3D.h.

◆ m_mSavedSignals

std::map<std::string, std::vector<signed long long> > m_mSavedSignals
private

Array of saved signals.

Definition at line 163 of file Fitter3D.h.

◆ m_mSignalStorage

std::map<std::string, TRGCDCJSignal> m_mSignalStorage
private

Map to hold JSignals.

Definition at line 140 of file Fitter3D.h.

◆ m_mTClonesArray

std::map<std::string, TClonesArray*> m_mTClonesArray
private

TClonesArray map for saving values to root file.

Definition at line 161 of file Fitter3D.h.

◆ m_mTVectorD

std::map<std::string, TVectorD*> m_mTVectorD
private

TVectorD map for saving values to root file.

Definition at line 159 of file Fitter3D.h.

◆ m_mVector

std::map<std::string, std::vector<double> > m_mVector
private

Map to hold vector values for Fitter3D.

Definition at line 131 of file Fitter3D.h.

◆ m_name

const std::string m_name
private

Name.

Definition at line 123 of file Fitter3D.h.

◆ m_rootFitter3DFileName

std::string m_rootFitter3DFileName
private

Members for saving.

Definition at line 147 of file Fitter3D.h.

◆ m_treeConstantsFitter3D

TTree* m_treeConstantsFitter3D
private

TTree for constants of fitter3D.

Definition at line 156 of file Fitter3D.h.

◆ m_treeTrackFitter3D

TTree* m_treeTrackFitter3D
private

TTree for tracks of fitter3D.

Definition at line 153 of file Fitter3D.h.


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