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

#include <KinematicFit.h>

Inheritance diagram for KinematicFit:

Public Member Functions

 ~KinematicFit ()
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 setKalman (const int kalman)
void setEspread (const double espread=0.0009)
void setCollideangle (const double collideangle=11e-3)
void setDynamicerror (const bool dynamicerror=1)
bool Fit ()
bool Fit (int n)
double chisq () const
double chisq (int n) const
HepLorentzVector pfit (int n) const
HepLorentzVector pfit1 (int n) const
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
WTrackParameter wVirtualTrack (int n) const
 ~KinematicFit ()
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 setKalman (const int kalman)
void setEspread (const double espread=0.0009)
void setCollideangle (const double collideangle=11e-3)
void setDynamicerror (const bool dynamicerror=1)
bool Fit ()
bool Fit (int n)
double chisq () const
double chisq (int n) const
HepLorentzVector pfit (int n) const
HepLorentzVector pfit1 (int n) const
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
WTrackParameter wVirtualTrack (int n) const
 ~KinematicFit ()
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 setKalman (const int kalman)
void setEspread (const double espread=0.0009)
void setCollideangle (const double collideangle=11e-3)
void setDynamicerror (const bool dynamicerror=1)
bool Fit ()
bool Fit (int n)
double chisq () const
double chisq (int n) const
HepLorentzVector pfit (int n) const
HepLorentzVector pfit1 (int n) const
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
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 KinematicFitinstance ()
static KinematicFitinstance ()
static KinematicFitinstance ()

Detailed Description

Constructor & Destructor Documentation

◆ ~KinematicFit() [1/3]

KinematicFit::~KinematicFit ( )

Definition at line 26 of file KinematicFit.cxx.

26 {
27 // if(m_pointer) delete m_pointer;
28}

◆ ~KinematicFit() [2/3]

KinematicFit::~KinematicFit ( )

◆ ~KinematicFit() [3/3]

KinematicFit::~KinematicFit ( )

Member Function Documentation

◆ AddEqualMass() [1/3]

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

Definition at line 311 of file KinematicFit.cxx.

311 {
312 KinematicConstraints kc;
313 HepSymMatrix Vne = HepSymMatrix( 1, 0 );
314 kc.EqualMassConstraints( tlis1, tlis2, Vne );
315 m_kc.push_back( kc );
316 if ( (unsigned int)number != m_kc.size() - 1 )
317 std::cout << "wrong kinematic constraints index" << std::endl;
318}
void EqualMassConstraints(std::vector< int > tlis1, std::vector< int > tlis2, HepSymMatrix Vne)

◆ AddEqualMass() [2/3]

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

◆ AddEqualMass() [3/3]

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

◆ AddFourMomentum() [1/6]

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

Definition at line 364 of file KinematicFit.cxx.

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

◆ AddFourMomentum() [2/6]

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

◆ AddFourMomentum() [3/6]

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

◆ AddFourMomentum() [4/6]

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

Definition at line 341 of file KinematicFit.cxx.

341 {
342
343 std::vector<int> tlis;
344 tlis.clear();
345 KinematicConstraints kc;
346
347 for ( int i = 0; i < numberWTrack(); i++ ) { tlis.push_back( i ); }
348 // for(int i = 0; i < numberWTrack_V(); i++) {
349 // tlis_V.push_back(i);
350 // }
351
352 HepSymMatrix Vme = HepSymMatrix( 4, 0 );
353 Vme[0][0] = 2 * m_espread * m_espread * sin( m_collideangle ) * sin( m_collideangle );
354 Vme[0][3] = 2 * m_espread * m_espread * sin( m_collideangle );
355 Vme[3][3] = 2 * m_espread * m_espread;
356
357 // kc.FourMomentumConstraints(p4, tlis, Vme);
358 kc.FourMomentumConstraints( p4, tlis, Vme );
359 m_kc.push_back( kc );
360 if ( (unsigned int)number != m_kc.size() - 1 )
361 std::cout << "wrong kinematic constraints index" << std::endl;
362}

Referenced by CalibEventSelect::execute(), DQAKsKpi::execute(), DQAKsKpiDEDX::execute(), DQARhopi::execute(), JsiLL::execute(), KsKpi::execute(), Ppjrhopi::execute(), and ValidJpsiRhopi::execute().

◆ AddFourMomentum() [5/6]

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

◆ AddFourMomentum() [6/6]

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

◆ AddResonance() [1/39]

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

Definition at line 68 of file KinematicFit.cxx.

68 {
69 std::vector<int> tlis = AddList( n1 );
70 AddResonance( number, mres, tlis );
71}
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 KinematicFit::AddResonance ( int number,
double mres,
int n1 )

◆ AddResonance() [3/39]

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

◆ AddResonance() [4/39]

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

Definition at line 73 of file KinematicFit.cxx.

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

◆ AddResonance() [5/39]

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

◆ AddResonance() [6/39]

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

◆ AddResonance() [7/39]

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

Definition at line 78 of file KinematicFit.cxx.

78 {
79 std::vector<int> tlis = AddList( n1, n2, n3 );
80 AddResonance( number, mres, tlis );
81}

