|  | Belle II Software
    light-2205-abys
    | 
VertexFitKFit is a derived class from KFitBase to perform vertex-constraint kinematical fit. More...
#include <VertexFitKFit.h>


| Public Member Functions | |
| VertexFitKFit (void) | |
| Construct an object with no argument. | |
| ~VertexFitKFit (void) | |
| Destruct the object. | |
| enum KFitError::ECode | setInitialVertex (const HepPoint3D &v) | 
| Set an initial vertex point for the vertex-vertex constraint fit.  More... | |
| enum KFitError::ECode | setInitialVertex (const B2Vector3D &v) | 
| Set an initial vertex point for the mass-vertex constraint fit.  More... | |
| enum KFitError::ECode | setIpProfile (const HepPoint3D &ip, const CLHEP::HepSymMatrix &ipe) | 
| Set an IP-ellipsoid shape for the vertex constraint fit.  More... | |
| enum KFitError::ECode | setIpTubeProfile (const CLHEP::HepLorentzVector &p, const HepPoint3D &x, const CLHEP::HepSymMatrix &e, const double q) | 
| Set a virtual IP-tube track for the vertex constraint fit.  More... | |
| enum KFitError::ECode | setKnownVertex (const bool flag=true) | 
| Tell the object to perform a fit with vertex position fixed.  More... | |
| enum KFitError::ECode | setCorrelationMode (const bool m) | 
| Tell the object to perform a fit with track correlations.  More... | |
| const HepPoint3D | getVertex (const int flag=KFitConst::kAfterFit) const | 
| Get a vertex position.  More... | |
| const CLHEP::HepSymMatrix | getVertexError (void) const | 
| Get a fitted vertex error matrix.  More... | |
| double | getCHIsq (void) const override | 
| Get a chi-square of the fit.  More... | |
| double | getCHIsqVertex (void) const | 
| Get a chi-square of the fit excluding IP-constraint part.  More... | |
| const CLHEP::HepMatrix | getTrackVertexError (const int id) const | 
| Get a vertex error matrix of the track.  More... | |
| double | getTrackCHIsq (const int id) const override | 
| Get a chi-square of the track.  More... | |
| double | getTrackPartCHIsq (void) const | 
| Get a sum of the chi-square associated to the input tracks.  More... | |
| int | getTrackPartNDF (void) const | 
| Get an NDF relevant to the getTrackPartCHIsq().  More... | |
| enum KFitError::ECode | doFit (void) | 
| Perform a vertex-constraint fit.  More... | |
| enum KFitError::ECode | updateMother (Particle *mother) | 
| Update mother particle.  More... | |
| enum KFitError::ECode | addTrack (const KFitTrack &kp) | 
| Add a track to the fitter object.  More... | |
| enum KFitError::ECode | addTrack (const CLHEP::HepLorentzVector &p, const HepPoint3D &x, const CLHEP::HepSymMatrix &e, const double q) | 
| Add a track to the fitter object with specifying its momentum, position, error matrix, and charge.  More... | |
| enum KFitError::ECode | addParticle (const Particle *particle) | 
| Add a particle to the fitter.  More... | |
| virtual enum KFitError::ECode | setCorrelation (const CLHEP::HepMatrix &c) | 
| Set a correlation matrix.  More... | |
| virtual enum KFitError::ECode | setZeroCorrelation (void) | 
| Indicate no correlation between tracks.  More... | |
| enum KFitError::ECode | setMagneticField (const double mf) | 
| Change a magnetic field from the default value KFitConst::kDefaultMagneticField.  More... | |
| enum KFitError::ECode | getErrorCode (void) const | 
| Get a code of the last error.  More... | |
| int | getTrackCount (void) const | 
| Get the number of added tracks.  More... | |
| virtual int | getNDF (void) const | 
| Get an NDF of the fit.  More... | |
| double | getMagneticField (void) const | 
| Get a magnetic field.  More... | |
| const CLHEP::HepLorentzVector | getTrackMomentum (const int id) const | 
| Get a Lorentz vector of the track.  More... | |
| const HepPoint3D | getTrackPosition (const int id) const | 
| Get a position of the track.  More... | |
| const CLHEP::HepSymMatrix | getTrackError (const int id) const | 
| Get an error matrix of the track.  More... | |
| const KFitTrack | getTrack (const int id) const | 
| Get a specified track object.  More... | |
| virtual const CLHEP::HepMatrix | getCorrelation (const int id1, const int id2, const int flag=KFitConst::kAfterFit) const | 
| Get a correlation matrix between two tracks.  More... | |
| bool | isFitted (void) const | 
| Return false if fit is not performed yet or performed fit is failed; otherwise true.  More... | |
| Protected Member Functions | |
| const CLHEP::HepSymMatrix | makeError1 (const CLHEP::HepLorentzVector &p, const CLHEP::HepMatrix &e) const | 
| Rebuild an error matrix from a Lorentz vector and an error matrix.  More... | |
| const CLHEP::HepMatrix | makeError1 (const CLHEP::HepLorentzVector &p1, const CLHEP::HepLorentzVector &p2, const CLHEP::HepMatrix &e) const | 
| Rebuild an error matrix from a pair of Lorentz vectors and an error matrix.  More... | |
| const CLHEP::HepMatrix | makeError2 (const CLHEP::HepLorentzVector &p, const CLHEP::HepMatrix &e) const | 
| Rebuild an error matrix from a Lorentz vector and an error matrix.  More... | |
| const CLHEP::HepSymMatrix | makeError3 (const CLHEP::HepLorentzVector &p, const CLHEP::HepMatrix &e, const bool is_fix_mass) const | 
| Rebuild an error matrix from a Lorentz vector and an error matrix.  More... | |
| const CLHEP::HepMatrix | makeError3 (const CLHEP::HepLorentzVector &p1, const CLHEP::HepLorentzVector &p2, const CLHEP::HepMatrix &e, const bool is_fix_mass1, const bool is_fix_mass2) const | 
| Rebuild an error matrix from a pair of Lorentz vectors and an error matrix.  More... | |
| const CLHEP::HepMatrix | makeError4 (const CLHEP::HepLorentzVector &p, const CLHEP::HepMatrix &e) const | 
| Rebuild an error matrix from a Lorentz vector and an error matrix.  More... | |
| virtual enum KFitError::ECode | prepareCorrelation (void) | 
| Build a grand correlation matrix from input-track properties.  More... | |
| enum KFitError::ECode | doFit1 (void) | 
| Perform a fit (used in MassFitKFit::doFit()).  More... | |
| enum KFitError::ECode | doFit2 (void) | 
| Perform a fit (used in VertexFitKFit::doFit() and MassVertexFitKFit::doFit()).  More... | |
| bool | isTrackIDInRange (const int id) const | 
| Check if the id is in the range.  More... | |
| bool | isNonZeroEnergy (const CLHEP::HepLorentzVector &p) const | 
| Check if the energy is non-zero.  More... | |
| Protected Attributes | |
| enum KFitError::ECode | m_ErrorCode | 
| Error code. | |
| bool | m_FlagFitted | 
| Flag to indicate if the fit is performed and succeeded. | |
| std::vector< KFitTrack > | m_Tracks | 
| Container of input tracks. | |
| std::vector< CLHEP::HepMatrix > | m_BeforeCorrelation | 
| Container of input correlation matrices. | |
| CLHEP::HepSymMatrix | m_V_al_0 | 
| See J.Tanaka Ph.D (2001) p137 for definition. | |
| CLHEP::HepMatrix | m_al_0 | 
| See J.Tanaka Ph.D (2001) p136 for definition. | |
| CLHEP::HepMatrix | m_al_1 | 
| See J.Tanaka Ph.D (2001) p136 for definition. | |
| CLHEP::HepMatrix | m_al_a | 
| See J.Tanaka Ph.D (2001) p137 for definition. | |
| CLHEP::HepMatrix | m_property | 
| Container of charges and masses. | |
| CLHEP::HepMatrix | m_D | 
| See J.Tanaka Ph.D (2001) p137 for definition. | |
| CLHEP::HepMatrix | m_d | 
| See J.Tanaka Ph.D (2001) p137 for definition. | |
| CLHEP::HepMatrix | m_V_D | 
| See J.Tanaka Ph.D (2001) p138 for definition. | |
| CLHEP::HepMatrix | m_V_al_1 | 
| See J.Tanaka Ph.D (2001) p138 for definition. | |
| CLHEP::HepMatrix | m_lam | 
| See J.Tanaka Ph.D (2001) p137 for definition. | |
| CLHEP::HepMatrix | m_E | 
| See J.Tanaka Ph.D (2001) p137 for definition. | |
| CLHEP::HepMatrix | m_V_E | 
| See J.Tanaka Ph.D (2001) p138 for definition. | |
| CLHEP::HepMatrix | m_lam0 | 
| See J.Tanaka Ph.D (2001) p138 for definition. | |
| CLHEP::HepMatrix | m_v | 
| See J.Tanaka Ph.D (2001) p137 for definition. | |
| CLHEP::HepMatrix | m_v_a | 
| See J.Tanaka Ph.D (2001) p137 for definition. | |
| CLHEP::HepMatrix | m_V_Dt | 
| See J.Tanaka Ph.D (2001) p138 for definition. | |
| CLHEP::HepMatrix | m_Cov_v_al_1 | 
| See J.Tanaka Ph.D (2001) p137 for definition. | |
| int | m_NDF | 
| NDF of the fit. | |
| double | m_CHIsq | 
| chi-square of the fit. | |
| int | m_TrackCount | 
| Number of tracks. | |
| int | m_NecessaryTrackCount | 
| Number needed tracks to perform fit. | |
| bool | m_FlagCorrelation | 
| Flag whether a correlation among tracks exists. | |
| bool | m_FlagOverIteration | 
| Flag whether the iteration count exceeds the limit. | |
| double | m_MagneticField | 
| Magnetic field. | |
| Private Member Functions | |
| enum KFitError::ECode | doFit3 (void) | 
| Perform a standard vertex-constraint fit including IP-tube constraint.  More... | |
| enum KFitError::ECode | doFit4 (void) | 
| Perform a IP-ellipsoid and vertex-constraint fit.  More... | |
| enum KFitError::ECode | doFit5 (void) | 
| Perform a fixed-vertex-position fit mainly for slow pion.  More... | |
| enum KFitError::ECode | prepareInputMatrix (void) override | 
| Build grand matrices for minimum search from input-track properties.  More... | |
| enum KFitError::ECode | prepareInputSubMatrix (void) override | 
| Build sub-matrices for minimum search from input-track properties.  More... | |
| enum KFitError::ECode | prepareOutputMatrix (void) override | 
| Build an output error matrix.  More... | |
| enum KFitError::ECode | makeCoreMatrix (void) override | 
| Build matrices using the kinematical constraint.  More... | |
| enum KFitError::ECode | calculateNDF (void) override | 
| Calculate an NDF of the fit.  More... | |
| enum KFitError::ECode | appendTube (void) | 
| Add the virtual tube track to m_Tracks just before the internal minimization call.  More... | |
| enum KFitError::ECode | deleteTube (void) | 
| Delete the virtual tube track to m_Tracks just after the internal minimization call.  More... | |
| Private Attributes | |
| bool | m_CorrelationMode | 
| Flag controlled by setCorrelationMode(). | |
| double | m_EachCHIsq [KFitConst::kMaxTrackCount2] | 
| Container of chi-square's of the input tracks. | |
| double | m_CHIsqVertex | 
| chi-square of the fit excluding IP-constraint part. | |
| HepPoint3D | m_BeforeVertex | 
| Vertex position before the fit. | |
| HepPoint3D | m_AfterVertex | 
| Vertex position after the fit. | |
| CLHEP::HepSymMatrix | m_AfterVertexError | 
| Vertex error matrix after the fit. | |
| std::vector< CLHEP::HepMatrix > | m_AfterTrackVertexError | 
| Array of vertex error matrices after the fit. | |
| bool | m_FlagBeam | 
| Flag if to perform IP-ellipsoid constraint fit. | |
| CLHEP::HepSymMatrix | m_BeamError | 
| Error matrix modeling the IP ellipsoid. | |
| bool | m_FlagKnownVertex | 
| Flag controlled by setKnownVertex(). | |
| bool | m_FlagTube | 
| Flag if to perform IP-tube constraint fit. | |
| int | m_iTrackTube | 
| ID of the virtual tube track in the m_Tracks. | |
| KFitTrack | m_TubeTrack | 
| Entity of the virtual IP-tube track. | |
VertexFitKFit is a derived class from KFitBase to perform vertex-constraint kinematical fit.
Definition at line 34 of file VertexFitKFit.h.
| 
 | inherited | 
