BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
CDDecay Class Reference

#include <CDDecay.h>

Inheritance diagram for CDDecay:

Public Types

typedef CDCandidate CandidateClass
typedef CDCandidate CandidateClass
typedef CDCandidate CandidateClass
Public Types inherited from CDCandidate
typedef CDDecay DecayEvidence
typedef std::pair< vector< const EvtRecTrack * >, vector< const EvtRecTrack * > > TracksAndShowers
typedef CDDecay DecayEvidence
typedef std::pair< vector< const EvtRecTrack * >, vector< const EvtRecTrack * > > TracksAndShowers
typedef CDDecay DecayEvidence
typedef std::pair< vector< const EvtRecTrack * >, vector< const EvtRecTrack * > > TracksAndShowers

Public Member Functions

 CDDecay (const CDDecay &aOtherCDDecay)
 CDDecay (const CDCandidate &aProduct)
 CDDecay (const CDDecay &aProducts, const CDCandidate &aAdditionalProduct)
virtual ~CDDecay ()
void addChild (const CDCandidate &aAdditionalProduct)
void setKinematicData (const DecayChain::KinematicData &aKinematicData)
virtual bool builtFromCDDecay (void) const
virtual const CDDecaydecay (void) const
uint32_t numberChildren () const
void iterateChildren (void(*analyze)(const CDCandidate &)) const
void iterateChildren (DCAnalysisFunction< CDCandidate > &analyze) const
const CDCandidatechild (unsigned int aPosition) const
const std::vector< dchain::ReferenceHolder< CDCandidate > > & children () const
 CDDecay (const CDDecay &aOtherCDDecay)
 CDDecay (const CDCandidate &aProduct)
 CDDecay (const CDDecay &aProducts, const CDCandidate &aAdditionalProduct)
virtual ~CDDecay ()
void addChild (const CDCandidate &aAdditionalProduct)
void setKinematicData (const DecayChain::KinematicData &aKinematicData)
virtual bool builtFromCDDecay (void) const
virtual const CDDecaydecay (void) const
uint32_t numberChildren () const
void iterateChildren (void(*analyze)(const CDCandidate &)) const
void iterateChildren (DCAnalysisFunction< CDCandidate > &analyze) const
const CDCandidatechild (unsigned int aPosition) const
const std::vector< dchain::ReferenceHolder< CDCandidate > > & children () const
 CDDecay (const CDDecay &aOtherCDDecay)
 CDDecay (const CDCandidate &aProduct)
 CDDecay (const CDDecay &aProducts, const CDCandidate &aAdditionalProduct)