◆ AddResonance() [8/39]

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

◆ AddResonance() [9/39]

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

◆ AddResonance() [10/39]

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

Definition at line 83 of file KinematicFit.cxx.

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

◆ AddResonance() [11/39]

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

◆ AddResonance() [12/39]

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

◆ AddResonance() [13/39]

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

Definition at line 88 of file KinematicFit.cxx.

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

◆ AddResonance() [14/39]

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

◆ AddResonance() [15/39]

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

◆ AddResonance() [16/39]

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

Definition at line 94 of file KinematicFit.cxx.

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

◆ AddResonance() [17/39]

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

◆ AddResonance() [18/39]

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

◆ AddResonance() [19/39]

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

Definition at line 100 of file KinematicFit.cxx.

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

◆ AddResonance() [20/39]

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

◆ AddResonance() [21/39]

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

◆ AddResonance() [22/39]

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

Definition at line 106 of file KinematicFit.cxx.

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

◆ AddResonance() [23/39]

void KinematicFit::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 KinematicFit::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 KinematicFit::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 112 of file KinematicFit.cxx.

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

◆ AddResonance() [26/39]

void KinematicFit::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 KinematicFit::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 KinematicFit::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 118 of file KinematicFit.cxx.

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

◆ AddResonance() [29/39]

void KinematicFit::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 KinematicFit::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 KinematicFit::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 124 of file KinematicFit.cxx.

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

◆ AddResonance() [32/39]

void KinematicFit::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 KinematicFit::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 KinematicFit::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 130 of file KinematicFit.cxx.

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

◆ AddResonance() [35/39]

void KinematicFit::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 KinematicFit::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 KinematicFit::AddResonance ( int number,
double mres,
std::vector< int > tlis )

Definition at line 137 of file KinematicFit.cxx.

137 {
138 KinematicConstraints kc;
139 HepSymMatrix Vre = HepSymMatrix( 1, 0 );
140 kc.ResonanceConstraints( mres, tlis, Vre );
141 m_kc.push_back( kc );
142 if ( (unsigned int)number != m_kc.size() - 1 )
143 std::cout << "wrong kinematic constraints index" << std::endl;
144}
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(), Pi0EtaToGGRecAlg::execute(), ValidJpsiRhopi::execute(), and Pi0::Pi0ListToTDS().

◆ AddResonance() [38/39]

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

◆ AddResonance() [39/39]

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

◆ AddThreeMomentum() [1/3]

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

Definition at line 324 of file KinematicFit.cxx.

324 {
325 std::vector<int> tlis;
326 tlis.clear();
327 WTrackParameter wtrk;
328 KinematicConstraints kc;
329
330 for ( int i = 0; i < numberWTrack(); i++ ) { tlis.push_back( i ); }
331 kc.ThreeMomentumConstraints( p3, tlis );
332 m_kc.push_back( kc );
333 if ( (unsigned int)number != m_kc.size() - 1 )
334 std::cout << "wrong kinematic constraints index" << std::endl;
335}
void ThreeMomentumConstraints(const Hep3Vector p3, std::vector< int > tlis)

◆ AddThreeMomentum() [2/3]

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

◆ AddThreeMomentum() [3/3]

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

◆ AddTotalEnergy() [1/39]

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

Definition at line 232 of file KinematicFit.cxx.

232 {
233 std::vector<int> tlis = AddList( n1 );
234 AddTotalEnergy( number, etot, tlis );
235}
void AddTotalEnergy(int number, double etot, std::vector< int > lis)

◆ AddTotalEnergy() [2/39]

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

◆ AddTotalEnergy() [3/39]

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

◆ AddTotalEnergy() [4/39]

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

Definition at line 236 of file KinematicFit.cxx.

236 {
237 std::vector<int> tlis = AddList( n1, n2 );
238 AddTotalEnergy( number, etot, tlis );
239}

◆ AddTotalEnergy() [5/39]

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

◆ AddTotalEnergy() [6/39]

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

◆ AddTotalEnergy() [7/39]

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

Definition at line 241 of file KinematicFit.cxx.

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

◆ AddTotalEnergy() [8/39]

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

◆ AddTotalEnergy() [9/39]

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

◆ AddTotalEnergy() [10/39]

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

Definition at line 246 of file KinematicFit.cxx.

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

◆ AddTotalEnergy() [11/39]

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

◆ AddTotalEnergy() [12/39]

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

◆ AddTotalEnergy() [13/39]

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

Definition at line 251 of file KinematicFit.cxx.

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

◆ AddTotalEnergy() [14/39]

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

◆ AddTotalEnergy() [15/39]

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

◆ AddTotalEnergy() [16/39]

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

Definition at line 257 of file KinematicFit.cxx.

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

◆ AddTotalEnergy() [17/39]

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

◆ AddTotalEnergy() [18/39]

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

◆ AddTotalEnergy() [19/39]

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

Definition at line 263 of file KinematicFit.cxx.

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

◆ AddTotalEnergy() [20/39]

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

◆ AddTotalEnergy() [21/39]

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

◆ AddTotalEnergy() [22/39]

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

Definition at line 269 of file KinematicFit.cxx.

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