Add a particle to the fitter.
The function gets track parameters from the Particle dataobject and calls addTrack().
| [in] | particle | Particle. | 
Definition at line 34 of file KFitBase.cc.
| 
 | inherited | 
Add a track to the fitter object with specifying its momentum, position, error matrix, and charge.
This function internally calls addTrack(const KFitTrack &kp).
| p | Lorentz vector of the track | 
| x | position of the track | 
| e | (7x7) error matrix of the track | 
| q | charge of the track | 
| 
 | inherited | 
Add a track to the fitter object.
| kp | object of the track | 
Definition at line 34 of file KFitBase.cc.
| 
 | private | 
Add the virtual tube track to m_Tracks just before the internal minimization call.
Definition at line 198 of file VertexFitKFit.cc.
| 
 | overrideprivatevirtual | 
Calculate an NDF of the fit.
Implements KFitBase.
Definition at line 198 of file VertexFitKFit.cc.
| 
 | private | 
Delete the virtual tube track to m_Tracks just after the internal minimization call.
Definition at line 198 of file VertexFitKFit.cc.
| enum KFitError::ECode doFit | ( | void | ) | 
Perform a vertex-constraint fit.
Definition at line 198 of file VertexFitKFit.cc.
| 
 | protectedinherited | 
Perform a fit (used in MassFitKFit::doFit()).
Definition at line 438 of file KFitBase.cc.
| 
 | protectedinherited | 
