BtaCandidate Information

In BaBar code, all particle candidates are stored as BtaCandidates. As members of the BtaCandidate C++ class, they automatically come with lots of physics information. For example, you can get the four-momentum and charge of any BtaCandidate.

The following are some of the most useful kinematic and other variables for BtaCandidates. For a complete list of quantities and functions available for BtaCandidates, a good place to look is the BtaCandidate header file, BtaCandidate.hh.

BtaCandidate Info

Begin with a pointer to a BtaCandidate:

BtaCandidate* MyBtaCand;

Quantity Type Description
MyBtaCand->charge() int charge (-1, 0, +1) of the candidate as determined by the direction of its curvature in the BaBar solenoid.
MyBtaCand->energy() double energy (GeV) of the candidate in the lab frame:
for neutrals, it is the (uncalibrated) energy deposited in the calorimeter
for charged tracks, it is the relativistic energy, assuming the pion mass hypothesis if none has been assigned yet.
MyBtaCand->p4()
MyBtaCand->p4(HepPoint)
HepLorentzVector 4-momentum of the candidate in the lab frame:
for neutrals, as determined from the energy and mass
for charged tracks, as determined by the curvature of the track (track based on hits in both the drift chamber AND the SVT)
MyBtaCand->p4().x()
MyBtaCand->p4().y()
MyBtaCand->p4().z()
MyBtaCand->p4().rho()
MyBtaCand->p4().e()
double Components of the 4-momentum of the candidate in the lab frame.
First three variables are px, py, pz.
rho() is the the magnitude of the 3-momentum vector.
e() is the energy component.
MyBtaCand->p4().theta()
MyBtaCand->p4().phi()
double Angles for spherical coordinates
MyBtaCand->p4Err()
MyBtaCand->p4Err(HepPoint)
BbrError covariance. Note, for neutrals, you must use the method which takes a HepPoint as its argument.
MyBtaCand->p4WCov() BbrLorentzVectorErr 4-momentum with errors
MyBtaCand->decayVtx() BtaAbsVertex Information on the decay vertex of this candidate.
MyBtaCand->recoTrk()->fitResult()->helix(0).covariance() HepSymMatrix error matrix of the helix fit parameters
MyBtaCand->doca(HepPoint) double doca of the track to a given point in 3D
MyBtaCand->docaXY(HepPoint) double doca of the track to a given point in 2D
MyBtaCand->docaErr(HepPoint) double error on doca of the track to a given point in 3D
MyBtaCand->docaXYErr(HepPoint) double error on doca of the track to a given point in 2D
MyBtaCand->docaErr(BbrPointErr) double same as with HepPoint, but allowing error on the point with respect to which the DOCA is made
MyBtaCand->docaXYErr(BbrPointErr) double same as with HepPoint, but allowing error on the point with respect to which the DOCA is made
MyBtaCand->recoObject()->position(HepPoint) HepPoint the POCA (to the HepPoint) of the BtaCandidate (add BtaAbsRecoObject::XY as second argument if the POCA must be in 2D)
MyBtaCand->recoObject()->positionErr(HepPoint) BbrPointErr error on the POCA (to the HepPoint) of the BtaCandidate (add BtaAbsRecoObject::XY as second argument if the POCA must be in 2D)
MyBtaCand->recoObject()->momentum(HepPoint) Hep3Vector value of the BtaCandidate momentum after it has been swum to the POCA of the HepPoint. (add BtaAbsRecoObject::XY as second argument if the POCA must be in 2D) In many cases, this is the same as MyBtaCand->momentum(HepPoint)
MyBtaCand->recoObject()->momentumErr(HepPoint) BbrVectorErr value of the BtaCandidate momentum error matrix after it has been swum to the POCA of the HepPoint. (add BtaAbsRecoObject::XY as second argument if the POCA must be in 2D)

You can also get detector-level information about the BtaCandidates.



Back