◆ AddTotalEnergy() [23/39]

void KinematicFit::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 KinematicFit::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 KinematicFit::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 275 of file KinematicFit.cxx.

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

◆ AddTotalEnergy() [26/39]

void KinematicFit::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 KinematicFit::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 KinematicFit::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 281 of file KinematicFit.cxx.

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

◆ AddTotalEnergy() [29/39]

void KinematicFit::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 KinematicFit::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 KinematicFit::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 287 of file KinematicFit.cxx.

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

◆ AddTotalEnergy() [32/39]

void KinematicFit::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 KinematicFit::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 KinematicFit::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 293 of file KinematicFit.cxx.

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

◆ AddTotalEnergy() [35/39]

void KinematicFit::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 KinematicFit::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 KinematicFit::AddTotalEnergy ( int number,
double etot,
std::vector< int > lis )

Definition at line 300 of file KinematicFit.cxx.

300 {
301 KinematicConstraints kc;
302 kc.TotalEnergyConstraints( etot, tlis );
303 m_kc.push_back( kc );
304 if ( (unsigned int)number != m_kc.size() - 1 )
305 std::cout << "wrong kinematic constraints index" << std::endl;
306}
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 KinematicFit::AddTotalEnergy ( int number,
double etot,
std::vector< int > lis )

◆ AddTotalEnergy() [39/39]

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

◆ AddTotalMomentum() [1/39]

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

Definition at line 150 of file KinematicFit.cxx.

150 {
151 std::vector<int> tlis = AddList( n1 );
152 AddTotalMomentum( number, ptot, tlis );
153}
void AddTotalMomentum(int number, double ptot, std::vector< int > lis)

◆ AddTotalMomentum() [2/39]

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

◆ AddTotalMomentum() [3/39]

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

◆ AddTotalMomentum() [4/39]

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

Definition at line 154 of file KinematicFit.cxx.

154 {
155 std::vector<int> tlis = AddList( n1, n2 );
156 AddTotalMomentum( number, ptot, tlis );
157}

◆ AddTotalMomentum() [5/39]

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

◆ AddTotalMomentum() [6/39]

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

◆ AddTotalMomentum() [7/39]

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

Definition at line 159 of file KinematicFit.cxx.

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

◆ AddTotalMomentum() [8/39]

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

◆ AddTotalMomentum() [9/39]

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

◆ AddTotalMomentum() [10/39]

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

Definition at line 164 of file KinematicFit.cxx.

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

◆ AddTotalMomentum() [11/39]

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

◆ AddTotalMomentum() [12/39]

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

◆ AddTotalMomentum() [13/39]

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

Definition at line 170 of file KinematicFit.cxx.

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

◆ AddTotalMomentum() [14/39]

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

◆ AddTotalMomentum() [15/39]

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

◆ AddTotalMomentum() [16/39]

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

Definition at line 176 of file KinematicFit.cxx.

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

◆ AddTotalMomentum() [17/39]

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

◆ AddTotalMomentum() [18/39]

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

◆ AddTotalMomentum() [19/39]

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

Definition at line 182 of file KinematicFit.cxx.

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

◆ AddTotalMomentum() [20/39]

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

◆ AddTotalMomentum() [21/39]

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

◆ AddTotalMomentum() [22/39]

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

Definition at line 188 of file KinematicFit.cxx.

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

◆ AddTotalMomentum() [23/39]

void KinematicFit::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 KinematicFit::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 KinematicFit::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 194 of file KinematicFit.cxx.

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

◆ AddTotalMomentum() [26/39]

void KinematicFit::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 KinematicFit::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 KinematicFit::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 200 of file KinematicFit.cxx.

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

◆ AddTotalMomentum() [29/39]

void KinematicFit::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 KinematicFit::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 KinematicFit::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 206 of file KinematicFit.cxx.

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

◆ AddTotalMomentum() [32/39]

void KinematicFit::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 KinematicFit::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 KinematicFit::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 213 of file KinematicFit.cxx.

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

◆ AddTotalMomentum() [35/39]

void KinematicFit::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 KinematicFit::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 KinematicFit::AddTotalMomentum ( int number,
double ptot,
std::vector< int > lis )

Definition at line 220 of file KinematicFit.cxx.

220 {
221 KinematicConstraints kc;
222 kc.TotalMomentumConstraints( ptot, tlis );
223 m_kc.push_back( kc );
224 if ( (unsigned int)number != m_kc.size() - 1 )
225 std::cout << "wrong kinematic constraints index" << std::endl;
226}
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 KinematicFit::AddTotalMomentum ( int number,
double ptot,
std::vector< int > lis )

◆ AddTotalMomentum() [39/39]

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

◆ BuildVirtualParticle() [1/3]

void KinematicFit::BuildVirtualParticle ( int number)

Definition at line 757 of file KinematicFit.cxx.

