BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
KalmanKinematicFit Class Reference

#include <KalmanKinematicFit.h>

Inheritance diagram for KalmanKinematicFit:

Public Member Functions

 ~KalmanKinematicFit ()
void AddResonance (int number, double mres, std::vector< int > tlis)
void AddResonance (int number, double mres, int n1)
void AddResonance (int number, double mres, int n1, int n2)
void AddResonance (int number, double mres, int n1, int n2, int n3)
void AddResonance (int number, double mres, int n1, int n2, int n3, int n4)
void AddResonance (int number, double mres, int n1, int n2, int n3, int n4, int n5)
void AddResonance (int number, double mres, int n1, int n2, int n3, int n4, int n5, int n6)
void AddResonance (int number, double mres, int n1, int n2, int n3, int n4, int n5, int n6, int n7)
void AddResonance (int number, double mres, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8)
void AddResonance (int number, double mres, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9)
void AddResonance (int number, double mres, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10)
void AddResonance (int number, double mres, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10, int n11)
void AddResonance (int number, double mres, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10, int n11, int n12)
void AddTotalEnergy (int number, double etot, std::vector< int > lis)
void AddTotalEnergy (int number, double etot, int n1)
void AddTotalEnergy (int number, double etot, int n1, int n2)
void AddTotalEnergy (int number, double etot, int n1, int n2, int n3)
void AddTotalEnergy (int number, double etot, int n1, int n2, int n3, int n4)
void AddTotalEnergy (int number, double etot, int n1, int n2, int n3, int n4, int n5)
void AddTotalEnergy (int number, double etot, int n1, int n2, int n3, int n4, int n5, int n6)
void AddTotalEnergy (int number, double etot, int n1, int n2, int n3, int n4, int n5, int n6, int n7)
void AddTotalEnergy (int number, double etot, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8)
void AddTotalEnergy (int number, double etot, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9)
void AddTotalEnergy (int number, double etot, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10)
void AddTotalEnergy (int number, double etot, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10, int n11)
void AddTotalEnergy (int number, double etot, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10, int n11, int n12)
void AddTotalMomentum (int number, double ptot, std::vector< int > lis)
void AddTotalMomentum (int number, double ptot, int n1)
void AddTotalMomentum (int number, double ptot, int n1, int n2)
void AddTotalMomentum (int number, double ptot, int n1, int n2, int n3)
void AddTotalMomentum (int number, double ptot, int n1, int n2, int n3, int n4)
void AddTotalMomentum (int number, double ptot, int n1, int n2, int n3, int n4, int n5)
void AddTotalMomentum (int number, double ptot, int n1, int n2, int n3, int n4, int n5, int n6)
void AddTotalMomentum (int number, double ptot, int n1, int n2, int n3, int n4, int n5, int n6, int n7)
void AddTotalMomentum (int number, double ptot, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8)
void AddTotalMomentum (int number, double ptot, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9)
void AddTotalMomentum (int number, double ptot, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10)
void AddTotalMomentum (int number, double ptot, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10, int n11)
void AddTotalMomentum (int number, double ptot, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10, int n11, int n12)
void AddThreeMomentum (int number, Hep3Vector p3)
void AddFourMomentum (int number, HepLorentzVector p4)
void AddFourMomentum (int number, double etot)
void AddEqualMass (int number, std::vector< int > tlis1, std::vector< int > tlis2)
void BuildVirtualParticle (int number)
void init ()
void setFlag (const bool flag=1)
void setIterNumber (const int niter=5)
void setChisqCut (const double chicut=200, const double chiter=0.05)
void setEspread (const double espread=0.0009)
void setCollideangle (const double collideangle=11e-3)
void setDynamicerror (const bool dynamicerror=1)
void setTgraph (TGraph2D *graph2d)
bool Fit ()
bool Fit (int n)
double chisq () const
double chisq (int n) const
HepLorentzVector pfit (int n) const
HepLorentzVector pfit1 (int n)
HepVector xfit ()
WTrackParameter origin (int n) const
WTrackParameter infit (int n) const
HepVector pull (int n)
double espread () const
double collideangle () const
bool dynamicerror () const
HepVector cpu () const
HepSymMatrix getCOrigin (int i) const
HepSymMatrix getCInfit (int i) const
WTrackParameter wVirtualTrack (int n) const
 ~KalmanKinematicFit ()
void AddResonance (int number, double mres, std::vector< int > tlis)
void AddResonance (int number, double mres, int n1)
void AddResonance (int number, double mres, int n1, int n2)
void AddResonance (int number, double mres, int n1, int n2, int n3)
void AddResonance (int number, double mres, int n1, int n2, int n3, int n4)
void AddResonance (int number, double mres, int n1, int n2, int n3, int n4, int n5)
void AddResonance (int number, double mres, int n1, int n2, int n3, int n4, int n5, int n6)
void AddResonance (int number, double mres, int n1, int n2, int n3, int n4, int n5, int n6, int n7)
void AddResonance (int number, double mres, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8)
void AddResonance (int number, double mres, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9)
void AddResonance (int number, double mres, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10)
void AddResonance (int number, double mres, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10, int n11)
void AddResonance (int number, double mres, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10, int n11, int n12)
void AddTotalEnergy (int number, double etot, std::vector< int > lis)
void AddTotalEnergy (int number, double etot, int n1)
void AddTotalEnergy (int number, double etot, int n1, int n2)
void AddTotalEnergy (int number, double etot, int n1, int n2, int n3)
void AddTotalEnergy (int number, double etot, int n1, int n2, int n3, int n4)
void AddTotalEnergy (int number, double etot, int n1, int n2, int n3, int n4, int n5)
void AddTotalEnergy (int number, double etot, int n1, int n2, int n3, int n4, int n5, int n6)
void AddTotalEnergy (int number, double etot, int n1, int n2, int n3, int n4, int n5, int n6, int n7)
void AddTotalEnergy (int number, double etot, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8)
void AddTotalEnergy (int number, double etot, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9)
void AddTotalEnergy (int number, double etot, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10)
void AddTotalEnergy (int number, double etot, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10, int n11)
void AddTotalEnergy (int number, double etot, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10, int n11, int n12)
void AddTotalMomentum (int number, double ptot, std::vector< int > lis)
void AddTotalMomentum (int number, double ptot, int n1)
void AddTotalMomentum (int number, double ptot, int n1, int n2)
void AddTotalMomentum (int number, double ptot, int n1, int n2, int n3)
void AddTotalMomentum (int number, double ptot, int n1, int n2, int n3, int n4)
void AddTotalMomentum (int number, double ptot, int n1, int n2, int n3, int n4, int n5)
void AddTotalMomentum (int number, double ptot, int n1, int n2, int n3, int n4, int n5, int n6)
void AddTotalMomentum (int number, double ptot, int n1, int n2, int n3, int n4, int n5, int n6, int n7)
void AddTotalMomentum (int number, double ptot, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8)
void AddTotalMomentum (int number, double ptot, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9)
void AddTotalMomentum (int number, double ptot, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10)
void AddTotalMomentum (int number, double ptot, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10, int n11)
void AddTotalMomentum (int number, double ptot, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10, int n11, int n12)
void AddThreeMomentum (int number, Hep3Vector p3)
void AddFourMomentum (int number, HepLorentzVector p4)
void AddFourMomentum (int number, double etot)
void AddEqualMass (int number, std::vector< int > tlis1, std::vector< int > tlis2)
void BuildVirtualParticle (int number)
void init ()
void setFlag (const bool flag=1)
void setIterNumber (const int niter=5)
void setChisqCut (const double chicut=200, const double chiter=0.05)
void setEspread (const double espread=0.0009)
void setCollideangle (const double collideangle=11e-3)
void setDynamicerror (const bool dynamicerror=1)
void setTgraph (TGraph2D *graph2d)
bool Fit ()
bool Fit (int n)
double chisq () const
double chisq (int n) const
HepLorentzVector pfit (int n) const
HepLorentzVector pfit1 (int n)
HepVector xfit ()
WTrackParameter origin (int n) const
WTrackParameter infit (int n) const
HepVector pull (int n)
double espread () const
double collideangle () const
bool dynamicerror () const
HepVector cpu () const
HepSymMatrix getCOrigin (int i) const
HepSymMatrix getCInfit (int i) const
WTrackParameter wVirtualTrack (int n) const
 ~KalmanKinematicFit ()
void AddResonance (int number, double mres, std::vector< int > tlis)
void AddResonance (int number, double mres, int n1)
void AddResonance (int number, double mres, int n1, int n2)
void AddResonance (int number, double mres, int n1, int n2, int n3)
void AddResonance (int number, double mres, int n1, int n2, int n3, int n4)
void AddResonance (int number, double mres, int n1, int n2, int n3, int n4, int n5)
void AddResonance (int number, double mres, int n1, int n2, int n3, int n4, int n5, int n6)
void AddResonance (int number, double mres, int n1, int n2, int n3, int n4, int n5, int n6, int n7)
void AddResonance (int number, double mres, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8)
void AddResonance (int number, double mres, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9)
void AddResonance (int number, double mres, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10)
void AddResonance (int number, double mres, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10, int n11)
void AddResonance (int number, double mres, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10, int n11, int n12)
void AddTotalEnergy (int number, double etot, std::vector< int > lis)
void AddTotalEnergy (int number, double etot, int n1)
void AddTotalEnergy (int number, double etot, int n1, int n2)
void AddTotalEnergy (int number, double etot, int n1, int n2, int n3)
void AddTotalEnergy (int number, double etot, int n1, int n2, int n3, int n4)
void AddTotalEnergy (int number, double etot, int n1, int n2, int n3, int n4, int n5)
void AddTotalEnergy (int number, double etot, int n1, int n2, int n3, int n4, int n5, int n6)
void AddTotalEnergy (int number, double etot, int n1, int n2, int n3, int n4, int n5, int n6, int n7)
void AddTotalEnergy (int number, double etot, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8)
void AddTotalEnergy (int number, double etot, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9)
void AddTotalEnergy (int number, double etot, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10)
void AddTotalEnergy (int number, double etot, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10, int n11)
void AddTotalEnergy (int number, double etot, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10, int n11, int n12)
void AddTotalMomentum (int number, double ptot, std::vector< int > lis)
void AddTotalMomentum (int number, double ptot, int n1)
void AddTotalMomentum (int number, double ptot, int n1, int n2)
void AddTotalMomentum (int number, double ptot, int n1, int n2, int n3)
void AddTotalMomentum (int number, double ptot, int n1, int n2, int n3, int n4)
void AddTotalMomentum (int number, double ptot, int n1, int n2, int n3, int n4, int n5)
void AddTotalMomentum (int number, double ptot, int n1, int n2, int n3, int n4, int n5, int n6)
void AddTotalMomentum (int number, double ptot, int n1, int n2, int n3, int n4, int n5, int n6, int n7)
void AddTotalMomentum (int number, double ptot, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8)
void AddTotalMomentum (int number, double ptot, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9)
void AddTotalMomentum (int number, double ptot, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10)
void AddTotalMomentum (int number, double ptot, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10, int n11)
void AddTotalMomentum (int number, double ptot, int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10, int n11, int n12)
void AddThreeMomentum (int number, Hep3Vector p3)
void AddFourMomentum (int number, HepLorentzVector p4)
void AddFourMomentum (int number, double etot)
void AddEqualMass (int number, std::vector< int > tlis1, std::vector< int > tlis2)
void BuildVirtualParticle (int number)
void init ()
void setFlag (const bool flag=1)
void setIterNumber (const int niter=5)
void setChisqCut (const double chicut=200, const double chiter=0.05)
void setEspread (const double espread=0.0009)
void setCollideangle (const double collideangle=11e-3)
void setDynamicerror (const bool dynamicerror=1)
void setTgraph (TGraph2D *graph2d)
bool Fit ()
bool Fit (int n)
double chisq () const
double chisq (int n) const
HepLorentzVector pfit (int n) const
HepLorentzVector pfit1 (int n)
HepVector xfit ()
WTrackParameter origin (int n) const
WTrackParameter infit (int n) const
HepVector pull (int n)
double espread () const
double collideangle () const
bool dynamicerror () const
HepVector cpu () const
HepSymMatrix getCOrigin (int i) const
HepSymMatrix getCInfit (int i) const
WTrackParameter wVirtualTrack (int n) const
Public Member Functions inherited from TrackPool
 TrackPool ()
 ~TrackPool ()
