Beta and BtaCandidates. What is there?

Tim Adye
Rutherford Appleton Laboratory

BaBar-UK Software Training Day
Birmingham University
6th January 1999

  1. Beta Candidates
  2. Accessing BtaCandidate Information
  3. Combining BtaCandidates
  4. More Information
There is also a printable version of this talk available as

Beta Candidates

A Beta Candidiate is a representation of what is known or assumed about some (putative) particle. Candidates can represent

Candidates are represented by the BtaCandidate class. The interface is the same for all types of data (miniDST, DST, reconstruction output), though with different amounts of detail accessible.

Lists of BtaCandidates are stored in the event (eg. charged tracks, muon candidates).

Accessing BtaCandidate Information

Basic information about the candidate can be accessed directly, eg.

const BtaCandidate* cand;
// point cand at some BtaCandidate.
double trackMomentum= cand->p();
and similarly using other member functions such as
double           charge() const
double           energy() const
double           mass() const
Hep3Vector       p3() const
HepLorentzVector p4() const
which access charge etc. at the origin or decay vertex.

Additional member functions provide access to

In many cases, the BtaCandidate member function just returns a pointer to another object which (if available) can be used to access the required information (eg. cand->recoTrk() returns a const TrkRecoTrk*, which can in turn be used to obtain hit lists, fit results, etc.)

Combining BtaCandidates

Two BtaCandidates can be combined using an operator, eg.

BtaOpAdd4 op;
BtaCandidate c3= op.combine( c1, c2 );
combines BtaCandidates c1 and c2 to give the (putative) mother, c3. BtaOpAdd4 specifies a simple kinematic addition. Proper vertex fitting is explained elsewhere.

Obtaining just the mother's 4-vector is even simpler

HepLorentzVectorQ vec= c1 + c2;

BtaCandidates can be copied, compared, and printed using the normal C++ operators (=, ==, <<, etc.).

Although BtaCandidates contain a lot of information, copying is fast (implemented using a "smart pointer").

More Information

HTML 3.2 Checked... Best viewed with ANY browser! first created 27th January 1999 by
Tim Adye, <>