757 {
758 //
759 // q = p1 + p2 + ... + pn
760 //
761 upCovmtx();
762 KinematicConstraints kc = m_kc[n];
763 int ntrk = ( kc.Ltrk() ).size();
764 int charge = 0;
765 HepVector w( 7, 0 );
766 HepSymMatrix ew( 7, 0 );
767 HepMatrix dwdp( 7, 7, 0 );
768 dwdp[0][0] = 1;
769 dwdp[1][1] = 1;
770 dwdp[2][2] = 1;
771 dwdp[3][3] = 1;
772 dwdp[4][4] = 1;
773 dwdp[5][5] = 1;
774 dwdp[6][6] = 1;
775 for ( int i = 0; i < ntrk; i++ )
776 {
777 int itk = ( kc.Ltrk() )[i];
778 charge += wTrackInfit( itk ).charge();
779 w[0] = w[0] + wTrackInfit( itk ).w()[0];
780 w[1] = w[1] + wTrackInfit( itk ).w()[1];
781 w[2] = w[2] + wTrackInfit( itk ).w()[2];
782 w[3] = w[3] + wTrackInfit( itk ).w()[3];
783 w[4] = 0.0; //
784 w[5] = 0.0; // set virtual particle's vertex at (0,0,0)
785 w[6] = 0.0; //
786 ew = ew +
787 ( wTrackInfit( itk ).Ew() ).similarity( dwdp ); // the vertex matrix of this
788 // particles is not correct, because
789 // we do not use vertex information in
790 // kinematicfit, so ...
791 }
792 double m = sqrt( w[3] * w[3] - w[0] * w[0] - w[1] * w[1] - w[2] * w[2] );
793 WTrackParameter vwtrk;
794 vwtrk.setCharge( charge );
795 vwtrk.setW( w );
796 vwtrk.setEw( ew );
797 vwtrk.setMass( m );
798 m_virtual_wtrk.push_back( vwtrk );
799}
const Int_t n
double w
std::vector< WTrackParameter > wTrackInfit() const

Referenced by Pi0EtaToGGRecAlg::execute().

◆ BuildVirtualParticle() [2/3]

void KinematicFit::BuildVirtualParticle ( int number)

◆ BuildVirtualParticle() [3/3]

void KinematicFit::BuildVirtualParticle ( int number)

◆ chisq() [1/6]

◆ chisq() [2/6]

double KinematicFit::chisq ( ) const
inline

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

141{ return m_chi; }

◆ chisq() [3/6]

double KinematicFit::chisq ( ) const
inline

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

141{ return m_chi; }

◆ chisq() [4/6]

double KinematicFit::chisq ( int n) const
inline

Definition at line 142 of file Analysis/VertexFit/include/VertexFit/KinematicFit.h.

142{ return m_chisq[n]; }

◆ chisq() [5/6]

double KinematicFit::chisq ( int n) const
inline

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

142{ return m_chisq[n]; }

◆ chisq() [6/6]

double KinematicFit::chisq ( int n) const
inline

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

142{ return m_chisq[n]; }

◆ collideangle() [1/3]

double KinematicFit::collideangle ( ) const
inline

Definition at line 156 of file Analysis/VertexFit/include/VertexFit/KinematicFit.h.

156{ return m_collideangle; }

Referenced by setCollideangle().

◆ collideangle() [2/3]

double KinematicFit::collideangle ( ) const
inline

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

156{ return m_collideangle; }

◆ collideangle() [3/3]

double KinematicFit::collideangle ( ) const
inline

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

156{ return m_collideangle; }

◆ cpu() [1/3]

HepVector KinematicFit::cpu ( ) const
inline

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

159{ return m_cpu; }

◆ cpu() [2/3]

HepVector KinematicFit::cpu ( ) const
inline

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

159{ return m_cpu; }

◆ cpu() [3/3]

HepVector KinematicFit::cpu ( ) const
inline

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

159{ return m_cpu; }

◆ dynamicerror() [1/3]

bool KinematicFit::dynamicerror ( ) const
inline

Definition at line 157 of file Analysis/VertexFit/include/VertexFit/KinematicFit.h.

157{ return m_dynamicerror; }

Referenced by setDynamicerror().

◆ dynamicerror() [2/3]

bool KinematicFit::dynamicerror ( ) const
inline

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

157{ return m_dynamicerror; }

◆ dynamicerror() [3/3]

bool KinematicFit::dynamicerror ( ) const
inline

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

157{ return m_dynamicerror; }

◆ espread() [1/3]

double KinematicFit::espread ( ) const
inline

Definition at line 155 of file Analysis/VertexFit/include/VertexFit/KinematicFit.h.

155{ return m_espread; }

Referenced by setEspread().

◆ espread() [2/3]

double KinematicFit::espread ( ) const
inline

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

155{ return m_espread; }

◆ espread() [3/3]

double KinematicFit::espread ( ) const
inline

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

155{ return m_espread; }

◆ Fit() [1/6]

bool KinematicFit::Fit ( )

Definition at line 568 of file KinematicFit.cxx.