void AddTrack (const int number, const double mass, const RecMdcTrack *trk)
void AddTrack (const int number, const double mass, const RecMdcKalTrack *trk)
void AddTrack (const int number, const double mass, const RecEmcShower *trk)
void AddTrack (const int number, const WTrackParameter wtrk)
void AddMissTrack (const int number, const double mass)
void AddMissTrack (const int number, const double mass, const HepLorentzVector p4)
void AddMissTrack (const int number, const double mass, const RecEmcShower *trk)
void AddMissTrack (const int number, const RecEmcShower *trk)
void AddMissTrack (const int number, const HepLorentzVector p4)
void AddTrackVertex (const int number, const double mass, const RecEmcShower *trk)
std::vector< int > AddList (int n1)
std::vector< int > AddList (int n1, int n2)
std::vector< int > AddList (int n1, int n2, int n3)
std::vector< int > AddList (int n1, int n2, int n3, int n4)
std::vector< int > AddList (int n1, int n2, int n3, int n4, int n5)
std::vector< int > AddList (int n1, int n2, int n3, int n4, int n5, int n6)
std::vector< int > AddList (int n1, int n2, int n3, int n4, int n5, int n6, int n7)
std::vector< int > AddList (int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8)
std::vector< int > AddList (int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9)
std::vector< int > AddList (int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10)
std::vector< int > AddList (int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10, int n11)
std::vector< int > AddList (int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10, int n11, int n12)
std::vector< WTrackParameterwTrackOrigin () const
std::vector< WTrackParameterwTrackInfit () const
std::vector< int > wTrackList () const
WTrackParameter wTrackOrigin (int n) const
WTrackParameter wTrackInfit (int n) const
int wTrackList (int n) const
int numberWTrack () const
std::vector< GammaShapeGammaShapeValue () const
std::vector< int > GammaShapeList () const
GammaShape GammaShapeValue (int n) const
int GammaShapeList (int n) const
int numberGammaShape () const
void setWTrackOrigin (const int n, const WTrackParameter wtrk)
void setWTrackInfit (const int n, const WTrackParameter wtrk)
void setWTrackOrigin (const WTrackParameter wtrk)
void setWTrackInfit (const WTrackParameter wtrk)
void setWTrackList (const int n)
void clearWTrackOrigin ()
void clearWTrackInfit ()
void clearWTrackList ()
void clearone ()
void cleartwo ()
int numberone () const
int numbertwo () const
vector< int > mappositionA () const
vector< int > mappositionB () const
vector< int > mapkinematic () const
void clearMapkinematic ()
void clearMappositionA ()
void clearMappositionB ()
void setMapkinematic (const int n)
void setMappositionA (const int n)
void setMappositionB (const int n)
void setGammaShape (const int n, const GammaShape gammashape)
void setGammaShape (const GammaShape gammashape)
void setGammaShapeList (const int n)
void clearGammaShape ()
void clearGammaShapeList ()
void setBeamPosition (const HepPoint3D BeamPosition)
void setVBeamPosition (const HepSymMatrix VBeamPosition)
HepPoint3D getBeamPosition () const
HepSymMatrix getVBeamPosition () const
 TrackPool ()
 ~TrackPool ()
void AddTrack (const int number, const double mass, const RecMdcTrack *trk)
void AddTrack (const int number, const double mass, const RecMdcKalTrack *trk)
void AddTrack (const int number, const double mass, const RecEmcShower *trk)
void AddTrack (const int number, const WTrackParameter wtrk)
void AddMissTrack (const int number, const double mass)
void AddMissTrack (const int number, const double mass, const HepLorentzVector p4)
void AddMissTrack (const int number, const double mass, const RecEmcShower *trk)
void AddMissTrack (const int number, const RecEmcShower *trk)
void AddMissTrack (const int number, const HepLorentzVector p4)
void AddTrackVertex (const int number, const double mass, const RecEmcShower *trk)
std::vector< int > AddList (int n1)
std::vector< int > AddList (int n1, int n2)
std::vector< int > AddList (int n1, int n2, int n3)
std::vector< int > AddList (int n1, int n2, int n3, int n4)
std::vector< int > AddList (int n1, int n2, int n3, int n4, int n5)
std::vector< int > AddList (int n1, int n2, int n3, int n4, int n5, int n6)
std::vector< int > AddList (int n1, int n2, int n3, int n4, int n5, int n6, int n7)
std::vector< int > AddList (int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8)
std::vector< int > AddList (int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9)
std::vector< int > AddList (int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10)
std::vector< int > AddList (int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10, int n11)
std::vector< int > AddList (int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10, int n11, int n12)
std::vector< WTrackParameterwTrackOrigin () const
std::vector< WTrackParameterwTrackInfit () const
std::vector< int > wTrackList () const
WTrackParameter wTrackOrigin (int n) const
WTrackParameter wTrackInfit (int n) const
int wTrackList (int n) const
int numberWTrack () const
std::vector< GammaShapeGammaShapeValue () const
std::vector< int > GammaShapeList () const
GammaShape GammaShapeValue (int n) const
int GammaShapeList (int n) const
int numberGammaShape () const
void setWTrackOrigin (const int n, const WTrackParameter wtrk)
void setWTrackInfit (const int n, const WTrackParameter wtrk)
void setWTrackOrigin (const WTrackParameter wtrk)
void setWTrackInfit (const WTrackParameter wtrk)
void setWTrackList (const int n)
void clearWTrackOrigin ()
void clearWTrackInfit ()
void clearWTrackList ()
void clearone ()
void cleartwo ()
int numberone () const
int numbertwo () const
vector< int > mappositionA () const
vector< int > mappositionB () const
vector< int > mapkinematic () const
void clearMapkinematic ()
void clearMappositionA ()
void clearMappositionB ()
void setMapkinematic (const int n)
void setMappositionA (const int n)
void setMappositionB (const int n)
void setGammaShape (const int n, const GammaShape gammashape)
void setGammaShape (const GammaShape gammashape)
void setGammaShapeList (const int n)
void clearGammaShape ()
void clearGammaShapeList ()
void setBeamPosition (const HepPoint3D BeamPosition)
void setVBeamPosition (const HepSymMatrix VBeamPosition)
HepPoint3D getBeamPosition () const
HepSymMatrix getVBeamPosition () const
 TrackPool ()
 ~TrackPool ()
void AddTrack (const int number, const double mass, const RecMdcTrack *trk)
void AddTrack (const int number, const double mass, const RecMdcKalTrack *trk)
void AddTrack (const int number, const double mass, const RecEmcShower *trk)
void AddTrack (const int number, const WTrackParameter wtrk)
void AddMissTrack (const int number, const double mass)
void AddMissTrack (const int number, const double mass, const HepLorentzVector p4)
void AddMissTrack (const int number, const double mass, const RecEmcShower *trk)
void AddMissTrack (const int number, const RecEmcShower *trk)
void AddMissTrack (const int number, const HepLorentzVector p4)
void AddTrackVertex (const int number, const double mass, const RecEmcShower *trk)
std::vector< int > AddList (int n1)
std::vector< int > AddList (int n1, int n2)
std::vector< int > AddList (int n1, int n2, int n3)
std::vector< int > AddList (int n1, int n2, int n3, int n4)
std::vector< int > AddList (int n1, int n2, int n3, int n4, int n5)
std::vector< int > AddList (int n1, int n2, int n3, int n4, int n5, int n6)
std::vector< int > AddList (int n1, int n2, int n3, int n4, int n5, int n6, int n7)
std::vector< int > AddList (int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8)
std::vector< int > AddList (int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9)
std::vector< int > AddList (int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10)
std::vector< int > AddList (int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10, int n11)
std::vector< int > AddList (int n1, int n2, int n3, int n4, int n5, int n6, int n7, int n8, int n9, int n10, int n11, int n12)
std::vector< WTrackParameterwTrackOrigin () const
std::vector< WTrackParameterwTrackInfit () const
std::vector< int > wTrackList () const
WTrackParameter wTrackOrigin (int n) const
WTrackParameter wTrackInfit (int n) const
int wTrackList (int n) const
int numberWTrack () const
std::vector< GammaShapeGammaShapeValue () const
std::vector< int > GammaShapeList () const
GammaShape GammaShapeValue (int n) const
int GammaShapeList (int n) const
int numberGammaShape () const
void setWTrackOrigin (const int n, const WTrackParameter wtrk)
void setWTrackInfit (const int n, const WTrackParameter wtrk)
void setWTrackOrigin (const WTrackParameter wtrk)
void setWTrackInfit (const WTrackParameter wtrk)
void setWTrackList (const int n)
void clearWTrackOrigin ()
void clearWTrackInfit ()
void clearWTrackList ()
void clearone ()
void cleartwo ()
int numberone () const
int numbertwo () const
vector< int > mappositionA () const
vector< int > mappositionB () const
vector< int > mapkinematic () const
void clearMapkinematic ()
void clearMappositionA ()
void clearMappositionB ()
void setMapkinematic (const int n)
void setMappositionA (const int n)
void setMappositionB (const int n)
void setGammaShape (const int n, const GammaShape gammashape)
void setGammaShape (const GammaShape gammashape)
void setGammaShapeList (const int n)
void clearGammaShape ()
void clearGammaShapeList ()
void setBeamPosition (const HepPoint3D BeamPosition)
void setVBeamPosition (const HepSymMatrix VBeamPosition)
HepPoint3D getBeamPosition () const
HepSymMatrix getVBeamPosition () const

Static Public Member Functions

static KalmanKinematicFitinstance ()
static KalmanKinematicFitinstance ()
static KalmanKinematicFitinstance ()

Detailed Description

Constructor & Destructor Documentation

◆ ~KalmanKinematicFit() [1/3]

KalmanKinematicFit::~KalmanKinematicFit ( )

Definition at line 29 of file KalmanKinematicFit.cxx.

29 {
30 // if(m_pointer) delete m_pointer;
31 delete m_pointer;
32}

◆ ~KalmanKinematicFit() [2/3]

KalmanKinematicFit::~KalmanKinematicFit ( )

◆ ~KalmanKinematicFit() [3/3]

KalmanKinematicFit::~KalmanKinematicFit ( )

Member Function Documentation

◆ AddEqualMass() [1/3]

void KalmanKinematicFit::AddEqualMass ( int number,
std::vector< int > tlis1,
std::vector< int > tlis2 )

Definition at line 320 of file KalmanKinematicFit.cxx.

321 {
322 KinematicConstraints kc;
323 HepSymMatrix Vne = HepSymMatrix( 1, 0 );
324 kc.EqualMassConstraints( tlis1, tlis2, Vne );
325 m_kc.push_back( kc );
326 if ( (unsigned int)number != m_kc.size() - 1 )
327 std::cout << "wrong kinematic constraints index" << std::endl;
328}
void EqualMassConstraints(std::vector< int > tlis1, std::vector< int > tlis2, HepSymMatrix Vne)

◆ AddEqualMass() [2/3]

void KalmanKinematicFit::AddEqualMass ( int number,
std::vector< int > tlis1,
std::vector< int > tlis2 )

◆ AddEqualMass() [3/3]

void KalmanKinematicFit::AddEqualMass ( int number,
std::vector< int > tlis1,
std::vector< int > tlis2 )

◆ AddFourMomentum() [1/6]

void KalmanKinematicFit::AddFourMomentum ( int number,
double etot )

Definition at line 370 of file KalmanKinematicFit.cxx.

370 {
371
372 HepLorentzVector p4( 0.0, 0.0, 0.0, etot );
373 std::vector<int> tlis;
374 tlis.clear();
375 KinematicConstraints kc;
376
377 for ( int i = 0; i < numberWTrack(); i++ ) { tlis.push_back( i ); }
378 HepSymMatrix Vme = HepSymMatrix( 4, 0 );
379 Vme[3][3] = 2 * m_espread * m_espread;
380 kc.FourMomentumConstraints( p4, tlis, Vme );
381 m_kc.push_back( kc );
382 if ( (unsigned int)number != m_kc.size() - 1 )
383 std::cout << "wrong kinematic constraints index" << std::endl;
384}
Double_t etot
void FourMomentumConstraints(const HepLorentzVector p4, std::vector< int > tlis, HepSymMatrix Vme)

◆ AddFourMomentum() [2/6]

void KalmanKinematicFit::AddFourMomentum ( int number,
double etot )

◆ AddFourMomentum() [3/6]

void KalmanKinematicFit::AddFourMomentum ( int number,
double etot )

◆ AddFourMomentum() [4/6]

void KalmanKinematicFit::AddFourMomentum ( int number,
HepLorentzVector p4 )

Definition at line 351 of file KalmanKinematicFit.cxx.

351 {
352
353 std::vector<int> tlis;
354 tlis.clear();
355 KinematicConstraints kc;
356
357 for ( int i = 0; i < numberWTrack(); i++ ) { tlis.push_back( i ); }
358
359 HepSymMatrix Vme = HepSymMatrix( 4, 0 );
360 Vme[0][0] = 2 * m_espread * m_espread * sin( m_collideangle ) * sin( m_collideangle );
361 Vme[0][3] = 2 * m_espread * m_espread * sin( m_collideangle );
362 Vme[3][3] = 2 * m_espread * m_espread;
363
364 kc.FourMomentumConstraints( p4, tlis, Vme );
365 m_kc.push_back( kc );
366 if ( (unsigned int)number != m_kc.size() - 1 )
367 std::cout << "wrong kinematic constraints index" << std::endl;
368}

Referenced by Gam4pikp::execute(), and Rhopi::execute().

◆ AddFourMomentum() [5/6]

void KalmanKinematicFit::AddFourMomentum ( int number,
HepLorentzVector p4 )

◆ AddFourMomentum() [6/6]

void KalmanKinematicFit::AddFourMomentum ( int number,
HepLorentzVector p4 )

◆ AddResonance() [1/39]

void KalmanKinematicFit::AddResonance ( int number,
double mres,
int n1 )