virtual ~CDDecay ()
void addChild (const CDCandidate &aAdditionalProduct)
void setKinematicData (const DecayChain::KinematicData &aKinematicData)
virtual bool builtFromCDDecay (void) const
virtual const CDDecaydecay (void) const
uint32_t numberChildren () const
void iterateChildren (void(*analyze)(const CDCandidate &)) const
void iterateChildren (DCAnalysisFunction< CDCandidate > &analyze) const
const CDCandidatechild (unsigned int aPosition) const
const std::vector< dchain::ReferenceHolder< CDCandidate > > & children () const
Public Member Functions inherited from CDCandidate
virtual ~CDCandidate ()
const CDCandidateoperator= (const CDCandidate &aOtherCDCandidate)
void setUserTag (int tag)
CDCandidatesetP4 (const HepLorentzVector &aMomentum)
int userTag () const
double mass () const
int charge () const
double energy () const
const Hep3Vector & momentum () const
const HepLorentzVector & p4 () const
const DecayChain::KinematicDatakinematicData () const
TracksAndShowers finalChildren () const
virtual DBCandidate::Hypo hypo () const
virtual bool builtFromTrack () const
virtual const EvtRecTracktrack () const
virtual bool builtFromCDPhoton () const
virtual const EvtRecTrackphoton () const
virtual bool builtFromCDPi0 () const
virtual const EvtRecPi0navPi0 () const
virtual bool builtFromCDEta () const
virtual const EvtRecEtaToGGnavEta () const
virtual bool builtFromCDKs () const
virtual const EvtRecVeeVertexnavKshort () const
virtual bool builtFromCDLambda () const
virtual const EvtRecVeeVertexnavLambda () const
bool overlap (const CDCandidate &aOtherCDCandidate) const
const CDFootPrintfootPrint () const
virtual ~CDCandidate ()
const CDCandidateoperator= (const CDCandidate &aOtherCDCandidate)
void setUserTag (int tag)
CDCandidatesetP4 (const HepLorentzVector &aMomentum)
int userTag () const
double mass () const
int charge () const
double energy () const
const Hep3Vector & momentum () const
const HepLorentzVector & p4 () const
const DecayChain::KinematicDatakinematicData () const
TracksAndShowers finalChildren () const
virtual DBCandidate::Hypo hypo () const
virtual bool builtFromTrack () const
virtual const EvtRecTracktrack () const
virtual bool builtFromCDPhoton () const
virtual const EvtRecTrackphoton () const
virtual bool builtFromCDPi0 () const
virtual const EvtRecPi0navPi0 () const
virtual bool builtFromCDEta () const
virtual const EvtRecEtaToGGnavEta () const
virtual bool builtFromCDKs () const
virtual const EvtRecVeeVertexnavKshort () const
virtual bool builtFromCDLambda () const
virtual const EvtRecVeeVertexnavLambda () const
bool overlap (const CDCandidate &aOtherCDCandidate) const
const CDFootPrintfootPrint () const
virtual ~CDCandidate ()
const CDCandidateoperator= (const CDCandidate &aOtherCDCandidate)
void setUserTag (int tag)
CDCandidatesetP4 (const HepLorentzVector &aMomentum)
int userTag () const
double mass () const
int charge () const
double energy () const
const Hep3Vector & momentum () const
const HepLorentzVector & p4 () const
const DecayChain::KinematicDatakinematicData () const
TracksAndShowers finalChildren () const
virtual DBCandidate::Hypo hypo () const
virtual bool builtFromTrack () const
virtual const EvtRecTracktrack () const
virtual bool builtFromCDPhoton () const
virtual const EvtRecTrackphoton () const
virtual bool builtFromCDPi0 () const
virtual const EvtRecPi0navPi0 () const
virtual bool builtFromCDEta () const
virtual const EvtRecEtaToGGnavEta () const
virtual bool builtFromCDKs () const
virtual const EvtRecVeeVertexnavKshort () const
virtual bool builtFromCDLambda () const
virtual const EvtRecVeeVertexnavLambda () const
bool overlap (const CDCandidate &aOtherCDCandidate) const
const CDFootPrintfootPrint () const
Public Member Functions inherited from dchain::ReferenceCount
 ReferenceCount ()
virtual ~ReferenceCount ()
void addLink () const
void dropLink () const
 ReferenceCount ()
virtual ~ReferenceCount ()
void addLink () const
void dropLink () const
 ReferenceCount ()
virtual ~ReferenceCount ()
void addLink () const
void dropLink () const

Protected Member Functions

 CDDecay ()
virtual DecayChain::KinematicDatadefaultKinematicData () const
 CDDecay ()
virtual DecayChain::KinematicDatadefaultKinematicData () const
 CDDecay ()
virtual DecayChain::KinematicDatadefaultKinematicData () const
Protected Member Functions inherited from CDCandidate
 CDCandidate (const CDCandidate &aOtherCDCandidate)
 CDCandidate (const CDFootPrint &aCDFootPrint)
void setKinematicData (const DecayChain::KinematicData &aKinematicData)
void setCDFootPrint (const CDFootPrint &aCDFootPrint)
void recurseNode (TracksAndShowers &final, const CDCandidate &cand) const
 CDCandidate (const CDCandidate &aOtherCDCandidate)
 CDCandidate (const CDFootPrint &aCDFootPrint)
