BOSS 8.0.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
52#include "BesDChain/CDKs.h"
53#include "BesDChain/CDChargedPion.h"
54#include "BesDChain/util/KinematicData.h"
55#include "EvtRecEvent/EvtRecVeeVertex.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 ) : m_ks( aVisible ) {
73 EvtRecVeeVertex* ks = const_cast<EvtRecVeeVertex*>( aVisible );
75 addChild( *tmp );
76 tmp = new CDChargedPion( ks->daughter( 1 ) );
77 addChild( *tmp );
78}
79
81
82//------ buildFromCDKs -----
83// return `true' as CDKs is made up from VisibleEvidence
84//
85bool CDKs::builtFromCDKs() const { return true; }
86
87//------ CDKs -----
88// return NavKs for this CDKs
89//
90const EvtRecVeeVertex* CDKs::navKshort() const { return m_ks; }
91
94
95 double mass = m_ks->mass();
96 const HepVector& w_ks = m_ks->w();
97
98 double e = sqrt( mass * mass + w_ks[0] * w_ks[0] + w_ks[1] * w_ks[1] + w_ks[2] * w_ks[2] );
99
100 data->setP4( HepLorentzVector( w_ks[0], w_ks[1], w_ks[2], e ) );
101
102 return data;
103}
TTree * data
CDChargedVisible< DBCandidate::kChargedPion > CDChargedPion
double mass() const
void addChild(const CDCandidate &aAdditionalProduct)
Definition CDDecay.cxx:188
virtual bool builtFromCDKs() const
Definition CDKs.cxx:85
virtual ~CDKs()
Definition CDKs.cxx:80
CDKs(const EvtRecVeeVertex *aVisible)
Definition CDKs.cxx:72
virtual DecayChain::KinematicData * defaultKinematicData() const
Definition CDKs.cxx:92
virtual const EvtRecVeeVertex * navKshort() const
Definition CDKs.cxx:90