568 {
569 bool okfit = false;
570 TStopwatch timer;
571 m_nktrk = numberWTrack();
572 m_pOrigin = HepVector( m_nktrk * NTRKPAR, 0 );
573 m_pInfit = HepVector( m_nktrk * NTRKPAR, 0 );
574 m_covOrigin = HepSymMatrix( m_nktrk * NTRKPAR, 0 );
575 m_covInfit = HepSymMatrix( m_nktrk * NTRKPAR, 0 );
576 m_massvector = HepVector( m_nktrk, 0 );
577 for ( int i = 0; i < numberWTrack(); i++ )
578 {
579 setWTrackInfit( i, wTrackOrigin( i ) );
580 setPOrigin( i, ( wTrackOrigin( i ).w() ).sub( 1, NTRKPAR ) );
581 setPInfit( i, ( wTrackOrigin( i ).w() ).sub( 1, NTRKPAR ) );
582 setCovOrigin( i, ( wTrackOrigin( i ).Ew() ).sub( 1, NTRKPAR ) );
583 setMassvector( i, wTrackOrigin( i ).mass() );
584 }
585
586 //
587 // iteration
588 //
589 // cout<<"m_pInfit ="<<m_pInfit<<endl;
590 // cout<<"m_covOrigin="<<m_covOrigin<<endl;
591 // cout<<"m_massvector ="<<m_massvector<<endl;
592
593 std::vector<double> chisq;
594 chisq.clear();
595 int nc = 0;
596 for ( int i = 0; i < m_kc.size(); i++ ) nc += m_kc[i].nc();
597
598 m_D = HepMatrix( nc, m_nktrk * NTRKPAR, 0 );
599 m_DT = HepMatrix( m_nktrk * NTRKPAR, nc, 0 );
600 m_d = HepVector( nc, 0 );
601
602 for ( int it = 0; it < m_niter; it++ )
603 {
604
605 timer.Start();
606 m_nc = 0;
607 for ( unsigned int i = 0; i < m_kc.size(); i++ )
608 {
609 KinematicConstraints kc = m_kc[i];
610 // std::vector<WTrackParameter> wlis;
611 // std::vector<WTrackParameter> wlis_V;
612 // wlis.clear();
613 // wlis_V.clear();
614 // for(unsigned int j = 0; j < (kc.Ltrk()).size(); j++) {
615 // int n = (kc.Ltrk())[j];
616 // WTrackParameter wtrk = wTrackInfit(n);
617 // if(m_espread!=0) wtrk = wTrackOrigin(n);
618 // wlis.push_back(wtrk);
619 // }
620 // for(unsigned int j = 0; j < (kc.Ltrk_V()).size(); j++) {
621 // int n = (kc.Ltrk_V())[j];
622 // WTrackParameter wtrk = wTrackInfit_V(n);
623 // wlis_V.push_back(wtrk);
624 // }
625 // kc.UpdateConstraints(wlis, wlis_V);
626 // m_kc[i] = kc;
627 // cout<<"wlis_V ="<<(wlis_V[0].w())[0]<<endl;
628 updateConstraints( kc );
629 // std::cout << "updata OK " << m_d << std::endl;
630 }
631 timer.Stop();
632 m_cpu[0] += timer.CpuTime();
633
634 fit();
635 chisq.push_back( m_chi );
636 if ( it > 0 )
637 {
638 double delchi = chisq[it] - chisq[it - 1];
639 if ( fabs( delchi ) < m_chiter ) break;
640 }
641 }
642 if ( m_chi >= m_chicut ) { return okfit; }
643 // update track parameter and its covariance matrix
644 // upTrkpar();
645 // covMatrix();
646 timer.Start();
647 // upCovmtx();
648 timer.Stop();
649 m_cpu[5] += timer.CpuTime();
650
651 okfit = true;
652
653 /*
654 for (int i = 0; i<numberWTrack(); i++){
655 if (wTrackOrigin(i).charge()==0) continue ;
656 HTrackParameter horigin = HTrackParameter(wTrackOrigin(i));
657 HTrackParameter hinfit = HTrackParameter(wTrackInfit(i));
658
659 HepVector a0 = horigin.hel();
660 HepVector a1 = hinfit.hel();
661 HepSymMatrix v0 = horigin.eHel();
662 HepSymMatrix v1 = hinfit.eHel();
663 HepVector pull(5,0);
664 for (int k=0; k<5; k++) {
665 pull[k] = (a0[k]-a1[k])/sqrt(abs(v0[k][k]-v1[k][k]));
666 }
667
668 WTrackParameter wtrk2 = wTrackInfit(i);
669 wtrk2.setPull(pull);
670 // for (int l=0;l<5; l++) {
671 //(wTrackInfit(i).pull())[l]=(wtrk2.pull())[l];
672 // }
673 setWTrackInfit(i, wtrk2);
674 }
675 */
676 /*/
677
678 for (int i = 0; i<numberWTrack_V(); i++){
679 //if (wTrackOrigin(i).charge()==0) continue ;
680 HTrackParameter horigin_V = HTrackParameter(wTrackOrigin_V(i));
681 HTrackParameter hinfit_V = HTrackParameter(wTrackInfit_V(i));
682
683 HepVector a0 = horigin.hel();
684 HepVector a1 = hinfit.hel();
685 HepSymMatrix v0 = horigin.eHel();
686 HepSymMatrix v1 = hinfit.eHel();
687 HepVector pull(5,0);
688 for (int k=0; k<5; k++) {
689 pull[k] = (a0[k]-a1[k])/sqrt(abs(v0[k][k]-v1[k][k]));
690 }
691
692 WTrackParameter wtrk2 = wTrackInfit(i);
693 wtrk2.setPull(pull);
694 // for (int l=0;l<5; l++) {
695 //(wTrackInfit(i).pull())[l]=(wtrk2.pull())[l];
696 // }
697 setWTrackInfit(i, wtrk2);
698 }
699 */
700
701 return okfit;
702}
double mass
std::vector< WTrackParameter > wTrackOrigin() const
void setWTrackInfit(const int n, const WTrackParameter wtrk)

