BOSS 7.1.0
BESIII Offline Software System
Loading...
Searching...
No Matches
CDKs.cxx
Go to the documentation of this file.
1// -*- C++ -*-
2//
3// Package: <CleoDChain>
4// Module: CDKs
5//
6// Description: <one line class summary>
7//
8// Implementation:
9// <Notes on implementation>
10//
11// Author: David Urner
12// Created: Thu Mar 22 16:23:36 EST 2001
13// $Id: CDKs.cxx,v 1.2 2009/06/22 14:55:48 zoujh Exp $
14//
15// Revision history
16//
17// $Log: CDKs.cxx,v $
18// Revision 1.2 2009/06/22 14:55:48 zoujh
19// See ChangeLog
20//
21// Revision 1.1.1.1 2009/03/03 06:05:56 maqm
22// first import of BesDChain
23//
24// Revision 1.6 2006/01/11 20:37:25 cdj
25// work with renaming done in DChain package
26//
27// Revision 1.5 2004/03/05 22:01:44 chengp
28// implemented Monte Carlo matching
29//
30// Revision 1.4 2003/05/15 19:58:09 cdj
31// revamped memory handling so always use a ReferenceHolder to deal with the reference counting
32//
33// Revision 1.3 2001/11/06 15:20:46 ajm36
34// override defaultKinematicData for pi0, eta, ks, lambda
35//
36// Revision 1.2 2001/04/25 12:52:12 ajm36
37// plugged memory leak in ctor for pi0's, k shorts, etas
38//
39// Revision 1.1 2001/04/11 13:19:02 urner
40// transition to files with CD prefix. Addition of new files
41//
42// Revision 1.2 2001/03/24 03:07:56 cdj
43// fixed CDPi0 CDKs and CDEta classes so could properly assess info from CDCandidate class
44//
45// Revision 1.1 2001/03/23 23:05:28 urner
46// added pi0 eta and CDKs decay lists
47//
48
49// system include files
50
51// user include files
55#include "BesDChain/CDKs.h"
56//zoujh: ...
57//#include "AnalEvent/BComposedParticle.h"
58
59//
60// constants, enums and typedefs
61//
62using namespace dchain;
64
65//
66// static data member definitions
67//
68
69//
70// constructors and destructor
71//
72CDKs::CDKs(const EvtRecVeeVertex* aVisible) :
73 m_ks(aVisible)
74{
75 EvtRecVeeVertex* ks = const_cast<EvtRecVeeVertex*>(aVisible);
77 addChild(*tmp);
78 tmp = new CDChargedPion(ks->daughter(1));
79 addChild(*tmp);
80}
81
82
84{
85}
86
87
88//------ buildFromCDKs -----
89// return `true' as CDKs is made up from VisibleEvidence
90//
92{
93 return true;
94}
95
96
97//------ CDKs -----
98// return NavKs for this CDKs
99//
101{
102 return m_ks ;
103}
104
106{
108
109 double mass = m_ks->mass();
110 const HepVector& w_ks = m_ks->w();
111
112 double e = sqrt(mass*mass + w_ks[0]*w_ks[0] + w_ks[1]*w_ks[1] + w_ks[2]*w_ks[2]);
113
114 data->setP4( HepLorentzVector(w_ks[0], w_ks[1], w_ks[2], e) );
115
116 return data;
117}
118
CDChargedVisible< DBCandidate::kChargedPion > CDChargedPion
Definition: CDChargedPion.h:42
TTree * data
double mass() const
void addChild(const CDCandidate &aAdditionalProduct)
Definition: CDDecay.cxx:187
virtual bool builtFromCDKs() const
Definition: CDKs.cxx:91
virtual ~CDKs()
Definition: CDKs.cxx:83
CDKs(const EvtRecVeeVertex *aVisible)
Definition: CDKs.cxx:72
virtual DecayChain::KinematicData * defaultKinematicData() const
Definition: CDKs.cxx:105
virtual const EvtRecVeeVertex * navKshort() const
Definition: CDKs.cxx:100
SmartRef< EvtRecTrack > & daughter(int i)
double mass() const
const HepVector & w() const