Perform a fit (used in VertexFitKFit::doFit() and MassVertexFitKFit::doFit()).
Definition at line 438 of file KFitBase.cc.
| 
 | private | 
Perform a standard vertex-constraint fit including IP-tube constraint.
Definition at line 198 of file VertexFitKFit.cc.
| 
 | private | 
Perform a IP-ellipsoid and vertex-constraint fit.
Definition at line 198 of file VertexFitKFit.cc.
| 
 | private | 
Perform a fixed-vertex-position fit mainly for slow pion.
Definition at line 198 of file VertexFitKFit.cc.
| 
 | overridevirtual | 
Get a chi-square of the fit.
Reimplemented from KFitBase.
Definition at line 139 of file VertexFitKFit.cc.
| double getCHIsqVertex | ( | void | ) | const | 
Get a chi-square of the fit excluding IP-constraint part.
Definition at line 146 of file VertexFitKFit.cc.
| 
 | virtualinherited | 
Get a correlation matrix between two tracks.
| id1 | first track id | 
| id2 | second track id | 
| flag | KFitConst::kBeforeFit or KFitConst::kAfterFit | 
Reimplemented in RecoilMassKFit, MassVertexFitKFit, MassPointingVertexFitKFit, MassFourCFitKFit, MassFitKFit, and FourCFitKFit.
Definition at line 183 of file KFitBase.cc.
| 
 | inherited | 