Definition at line 71 of file KalmanKinematicFit.cxx.

71 {
72 std::vector<int> tlis = AddList( n1 );
73 AddResonance( number, mres, tlis );
74}
int n1
Definition SD0Tag.cxx:58
void AddResonance(int number, double mres, std::vector< int > tlis)
std::vector< int > AddList(int n1)

◆ AddResonance() [2/39]

void KalmanKinematicFit::AddResonance ( int number,
double mres,
int n1 )

◆ AddResonance() [3/39]

void KalmanKinematicFit::AddResonance ( int number,
double mres,
int n1 )

◆ AddResonance() [4/39]

void KalmanKinematicFit::AddResonance ( int number,
double mres,
int n1,
int n2 )

Definition at line 76 of file KalmanKinematicFit.cxx.

76 {
77 std::vector<int> tlis = AddList( n1, n2 );
78 AddResonance( number, mres, tlis );
79}
int n2
Definition SD0Tag.cxx:59

◆ AddResonance() [5/39]

void KalmanKinematicFit::AddResonance ( int number,
double mres,
int n1,
int n2 )

◆ AddResonance() [6/39]

void KalmanKinematicFit::AddResonance ( int number,
double mres,
int n1,
int n2 )

◆ AddResonance() [7/39]

void KalmanKinematicFit::AddResonance ( int number,
double mres,
int n1,
int n2,
int n3 )

Definition at line 81 of file KalmanKinematicFit.cxx.

81 {
82 std::vector<int> tlis = AddList( n1, n2, n3 );
83 AddResonance( number, mres, tlis );
84}

◆ AddResonance() [8/39]

void KalmanKinematicFit::AddResonance ( int number,
double mres,
int n1,
int n2,
int n3 )

◆ AddResonance() [9/39]

void KalmanKinematicFit::AddResonance ( int number,
double mres,
int n1,
int n2,
int n3 )

◆ AddResonance() [10/39]

void KalmanKinematicFit::AddResonance ( int number,
double mres,
int n1,
int n2,
int n3,
int n4 )

Definition at line 86 of file KalmanKinematicFit.cxx.

87 {
88 std::vector<int> tlis = AddList( n1, n2, n3, n4 );
89 AddResonance( number, mres, tlis );
90}

◆ AddResonance() [11/39]

void KalmanKinematicFit::AddResonance ( int number,
double mres,
int n1,
int n2,
int n3,
int n4 )

◆ AddResonance() [12/39]

void KalmanKinematicFit::AddResonance ( int number,
double mres,
int n1,
int n2,
int n3,
int n4 )

◆ AddResonance() [13/39]

void KalmanKinematicFit::AddResonance ( int number,
double mres,
int n1,
int n2,
int n3,
int n4,
int n5 )

Definition at line 92 of file KalmanKinematicFit.cxx.

93 {
94 std::vector<int> tlis = AddList( n1, n2, n3, n4, n5 );
95 AddResonance( number, mres, tlis );
96}

◆ AddResonance() [14/39]

void KalmanKinematicFit::AddResonance ( int number,
double mres,
int n1,
int n2,
int n3,
int n4,
int n5 )

◆ AddResonance() [15/39]

void KalmanKinematicFit::AddResonance ( int number,
double mres,
int n1,
int n2,
int n3,
int n4,
int n5 )

◆ AddResonance() [16/39]

void KalmanKinematicFit::AddResonance ( int number,
double mres,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6 )

Definition at line 98 of file KalmanKinematicFit.cxx.

99 {
100 std::vector<int> tlis = AddList( n1, n2, n3, n4, n5, n6 );
101 AddResonance( number, mres, tlis );
102}

◆ AddResonance() [17/39]

void KalmanKinematicFit::AddResonance ( int number,
double mres,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6 )

◆ AddResonance() [18/39]

void KalmanKinematicFit::AddResonance ( int number,
double mres,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6 )

◆ AddResonance() [19/39]

void KalmanKinematicFit::AddResonance ( int number,
double mres,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7 )

Definition at line 104 of file KalmanKinematicFit.cxx.

105 {
106 std::vector<int> tlis = AddList( n1, n2, n3, n4, n5, n6, n7 );
107 AddResonance( number, mres, tlis );
108}

◆ AddResonance() [20/39]

void KalmanKinematicFit::AddResonance ( int number,
double mres,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7 )

◆ AddResonance() [21/39]

void KalmanKinematicFit::AddResonance ( int number,
double mres,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7 )

◆ AddResonance() [22/39]

void KalmanKinematicFit::AddResonance ( int number,
double mres,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8 )

Definition at line 110 of file KalmanKinematicFit.cxx.

111 {
112 std::vector<int> tlis = AddList( n1, n2, n3, n4, n5, n6, n7, n8 );
113 AddResonance( number, mres, tlis );
114}

◆ AddResonance() [23/39]

void KalmanKinematicFit::AddResonance ( int number,
double mres,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8 )

◆ AddResonance() [24/39]

void KalmanKinematicFit::AddResonance ( int number,
double mres,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8 )

◆ AddResonance() [25/39]

void KalmanKinematicFit::AddResonance ( int number,
double mres,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8,
int n9 )

Definition at line 116 of file KalmanKinematicFit.cxx.

117 {
118 std::vector<int> tlis = AddList( n1, n2, n3, n4, n5, n6, n7, n8, n9 );
119 AddResonance( number, mres, tlis );
120}

◆ AddResonance() [26/39]

void KalmanKinematicFit::AddResonance ( int number,
double mres,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8,
int n9 )

◆ AddResonance() [27/39]

void KalmanKinematicFit::AddResonance ( int number,
double mres,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8,
int n9 )

◆ AddResonance() [28/39]

void KalmanKinematicFit::AddResonance ( int number,
double mres,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8,
int n9,
int n10 )

Definition at line 122 of file KalmanKinematicFit.cxx.

123 {
124 std::vector<int> tlis = AddList( n1, n2, n3, n4, n5, n6, n7, n8, n9, n10 );
125 AddResonance( number, mres, tlis );
126}

◆ AddResonance() [29/39]

void KalmanKinematicFit::AddResonance ( int number,
double mres,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8,
int n9,
int n10 )

◆ AddResonance() [30/39]

void KalmanKinematicFit::AddResonance ( int number,
double mres,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8,
int n9,
int n10 )

◆ AddResonance() [31/39]

void KalmanKinematicFit::AddResonance ( int number,
double mres,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8,
int n9,
int n10,
int n11 )

Definition at line 128 of file KalmanKinematicFit.cxx.

130 {
131 std::vector<int> tlis = AddList( n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11 );
132 AddResonance( number, mres, tlis );
133}

◆ AddResonance() [32/39]

void KalmanKinematicFit::AddResonance ( int number,
double mres,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8,
int n9,
int n10,
int n11 )

◆ AddResonance() [33/39]

void KalmanKinematicFit::AddResonance ( int number,
double mres,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8,
int n9,
int n10,
int n11 )

◆ AddResonance() [34/39]

void KalmanKinematicFit::AddResonance ( int number,
double mres,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8,
int n9,
int n10,
int n11,
int n12 )

Definition at line 135 of file KalmanKinematicFit.cxx.

137 {
138 std::vector<int> tlis = AddList( n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11, n12 );
139 AddResonance( number, mres, tlis );
140}

◆ AddResonance() [35/39]

void KalmanKinematicFit::AddResonance ( int number,
double mres,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8,
int n9,
int n10,
int n11,
int n12 )

◆ AddResonance() [36/39]

void KalmanKinematicFit::AddResonance ( int number,
double mres,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8,
int n9,
int n10,
int n11,
int n12 )

◆ AddResonance() [37/39]

void KalmanKinematicFit::AddResonance ( int number,
double mres,
std::vector< int > tlis )

Definition at line 142 of file KalmanKinematicFit.cxx.

142 {
143 KinematicConstraints kc;
144 HepSymMatrix Vre = HepSymMatrix( 1, 0 );
145 kc.ResonanceConstraints( mres, tlis, Vre );
146 m_kc.push_back( kc );
147 if ( (unsigned int)number != m_kc.size() - 1 )
148 std::cout << "wrong kinematic constraints index" << std::endl;
149}
void ResonanceConstraints(const double mres, std::vector< int > tlis, HepSymMatrix Vre)

Referenced by AddResonance(), AddResonance(), AddResonance(), AddResonance(), AddResonance(), AddResonance(), AddResonance(), AddResonance(), AddResonance(), AddResonance(), AddResonance(), AddResonance(), Rhopi::execute(), K0pi0::MTotal(), K0pipipi0::MTotal(), K3pipi0::MTotal(), Kkpi0::MTotal(), Kpipi0::MTotal(), Kpipi0pi0::MTotal(), and Pipipi0::MTotal().

◆ AddResonance() [38/39]

void KalmanKinematicFit::AddResonance ( int number,
double mres,
std::vector< int > tlis )

◆ AddResonance() [39/39]

void KalmanKinematicFit::AddResonance ( int number,
double mres,
std::vector< int > tlis )

◆ AddThreeMomentum() [1/3]

void KalmanKinematicFit::AddThreeMomentum ( int number,
Hep3Vector p3 )

Definition at line 334 of file KalmanKinematicFit.cxx.

334 {
335 std::vector<int> tlis;
336 tlis.clear();
337 WTrackParameter wtrk;
338 KinematicConstraints kc;
339
340 for ( int i = 0; i < numberWTrack(); i++ ) { tlis.push_back( i ); }
341 kc.ThreeMomentumConstraints( p3, tlis );
342 m_kc.push_back( kc );
343 if ( (unsigned int)number != m_kc.size() - 1 )
344 std::cout << "wrong kinematic constraints index" << std::endl;
345}
void ThreeMomentumConstraints(const Hep3Vector p3, std::vector< int > tlis)

◆ AddThreeMomentum() [2/3]

void KalmanKinematicFit::AddThreeMomentum ( int number,
Hep3Vector p3 )

◆ AddThreeMomentum() [3/3]

void KalmanKinematicFit::AddThreeMomentum ( int number,
Hep3Vector p3 )

◆ AddTotalEnergy() [1/39]

void KalmanKinematicFit::AddTotalEnergy ( int number,
double etot,
int n1 )

Definition at line 238 of file KalmanKinematicFit.cxx.

238 {
239 std::vector<int> tlis = AddList( n1 );
240 AddTotalEnergy( number, etot, tlis );
241}
void AddTotalEnergy(int number, double etot, std::vector< int > lis)

◆ AddTotalEnergy() [2/39]

void KalmanKinematicFit::AddTotalEnergy ( int number,
double etot,
int n1 )

◆ AddTotalEnergy() [3/39]

void KalmanKinematicFit::AddTotalEnergy ( int number,
double etot,
int n1 )

◆ AddTotalEnergy() [4/39]

void KalmanKinematicFit::AddTotalEnergy ( int number,
double etot,
int n1,
int n2 )

Definition at line 242 of file KalmanKinematicFit.cxx.

242 {
243 std::vector<int> tlis = AddList( n1, n2 );
244 AddTotalEnergy( number, etot, tlis );
245}

◆ AddTotalEnergy() [5/39]

void KalmanKinematicFit::AddTotalEnergy ( int number,
double etot,
int n1,
int n2 )

◆ AddTotalEnergy() [6/39]

void KalmanKinematicFit::AddTotalEnergy ( int number,
double etot,
int n1,
int n2 )

◆ AddTotalEnergy() [7/39]

void KalmanKinematicFit::AddTotalEnergy ( int number,
double etot,
int n1,
int n2,
int n3 )

Definition at line 247 of file KalmanKinematicFit.cxx.

247 {
248 std::vector<int> tlis = AddList( n1, n2, n3 );
249 AddTotalEnergy( number, etot, tlis );
250}

◆ AddTotalEnergy() [8/39]

void KalmanKinematicFit::AddTotalEnergy ( int number,
double etot,
int n1,
int n2,
int n3 )

◆ AddTotalEnergy() [9/39]

void KalmanKinematicFit::AddTotalEnergy ( int number,
double etot,
int n1,
int n2,
int n3 )

◆ AddTotalEnergy() [10/39]

void KalmanKinematicFit::AddTotalEnergy ( int number,
double etot,
int n1,
int n2,
int n3,
int n4 )

Definition at line 252 of file KalmanKinematicFit.cxx.

253 {
254 std::vector<int> tlis = AddList( n1, n2, n3, n4 );
255 AddTotalEnergy( number, etot, tlis );
256}

◆ AddTotalEnergy() [11/39]

void KalmanKinematicFit::AddTotalEnergy ( int number,
double etot,
int n1,
int n2,
int n3,
int n4 )

◆ AddTotalEnergy() [12/39]

void KalmanKinematicFit::AddTotalEnergy ( int number,
double etot,
int n1,
int n2,
int n3,
int n4 )

◆ AddTotalEnergy() [13/39]

void KalmanKinematicFit::AddTotalEnergy ( int number,
double etot,
int n1,
int n2,
int n3,
int n4,
int n5 )

Definition at line 258 of file KalmanKinematicFit.cxx.

259 {
260 std::vector<int> tlis = AddList( n1, n2, n3, n4, n5 );
261 AddTotalEnergy( number, etot, tlis );
262}