Referenced by CalibEventSelect::execute(), DQAKsKpi::execute(), DQAKsKpiDEDX::execute(), DQARhopi::execute(), JsiLL::execute(), KsKpi::execute(), Pi0EtaToGGRecAlg::execute(), Ppjrhopi::execute(), ValidJpsiRhopi::execute(), and Pi0::Pi0ListToTDS().

◆ Fit() [2/6]

bool KinematicFit::Fit ( )

◆ Fit() [3/6]

bool KinematicFit::Fit ( )

◆ Fit() [4/6]

bool KinematicFit::Fit ( int n)

Definition at line 704 of file KinematicFit.cxx.

704 {
705 bool okfit = false;
706 if ( n < 0 || (unsigned int)n >= m_kc.size() ) return okfit;
707
708 m_nktrk = numberWTrack();
709 m_pOrigin = HepVector( m_nktrk * NTRKPAR, 0 );
710 m_pInfit = HepVector( m_nktrk * NTRKPAR, 0 );
711 m_covOrigin = HepSymMatrix( m_nktrk * NTRKPAR, 0 );
712 m_covInfit = HepSymMatrix( m_nktrk * NTRKPAR, 0 );
713 m_massvector = HepVector( m_nktrk * NTRKPAR, 0 );
714 for ( int i = 0; i < numberWTrack(); i++ )
715 {
716 setWTrackInfit( i, wTrackOrigin( i ) );
717 setPOrigin( i, ( wTrackOrigin( i ).w() ).sub( 1, NTRKPAR ) );
718 setPInfit( i, ( wTrackOrigin( i ).w() ).sub( 1, NTRKPAR ) );
719 setCovOrigin( i, ( wTrackOrigin( i ).Ew() ).sub( 1, NTRKPAR ) );
720 setMassvector( i, wTrackOrigin( i ).mass() );
721 }
722
723 //
724 // iteration loop
725 //
726
727 std::vector<double> chisq;
728 chisq.clear();
729
730 m_D = HepMatrix( m_kc[n].nc(), m_nktrk * NTRKPAR, 0 );
731 m_DT = HepMatrix( m_nktrk * NTRKPAR, m_kc[n].nc(), 0 );
732 m_d = HepVector( m_kc[n].nc(), 0 );
733
734 for ( int it = 0; it < m_niter; it++ )
735 {
736 m_nc = 0;
737 KinematicConstraints kc = m_kc[n];
738 updateConstraints( kc );
739 // m_kc[n] = kc;
740 fit( n );
741
742 chisq.push_back( m_chisq[n] );
743 if ( it > 0 )
744 {
745 double delchi = chisq[it] - chisq[it - 1];
746 if ( fabs( delchi ) < m_chiter ) break;
747 }
748 }
749
750 if ( m_chisq[n] >= m_chicut ) return okfit;
751 // ====update cov====
752 // upCovmtx();
753 okfit = true;
754 return okfit;
755}

◆ Fit() [5/6]

bool KinematicFit::Fit ( int n)

◆ Fit() [6/6]

bool KinematicFit::Fit ( int n)

◆ infit() [1/3]

WTrackParameter KinematicFit::infit ( int n) const
inline

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

151{ return wTrackInfit( n ); }

◆ infit() [2/3]

WTrackParameter KinematicFit::infit ( int n) const
inline

◆ infit() [3/3]

WTrackParameter KinematicFit::infit ( int n) const
inline

◆ init() [1/3]

void KinematicFit::init ( )

Definition at line 30 of file KinematicFit.cxx.

30 {
34 // For Virtual Particles
35 // gamma shape
41 clearone();
42 cleartwo();
43 setBeamPosition( HepPoint3D( 0.0, 0.0, 0.0 ) );
44 setVBeamPosition( HepSymMatrix( 3, 0 ) );
45
46 //=============
47 m_kc.clear();
48 m_chisq.clear();
49 m_chi = 9999.;
50 m_niter = 10;
51 m_chicut = 200.;
52 m_chiter = 0.005;
53 m_espread = 0.0;
54 m_kalman = 0;
55 m_collideangle = 11e-3;
56 m_flag = 0;
57 m_dynamicerror = 0;
58 m_nc = 0;
59 m_cpu = HepVector( 10, 0 );
60 m_massvector = HepVector( 12, 0 );
61 m_virtual_wtrk.clear();
62}
HepGeom::Point3D< double > HepPoint3D
void setVBeamPosition(const HepSymMatrix VBeamPosition)
void setBeamPosition(const HepPoint3D BeamPosition)