| 
 | inherited | 
| 
 | virtualinherited | 
| 
 | inherited | 
Get a specified track object.
| id | track id | 
Definition at line 175 of file KFitBase.cc.
| 
 | overridevirtual | 
Get a chi-square of the track.
| id | track id | 
Reimplemented from KFitBase.
Definition at line 162 of file VertexFitKFit.cc.
| 
 | inherited | 
Get the number of added tracks.
Definition at line 107 of file KFitBase.cc.
| 
 | inherited | 
Get an error matrix of the track.
| id | track id | 
Definition at line 168 of file KFitBase.cc.
| 
 | inherited | 
Get a Lorentz vector of the track.
| id | track id | 
Definition at line 154 of file KFitBase.cc.
| double getTrackPartCHIsq | ( | void | ) | const | 
Get a sum of the chi-square associated to the input tracks.
The return value should be the same as the one from getCHIsqVertex().
Definition at line 175 of file VertexFitKFit.cc.
| int getTrackPartNDF | ( | void | ) | const | 
Get an NDF relevant to the getTrackPartCHIsq().
Definition at line 198 of file VertexFitKFit.cc.
| 
 | inherited | 
Get a position of the track.
| id | track id | 
Definition at line 161 of file KFitBase.cc.
| const HepMatrix getTrackVertexError | ( | const int | id | ) | const | 
Get a vertex error matrix of the track.
| id | track id | 
| flag | KFitConst::kBeforeFit or KFitConst::kAfterFit | 
Definition at line 154 of file VertexFitKFit.cc.
| const HepPoint3D getVertex | ( | const int | flag = KFitConst::kAfterFit | ) | const | 
Get a vertex position.
| flag | KFitConst::kBeforeFit or KFitConst::kAfterFit | 
Definition at line 113 of file VertexFitKFit.cc.
| const HepSymMatrix getVertexError | ( | void | ) | const | 
Get a fitted vertex error matrix.
Definition at line 132 of file VertexFitKFit.cc.
| 
 | inherited | 