◆ AddTotalEnergy() [14/39]

void KalmanKinematicFit::AddTotalEnergy ( int number,
double etot,
int n1,
int n2,
int n3,
int n4,
int n5 )

◆ AddTotalEnergy() [15/39]

void KalmanKinematicFit::AddTotalEnergy ( int number,
double etot,
int n1,
int n2,
int n3,
int n4,
int n5 )

◆ AddTotalEnergy() [16/39]

void KalmanKinematicFit::AddTotalEnergy ( int number,
double etot,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6 )

Definition at line 264 of file KalmanKinematicFit.cxx.

265 {
266 std::vector<int> tlis = AddList( n1, n2, n3, n4, n5, n6 );
267 AddTotalEnergy( number, etot, tlis );
268}

◆ AddTotalEnergy() [17/39]

void KalmanKinematicFit::AddTotalEnergy ( int number,
double etot,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6 )

◆ AddTotalEnergy() [18/39]

void KalmanKinematicFit::AddTotalEnergy ( int number,
double etot,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6 )

◆ AddTotalEnergy() [19/39]

void KalmanKinematicFit::AddTotalEnergy ( int number,
double etot,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7 )

Definition at line 270 of file KalmanKinematicFit.cxx.

271 {
272 std::vector<int> tlis = AddList( n1, n2, n3, n4, n5, n6, n7 );
273 AddTotalEnergy( number, etot, tlis );
274}

◆ AddTotalEnergy() [20/39]

void KalmanKinematicFit::AddTotalEnergy ( int number,
double etot,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7 )

◆ AddTotalEnergy() [21/39]

void KalmanKinematicFit::AddTotalEnergy ( int number,
double etot,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7 )

◆ AddTotalEnergy() [22/39]

void KalmanKinematicFit::AddTotalEnergy ( int number,
double etot,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8 )

Definition at line 276 of file KalmanKinematicFit.cxx.

277 {
278 std::vector<int> tlis = AddList( n1, n2, n3, n4, n5, n6, n7, n8 );
279 AddTotalEnergy( number, etot, tlis );
280}

◆ AddTotalEnergy() [23/39]

void KalmanKinematicFit::AddTotalEnergy ( int number,
double etot,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8 )

◆ AddTotalEnergy() [24/39]

void KalmanKinematicFit::AddTotalEnergy ( int number,
double etot,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8 )

◆ AddTotalEnergy() [25/39]

void KalmanKinematicFit::AddTotalEnergy ( int number,
double etot,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8,
int n9 )

Definition at line 282 of file KalmanKinematicFit.cxx.

283 {
284 std::vector<int> tlis = AddList( n1, n2, n3, n4, n5, n6, n7, n8, n9 );
285 AddTotalEnergy( number, etot, tlis );
286}

◆ AddTotalEnergy() [26/39]

void KalmanKinematicFit::AddTotalEnergy ( int number,
double etot,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8,
int n9 )

◆ AddTotalEnergy() [27/39]

void KalmanKinematicFit::AddTotalEnergy ( int number,
double etot,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8,
int n9 )

◆ AddTotalEnergy() [28/39]

void KalmanKinematicFit::AddTotalEnergy ( int number,
double etot,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8,
int n9,
int n10 )

Definition at line 288 of file KalmanKinematicFit.cxx.

290 {
291 std::vector<int> tlis = AddList( n1, n2, n3, n4, n5, n6, n7, n8, n9, n10 );
292 AddTotalEnergy( number, etot, tlis );
293}

◆ AddTotalEnergy() [29/39]

void KalmanKinematicFit::AddTotalEnergy ( int number,
double etot,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8,
int n9,
int n10 )

◆ AddTotalEnergy() [30/39]

void KalmanKinematicFit::AddTotalEnergy ( int number,
double etot,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8,
int n9,
int n10 )

◆ AddTotalEnergy() [31/39]

void KalmanKinematicFit::AddTotalEnergy ( int number,
double etot,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8,
int n9,
int n10,
int n11 )

Definition at line 295 of file KalmanKinematicFit.cxx.

297 {
298 std::vector<int> tlis = AddList( n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11 );
299 AddTotalEnergy( number, etot, tlis );
300}

◆ AddTotalEnergy() [32/39]

void KalmanKinematicFit::AddTotalEnergy ( int number,
double etot,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8,
int n9,
int n10,
int n11 )

◆ AddTotalEnergy() [33/39]

void KalmanKinematicFit::AddTotalEnergy ( int number,
double etot,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8,
int n9,
int n10,
int n11 )

◆ AddTotalEnergy() [34/39]

void KalmanKinematicFit::AddTotalEnergy ( int number,
double etot,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8,
int n9,
int n10,
int n11,
int n12 )

Definition at line 302 of file KalmanKinematicFit.cxx.

304 {
305 std::vector<int> tlis = AddList( n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11, n12 );
306 AddTotalEnergy( number, etot, tlis );
307}

◆ AddTotalEnergy() [35/39]

void KalmanKinematicFit::AddTotalEnergy ( int number,
double etot,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8,
int n9,
int n10,
int n11,
int n12 )

◆ AddTotalEnergy() [36/39]

void KalmanKinematicFit::AddTotalEnergy ( int number,
double etot,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8,
int n9,
int n10,
int n11,
int n12 )

◆ AddTotalEnergy() [37/39]

void KalmanKinematicFit::AddTotalEnergy ( int number,
double etot,
std::vector< int > lis )

Definition at line 309 of file KalmanKinematicFit.cxx.

309 {
310 KinematicConstraints kc;
311 kc.TotalEnergyConstraints( etot, tlis );
312 m_kc.push_back( kc );
313 if ( (unsigned int)number != m_kc.size() - 1 )
314 std::cout << "wrong kinematic constraints index" << std::endl;
315}
void TotalEnergyConstraints(const double etot, std::vector< int > tlis)

Referenced by AddTotalEnergy(), AddTotalEnergy(), AddTotalEnergy(), AddTotalEnergy(), AddTotalEnergy(), AddTotalEnergy(), AddTotalEnergy(), AddTotalEnergy(), AddTotalEnergy(), AddTotalEnergy(), AddTotalEnergy(), and AddTotalEnergy().

◆ AddTotalEnergy() [38/39]

void KalmanKinematicFit::AddTotalEnergy ( int number,
double etot,
std::vector< int > lis )

◆ AddTotalEnergy() [39/39]

void KalmanKinematicFit::AddTotalEnergy ( int number,
double etot,
std::vector< int > lis )

◆ AddTotalMomentum() [1/39]

void KalmanKinematicFit::AddTotalMomentum ( int number,
double ptot,
int n1 )

Definition at line 155 of file KalmanKinematicFit.cxx.

155 {
156 std::vector<int> tlis = AddList( n1 );
157 AddTotalMomentum( number, ptot, tlis );
158}
void AddTotalMomentum(int number, double ptot, std::vector< int > lis)

◆ AddTotalMomentum() [2/39]

void KalmanKinematicFit::AddTotalMomentum ( int number,
double ptot,
int n1 )

◆ AddTotalMomentum() [3/39]

void KalmanKinematicFit::AddTotalMomentum ( int number,
double ptot,
int n1 )

◆ AddTotalMomentum() [4/39]

void KalmanKinematicFit::AddTotalMomentum ( int number,
double ptot,
int n1,
int n2 )

Definition at line 159 of file KalmanKinematicFit.cxx.

159 {
160 std::vector<int> tlis = AddList( n1, n2 );
161 AddTotalMomentum( number, ptot, tlis );
162}

◆ AddTotalMomentum() [5/39]

void KalmanKinematicFit::AddTotalMomentum ( int number,
double ptot,
int n1,
int n2 )

◆ AddTotalMomentum() [6/39]

void KalmanKinematicFit::AddTotalMomentum ( int number,
double ptot,
int n1,
int n2 )

◆ AddTotalMomentum() [7/39]

void KalmanKinematicFit::AddTotalMomentum ( int number,
double ptot,
int n1,
int n2,
int n3 )

Definition at line 164 of file KalmanKinematicFit.cxx.

164 {
165 std::vector<int> tlis = AddList( n1, n2, n3 );
166 AddTotalMomentum( number, ptot, tlis );
167}

◆ AddTotalMomentum() [8/39]

void KalmanKinematicFit::AddTotalMomentum ( int number,
double ptot,
int n1,
int n2,
int n3 )

◆ AddTotalMomentum() [9/39]

void KalmanKinematicFit::AddTotalMomentum ( int number,
double ptot,
int n1,
int n2,
int n3 )

◆ AddTotalMomentum() [10/39]

void KalmanKinematicFit::AddTotalMomentum ( int number,
double ptot,
int n1,
int n2,
int n3,
int n4 )

Definition at line 169 of file KalmanKinematicFit.cxx.

170 {
171 std::vector<int> tlis = AddList( n1, n2, n3, n4 );
172 AddTotalMomentum( number, ptot, tlis );
173}

◆ AddTotalMomentum() [11/39]

void KalmanKinematicFit::AddTotalMomentum ( int number,
double ptot,
int n1,
int n2,
int n3,
int n4 )

◆ AddTotalMomentum() [12/39]

void KalmanKinematicFit::AddTotalMomentum ( int number,
double ptot,
int n1,
int n2,
int n3,
int n4 )

◆ AddTotalMomentum() [13/39]

void KalmanKinematicFit::AddTotalMomentum ( int number,
double ptot,
int n1,
int n2,
int n3,
int n4,
int n5 )

Definition at line 175 of file KalmanKinematicFit.cxx.

176 {
177 std::vector<int> tlis = AddList( n1, n2, n3, n4, n5 );
178 AddTotalMomentum( number, ptot, tlis );
179}

◆ AddTotalMomentum() [14/39]

void KalmanKinematicFit::AddTotalMomentum ( int number,
double ptot,
int n1,
int n2,
int n3,
int n4,
int n5 )

◆ AddTotalMomentum() [15/39]

void KalmanKinematicFit::AddTotalMomentum ( int number,
double ptot,
int n1,
int n2,
int n3,
int n4,
int n5 )

◆ AddTotalMomentum() [16/39]

void KalmanKinematicFit::AddTotalMomentum ( int number,
double ptot,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6 )

Definition at line 181 of file KalmanKinematicFit.cxx.

182 {
183 std::vector<int> tlis = AddList( n1, n2, n3, n4, n5, n6 );
184 AddTotalMomentum( number, ptot, tlis );
185}

◆ AddTotalMomentum() [17/39]

void KalmanKinematicFit::AddTotalMomentum ( int number,
double ptot,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6 )

◆ AddTotalMomentum() [18/39]

void KalmanKinematicFit::AddTotalMomentum ( int number,
double ptot,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6 )

◆ AddTotalMomentum() [19/39]

void KalmanKinematicFit::AddTotalMomentum ( int number,
double ptot,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7 )

Definition at line 187 of file KalmanKinematicFit.cxx.

188 {
189 std::vector<int> tlis = AddList( n1, n2, n3, n4, n5, n6, n7 );
190 AddTotalMomentum( number, ptot, tlis );
191}

◆ AddTotalMomentum() [20/39]

void KalmanKinematicFit::AddTotalMomentum ( int number,
double ptot,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7 )

◆ AddTotalMomentum() [21/39]

void KalmanKinematicFit::AddTotalMomentum ( int number,
double ptot,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7 )

◆ AddTotalMomentum() [22/39]

void KalmanKinematicFit::AddTotalMomentum ( int number,
double ptot,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8 )

Definition at line 193 of file KalmanKinematicFit.cxx.

194 {
195 std::vector<int> tlis = AddList( n1, n2, n3, n4, n5, n6, n7, n8 );
196 AddTotalMomentum( number, ptot, tlis );
197}

◆ AddTotalMomentum() [23/39]

void KalmanKinematicFit::AddTotalMomentum ( int number,
double ptot,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8 )

◆ AddTotalMomentum() [24/39]

void KalmanKinematicFit::AddTotalMomentum ( int number,
double ptot,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8 )

◆ AddTotalMomentum() [25/39]

void KalmanKinematicFit::AddTotalMomentum ( int number,
double ptot,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8,
int n9 )

Definition at line 199 of file KalmanKinematicFit.cxx.

200 {
201 std::vector<int> tlis = AddList( n1, n2, n3, n4, n5, n6, n7, n8, n9 );
202 AddTotalMomentum( number, ptot, tlis );
203}

◆ AddTotalMomentum() [26/39]

void KalmanKinematicFit::AddTotalMomentum ( int number,
double ptot,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8,
int n9 )

◆ AddTotalMomentum() [27/39]

void KalmanKinematicFit::AddTotalMomentum ( int number,
double ptot,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8,
int n9 )

◆ AddTotalMomentum() [28/39]

void KalmanKinematicFit::AddTotalMomentum ( int number,
double ptot,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8,
int n9,
int n10 )

Definition at line 205 of file KalmanKinematicFit.cxx.

207 {
208 std::vector<int> tlis = AddList( n1, n2, n3, n4, n5, n6, n7, n8, n9, n10 );
209 AddTotalMomentum( number, ptot, tlis );
210}