void setKinematicData (const DecayChain::KinematicData &aKinematicData)
void setCDFootPrint (const CDFootPrint &aCDFootPrint)
void recurseNode (TracksAndShowers &final, const CDCandidate &cand) const
 CDCandidate (const CDCandidate &aOtherCDCandidate)
 CDCandidate (const CDFootPrint &aCDFootPrint)
void setKinematicData (const DecayChain::KinematicData &aKinematicData)
void setCDFootPrint (const CDFootPrint &aCDFootPrint)
void recurseNode (TracksAndShowers &final, const CDCandidate &cand) const

Detailed Description

Definition at line 110 of file Event/BesDChain/include/BesDChain/CDDecay.h.

Member Typedef Documentation

◆ CandidateClass [1/3]

◆ CandidateClass [2/3]

◆ CandidateClass [3/3]

Constructor & Destructor Documentation

◆ CDDecay() [1/12]

CDDecay::CDDecay ( const CDDecay & aOtherCDDecay)

Definition at line 126 of file CDDecay.cxx.

127 :
128#ifdef EXTEND
129 m_kmfit_chisq( aOtherCDDecay.chisq() )
130 , m_vxfit_chisq( aOtherCDDecay.vchisq() )
131 ,
132#endif
133 CDCandidate( aOtherCDDecay )
134 , m_children( *new vector<ReferenceHolder<CDCandidate>>( aOtherCDDecay.children() ) ) {
135}
CDCandidate(const CDCandidate &aOtherCDCandidate)
const std::vector< dchain::ReferenceHolder< CDCandidate > > & children() const
Definition CDDecay.cxx:240

Referenced by CDDecay(), CDDecay(), decay(), and defaultKinematicData().

◆ CDDecay() [2/12]

CDDecay::CDDecay ( const CDCandidate & aProduct)
explicit

Definition at line 137 of file CDDecay.cxx.

138 :
139#ifdef EXTEND
140 m_kmfit_chisq( 500000. )
141 , m_vxfit_chisq( 500000. )
142 ,
143#endif
144 CDCandidate( aProduct.footPrint() )
145 , m_children( *new vector<ReferenceHolder<CDCandidate>>(
146 1, ReferenceHolder<CDCandidate>( &aProduct ) ) ) {
147}
const CDFootPrint & footPrint() const

◆ CDDecay() [3/12]

CDDecay::CDDecay ( const CDDecay & aProducts,
const CDCandidate & aAdditionalProduct )

Definition at line 149 of file CDDecay.cxx.

150 :
151#ifdef EXTEND
152 m_kmfit_chisq( 500000. )
153 , m_vxfit_chisq( 500000. )
154 ,
155#endif
156 CDCandidate( aProducts.footPrint() + aAdditionalProduct.footPrint() )
157 , m_children( *new vector<ReferenceHolder<CDCandidate>>( aProducts.children() ) ) {
158 m_children.push_back( ReferenceHolder<CDCandidate>( &aAdditionalProduct ) );
159}

◆ ~CDDecay() [1/3]

CDDecay::~CDDecay ( )
virtual

Definition at line 161 of file CDDecay.cxx.

161{ delete &m_children; }

◆ CDDecay() [4/12]

CDDecay::CDDecay ( )
protected

Definition at line 163 of file CDDecay.cxx.

164 :
165#ifdef EXTEND
166 m_kmfit_chisq( 500000. )
167 , m_vxfit_chisq( 500000. )
168 ,
169#endif
170 CDCandidate( CDFootPrint() )
171 , m_children( *new vector<ReferenceHolder<CDCandidate>> ) {
172}

◆ CDDecay() [5/12]

CDDecay::CDDecay ( const CDDecay & aOtherCDDecay)

◆ CDDecay() [6/12]

CDDecay::CDDecay ( const CDCandidate & aProduct)
explicit

◆ CDDecay() [7/12]

CDDecay::CDDecay ( const CDDecay & aProducts,
const CDCandidate & aAdditionalProduct )

◆ ~CDDecay() [2/3]

virtual CDDecay::~CDDecay ( )
virtual

