#include <CleoDChain/CDEta.h>
Inheritance diagram for CDEta:
Public Types | |
typedef CDCandidate | CandidateClass |
typedef CDDecay | DecayEvidence |
typedef std::pair< vector< const EvtRecTrack * >, vector< const EvtRecTrack * > > | TracksAndShowers |
Public Member Functions | |
CDEta (const EvtRecEtaToGG *aVisible) | |
virtual | ~CDEta () |
virtual bool | builtFromCDEta () const |
virtual const EvtRecEtaToGG * | navEta () const |
void | addChild (const CDCandidate &aAdditionalProduct) |
void | setKinematicData (const DecayChain::KinematicData &aKinematicData) |
virtual bool | builtFromCDDecay (void) const |
virtual const CDDecay & | decay (void) const |
uint32_t | numberChildren () const |
void | iterateChildren (void(*analyze)(const CDCandidate &)) const |
void | iterateChildren (DCAnalysisFunction< CDCandidate > &analyze) const |
const CDCandidate & | child (unsigned int aPosition) const |
const std::vector< dchain::ReferenceHolder< CDCandidate > > & | children () const |
void | setUserTag (int tag) |
CDCandidate & | setP4 (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::KinematicData * | kinematicData () const |
TracksAndShowers | finalChildren () const |
virtual DBCandidate::Hypo | hypo () const |
virtual bool | builtFromTrack () const |
virtual const EvtRecTrack * | track () const |
virtual bool | builtFromCDPhoton () const |
virtual const EvtRecTrack * | photon () const |
virtual bool | builtFromCDPi0 () const |
virtual const EvtRecPi0 * | navPi0 () const |
virtual bool | builtFromCDKs () const |
virtual const EvtRecVeeVertex * | navKshort () const |
virtual bool | builtFromCDLambda () const |
virtual const EvtRecVeeVertex * | navLambda () const |
bool | overlap (const CDCandidate &aOtherCDCandidate) const |
const CDFootPrint & | footPrint () const |
void | addLink () const |
void | dropLink () const |
Protected Member Functions | |
virtual DecayChain::KinematicData * | defaultKinematicData () const |
void | setCDFootPrint (const CDFootPrint &aCDFootPrint) |
void | recurseNode (TracksAndShowers &final, const CDCandidate &cand) const |
Private Member Functions | |
const CDEta & | operator= (const CDEta &) |
Private Attributes | |
const EvtRecEtaToGG * | m_eta |
Usage: <usage>
petez (2009.2.25): This is a modified copy of BesDChain CDPi0.h
Definition at line 30 of file CDEta.h.
typedef CDCandidate CDDecay::CandidateClass [inherited] |
typedef CDDecay CDCandidate::DecayEvidence [inherited] |
Definition at line 129 of file CDCandidate.h.
typedef std::pair< vector<const EvtRecTrack*>, vector<const EvtRecTrack*> > CDCandidate::TracksAndShowers [inherited] |
Definition at line 131 of file CDCandidate.h.
CDEta::CDEta | ( | const EvtRecEtaToGG * | aVisible | ) |
Definition at line 31 of file CDEta.cxx.
References CDDecay::addChild(), EvtRecEtaToGG::hiEnGamma(), and EvtRecEtaToGG::loEnGamma().
00031 : 00032 m_eta(aVisible) 00033 { 00034 ReferenceHolder<CDPhoton> tmp = new CDPhoton(aVisible->hiEnGamma()); 00035 addChild(*tmp); 00036 tmp = new CDPhoton(aVisible->loEnGamma()); 00037 addChild(*tmp); 00038 }
void CDDecay::addChild | ( | const CDCandidate & | aAdditionalProduct | ) | [inherited] |
Definition at line 187 of file CDDecay.cxx.
References CDCandidate::footPrint(), CDDecay::m_children, and CDCandidate::setCDFootPrint().
Referenced by CDEta(), CDKs::CDKs(), CDLambda::CDLambda(), and CDPi0::CDPi0().
00188 { 00189 setCDFootPrint( footPrint() + aAdditionalProduct.footPrint() ); 00190 m_children.push_back( ReferenceHolder<CDCandidate>(&aAdditionalProduct) ) ; 00191 }
void dchain::ReferenceCount::addLink | ( | ) | const [inline, inherited] |
Definition at line 107 of file ReferenceCount.h.
References dchain::ReferenceCount::m_linkCount.
00108 { 00109 //if (m_linkCount==0xFFFFFFFF) { 00110 // throw TooManyReferencesException(); 00111 //} 00112 ++m_linkCount ; 00113 }
bool CDDecay::builtFromCDDecay | ( | void | ) | const [virtual, inherited] |
bool CDEta::builtFromCDEta | ( | ) | const [virtual] |
bool CDCandidate::builtFromCDKs | ( | ) | const [virtual, inherited] |
bool CDCandidate::builtFromCDLambda | ( | ) | const [virtual, inherited] |
bool CDCandidate::builtFromCDPhoton | ( | ) | const [virtual, inherited] |
Reimplemented in CDPhoton.
Definition at line 247 of file CDCandidate.cxx.
Referenced by CDCandidate::recurseNode().
bool CDCandidate::builtFromCDPi0 | ( | ) | const [virtual, inherited] |
bool CDCandidate::builtFromTrack | ( | ) | const [virtual, inherited] |
Reimplemented in CDChargedVisible< H >.
Definition at line 227 of file CDCandidate.cxx.
Referenced by CDCandidate::recurseNode().
int CDCandidate::charge | ( | ) | const [inherited] |
Definition at line 154 of file CDCandidate.cxx.
References DecayChain::KinematicData::charge(), and CDCandidate::kinematicData().
Referenced by CDDecay::defaultKinematicData(), and CDChargedVisible< H >::defaultKinematicData().
00155 { 00156 return kinematicData()->charge(); 00157 }
const CDCandidate & CDDecay::child | ( | unsigned int | aPosition | ) | const [inherited] |
Definition at line 247 of file CDDecay.cxx.
References CDDecay::m_children.
Referenced by CDDecay::defaultKinematicData(), and CDDecay::iterateChildren().
00248 { 00249 if ( aPosition >= m_children.size() ) { 00250 std::cerr << "Trying to access an invalid Child" << std::endl ; 00251 return ( *(m_children[ 0 ]) ) ; 00252 } 00253 return ( *(m_children[ aPosition ]) ) ; 00254 }
const vector< ReferenceHolder< CDCandidate > > & CDDecay::children | ( | ) | const [inherited] |
Definition at line 256 of file CDDecay.cxx.
References CDDecay::m_children.
Referenced by CDCandidate::recurseNode().
00257 { 00258 return ( m_children ) ; 00259 }
const CDDecay & CDDecay::decay | ( | void | ) | const [virtual, inherited] |
KinematicData * CDEta::defaultKinematicData | ( | ) | const [protected, virtual] |
Reimplemented from CDDecay.
Definition at line 71 of file CDEta.cxx.
References EvtRecEtaToGG::hiPfit(), EvtRecEtaToGG::loPfit(), and m_eta.
00072 { 00073 return new KinematicData( m_eta->hiPfit() + m_eta->loPfit() ); 00074 }
void dchain::ReferenceCount::dropLink | ( | ) | const [inline, inherited] |
Definition at line 115 of file ReferenceCount.h.
References dchain::ReferenceCount::m_linkCount.
00116 { 00117 --m_linkCount ; 00118 if ( 0 == m_linkCount ) { 00119 // It is necessary to throw away the 'const' so that the object 00120 // can be deleted 00121 delete const_cast<ReferenceCount*>(this) ; 00122 } 00123 }
double CDCandidate::energy | ( | ) | const [inherited] |
Definition at line 163 of file CDCandidate.cxx.
References DecayChain::KinematicData::energy(), and CDCandidate::kinematicData().
Referenced by NeutralDSelector::operator()(), DsSelector::operator()(), and ChargedDSelector::operator()().
00164 { 00165 return kinematicData()->energy(); 00166 }
CDCandidate::TracksAndShowers CDCandidate::finalChildren | ( | ) | const [inherited] |
Definition at line 193 of file CDCandidate.cxx.
References CDCandidate::recurseNode().
00194 { 00195 TracksAndShowers blocks; 00196 recurseNode(blocks, *this); 00197 return blocks; 00198 }
const CDFootPrint & CDCandidate::footPrint | ( | ) | const [inherited] |
Definition at line 375 of file CDCandidate.cxx.
References CDCandidate::m_footPrint.
Referenced by CDDecay::addChild(), CDCandidate::operator=(), and CDCandidate::overlap().
00376 { 00377 return ( m_footPrint ) ; 00378 }
DBCandidate::Hypo CDCandidate::hypo | ( | ) | const [inline, virtual, inherited] |
Reimplemented in CDChargedVisible< H >, and CDPhoton.
Definition at line 212 of file CDCandidate.h.
References DBCandidate::kMaxHypo.
00213 { 00214 return DBCandidate::kMaxHypo; 00215 }
void CDDecay::iterateChildren | ( | DCAnalysisFunction< CDCandidate > & | analyze | ) | const [inherited] |
Definition at line 237 of file CDDecay.cxx.
References CDDecay::child(), and CDDecay::m_children.
00238 { 00239 vector< ReferenceHolder<CDCandidate> >::const_iterator finished ( m_children.end() ) ; 00240 for ( vector< ReferenceHolder<CDCandidate> >::const_iterator child ( m_children.begin() ) ; 00241 child != finished ; 00242 ++child ) { 00243 analyze( (*(*child)) ) ; 00244 } 00245 }
void CDDecay::iterateChildren | ( | void(*)(const CDCandidate &) | analyze | ) | const [inherited] |
Definition at line 224 of file CDDecay.cxx.
References CDDecay::child(), and CDDecay::m_children.
00225 { 00226 vector< ReferenceHolder<CDCandidate> >::const_iterator finished( m_children.end() ) ; 00227 for ( vector< ReferenceHolder<CDCandidate> >::const_iterator child( m_children.begin() ) ; 00228 child != finished ; 00229 ++child ) { 00230 analyze( (*(*child)) ) ; 00231 } 00232 }
const KinematicData * CDCandidate::kinematicData | ( | ) | const [inherited] |
Definition at line 185 of file CDCandidate.cxx.
References CDCandidate::modifiableKinematicData().
Referenced by CDCandidate::CDCandidate(), CDCandidate::charge(), CDCandidate::energy(), CDCandidate::mass(), CDCandidate::momentum(), CDCandidate::operator=(), CDCandidate::p4(), and CDCandidate::userTag().
00186 { 00187 // Cast away `const' to pick up the function. 00188 // This is safe as the result is being returned as a `const' 00189 return ( (*(CDCandidate*)this).modifiableKinematicData() ); 00190 }
double CDCandidate::mass | ( | ) | const [inherited] |
Definition at line 145 of file CDCandidate.cxx.
References CDCandidate::kinematicData(), and DecayChain::KinematicData::mass().
Referenced by CDKs::defaultKinematicData(), CDChargedVisible< H >::defaultKinematicData(), NeutralDSelector::operator()(), LocalRhotoPiPiSelector::operator()(), LocalEtatoPiPiPi0Selector::operator()(), LocalEptoRhoGamSelector::operator()(), LocalEptoPiPiEtaSelector::operator()(), LocalEptoPiPiEta3PiSelector::operator()(), DsSelector::operator()(), and ChargedDSelector::operator()().
00146 { 00147 return kinematicData()->mass(); 00148 }
const Hep3Vector & CDCandidate::momentum | ( | ) | const [inherited] |
Definition at line 172 of file CDCandidate.cxx.
References CDCandidate::kinematicData(), and DecayChain::KinematicData::p4().
Referenced by NeutralDSelector::operator()(), DsSelector::operator()(), and ChargedDSelector::operator()().
00173 { 00174 return kinematicData()->p4(); 00175 }
const EvtRecEtaToGG * CDEta::navEta | ( | ) | const [virtual] |
Reimplemented from CDCandidate.
Definition at line 66 of file CDEta.cxx.
References m_eta.
Referenced by LocalEtatoGGSelector::operator()().
00067 { 00068 return ( m_eta ) ; 00069 }
const EvtRecVeeVertex * CDCandidate::navKshort | ( | ) | const [virtual, inherited] |
Reimplemented in CDKs.
Definition at line 316 of file CDCandidate.cxx.
00317 { 00318 std::cerr << "No NavKs for this CDCandidate" << std::endl ; 00319 exit( 1 ) ; 00320 return ( (EvtRecVeeVertex*)0 ) ; 00321 }
const EvtRecVeeVertex * CDCandidate::navLambda | ( | ) | const [virtual, inherited] |
Reimplemented in CDLambda.
Definition at line 336 of file CDCandidate.cxx.
00337 { 00338 std::cerr << "No NavLambda for this CDCandidate" << std::endl ; 00339 exit( 1 ) ; 00340 return ( (EvtRecVeeVertex*)0 ) ; 00341 }
const EvtRecPi0 * CDCandidate::navPi0 | ( | ) | const [virtual, inherited] |
Reimplemented in CDPi0.
Definition at line 276 of file CDCandidate.cxx.
Referenced by DsReconstruction::execute().
00277 { 00278 std::cerr << "No NavCDPi0 for this CDCandidate" << std::endl ; 00279 exit( 1 ) ; 00280 return ( (EvtRecPi0*)0 ) ; 00281 }
uint32_t CDDecay::numberChildren | ( | ) | const [inherited] |
Definition at line 216 of file CDDecay.cxx.
References CDDecay::m_children.
00217 { 00218 return ( m_children.size() ) ; 00219 }
bool CDCandidate::overlap | ( | const CDCandidate & | aOtherCDCandidate | ) | const [inherited] |
Definition at line 367 of file CDCandidate.cxx.
References CDCandidate::footPrint(), CDCandidate::m_footPrint, and CDFootPrint::overlap().
00368 { 00369 return ( m_footPrint.overlap( aOtherCDCandidate.footPrint() ) ) ; 00370 }
const HepLorentzVector & CDCandidate::p4 | ( | ) | const [inherited] |
Definition at line 177 of file CDCandidate.cxx.
References CDCandidate::kinematicData(), and DecayChain::KinematicData::p4().
Referenced by CDDecay::defaultKinematicData().
00178 { 00179 return kinematicData()->p4(); 00180 }
const EvtRecTrack * CDCandidate::photon | ( | ) | const [virtual, inherited] |
Reimplemented in CDPhoton.
Definition at line 256 of file CDCandidate.cxx.
Referenced by NeutralDReconstruction::execute(), DsReconstruction::execute(), and CDCandidate::recurseNode().
00257 { 00258 std::cerr << "No NavShower for this CDCandidate" << std::endl ; 00259 exit( 1 ) ; 00260 return ( (EvtRecTrack*)0 ) ; 00261 }
void CDCandidate::recurseNode | ( | TracksAndShowers & | final, | |
const CDCandidate & | cand | |||
) | const [protected, inherited] |
Definition at line 201 of file CDCandidate.cxx.
References CDCandidate::builtFromCDPhoton(), CDCandidate::builtFromTrack(), CDDecay::children(), CDCandidate::decay(), first, CDCandidate::photon(), EvtCyclic3::second(), and CDCandidate::track().
Referenced by CDCandidate::finalChildren().
00203 { 00204 if(cand.builtFromTrack()) 00205 { 00206 final.first.push_back( cand.track() ); 00207 return; 00208 } 00209 if(cand.builtFromCDPhoton()) 00210 { 00211 final.second.push_back( cand.photon() ); 00212 return; 00213 } 00214 const DecayEvidence& decay = cand.decay(); 00215 const vector< ReferenceHolder<CDCandidate> >& children = decay.children(); 00216 vector< ReferenceHolder<CDCandidate> >::const_iterator lastChild = children.end(); 00217 for(vector<ReferenceHolder<CDCandidate> >::const_iterator child = children.begin(); 00218 child != lastChild; ++child) 00219 { 00220 recurseNode(final, **child); 00221 } 00222 }
void CDCandidate::setCDFootPrint | ( | const CDFootPrint & | aCDFootPrint | ) | [protected, inherited] |
Definition at line 117 of file CDCandidate.cxx.
References CDCandidate::m_footPrint.
Referenced by CDDecay::addChild().
00118 { 00119 m_footPrint = aCDFootPrint ; 00120 }
void CDDecay::setKinematicData | ( | const DecayChain::KinematicData & | aKinematicData | ) | [inherited] |
Reimplemented from CDCandidate.
Definition at line 193 of file CDDecay.cxx.
References CDCandidate::setKinematicData().
00194 { 00195 // Call setKinematicData of my super-class 00196 CDCandidate::setKinematicData( aKinematicData ); 00197 }
CDCandidate & CDCandidate::setP4 | ( | const HepLorentzVector & | aMomentum | ) | [inherited] |
Definition at line 88 of file CDCandidate.cxx.
References CDCandidate::modifiableKinematicData(), and DecayChain::KinematicData::setP4().
00089 { 00090 this->modifiableKinematicData()->setP4( aMomentum ) ; 00091 return( *this ) ; 00092 }
void CDCandidate::setUserTag | ( | int | tag | ) | [inherited] |
Definition at line 81 of file CDCandidate.cxx.
References CDCandidate::modifiableKinematicData(), and DecayChain::KinematicData::setUserTag().
Referenced by LocalRhotoPiPiSelector::operator()(), LocalPionSelector::operator()(), LocalPi0Selector::operator()(), LocalPhotonSelector::operator()(), LocalKsSelector::operator()(), LocalKaonSelector::operator()(), LocalEtatoPiPiPi0Selector::operator()(), LocalEtatoGGSelector::operator()(), LocalEptoRhoGamSelector::operator()(), LocalEptoPiPiEtaSelector::operator()(), and LocalEptoPiPiEta3PiSelector::operator()().
00082 { 00083 this->modifiableKinematicData()->setUserTag( tag ); 00084 }
const EvtRecTrack * CDCandidate::track | ( | ) | const [virtual, inherited] |
Reimplemented in CDChargedVisible< H >.
Definition at line 236 of file CDCandidate.cxx.
Referenced by NeutralDReconstruction::execute(), DsReconstruction::execute(), and CDCandidate::recurseNode().
00237 { 00238 std::cerr << "No navtrack for this CDCandidate" << std::endl ; 00239 exit( 1 ) ; 00240 return ( (EvtRecTrack*)0 ) ; 00241 }
int CDCandidate::userTag | ( | ) | const [inherited] |
Definition at line 137 of file CDCandidate.cxx.
References CDCandidate::kinematicData(), and DecayChain::KinematicData::userTag().
Referenced by CDDecay::defaultKinematicData(), LocalPionSelector::operator()(), and LocalKaonSelector::operator()().
00138 { 00139 return kinematicData()->userTag(); 00140 }
const EvtRecEtaToGG* CDEta::m_eta [private] |