◆ AddTotalMomentum() [29/39]

void KalmanKinematicFit::AddTotalMomentum ( int number,
double ptot,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8,
int n9,
int n10 )

◆ AddTotalMomentum() [30/39]

void KalmanKinematicFit::AddTotalMomentum ( int number,
double ptot,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8,
int n9,
int n10 )

◆ AddTotalMomentum() [31/39]

void KalmanKinematicFit::AddTotalMomentum ( int number,
double ptot,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8,
int n9,
int n10,
int n11 )

Definition at line 212 of file KalmanKinematicFit.cxx.

214 {
215 std::vector<int> tlis = AddList( n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11 );
216 AddTotalMomentum( number, ptot, tlis );
217}

◆ AddTotalMomentum() [32/39]

void KalmanKinematicFit::AddTotalMomentum ( int number,
double ptot,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8,
int n9,
int n10,
int n11 )

◆ AddTotalMomentum() [33/39]

void KalmanKinematicFit::AddTotalMomentum ( int number,
double ptot,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8,
int n9,
int n10,
int n11 )

◆ AddTotalMomentum() [34/39]

void KalmanKinematicFit::AddTotalMomentum ( int number,
double ptot,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8,
int n9,
int n10,
int n11,
int n12 )

Definition at line 219 of file KalmanKinematicFit.cxx.

221 {
222 std::vector<int> tlis = AddList( n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11, n12 );
223 AddTotalMomentum( number, ptot, tlis );
224}

◆ AddTotalMomentum() [35/39]

void KalmanKinematicFit::AddTotalMomentum ( int number,
double ptot,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8,
int n9,
int n10,
int n11,
int n12 )

◆ AddTotalMomentum() [36/39]

void KalmanKinematicFit::AddTotalMomentum ( int number,
double ptot,
int n1,
int n2,
int n3,
int n4,
int n5,
int n6,
int n7,
int n8,
int n9,
int n10,
int n11,
int n12 )

◆ AddTotalMomentum() [37/39]

void KalmanKinematicFit::AddTotalMomentum ( int number,
double ptot,
std::vector< int > lis )

Definition at line 226 of file KalmanKinematicFit.cxx.

226 {
227 KinematicConstraints kc;
228 kc.TotalMomentumConstraints( ptot, tlis );
229 m_kc.push_back( kc );
230 if ( (unsigned int)number != m_kc.size() - 1 )
231 std::cout << "wrong kinematic constraints index" << std::endl;
232}
void TotalMomentumConstraints(const double ptot, std::vector< int > tlis)

Referenced by AddTotalMomentum(), AddTotalMomentum(), AddTotalMomentum(), AddTotalMomentum(), AddTotalMomentum(), AddTotalMomentum(), AddTotalMomentum(), AddTotalMomentum(), AddTotalMomentum(), AddTotalMomentum(), AddTotalMomentum(), and AddTotalMomentum().

◆ AddTotalMomentum() [38/39]

void KalmanKinematicFit::AddTotalMomentum ( int number,
double ptot,
std::vector< int > lis )

◆ AddTotalMomentum() [39/39]

void KalmanKinematicFit::AddTotalMomentum ( int number,
double ptot,
std::vector< int > lis )

◆ BuildVirtualParticle() [1/3]

void KalmanKinematicFit::BuildVirtualParticle ( int number)

Definition at line 900 of file KalmanKinematicFit.cxx.

900 {
901 upCovmtx();
902 KinematicConstraints kc = m_kc[n];
903 int ntrk = ( kc.Ltrk() ).size();
904 int charge = 0;
905 HepVector w( 7, 0 );
906 HepSymMatrix ew1( 7, 0 );
907 HepSymMatrix ew2( 7, 0 );
908 HepVector w4( 4, 0 );
909 HepSymMatrix ew4( 4, 0 );
910 HepMatrix dwdp( 4, 4, 0 );
911 dwdp[0][0] = 1;
912 dwdp[1][1] = 1;
913 dwdp[2][2] = 1;
914 dwdp[3][3] = 1;
915 for ( int i = 0; i < ntrk; i++ )
916 {
917 int itk = ( kc.Ltrk() )[i];
918 charge += wTrackInfit( itk ).charge();
919 w4 = w4 + dwdp * pInfit( itk );
920 // ew = ew + (getCInfit(itk)).similarity(dwdp);
921 }
922 HepMatrix I( 4, numberone(), 0 );
923 for ( int j2 = 0; j2 < ntrk; j2++ )
924 {
925 I[0][0 + j2 * 4] = 1;
926 I[1][1 + j2 * 4] = 1;
927 I[2][2 + j2 * 4] = 1;
928 I[3][3 + j2 * 4] = 1;
929 }
930 ew4 = m_C.similarity( I );
931 HepMatrix J( 7, 4, 0 );
932 double px = w4[0];
933 double py = w4[1];
934 double pz = w4[2];
935 double e = w4[3];
936 double pt = sqrt( px * px + py * py );
937 double p0 = sqrt( px * px + py * py + pz * pz );
938 double m = sqrt( e * e - p0 * p0 );
939 J[0][0] = -py;
940 J[0][1] = -( pz * px * pt ) / ( p0 * p0 );
941 J[0][2] = -m * px / ( p0 * p0 );
942 J[0][3] = e * px / ( p0 * p0 );
943 J[1][0] = px;
944 J[1][1] = -( pz * py * pt ) / ( p0 * p0 );
945 J[1][2] = -m * py / ( p0 * p0 );
946 J[1][3] = e * py / ( p0 * p0 );
947 J[2][0] = 0;
948 J[2][1] = pt * pt * pt / ( p0 * p0 );
949 J[2][2] = -m * pz / ( p0 * p0 );
950 J[2][3] = e * pz / ( p0 * p0 );
951 J[3][0] = 0;
952 J[3][1] = 0;
953 J[3][2] = 0;
954 J[3][3] = 1;
955 ew1 = ew4.similarity( J );
956 ew2[0][0] = ew1[0][0];
957 ew2[1][1] = ew1[1][1];
958 ew2[2][2] = ew1[2][2];
959 ew2[3][3] = ew1[3][3];
960 w[0] = w4[0];
961 w[1] = w4[1];
962 w[2] = w4[2];
963 w[3] = w4[3];
964 WTrackParameter vwtrk;
965 vwtrk.setCharge( charge );
966 vwtrk.setW( w );
967 vwtrk.setEw( ew2 );
968 vwtrk.setMass( m );
969 m_virtual_wtrk.push_back( vwtrk );
970}
const Int_t n
double w
const DifComplex I
std::vector< WTrackParameter > wTrackInfit() const

Referenced by K0pi0::MTotal(), K0pipipi0::MTotal(), K3pipi0::MTotal(), Kkpi0::MTotal(), Kpipi0::MTotal(), Kpipi0pi0::MTotal(), and Pipipi0::MTotal().

◆ BuildVirtualParticle() [2/3]

void KalmanKinematicFit::BuildVirtualParticle ( int number)

◆ BuildVirtualParticle() [3/3]

void KalmanKinematicFit::BuildVirtualParticle ( int number)

◆ chisq() [1/6]

◆ chisq() [2/6]

double KalmanKinematicFit::chisq ( ) const
inline

Definition at line 143 of file InstallArea/x86_64-el9-gcc13-dbg/include/VertexFit/KalmanKinematicFit.h.

143{ return m_chi; }

◆ chisq() [3/6]

double KalmanKinematicFit::chisq ( ) const
inline

Definition at line 143 of file InstallArea/x86_64-el9-gcc13-opt/include/VertexFit/KalmanKinematicFit.h.

143{ return m_chi; }

◆ chisq() [4/6]

double KalmanKinematicFit::chisq ( int n) const
inline

Definition at line 144 of file Analysis/VertexFit/include/VertexFit/KalmanKinematicFit.h.

144{ return m_chisq[n]; }

◆ chisq() [5/6]

double KalmanKinematicFit::chisq ( int n) const
inline

Definition at line 144 of file InstallArea/x86_64-el9-gcc13-dbg/include/VertexFit/KalmanKinematicFit.h.

144{ return m_chisq[n]; }

◆ chisq() [6/6]

double KalmanKinematicFit::chisq ( int n) const
inline

Definition at line 144 of file InstallArea/x86_64-el9-gcc13-opt/include/VertexFit/KalmanKinematicFit.h.

144{ return m_chisq[n]; }

◆ collideangle() [1/3]

double KalmanKinematicFit::collideangle ( ) const
inline

Definition at line 160 of file Analysis/VertexFit/include/VertexFit/KalmanKinematicFit.h.

160{ return m_collideangle; }

Referenced by setCollideangle().

◆ collideangle() [2/3]

double KalmanKinematicFit::collideangle ( ) const
inline

Definition at line 160 of file InstallArea/x86_64-el9-gcc13-dbg/include/VertexFit/KalmanKinematicFit.h.

160{ return m_collideangle; }

◆ collideangle() [3/3]

double KalmanKinematicFit::collideangle ( ) const
inline

Definition at line 160 of file InstallArea/x86_64-el9-gcc13-opt/include/VertexFit/KalmanKinematicFit.h.

160{ return m_collideangle; }

◆ cpu() [1/3]

HepVector KalmanKinematicFit::cpu ( ) const
inline

Definition at line 163 of file Analysis/VertexFit/include/VertexFit/KalmanKinematicFit.h.

163{ return m_cpu; }

◆ cpu() [2/3]

HepVector KalmanKinematicFit::cpu ( ) const
inline

Definition at line 163 of file InstallArea/x86_64-el9-gcc13-dbg/include/VertexFit/KalmanKinematicFit.h.

163{ return m_cpu; }

◆ cpu() [3/3]

HepVector KalmanKinematicFit::cpu ( ) const
inline

Definition at line 163 of file InstallArea/x86_64-el9-gcc13-opt/include/VertexFit/KalmanKinematicFit.h.

163{ return m_cpu; }

◆ dynamicerror() [1/3]

bool KalmanKinematicFit::dynamicerror ( ) const
inline

Definition at line 161 of file Analysis/VertexFit/include/VertexFit/KalmanKinematicFit.h.

161{ return m_dynamicerror; }

Referenced by setDynamicerror().

◆ dynamicerror() [2/3]

bool KalmanKinematicFit::dynamicerror ( ) const
inline

Definition at line 161 of file InstallArea/x86_64-el9-gcc13-dbg/include/VertexFit/KalmanKinematicFit.h.

161{ return m_dynamicerror; }

◆ dynamicerror() [3/3]

bool KalmanKinematicFit::dynamicerror ( ) const
inline

Definition at line 161 of file InstallArea/x86_64-el9-gcc13-opt/include/VertexFit/KalmanKinematicFit.h.

161{ return m_dynamicerror; }

◆ espread() [1/3]

double KalmanKinematicFit::espread ( ) const
inline

Definition at line 159 of file Analysis/VertexFit/include/VertexFit/KalmanKinematicFit.h.

159{ return m_espread; }

Referenced by setEspread().

◆ espread() [2/3]

double KalmanKinematicFit::espread ( ) const
inline

Definition at line 159 of file InstallArea/x86_64-el9-gcc13-dbg/include/VertexFit/KalmanKinematicFit.h.

159{ return m_espread; }

◆ espread() [3/3]

double KalmanKinematicFit::espread ( ) const
inline

Definition at line 159 of file InstallArea/x86_64-el9-gcc13-opt/include/VertexFit/KalmanKinematicFit.h.

159{ return m_espread; }

◆ Fit() [1/6]

bool KalmanKinematicFit::Fit ( )

Definition at line 488 of file KalmanKinematicFit.cxx.