Referenced by CalibEventSelect::execute(), DQAKsKpi::execute(), DQAKsKpiDEDX::execute(), DQARhopi::execute(), JsiLL::execute(), KsKpi::execute(), Pi0EtaToGGRecAlg::execute(), Ppjrhopi::execute(), ValidJpsiRhopi::execute(), and Pi0::Pi0ListToTDS().

◆ init() [2/3]

void KinematicFit::init ( )

◆ init() [3/3]

void KinematicFit::init ( )

◆ instance() [1/3]

KinematicFit * KinematicFit::instance ( )
static

Definition at line 18 of file KinematicFit.cxx.

18 {
19 if ( m_pointer ) return m_pointer;
20 m_pointer = new KinematicFit();
21 return m_pointer;
22}

Referenced by CalibEventSelect::execute(), DQAKsKpi::execute(), DQAKsKpiDEDX::execute(), DQARhopi::execute(), JsiLL::execute(), KsKpi::execute(), Pi0EtaToGGRecAlg::execute(), Ppjrhopi::execute(), ValidJpsiRhopi::execute(), and Pi0::Pi0ListToTDS().

◆ instance() [2/3]

KinematicFit * KinematicFit::instance ( )
static

◆ instance() [3/3]

KinematicFit * KinematicFit::instance ( )
static

◆ origin() [1/3]

WTrackParameter KinematicFit::origin ( int n) const
inline

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

150{ return wTrackOrigin( n ); }

◆ origin() [2/3]

WTrackParameter KinematicFit::origin ( int n) const
inline

◆ origin() [3/3]

WTrackParameter KinematicFit::origin ( int n) const
inline

◆ pfit() [1/3]

◆ pfit() [2/3]

HepLorentzVector KinematicFit::pfit ( int n) const
inline

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

145{ return p4Infit( n ); }

◆ pfit() [3/3]

HepLorentzVector KinematicFit::pfit ( int n) const
inline

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

145{ return p4Infit( n ); }

◆ pfit1() [1/3]

HepLorentzVector KinematicFit::pfit1 ( int n) const
inline

Definition at line 148 of file Analysis/VertexFit/include/VertexFit/KinematicFit.h.

148{ return p4Origin( n ); }

◆ pfit1() [2/3]

HepLorentzVector KinematicFit::pfit1 ( int n) const
inline

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

148{ return p4Origin( n ); }

◆ pfit1() [3/3]

HepLorentzVector KinematicFit::pfit1 ( int n) const
inline

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

148{ return p4Origin( n ); }

◆ pull() [1/3]

HepVector KinematicFit::pull ( int n)

Definition at line 840 of file KinematicFit.cxx.

840 {
841 upCovmtx();
842
843 if ( wTrackOrigin( n ).charge() != 0 )
844 {
845 HepVector W( 6, 0 );
846 HepSymMatrix Ew( 6, 0 );
847 HepVector W1( 7, 0 );
848 HepSymMatrix Ew1( 7, 0 );
849 WTrackParameter wtrk = wTrackOrigin( n );
850 // W = wTrackOrigin(n).w();
851 // Ew = wTrackOrigin(n).Ew();
852 // cout<<"===Origin status==="<<endl;
853 // cout<<"W = "<<W<<endl;
854 // cout<<"Ew ="<<Ew<<endl;
855 for ( int i = 0; i < 3; i++ ) { W[i] = pInfit( n )[i]; }
856 W[3] = wTrackOrigin( n ).w()[4];
857 W[4] = wTrackOrigin( n ).w()[5];
858 W[5] = wTrackOrigin( n ).w()[6];
859 for ( int j = 0; j < 3; j++ )
860 {
861 for ( int k = 0; k < 3; k++ ) { Ew[j][k] = covInfit( n )[j][k]; }
862 }
863
864 for ( int j = 3; j < 6; j++ )
865 {
866 for ( int k = 3; k < 6; k++ ) { Ew[j][k] = wTrackOrigin( n ).Ew()[j + 1][k + 1]; }
867 }
868 //
869 // define J matrix to transfer 3 parameters to 4 parameters
870 //
871 double px = p4Infit( n ).px();
872 double py = p4Infit( n ).py();
873 double pz = p4Infit( n ).pz();
874 double e = p4Infit( n ).e();
875 HepMatrix J( 7, 6, 0 );
876 J[0][0] = 1;
877 J[1][1] = 1;
878 J[2][2] = 1;
879 J[3][0] = px / e;
880 J[3][1] = py / e;
881 J[3][2] = pz / e;
882 J[4][3] = 1;
883 J[5][4] = 1;
884 J[6][5] = 1;
885 W1 = J * W;
886 Ew1 = Ew.similarity( J );
887
888 // cout<<"===Infiddt status==="<<endl;
889 // cout<<"p4 ="<<p4Infit(n)<<endl;
890 // cout<<"W ="<<wTrackOrigin(n).w()<<endl;
891 // cout<<"W1 ="<<W1<<endl;
892 // cout<<"Ew ="<<wTrackOrigin(n).Ew()<<endl;
893 // cout<<"Ew1 ="<<Ew1<<endl;
894
895 wtrk.setW( W1 );
896 wtrk.setEw( Ew1 );
897 setWTrackInfit( n, wtrk );
898 HTrackParameter horigin = HTrackParameter( wTrackOrigin( n ) );
899 HTrackParameter hinfit = HTrackParameter( wTrackInfit( n ) );
900
901 HepVector a0 = horigin.hel();
902 HepVector a1 = hinfit.hel();
903 HepSymMatrix v0 = horigin.eHel();
904 HepSymMatrix v1 = hinfit.eHel();
905 HepVector pull( 11, 0 );
906 for ( int k = 0; k < 5; k++ )
907 {
908 pull[k] = ( a0[k] - a1[k] ) / sqrt( abs( v0[k][k] - v1[k][k] ) );
909 // cout<<"pull ["<<k<<"] ="<<pull[k]<<endl;
910 }
911 for ( int l = 5; l < 9; l++ )
912 {
913 pull[l] = ( wTrackOrigin( n ).w()[l - 5] - wTrackInfit( n ).w()[l - 5] ) /
914 sqrt( abs( wTrackOrigin( n ).Ew()[l - 5][l - 5] -
915 wTrackInfit( n ).Ew()[l - 5][l - 5] ) );
916 // cout<<"pull ["<<l<<"] ="<<pull[l]<<endl;
917 }
918
919 // pull[9] = wTrackOrigin(n).w()[3] - wTrackInfit(n).w()[3];
920 // pull[10] =1/sqrt(abs(wTrackOrigin(n).Ew()[3][3] -
921 // wTrackInfit(n).Ew()[3][3]));
922 return pull;
923 }
924 else
925 {
926 HepVector pull( 3, 0 );
927 for ( int m = 0; m < 3; m++ )
928 {
929 pull[m] = ( wTrackOrigin( n ).w()[m] - wTrackInfit( n ).w()[m] ) /
930 sqrt( abs( wTrackOrigin( n ).Ew()[m][m] - wTrackInfit( n ).Ew()[m][m] ) );
931 }
932 return pull;
933 }
934}
character *LEPTONflag integer iresonances real zeta5 real a0
HepVector pull(int n)

