BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
CDLambda.cxx
Go to the documentation of this file.
1// -*- C++ -*-
2//
3// Package: <CleoDChain>
4// Module: CDLambda
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: CDLambda.cxx,v 1.2 2009/07/15 10:56:41 zoujh Exp $
14//
15// Revision history
16//
17// $Log: CDLambda.cxx,v $
18// Revision 1.2 2009/07/15 10:56:41 zoujh
19// *** empty log message ***
20//
21// Revision 1.1 2009/06/22 14:55:48 zoujh
22// See ChangeLog
23//
24// Revision 1.1.1.1 2009/03/03 06:05:56 maqm
25// first import of BesDChain
26//
27// Revision 1.4 2006/01/11 20:37:25 cdj
28// work with renaming done in DChain package
29//
30// Revision 1.3 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.2 2001/11/06 15:20:46 ajm36
34// override defaultKinematicData for pi0, eta, ks, lambda
35//
36// Revision 1.1 2001/09/11 15:08:27 ajm36
37// add files for lambdas
38//
39// Revision 1.2 2001/04/25 12:52:12 ajm36
40// plugged memory leak in ctor for pi0's, k shorts, etas
41//
42// Revision 1.1 2001/04/11 13:19:02 urner
43// transition to files with CD prefix. Addition of new files
44//
45// Revision 1.2 2001/03/24 03:07:56 cdj
46// fixed CDPi0 CDLambda and CDEta classes so could properly assess info from CDCandidate class
47//
48// Revision 1.1 2001/03/23 23:05:28 urner
49// added pi0 eta and CDLambda decay lists
50//
51
52// user include files
53#include "BesDChain/CDLambda.h"
54#include "BesDChain/CDChargedPion.h"
55#include "BesDChain/CDProton.h"
56#include "BesDChain/util/KinematicData.h"
57#include "EvtRecEvent/EvtRecVeeVertex.h"
58
59//
60// constants, enums and typedefs
61//
62using namespace dchain;
63
64//
65// static data member definitions
66//
67
68//
69// constructors and destructor
70//
72 : // CDDecay(*(new CDChargedPion(aVisible.piPlus()))),
73 m_lambda( aVisible ) {
74 EvtRecVeeVertex* lambda = const_cast<EvtRecVeeVertex*>( aVisible );
75
76 int index[2] = { 0, 1 };
77 if ( aVisible->vertexId() < 0 )
78 {
79 index[0] = 1;
80 index[1] = 0;
81 }
82
83 ReferenceHolder<CDProton> tmp = new CDProton( lambda->daughter( index[0] ) );
84 addChild( *tmp );
85 ReferenceHolder<CDChargedPion> tmp2 = new CDChargedPion( lambda->daughter( index[1] ) );
86 addChild( *tmp2 );
87}
88
89// CDLambda::CDLambda( const CDLambda& rhs )
90// {
91// // do actual copying here; if you implemented
92// // operator= correctly, you may be able to use just say
93// *this = rhs;
94// }
95
97
98//------ buildFromCDLambda -----
99// return `true' as CDLambda is made up from VisibleEvidence
100//
101bool CDLambda::builtFromCDLambda() const { return true; }
102
103//------ CDLambda -----
104// return NavLambda for this CDLambda
105//
106const EvtRecVeeVertex* CDLambda::navLambda() const { return m_lambda; }
107
110
111 const HepVector& w_lambda = m_lambda->w();
112
113 data->setP4( HepLorentzVector( w_lambda[0], w_lambda[1], w_lambda[2], w_lambda[3] ) );
114
115 return data;
116}
TTree * data
CDChargedVisible< DBCandidate::kChargedPion > CDChargedPion
CDChargedVisible< DBCandidate::kProton > CDProton
void addChild(const CDCandidate &aAdditionalProduct)
Definition CDDecay.cxx:188
virtual ~CDLambda()
Definition CDLambda.cxx:96
CDLambda(const EvtRecVeeVertex *aVisible)
Definition CDLambda.cxx:71
virtual bool builtFromCDLambda() const
Definition CDLambda.cxx:101
virtual DecayChain::KinematicData * defaultKinematicData() const
Definition CDLambda.cxx:108
virtual const EvtRecVeeVertex * navLambda() const
Definition CDLambda.cxx:106