12 #include "TClonesArray.h"
14 enum SIMPLEPID {PHOTON, ELECTRON, PION, MUON, KAON, PROTON, JPSI, D, DSTAR, B, PHI, LAMBDA0, ALL };
28 BParticle(
float px,
float py,
float pz,
float e,
float c, SIMPLEPID pid);
31 float px()
const {
return m_px; };
32 float py()
const {
return m_py; };
33 float pz()
const {
return m_pz; };
34 float e()
const {
return m_e; };
35 float GetMomentum()
const {
return sqrt(m_px * m_px + m_py * m_py + m_pz * m_pz); };
36 float GetTransverseMomentum()
const {
return sqrt(m_px * m_px + m_py * m_py); };
37 float charge()
const {
return m_charge; };
38 SIMPLEPID pid()
const {
return m_pid; };
39 float GetMass(SIMPLEPID pid);
41 void SetEnergyFromMass(
float mass);
42 void SetEnergyFromPid();
43 void SetPid(SIMPLEPID pid) { m_pid = pid; };
44 int InMassRange(
float mlower,
float mupper) {
float m = GetMass();
if (m >= mlower && m <= mupper)
return 1;
else return 0; };
53 charge() + b.charge(),
67 m_charge = p.charge();
77 int SelectParticles(TClonesArray* pin ,
int charge, SIMPLEPID type, TClonesArray* pout);
78 int CombineParticles(TClonesArray* plist1 , TClonesArray* plist2 ,
int same,
float masslow,
float massup, SIMPLEPID pid,