Referenced by pull().

◆ pull() [2/3]

HepVector KinematicFit::pull ( int n)

◆ pull() [3/3]

HepVector KinematicFit::pull ( int n)

◆ setChisqCut() [1/3]

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

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

120 {
121 m_chicut = chicut;
122 m_chiter = chiter;
123 }

◆ setChisqCut() [2/3]

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

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

120 {
121 m_chicut = chicut;
122 m_chiter = chiter;
123 }

◆ setChisqCut() [3/3]

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

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

120 {
121 m_chicut = chicut;
122 m_chiter = chiter;
123 }

◆ setCollideangle() [1/3]

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

◆ setCollideangle() [2/3]

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

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

129{ m_collideangle = collideangle; }

◆ setCollideangle() [3/3]

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

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

129{ m_collideangle = collideangle; }

◆ setDynamicerror() [1/3]

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

◆ setDynamicerror() [2/3]

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

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

130{ m_dynamicerror = dynamicerror; }

◆ setDynamicerror() [3/3]

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

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

130{ m_dynamicerror = dynamicerror; }

◆ setEspread() [1/3]

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

◆ setEspread() [2/3]

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

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

128{ m_espread = espread; }

◆ setEspread() [3/3]

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

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

128{ m_espread = espread; }

◆ setFlag() [1/3]

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

Definition at line 118 of file Analysis/VertexFit/include/VertexFit/KinematicFit.h.

118{ m_flag = flag; }

◆ setFlag() [2/3]

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

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

118{ m_flag = flag; }

◆ setFlag() [3/3]

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

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

118{ m_flag = flag; }

◆ setIterNumber() [1/3]

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

Definition at line 119 of file Analysis/VertexFit/include/VertexFit/KinematicFit.h.

119{ m_niter = niter; }

Referenced by Pi0EtaToGGRecAlg::execute().

◆ setIterNumber() [2/3]

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

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

119{ m_niter = niter; }

◆ setIterNumber() [3/3]

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

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

119{ m_niter = niter; }

◆ setKalman() [1/3]

void KinematicFit::setKalman ( const int kalman)
inline

Definition at line 127 of file Analysis/VertexFit/include/VertexFit/KinematicFit.h.

127{ m_kalman = kalman; }

◆ setKalman() [2/3]

void KinematicFit::setKalman ( const int kalman)
inline

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

127{ m_kalman = kalman; }

◆ setKalman() [3/3]

void KinematicFit::setKalman ( const int kalman)
inline

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

127{ m_kalman = kalman; }

◆ wVirtualTrack() [1/3]

WTrackParameter KinematicFit::wVirtualTrack ( int n) const
inline

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

161{ return m_virtual_wtrk[n]; }

◆ wVirtualTrack() [2/3]

WTrackParameter KinematicFit::wVirtualTrack ( int n) const
inline

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

161{ return m_virtual_wtrk[n]; }

◆ wVirtualTrack() [3/3]

WTrackParameter KinematicFit::wVirtualTrack ( int n) const
inline

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

161{ return m_virtual_wtrk[n]; }

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