◆ CDDecay() [8/12]

CDDecay::CDDecay ( )
protected

◆ CDDecay() [9/12]

CDDecay::CDDecay ( const CDDecay & aOtherCDDecay)

◆ CDDecay() [10/12]

CDDecay::CDDecay ( const CDCandidate & aProduct)
explicit

◆ CDDecay() [11/12]

CDDecay::CDDecay ( const CDDecay & aProducts,
const CDCandidate & aAdditionalProduct )

◆ ~CDDecay() [3/3]

virtual CDDecay::~CDDecay ( )
virtual

◆ CDDecay() [12/12]

CDDecay::CDDecay ( )
protected

Member Function Documentation

◆ addChild() [1/3]

void CDDecay::addChild ( const CDCandidate & aAdditionalProduct)

Definition at line 188 of file CDDecay.cxx.

188 {
189 setCDFootPrint( footPrint() + aAdditionalProduct.footPrint() );
190 m_children.push_back( ReferenceHolder<CDCandidate>( &aAdditionalProduct ) );
191}
void setCDFootPrint(const CDFootPrint &aCDFootPrint)

Referenced by CDEta::CDEta(), CDKs::CDKs(), CDLambda::CDLambda(), and CDPi0::CDPi0().

◆ addChild() [2/3]

void CDDecay::addChild ( const CDCandidate & aAdditionalProduct)

◆ addChild() [3/3]

void CDDecay::addChild ( const CDCandidate & aAdditionalProduct)

◆ builtFromCDDecay() [1/3]

bool CDDecay::builtFromCDDecay ( void ) const
virtual

Reimplemented from CDCandidate.

Definition at line 202 of file CDDecay.cxx.

202{ return ( !false ); }

◆ builtFromCDDecay() [2/3]

virtual bool CDDecay::builtFromCDDecay ( void ) const
virtual

Reimplemented from CDCandidate.

◆ builtFromCDDecay() [3/3]

virtual bool CDDecay::builtFromCDDecay ( void ) const
virtual

Reimplemented from CDCandidate.

◆ child() [1/3]

const CDCandidate & CDDecay::child ( unsigned int aPosition) const

◆ child() [2/3]

const CDCandidate & CDDecay::child ( unsigned int aPosition) const

◆ child() [3/3]

const CDCandidate & CDDecay::child ( unsigned int aPosition) const

◆ children() [1/3]

const vector< ReferenceHolder< CDCandidate > > & CDDecay::children ( ) const

Definition at line 240 of file CDDecay.cxx.

240 {
241 return ( m_children );
242}

Referenced by CDDecay(), and CDDecay().

◆ children() [2/3]

const std::vector< dchain::ReferenceHolder< CDCandidate > > & CDDecay::children ( ) const

◆ children() [3/3]

const std::vector< dchain::ReferenceHolder< CDCandidate > > & CDDecay::children ( ) const

◆ decay() [1/3]

◆ decay() [2/3]

virtual const CDDecay & CDDecay::decay ( void ) const
virtual

Reimplemented from CDCandidate.

◆ decay() [3/3]

virtual const CDDecay & CDDecay::decay ( void ) const
virtual

Reimplemented from CDCandidate.

◆ defaultKinematicData() [1/3]

KinematicData * CDDecay::defaultKinematicData ( ) const
protectedvirtual

Implements CDCandidate.

Reimplemented in CDEta, CDEta, CDEta, CDKs, CDKs, CDKs, CDLambda, CDLambda, CDLambda, CDPi0, CDPi0, and CDPi0.

Definition at line 244 of file CDDecay.cxx.