488 {
489 bool okfit = false;
490 TStopwatch timer;
491 m_nktrk = numberWTrack();
492 m_p0 = HepVector( numberone(), 0 );
493 m_p = HepVector( numberone(), 0 );
494 m_q0 = HepVector( numbertwo(), 0 );
495 m_q = HepVector( numbertwo(), 0 );
496 m_C0 = HepSymMatrix( numberone(), 0 );
497 m_C = HepSymMatrix( numberone(), 0 );
498 m_D0inv = HepSymMatrix( numbertwo(), 0 );
499 m_D = HepSymMatrix( numbertwo(), 0 );
500
501 HepVector m_p_tmp = HepVector( numberone(), 0 );
502 HepVector m_q_tmp = HepVector( numbertwo(), 0 );
503 HepMatrix m_A_tmp;
504 HepSymMatrix m_W_tmp;
505 HepMatrix m_KQ_tmp;
506 HepSymMatrix m_Dinv_tmp;
507 for ( int i = 0; i < numberWTrack(); i++ )
508 {
509 setWTrackInfit( i, wTrackOrigin( i ) );
510 int pa = mappositionA()[i] + 1;
511 int pb = mappositionB()[i] + 1;
512 int ptype = mapkinematic()[i];
513 switch ( ptype )
514 {
515 case 0: {
516 HepVector w1( 4, 0 );
517 HepSymMatrix Ew1( 4, 0 );
518 for ( int j = 0; j < 3; j++ ) { w1[j] = wTrackOrigin( i ).w()[j]; }
519 w1[3] = wTrackOrigin( i ).mass();
520
521 for ( int m = 0; m < 3; m++ )
522 {
523 for ( int n = 0; n < 3; n++ ) { Ew1[m][n] = wTrackOrigin( i ).Ew()[m][n]; }
524 }
525 setPOrigin( pa, w1 );
526 setPInfit( pa, w1 );
527 setCOrigin( pa, Ew1 );
528 break;
529 }
530 case 1: {
531 setPOrigin( pa, ( wTrackOrigin( i ).plmp() ).sub( 1, 4 ) );
532 setPInfit( pa, ( wTrackOrigin( i ).plmp() ).sub( 1, 4 ) );
533 setCOrigin( pa, ( wTrackOrigin( i ).Vplm() ).sub( 1, 4 ) );
534 break;
535 }
536 case 2: {
537 setQOrigin( pb, ( wTrackOrigin( i ).w() ).sub( 1, NTRKPAR ) );
538 setQInfit( pb, ( wTrackOrigin( i ).w() ).sub( 1, NTRKPAR ) );
539 HepSymMatrix Dinv( 4, 0 );
540 setDOriginInv( pb, Dinv );
541 break;
542 }
543 case 3: {
544 setPOrigin( pa, ( wTrackOrigin( i ).plmp() ).sub( 3, 3 ) );
545 setPInfit( pa, ( wTrackOrigin( i ).plmp() ).sub( 3, 3 ) );
546 setCOrigin( pa, ( wTrackOrigin( i ).Vplm() ).sub( 3, 3 ) );
547 setQOrigin( pb, ( wTrackOrigin( i ).plmp() ).sub( 1, 2 ) );
548 setQInfit( pb, ( wTrackOrigin( i ).plmp() ).sub( 1, 2 ) );
549 setQOrigin( pb + 2, ( wTrackOrigin( i ).plmp() ).sub( 4, 4 ) );
550 setQInfit( pb + 2, ( wTrackOrigin( i ).plmp() ).sub( 4, 4 ) );
551 HepSymMatrix Dinv( 3, 0 );
552 setDOriginInv( pb, Dinv );
553 break;
554 }
555 case 4: {
556 setPOrigin( pa, ( wTrackOrigin( i ).plmp() ).sub( 1, 2 ) );
557 setPInfit( pa, ( wTrackOrigin( i ).plmp() ).sub( 1, 2 ) );
558 setCOrigin( pa, ( wTrackOrigin( i ).Vplm() ).sub( 1, 2 ) );
559 setQOrigin( pb, ( wTrackOrigin( i ).plmp() ).sub( 3, 4 ) );
560 setQInfit( pb, ( wTrackOrigin( i ).plmp() ).sub( 3, 4 ) );
561 HepSymMatrix Dinv( 2, 0 );
562 setDOriginInv( pb, Dinv );
563 break;
564 }
565 case 5: {
566 setPOrigin( pa, ( wTrackOrigin( i ).plmp() ).sub( 1, 3 ) );
567 setPInfit( pa, ( wTrackOrigin( i ).plmp() ).sub( 1, 3 ) );
568 setCOrigin( pa, ( wTrackOrigin( i ).Vplm() ).sub( 1, 3 ) );
569 setQOrigin( pb, ( wTrackOrigin( i ).plmp() ).sub( 4, 4 ) );
570 setQInfit( pb, ( wTrackOrigin( i ).plmp() ).sub( 4, 4 ) );
571 HepSymMatrix Dinv( 1, 0 );
572 setDOriginInv( pb, Dinv );
573 break;
574 }
575 case 6: {
576 setPOrigin( pa, ( wTrackOrigin( i ).w() ).sub( 5, 7 ) );
577 setPOrigin( pa + 3, ( wTrackOrigin( i ).w() ).sub( 4, 4 ) );
578 setPInfit( pa, ( wTrackOrigin( i ).w() ).sub( 5, 7 ) );
579 setPInfit( pa + 3, ( wTrackOrigin( i ).w() ).sub( 4, 4 ) );
580 setCOrigin( pa, ( wTrackOrigin( i ).Ew() ).sub( 5, 7 ) );
581 setCOrigin( pa + 3, ( wTrackOrigin( i ).Ew() ).sub( 4, 4 ) );
582 HepVector beam( 3, 0 );
583 beam[0] = getBeamPosition().x();
584 beam[1] = getBeamPosition().y();
585 beam[2] = getBeamPosition().z();
586 setQOrigin( pb, beam );
587 setQInfit( pb, beam );
588 HepSymMatrix Dinv( 3, 0 );
589 int ifail;
590 Dinv = getVBeamPosition().inverse( ifail );
591 setDOriginInv( pb, Dinv );
592 break;
593 }
594 case 7: {
595 HepVector w1( 4, 0 );
596 HepSymMatrix Ew1( 4, 0 );
597 for ( int j = 0; j < 3; j++ ) { w1[j] = wTrackOrigin( i ).w()[j]; }
598 w1[3] = wTrackOrigin( i ).mass();
599
600 for ( int m = 0; m < 3; m++ )
601 {
602 for ( int n = 0; n < 3; n++ ) { Ew1[m][n] = wTrackOrigin( i ).Ew()[m][n]; }
603 }
604 setPOrigin( pa, w1 );
605 setPInfit( pa, w1 );
606 setCOrigin( pa, Ew1 );
607 break;
608 }
609 }
610 }
611
612 //
613 // iteration
614 //
615
616 std::vector<double> chisq;
617 chisq.clear();
618 int nc = 0;
619 for ( int i = 0; i < m_kc.size(); i++ ) nc += m_kc[i].nc();
620
621 m_A = HepMatrix( nc, numberone(), 0 );
622 m_AT = HepMatrix( numberone(), nc, 0 );
623 m_B = HepMatrix( nc, numbertwo(), 0 );
624 m_BT = HepMatrix( numbertwo(), nc, 0 );
625 m_G = HepVector( nc, 0 );
626 m_Vm = HepSymMatrix( nc, 0 );
627 int num1 = 0;
628 for ( unsigned int i = 0; i < m_kc.size(); i++ )
629 {
630 KinematicConstraints kc = m_kc[i];
631 m_Vm.sub( num1 + 1, kc.Vmeasure() );
632 num1 = num1 + kc.nc();
633 }
634
635 double tmp_chisq = 999;
636 bool flag_break = 0;
637 for ( int it = 0; it < m_niter; it++ )
638 {
639 timer.Start();
640 m_nc = 0;
641 for ( unsigned int i = 0; i < m_kc.size(); i++ )
642 {
643 KinematicConstraints kc = m_kc[i];
644 updateConstraints( kc );
645 }
646 timer.Stop();
647 m_cpu[0] += timer.CpuTime();
648 fit();
649 //
650 // reset origin parameters for virtual particle
651 //
652 // if(it == 0){
653 // for(int i = 0; i < numberWTrack(); i++) {
654 // // setWTrackInfit(i, wTrackOrigin(i));
655 // int pa = mappositionA()[i] + 1;
656 // int pb = mappositionB()[i] + 1;
657 // int ptype = mapkinematic()[i];
658 // switch(ptype) {
659 // case 3 : {
660 // setPOrigin(pa, m_p.sub(pa, pa));
661 // setPInfit(pa, m_p.sub(pa, pa));
662 // setQOrigin(pb, m_q.sub(pb, pb+2));
663 // setQInfit(pb, m_q.sub(pb, pb+2));
664 // break;
665 // }
666 // case 4 : {
667 // setPOrigin(pa, (wTrackOrigin(i).plmp()).sub(1,
668 // 2)); setPInfit(pa,
669 // (wTrackOrigin(i).plmp()).sub(1, 2));
670 // setCOrigin(pa, (wTrackOrigin(i).Vplm()).sub(1,
671 // 2)); setQOrigin(pb,
672 // (wTrackOrigin(i).plmp()).sub(3, 4));
673 // setQInfit(pb, (wTrackOrigin(i).plmp()).sub(3,
674 // 4)); HepSymMatrix Dinv(2,0); setDOriginInv(pb,
675 // Dinv); break;
676 // }
677 // case 5 : {
678 // setPOrigin(pa, (wTrackOrigin(i).plmp()).sub(1,
679 // 3)); setPInfit(pa,
680 // (wTrackOrigin(i).plmp()).sub(1, 3));
681 // setCOrigin(pa, (wTrackOrigin(i).Vplm()).sub(1,
682 // 3)); setQOrigin(pb,
683 // (wTrackOrigin(i).plmp()).sub(4, 4));
684 // setQInfit(pb, (wTrackOrigin(i).plmp()).sub(4,
685 // 4)); HepSymMatrix Dinv(1,0); setDOriginInv(pb,
686 // Dinv); break;
687 // }
688 // case 6 : {
689 // setPOrigin(pa, (wTrackOrigin(i).w()).sub(5, 7));
690 // setPOrigin(pa+3, (wTrackOrigin(i).w()).sub(4,
691 // 4)); setPInfit(pa, (wTrackOrigin(i).w()).sub(5,
692 // 7)); setPInfit(pa+3, (wTrackOrigin(i).w()).sub(4,
693 // 4)); setCOrigin(pa,
694 // (wTrackOrigin(i).Ew()).sub(5,7));
695 // setCOrigin(pa+3,
696 // (wTrackOrigin(i).Ew()).sub(4,4)); HepVector
697 // beam(3,0); beam[0] = getBeamPosition().x();
698 // beam[1] = getBeamPosition().y();
699 // beam[2] = getBeamPosition().z();
700 // setQOrigin(pb, beam);
701 // setQInfit(pb, beam);
702 // HepSymMatrix Dinv(3, 0);
703 // int ifail;
704 // Dinv = getVBeamPosition().inverse(ifail);
705 // setDOriginInv(pb, Dinv);
706 // break;
707 // }
708 //
709 // }
710 // }
711 //
712 // }
713 //
714 //
715 //===================reset over=============================
716 //
717 chisq.push_back( m_chi );
718 if ( it > 0 )
719 {
720 double delchi = chisq[it] - chisq[it - 1];
721 if ( fabs( delchi ) < m_chiter )
722 {
723 flag_break = 1;
724 break;
725 }
726 }
727 }
728 if ( !flag_break ) { return okfit; }
729 if ( m_chi > m_chicut ) return okfit;
730 timer.Start();
731 timer.Stop();
732 m_cpu[5] += timer.CpuTime();
733 okfit = true;
734 return okfit;
735}
string::const_iterator ptype
Definition EvtMTree.hh:19
std::vector< WTrackParameter > wTrackOrigin() const
void setWTrackInfit(const int n, const WTrackParameter wtrk)

Referenced by Gam4pikp::execute(), Rhopi::execute(), K0pi0::MTotal(), K0pipipi0::MTotal(), K3pipi0::MTotal(), Kkpi0::MTotal(), Kpipi0::MTotal(), Kpipi0pi0::MTotal(), and Pipipi0::MTotal().

◆ Fit() [2/6]

bool KalmanKinematicFit::Fit ( )

◆ Fit() [3/6]

bool KalmanKinematicFit::Fit ( )

◆ Fit() [4/6]

bool KalmanKinematicFit::Fit ( int n)

Definition at line 737 of file KalmanKinematicFit.cxx.

737 {
738 bool okfit = false;
739 if ( n < 0 || (unsigned int)n >= m_kc.size() ) return okfit;
740 m_nktrk = numberWTrack();
741 m_p0 = HepVector( numberone(), 0 );
742 m_p = HepVector( numberone(), 0 );
743 m_q0 = HepVector( numbertwo(), 0 );
744 m_q = HepVector( numbertwo(), 0 );
745 m_C0 = HepSymMatrix( numberone(), 0 );
746 m_C = HepSymMatrix( numberone(), 0 );
747 m_D0inv = HepSymMatrix( numbertwo(), 0 );
748 m_D = HepSymMatrix( numbertwo(), 0 );
749
750 for ( int i = 0; i < numberWTrack(); i++ )
751 {
752 setWTrackInfit( i, wTrackOrigin( i ) );
753 int pa = mappositionA()[i] + 1;
754 int pb = mappositionB()[i] + 1;
755 int ptype = mapkinematic()[i];
756 switch ( ptype )
757 {
758 case 0: {
759 HepVector w1( 4, 0 );
760 HepSymMatrix Ew1( 4, 0 );
761 for ( int j = 0; j < 3; j++ ) { w1[j] = wTrackOrigin( i ).w()[j]; }
762 w1[3] = wTrackOrigin( i ).mass();
763
764 for ( int m = 0; m < 3; m++ )
765 {
766 for ( int n = 0; n < 3; n++ ) { Ew1[m][n] = wTrackOrigin( i ).Ew()[m][n]; }
767 }
768 setPOrigin( pa, w1 );
769 setPInfit( pa, w1 );
770 setCOrigin( pa, Ew1 );
771 break;
772 }
773 case 1: {
774 setPOrigin( pa, ( wTrackOrigin( i ).plmp() ).sub( 1, 4 ) );
775 setPInfit( pa, ( wTrackOrigin( i ).plmp() ).sub( 1, 4 ) );
776 setCOrigin( pa, ( wTrackOrigin( i ).Vplm() ).sub( 1, 4 ) );
777 break;
778 }
779 case 2: {
780 setQOrigin( pb, ( wTrackOrigin( i ).w() ).sub( 1, NTRKPAR ) );
781 setQInfit( pb, ( wTrackOrigin( i ).w() ).sub( 1, NTRKPAR ) );
782 HepSymMatrix Dinv( 4, 0 );
783 setDOriginInv( pb, Dinv );
784 break;
785 }
786 case 3: {
787 setPOrigin( pa, ( wTrackOrigin( i ).plmp() ).sub( 3, 3 ) );
788 setPInfit( pa, ( wTrackOrigin( i ).plmp() ).sub( 3, 3 ) );
789 setCOrigin( pa, ( wTrackOrigin( i ).Vplm() ).sub( 3, 3 ) );
790 setQOrigin( pb, ( wTrackOrigin( i ).w() ).sub( 1, 3 ) );
791 setQInfit( pb, ( wTrackOrigin( i ).w() ).sub( 1, 3 ) );
792 HepSymMatrix Dinv( 3, 0 );
793 setDOriginInv( pb, Dinv );
794 break;
795 }
796 case 4: {
797 setPOrigin( pa, ( wTrackOrigin( i ).plmp() ).sub( 1, 2 ) );
798 setPInfit( pa, ( wTrackOrigin( i ).plmp() ).sub( 1, 2 ) );
799 setCOrigin( pa, ( wTrackOrigin( i ).Vplm() ).sub( 1, 2 ) );
800 setQOrigin( pb, ( wTrackOrigin( i ).plmp() ).sub( 3, 4 ) );
801 setQInfit( pb, ( wTrackOrigin( i ).plmp() ).sub( 3, 4 ) );
802 HepSymMatrix Dinv( 2, 0 );
803 setDOriginInv( pb, Dinv );
804 break;
805 }
806 case 5: {
807 setPOrigin( pa, ( wTrackOrigin( i ).plmp() ).sub( 1, 3 ) );
808 setPInfit( pa, ( wTrackOrigin( i ).plmp() ).sub( 1, 3 ) );
809 setCOrigin( pa, ( wTrackOrigin( i ).Vplm() ).sub( 1, 3 ) );
810 setQOrigin( pb, ( wTrackOrigin( i ).plmp() ).sub( 4, 4 ) );
811 setQInfit( pb, ( wTrackOrigin( i ).plmp() ).sub( 4, 4 ) );
812 HepSymMatrix Dinv( 1, 0 );
813 setDOriginInv( pb, Dinv );
814 break;
815 }
816 case 6: {
817 setPOrigin( pa, ( wTrackOrigin( i ).w() ).sub( 5, 7 ) );
818 setPOrigin( pa + 3, ( wTrackOrigin( i ).w() ).sub( 4, 4 ) );
819 setPInfit( pa, ( wTrackOrigin( i ).w() ).sub( 5, 7 ) );
820 setPInfit( pa + 3, ( wTrackOrigin( i ).w() ).sub( 4, 4 ) );
821 setCOrigin( pa, ( wTrackOrigin( i ).Ew() ).sub( 5, 7 ) );
822 setCOrigin( pa + 3, ( wTrackOrigin( i ).Ew() ).sub( 4, 4 ) );
823 HepVector beam( 3, 0 );
824 beam[0] = getBeamPosition().x();
825 beam[1] = getBeamPosition().y();
826 beam[2] = getBeamPosition().z();
827 setQOrigin( pb, beam );
828 setQInfit( pb, beam );
829 HepSymMatrix Dinv( 3, 0 );
830 int ifail;
831 Dinv = getVBeamPosition().inverse( ifail );
832
833 setDOriginInv( pb, Dinv );
834 break;
835 }
836
837 case 7: {
838 HepVector w1( 4, 0 );
839 HepSymMatrix Ew1( 4, 0 );
840 for ( int j = 0; j < 3; j++ ) { w1[j] = wTrackOrigin( i ).w()[j]; }
841 w1[3] = wTrackOrigin( i ).mass();
842
843 for ( int m = 0; m < 3; m++ )
844 {
845 for ( int n = 0; n < 3; n++ ) { Ew1[m][n] = wTrackOrigin( i ).Ew()[m][n]; }
846 }
847 setPOrigin( pa, w1 );
848 setPInfit( pa, w1 );
849 setCOrigin( pa, Ew1 );
850 break;
851 }
852 }
853 }
854
855 //
856 // iteration
857 //
858
859 std::vector<double> chisq;
860 chisq.clear();
861 int nc = 0;
862 // for(int i = 0; i < m_kc.size(); i++)
863 nc += m_kc[n].nc();
864
865 m_A = HepMatrix( nc, numberone(), 0 );
866 m_AT = HepMatrix( numberone(), nc, 0 );
867 m_B = HepMatrix( nc, numbertwo(), 0 );
868 m_BT = HepMatrix( numbertwo(), nc, 0 );
869 m_G = HepVector( nc, 0 );
870 m_Vm = HepSymMatrix( nc, 0 );
871 int num1 = 0;
872 KinematicConstraints kc = m_kc[n];
873 m_Vm.sub( num1 + 1, kc.Vmeasure() );
874 num1 = kc.nc();
875 for ( int it = 0; it < m_niter; it++ )
876 {
877 m_nc = 0;
878 KinematicConstraints kc = m_kc[n];
879 updateConstraints( kc );
880 fit( n );
881
882 chisq.push_back( m_chisq[n] );
883
884 if ( it > 0 )
885 {
886
887 double delchi = chisq[it] - chisq[it - 1];
888 if ( fabs( delchi ) < m_chiter ) break;
889 }
890 }
891 if ( m_chisq[n] >= m_chicut ) { return okfit; }
892 // update track parameter and its covariance matrix
893 // upCovmtx();
894
895 okfit = true;
896
897 return okfit;
898}

◆ Fit() [5/6]

bool KalmanKinematicFit::Fit ( int n)

◆ Fit() [6/6]

bool KalmanKinematicFit::Fit ( int n)

◆ getCInfit() [1/3]

HepSymMatrix KalmanKinematicFit::getCInfit ( int i) const

Definition at line 1390 of file KalmanKinematicFit.cxx.

1390 {
1391 int pa = mappositionA()[n] + 1;
1392 int pb = mappositionB()[n] + 1;
1393 int ptype = mapkinematic()[n];
1394 switch ( ptype )
1395 {
1396 case 0: {
1397 return m_C.sub( pa, pa + NTRKPAR - 1 );
1398 break;
1399 }
1400 case 1: {
1401 return m_C.sub( pa, pa + NTRKPAR - 1 );
1402 break;
1403 }
1404 case 3: {
1405 return m_C.sub( pa, pa );
1406 break;
1407 }
1408 case 4: {
1409 return m_C.sub( pa, pa + 1 );
1410 break;
1411 }
1412 case 5: {
1413 return m_C.sub( pa, pa + 2 );
1414 break;
1415 }
1416 case 7: {
1417 return m_C.sub( pa, pa + NTRKPAR - 1 );
1418 break;
1419 }
1420 }
1421
1422 std::cerr << __FILE__ << ":" << __LINE__ << " Should not reach here!" << std::endl;
1423 exit( 1 );
1424}

Referenced by pull().

◆ getCInfit() [2/3]

HepSymMatrix KalmanKinematicFit::getCInfit ( int i) const

◆ getCInfit() [3/3]

HepSymMatrix KalmanKinematicFit::getCInfit ( int i) const

◆ getCOrigin() [1/3]

HepSymMatrix KalmanKinematicFit::getCOrigin ( int i) const

Definition at line 1354 of file KalmanKinematicFit.cxx.

1354 {
1355 int pa = mappositionA()[n] + 1;
1356 int pb = mappositionB()[n] + 1;
1357 int ptype = mapkinematic()[n];
1358 switch ( ptype )
1359 {
1360 case 0: {
1361 return m_C0.sub( pa, pa + NTRKPAR - 1 );
1362 break;
1363 }
1364 case 1: {
1365 return m_C0.sub( pa, pa + NTRKPAR - 1 );
1366 break;
1367 }
1368 case 3: {
1369 return m_C0.sub( pa, pa );
1370 break;
1371 }
1372 case 4: {
1373 return m_C0.sub( pa, pa + 1 );
1374 break;
1375 }
1376 case 5: {
1377 return m_C0.sub( pa, pa + 2 );
1378 break;
1379 }
1380 case 7: {
1381 return m_C0.sub( pa, pa + NTRKPAR - 1 );
1382 break;
1383 }
1384 }
1385
1386 std::cerr << __FILE__ << ":" << __LINE__ << " Should not reach here!" << std::endl;
1387 exit( 1 );
1388}

Referenced by pull().

◆ getCOrigin() [2/3]

HepSymMatrix KalmanKinematicFit::getCOrigin ( int i) const

◆ getCOrigin() [3/3]

HepSymMatrix KalmanKinematicFit::getCOrigin ( int i) const

◆ infit() [1/3]

WTrackParameter KalmanKinematicFit::infit ( int n) const
inline

Definition at line 154 of file Analysis/VertexFit/include/VertexFit/KalmanKinematicFit.h.

154{ return wTrackInfit( n ); }

◆ infit() [2/3]

WTrackParameter KalmanKinematicFit::infit ( int n) const
inline

◆ infit() [3/3]

WTrackParameter KalmanKinematicFit::infit ( int n) const
inline

◆ init() [1/3]

void KalmanKinematicFit::init ( )

Definition at line 34 of file KalmanKinematicFit.cxx.

34 {
38 // gamma shape
44 clearone();
45 cleartwo();
46 setBeamPosition( HepPoint3D( 0.0, 0.0, 0.0 ) );
47 setVBeamPosition( HepSymMatrix( 3, 0 ) );
48 //=============
49 m_kc.clear();
50 m_chisq.clear();
51 m_chi = 9999.;
52 m_niter = 10;
53 m_chicut = 200.;
54 m_chiter = 0.005;
55 m_espread = 0.0;
56 m_collideangle = 11e-3;
57 m_flag = 0;
58 m_dynamicerror = 0;
59 m_nc = 0;
60 m_cpu = HepVector( 10, 0 );
61 m_virtual_wtrk.clear();
62 m_graph2d = 0;
63 // m_graph2d =
64 // TGraph2D("/ihepbatch/bes/yanl/6.5.0//TestRelease/TestRelease-00-00-62/run/gamma/new/graph.dat");
65}
HepGeom::Point3D< double > HepPoint3D
void setVBeamPosition(const HepSymMatrix VBeamPosition)
void setBeamPosition(const HepPoint3D BeamPosition)

Referenced by Gam4pikp::execute(), Rhopi::execute(), K0pi0::MTotal(), K0pipipi0::MTotal(), K3pipi0::MTotal(), Kkpi0::MTotal(), Kpipi0::MTotal(), Kpipi0pi0::MTotal(), and Pipipi0::MTotal().

◆ init() [2/3]

void KalmanKinematicFit::init ( )

◆ init() [3/3]

void KalmanKinematicFit::init ( )

◆ instance() [1/3]

KalmanKinematicFit * KalmanKinematicFit::instance ( )
static

Definition at line 21 of file KalmanKinematicFit.cxx.

21 {
22 if ( m_pointer ) return m_pointer;
23 m_pointer = new KalmanKinematicFit();
24 return m_pointer;
25}

Referenced by Gam4pikp::execute(), Rhopi::execute(), K0pi0::MTotal(), K0pipipi0::MTotal(), K3pipi0::MTotal(), Kkpi0::MTotal(), Kpipi0::MTotal(), Kpipi0pi0::MTotal(), and Pipipi0::MTotal().

◆ instance() [2/3]

KalmanKinematicFit * KalmanKinematicFit::instance ( )
static

◆ instance() [3/3]

KalmanKinematicFit * KalmanKinematicFit::instance ( )
static

◆ origin() [1/3]

WTrackParameter KalmanKinematicFit::origin ( int n) const
inline

Definition at line 153 of file Analysis/VertexFit/include/VertexFit/KalmanKinematicFit.h.

153{ return wTrackOrigin( n ); }

◆ origin() [2/3]

WTrackParameter KalmanKinematicFit::origin ( int n) const
inline

◆ origin() [3/3]

WTrackParameter KalmanKinematicFit::origin ( int n) const
inline

◆ pfit() [1/3]

HepLorentzVector KalmanKinematicFit::pfit ( int n) const
inline

◆ pfit() [2/3]

HepLorentzVector KalmanKinematicFit::pfit ( int n) const
inline

Definition at line 147 of file InstallArea/x86_64-el9-gcc13-dbg/include/VertexFit/KalmanKinematicFit.h.

147{ return p4Infit( n ); }

◆ pfit() [3/3]

HepLorentzVector KalmanKinematicFit::pfit ( int n) const
inline

Definition at line 147 of file InstallArea/x86_64-el9-gcc13-opt/include/VertexFit/KalmanKinematicFit.h.

147{ return p4Infit( n ); }

◆ pfit1() [1/3]

HepLorentzVector KalmanKinematicFit::pfit1 ( int n)
inline

Definition at line 150 of file Analysis/VertexFit/include/VertexFit/KalmanKinematicFit.h.

150{ return p4Origin( n ); }

◆ pfit1() [2/3]

HepLorentzVector KalmanKinematicFit::pfit1 ( int n)
inline

Definition at line 150 of file InstallArea/x86_64-el9-gcc13-dbg/include/VertexFit/KalmanKinematicFit.h.

150{ return p4Origin( n ); }

◆ pfit1() [3/3]

HepLorentzVector KalmanKinematicFit::pfit1 ( int n)
inline

Definition at line 150 of file InstallArea/x86_64-el9-gcc13-opt/include/VertexFit/KalmanKinematicFit.h.

150{ return p4Origin( n ); }

◆ pull() [1/3]

HepVector KalmanKinematicFit::pull ( int n)

Definition at line 1026 of file KalmanKinematicFit.cxx.

1026 {
1027 upCovmtx();
1028 int pa = mappositionA()[n] + 1;
1029 int pb = mappositionB()[n] + 1;
1030 int ptype = mapkinematic()[n];
1031 switch ( ptype )
1032 {
1033 case 0: {
1034 HepVector W( 7, 0 );
1035 HepSymMatrix Ew( 7, 0 );
1036 HepVector W1( 7, 0 );
1037 HepSymMatrix Ew1( 7, 0 );
1038 WTrackParameter wtrk = wTrackOrigin( n );
1039 W = wTrackOrigin( n ).w();
1040 Ew = wTrackOrigin( n ).Ew();
1041 for ( int i = 0; i < 4; i++ ) { W[i] = pInfit( n )[i]; }
1042 for ( int j = 0; j < 4; j++ )
1043 {
1044 for ( int k = 0; k < 4; k++ ) { Ew[j][k] = getCInfit( n )[j][k]; }
1045 }
1046 W1 = W;
1047 double px = p4Infit( n ).px();
1048 double py = p4Infit( n ).py();
1049 double pz = p4Infit( n ).pz();
1050 double m = p4Infit( n ).m();
1051 double e = p4Infit( n ).e();
1052 HepMatrix J( 7, 7, 0 );
1053 J[0][0] = 1;
1054 J[1][1] = 1;
1055 J[2][2] = 1;
1056 J[3][0] = px / e;
1057 J[3][1] = py / e;
1058 J[3][2] = pz / e;
1059 J[3][3] = m / e;
1060 J[4][4] = 1;
1061 J[5][5] = 1;
1062 J[6][6] = 1;
1063 Ew1 = Ew.similarity( J );
1064
1065 wtrk.setW( W1 );
1066 wtrk.setEw( Ew1 );
1067 setWTrackInfit( n, wtrk );
1068
1069 HTrackParameter horigin = HTrackParameter( wTrackOrigin( n ) );
1070 HTrackParameter hinfit = HTrackParameter( wTrackInfit( n ) );
1071 HepVector a0 = horigin.hel();
1072 HepVector a1 = hinfit.hel();
1073 HepSymMatrix v0 = horigin.eHel();
1074 HepSymMatrix v1 = hinfit.eHel();
1075 HepVector pull( 9, 0 );
1076 for ( int k = 0; k < 5; k++ )
1077 { pull[k] = ( a0[k] - a1[k] ) / sqrt( abs( v0[k][k] - v1[k][k] ) ); }
1078 for ( int l = 5; l < 9; l++ )
1079 {
1080 pull[l] = ( wTrackOrigin( n ).w()[l - 5] - wTrackInfit( n ).w()[l - 5] ) /
1081 sqrt( abs( wTrackOrigin( n ).Ew()[l - 5][l - 5] -
1082 wTrackInfit( n ).Ew()[l - 5][l - 5] ) );
1083 }
1084 return pull;
1085 break;
1086 }
1087 case 1: {
1088 HepVector a0( 4, 0 );
1089 HepVector a1( 4, 0 );
1090 a0 = m_p0.sub( pa, pa + 3 );
1091 a1 = m_p.sub( pa, pa + 3 );
1092 HepSymMatrix v1 = getCInfit( n );
1093 HepSymMatrix v0 = getCOrigin( n );
1094 HepVector pull( 3, 0 );
1095 for ( int k = 0; k < 2; k++ )
1096 { pull[k] = ( a0[k] - a1[k] ) / sqrt( v0[k][k] - v1[k][k] ); }
1097 pull[2] = ( a0[3] - a1[3] ) / sqrt( v0[3][3] - v1[3][3] );
1098 return pull;
1099 break;
1100 }
1101 // case 2 : {
1102 // return pull;
1103 // break;
1104 // }
1105 // case 3 : {
1106 // return pull;
1107 // break;
1108 // }
1109 // case 4 : {
1110 // return pull;
1111 // break;
1112 // }
1113 case 5: {
1114 HepLorentzVector p0 = p4Origin( n );
1115 HepLorentzVector p1 = p4Infit( n );
1116 HepVector a0( 2, 0 );
1117 HepVector a1( 2, 0 );
1118 a0[0] = p4Origin( n ).phi();
1119 a1[0] = p4Infit( n ).phi();
1120 a0[1] = p4Origin( n ).pz() / p4Origin( n ).perp();
1121 a1[1] = p4Infit( n ).pz() / p4Infit( n ).perp();
1122 HepMatrix Jacobi( 2, 4, 0 );
1123 Jacobi[0][0] = -p4Infit( n ).py() / p4Infit( n ).perp2();
1124 Jacobi[0][1] = p4Infit( n ).px() / p4Infit( n ).perp2();
1125 Jacobi[1][0] = -( p4Infit( n ).px() / p4Infit( n ).perp() ) *
1126 ( p4Infit( n ).pz() / p4Infit( n ).perp2() );
1127 Jacobi[1][1] = -( p4Infit( n ).py() / p4Infit( n ).perp() ) *
1128 ( p4Infit( n ).pz() / p4Infit( n ).perp2() );
1129 Jacobi[1][2] = 1 / p4Infit( n ).perp();
1130 HepSymMatrix v1 = getCInfit( n ).similarity( Jacobi );
1131 HepSymMatrix v0 = wTrackOrigin( n ).Vplm().sub( 1, 2 );
1132 HepVector pull( 2, 0 );
1133 for ( int k = 0; k < 2; k++ )
1134 { pull[k] = ( a0[k] - a1[k] ) / sqrt( v0[k][k] - v1[k][k] ); }
1135 return pull;
1136 break;
1137 }
1138 }
1139
1140 std::cerr << __FILE__ << ":" << __LINE__ << " Should not reach here!" << std::endl;
1141 exit( 1 );
1142}
double p1[4]
character *LEPTONflag integer iresonances real zeta5 real a0
HepSymMatrix getCInfit(int i) const
HepSymMatrix getCOrigin(int i) const

Referenced by pull().

◆ pull() [2/3]

HepVector KalmanKinematicFit::pull ( int n)

◆ pull() [3/3]

HepVector KalmanKinematicFit::pull ( int n)

◆ setChisqCut() [1/3]

void KalmanKinematicFit::setChisqCut ( const double chicut = 200,
const double chiter = 0.05 )
inline

Definition at line 122 of file Analysis/VertexFit/include/VertexFit/KalmanKinematicFit.h.

122 {
123 m_chicut = chicut;
124 m_chiter = chiter;
125 }

Referenced by K0pi0::MTotal(), K0pipipi0::MTotal(), K3pipi0::MTotal(), Kkpi0::MTotal(), Kpipi0::MTotal(), Kpipi0pi0::MTotal(), and Pipipi0::MTotal().

◆ setChisqCut() [2/3]

void KalmanKinematicFit::setChisqCut ( const double chicut = 200,
const double chiter = 0.05 )
inline

Definition at line 122 of file InstallArea/x86_64-el9-gcc13-dbg/include/VertexFit/KalmanKinematicFit.h.

122 {
123 m_chicut = chicut;
124 m_chiter = chiter;
125 }

◆ setChisqCut() [3/3]

void KalmanKinematicFit::setChisqCut ( const double chicut = 200,
const double chiter = 0.05 )
inline

Definition at line 122 of file InstallArea/x86_64-el9-gcc13-opt/include/VertexFit/KalmanKinematicFit.h.

122 {
123 m_chicut = chicut;
124 m_chiter = chiter;
125 }

◆ setCollideangle() [1/3]

void KalmanKinematicFit::setCollideangle ( const double collideangle = 11e-3)
inline

◆ setCollideangle() [2/3]

void KalmanKinematicFit::setCollideangle ( const double collideangle = 11e-3)
inline

◆ setCollideangle() [3/3]

void KalmanKinematicFit::setCollideangle ( const double collideangle = 11e-3)
inline

◆ setDynamicerror() [1/3]

void KalmanKinematicFit::setDynamicerror ( const bool dynamicerror = 1)
inline

◆ setDynamicerror() [2/3]

void KalmanKinematicFit::setDynamicerror ( const bool dynamicerror = 1)
inline

◆ setDynamicerror() [3/3]

void KalmanKinematicFit::setDynamicerror ( const bool dynamicerror = 1)
inline

◆ setEspread() [1/3]

void KalmanKinematicFit::setEspread ( const double espread = 0.0009)
inline

◆ setEspread() [2/3]

void KalmanKinematicFit::setEspread ( const double espread = 0.0009)
inline

◆ setEspread() [3/3]

void KalmanKinematicFit::setEspread ( const double espread = 0.0009)
inline

◆ setFlag() [1/3]

void KalmanKinematicFit::setFlag ( const bool flag = 1)
inline

Definition at line 120 of file Analysis/VertexFit/include/VertexFit/KalmanKinematicFit.h.

120{ m_flag = flag; }

◆ setFlag() [2/3]

void KalmanKinematicFit::setFlag ( const bool flag = 1)
inline

◆ setFlag() [3/3]

void KalmanKinematicFit::setFlag ( const bool flag = 1)
inline

◆ setIterNumber() [1/3]

void KalmanKinematicFit::setIterNumber ( const int niter = 5)
inline

Definition at line 121 of file Analysis/VertexFit/include/VertexFit/KalmanKinematicFit.h.

121{ m_niter = niter; }

◆ setIterNumber() [2/3]

void KalmanKinematicFit::setIterNumber ( const int niter = 5)
inline

Definition at line 121 of file InstallArea/x86_64-el9-gcc13-dbg/include/VertexFit/KalmanKinematicFit.h.

121{ m_niter = niter; }

◆ setIterNumber() [3/3]

void KalmanKinematicFit::setIterNumber ( const int niter = 5)
inline

Definition at line 121 of file InstallArea/x86_64-el9-gcc13-opt/include/VertexFit/KalmanKinematicFit.h.

121{ m_niter = niter; }

◆ setTgraph() [1/3]

void KalmanKinematicFit::setTgraph ( TGraph2D * graph2d)
inline

Definition at line 132 of file Analysis/VertexFit/include/VertexFit/KalmanKinematicFit.h.

132{ m_graph2d = graph2d; }

◆ setTgraph() [2/3]

void KalmanKinematicFit::setTgraph ( TGraph2D * graph2d)
inline

Definition at line 132 of file InstallArea/x86_64-el9-gcc13-dbg/include/VertexFit/KalmanKinematicFit.h.

132{ m_graph2d = graph2d; }

◆ setTgraph() [3/3]

void KalmanKinematicFit::setTgraph ( TGraph2D * graph2d)
inline

Definition at line 132 of file InstallArea/x86_64-el9-gcc13-opt/include/VertexFit/KalmanKinematicFit.h.

132{ m_graph2d = graph2d; }

◆ wVirtualTrack() [1/3]

WTrackParameter KalmanKinematicFit::wVirtualTrack ( int n) const
inline

Definition at line 167 of file Analysis/VertexFit/include/VertexFit/KalmanKinematicFit.h.

167{ return m_virtual_wtrk[n]; }

◆ wVirtualTrack() [2/3]

WTrackParameter KalmanKinematicFit::wVirtualTrack ( int n) const
inline

Definition at line 167 of file InstallArea/x86_64-el9-gcc13-dbg/include/VertexFit/KalmanKinematicFit.h.

167{ return m_virtual_wtrk[n]; }

◆ wVirtualTrack() [3/3]

WTrackParameter KalmanKinematicFit::wVirtualTrack ( int n) const
inline

Definition at line 167 of file InstallArea/x86_64-el9-gcc13-opt/include/VertexFit/KalmanKinematicFit.h.

167{ return m_virtual_wtrk[n]; }

◆ xfit() [1/3]

HepVector KalmanKinematicFit::xfit ( )
inline

Definition at line 151 of file Analysis/VertexFit/include/VertexFit/KalmanKinematicFit.h.

151{ return m_q.sub( 1, 3 ); }

◆ xfit() [2/3]

HepVector KalmanKinematicFit::xfit ( )
inline

Definition at line 151 of file InstallArea/x86_64-el9-gcc13-dbg/include/VertexFit/KalmanKinematicFit.h.

151{ return m_q.sub( 1, 3 ); }

◆ xfit() [3/3]

HepVector KalmanKinematicFit::xfit ( )
inline

Definition at line 151 of file InstallArea/x86_64-el9-gcc13-opt/include/VertexFit/KalmanKinematicFit.h.

151{ return m_q.sub( 1, 3 ); }

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