Return false if fit is not performed yet or performed fit is failed; otherwise true.
Definition at line 727 of file KFitBase.cc.
| 
 | protectedinherited | 
Check if the energy is non-zero.
| p | Lorentz vector | 
Definition at line 749 of file KFitBase.cc.
| 
 | protectedinherited | 
Check if the id is in the range.
| id | track id | 
Definition at line 738 of file KFitBase.cc.
| 
 | overrideprivatevirtual | 
Build matrices using the kinematical constraint.
Implements KFitBase.
Definition at line 198 of file VertexFitKFit.cc.
| 
 | protectedinherited | 
Rebuild an error matrix from a Lorentz vector and an error matrix.
| p | Lorentz vector | 
| e | (6x6) error matrix | 
| 
 | protectedinherited | 
Rebuild an error matrix from a pair of Lorentz vectors and an error matrix.
| p1 | first Lorentz vector | 
| p2 | second Lorentz vector | 
| e | (6x6) error matrix | 
| 
 | protectedinherited | 
Rebuild an error matrix from a Lorentz vector and an error matrix.
| p | Lorentz vector | 
| e | (3x6) error matrix | 
Definition at line 296 of file KFitBase.cc.
| 
 | protectedinherited | 
Rebuild an error matrix from a Lorentz vector and an error matrix.
| p | Lorentz vector | 
| e | (7x7) error matrix | 
| is_fix_mass | true to recalculate energy term from other parameters, false to do nothing | 
| 
 | protectedinherited | 
Rebuild an error matrix from a pair of Lorentz vectors and an error matrix.
| p1 | first Lorentz vector | 
| p2 | second Lorentz vector | 
| e | (7x7) error matrix | 
| is_fix_mass1 | true to recalculate energy term from other parameters, false to do nothing | 
| is_fix_mass2 | true to recalculate energy term from other parameters, false to do nothing | 
| 
 | protectedinherited | 
Rebuild an error matrix from a Lorentz vector and an error matrix.
| p | Lorentz vector | 
| e | (3x7) error matrix | 
Definition at line 438 of file KFitBase.cc.
| 
 | protectedvirtualinherited | 
Build a grand correlation matrix from input-track properties.
Reimplemented in RecoilMassKFit, MassVertexFitKFit, MassPointingVertexFitKFit, MassFourCFitKFit, MassFitKFit, and FourCFitKFit.
Definition at line 438 of file KFitBase.cc.
| 
 | overrideprivatevirtual | 
Build grand matrices for minimum search from input-track properties.
Implements KFitBase.
Definition at line 198 of file VertexFitKFit.cc.
| 
 | overrideprivatevirtual | 
Build sub-matrices for minimum search from input-track properties.
Implements KFitBase.
Definition at line 198 of file VertexFitKFit.cc.
| 
 | overrideprivatevirtual | 
Build an output error matrix.
Implements KFitBase.
Definition at line 198 of file VertexFitKFit.cc.
| 
 | virtualinherited | 
Set a correlation matrix.
Not intended for end user's use.
| c | (7x7) correlation matrix | 
Reimplemented in RecoilMassKFit, MassVertexFitKFit, MassPointingVertexFitKFit, MassFourCFitKFit, MassFitKFit, and FourCFitKFit.
Definition at line 34 of file KFitBase.cc.
| enum KFitError::ECode setCorrelationMode | ( | const bool | m | ) | 
Tell the object to perform a fit with track correlations.
| m | true for with correlation, false for otherwise | 
Definition at line 46 of file VertexFitKFit.cc.
| enum KFitError::ECode setInitialVertex | ( | const B2Vector3D & | v | ) | 
Set an initial vertex point for the mass-vertex constraint fit.
| v | initial vertex point | 
Definition at line 46 of file VertexFitKFit.cc.
| enum KFitError::ECode setInitialVertex | ( | const HepPoint3D & | v | ) | 
Set an initial vertex point for the vertex-vertex constraint fit.
| v | initial vertex point | 
Definition at line 46 of file VertexFitKFit.cc.
| enum KFitError::ECode setIpProfile | ( | const HepPoint3D & | ip, | 
| const CLHEP::HepSymMatrix & | ipe | ||
| ) | 
Set an IP-ellipsoid shape for the vertex constraint fit.
| ip | IP position | 
| ipe | error matrix of the IP | 
Definition at line 46 of file VertexFitKFit.cc.
| enum KFitError::ECode setIpTubeProfile | ( | const CLHEP::HepLorentzVector & | p, | 
| const HepPoint3D & | x, | ||
| const CLHEP::HepSymMatrix & | e, | ||
| const double | q | ||
| ) | 
Set a virtual IP-tube track for the vertex constraint fit.
| p | Lorentz vector of the virtual IP-tube track | 
| x | IP position | 
| e | error matrix of IP-tube track and IP position | 
| q | charge of the virtual IP-tube track | 
Definition at line 46 of file VertexFitKFit.cc.
| enum KFitError::ECode setKnownVertex | ( | const bool | flag = true | ) | 
Tell the object to perform a fit with vertex position fixed.
| flag | true for fixed vertex, false for otherwise | 
Definition at line 46 of file VertexFitKFit.cc.
| 
 | inherited | 
Change a magnetic field from the default value KFitConst::kDefaultMagneticField.
| mf | magnetic field to set | 
Definition at line 34 of file KFitBase.cc.
| 
 | virtualinherited | 
Indicate no correlation between tracks.
Not intended for end user's use.
Reimplemented in RecoilMassKFit, MassVertexFitKFit, MassPointingVertexFitKFit, MassFourCFitKFit, MassFitKFit, and FourCFitKFit.
Definition at line 34 of file KFitBase.cc.
| enum KFitError::ECode updateMother | ( | Particle * | mother | ) | 
Update mother particle.
| [in] | mother | Mother particle. | 
Definition at line 198 of file VertexFitKFit.cc.