244 {
245 int userTag = 1;
246 double energySum = 0;
247 int chargeSum = 0;
248 HepLorentzVector p4( 0.0, 0.0, 0.0, 0.0 );
249 vector<ReferenceHolder<CDCandidate>>::const_iterator finished( m_children.end() );
250 for ( vector<ReferenceHolder<CDCandidate>>::const_iterator child( m_children.begin() );
251 child != finished; ++child )
252 {
253 userTag &= ( *( *child ) ).userTag();
254 chargeSum += ( *( *child ) ).charge();
255 p4 += ( *( *child ) ).p4();
256 }
257
258 KinematicData* tmp = new KinematicData();
259
260 tmp->setUserTag( userTag );
261 tmp->setCharge( chargeSum );
262 tmp->setP4( p4 );
263
264 return tmp;
265}
int userTag() const
int charge() const
const HepLorentzVector & p4() const
const CDCandidate & child(unsigned int aPosition) const
Definition CDDecay.cxx:231
void setCharge(const int aCharge)
void setP4(const HepLorentzVector &aMomentum)
void setUserTag(const int tag)

◆ defaultKinematicData() [2/3]

virtual DecayChain::KinematicData * CDDecay::defaultKinematicData ( ) const
protectedvirtual

Implements CDCandidate.

Reimplemented in CDEta, CDEta, CDEta, CDKs, CDKs, CDKs, CDLambda, CDLambda, CDLambda, CDPi0, CDPi0, and CDPi0.

◆ defaultKinematicData() [3/3]

virtual DecayChain::KinematicData * CDDecay::defaultKinematicData ( ) const
protectedvirtual

Implements CDCandidate.

Reimplemented in CDEta, CDEta, CDEta, CDKs, CDKs, CDKs, CDLambda, CDLambda, CDLambda, CDPi0, CDPi0, and CDPi0.

◆ iterateChildren() [1/6]

void CDDecay::iterateChildren ( DCAnalysisFunction< CDCandidate > & analyze) const

Definition at line 224 of file CDDecay.cxx.

224 {
225 vector<ReferenceHolder<CDCandidate>>::const_iterator finished( m_children.end() );
226 for ( vector<ReferenceHolder<CDCandidate>>::const_iterator child( m_children.begin() );
227 child != finished; ++child )
228 { analyze( ( *( *child ) ) ); }
229}

◆ iterateChildren() [2/6]

void CDDecay::iterateChildren ( DCAnalysisFunction< CDCandidate > & analyze) const

◆ iterateChildren() [3/6]

void CDDecay::iterateChildren ( DCAnalysisFunction< CDCandidate > & analyze) const

◆ iterateChildren() [4/6]

void CDDecay::iterateChildren ( void(* analyze )(const CDCandidate &)) const

Definition at line 214 of file CDDecay.cxx.

214 {
215 vector<ReferenceHolder<CDCandidate>>::const_iterator finished( m_children.end() );
216 for ( vector<ReferenceHolder<CDCandidate>>::const_iterator child( m_children.begin() );
217 child != finished; ++child )
218 { analyze( ( *( *child ) ) ); }
219}

◆ iterateChildren() [5/6]

void CDDecay::iterateChildren ( void(* analyze )(const CDCandidate &)) const

◆ iterateChildren() [6/6]

void CDDecay::iterateChildren ( void(* analyze )(const CDCandidate &)) const

◆ numberChildren() [1/3]

uint32_t CDDecay::numberChildren ( ) const

Definition at line 209 of file CDDecay.cxx.

209{ return ( m_children.size() ); }

◆ numberChildren() [2/3]

uint32_t CDDecay::numberChildren ( ) const

◆ numberChildren() [3/3]

uint32_t CDDecay::numberChildren ( ) const

◆ setKinematicData() [1/3]

void CDDecay::setKinematicData ( const DecayChain::KinematicData & aKinematicData)

Definition at line 193 of file CDDecay.cxx.

193 {
194 // Call setKinematicData of my super-class
195 CDCandidate::setKinematicData( aKinematicData );
196}
void setKinematicData(const DecayChain::KinematicData &aKinematicData)

◆ setKinematicData() [2/3]

void CDDecay::setKinematicData ( const DecayChain::KinematicData & aKinematicData)

◆ setKinematicData() [3/3]

void CDDecay::setKinematicData ( const DecayChain::KinematicData & aKinematicData)

The documentation for this class was generated from the following files: