BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
CDChargedVisible< H > Class Template Reference

#include <CDChargedVisible.h>

Inheritance diagram for CDChargedVisible< H >:

Public Types

typedef CDCandidate CandidateClass
typedef EvtRecTrack VisibleEvidence
typedef CDCandidate CandidateClass
typedef EvtRecTrack VisibleEvidence
typedef CDCandidate CandidateClass
typedef EvtRecTrack VisibleEvidence
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

 CDChargedVisible (const EvtRecTrack *aVisible)
 CDChargedVisible (const CDChargedVisible< H > &aOtherCDChargedVisible)
virtual ~CDChargedVisible ()
virtual bool builtFromTrack () const
virtual const EvtRecTracktrack () const
virtual DBCandidate::Hypo hypo () const
 CDChargedVisible (const EvtRecTrack *aVisible)
 CDChargedVisible (const CDChargedVisible< H > &aOtherCDChargedVisible)
virtual ~CDChargedVisible ()
virtual bool builtFromTrack () const
virtual const EvtRecTracktrack () const
virtual DBCandidate::Hypo hypo () const
 CDChargedVisible (const EvtRecTrack *aVisible)
 CDChargedVisible (const CDChargedVisible< H > &aOtherCDChargedVisible)
virtual ~CDChargedVisible ()
virtual bool builtFromTrack () const
virtual const EvtRecTracktrack () const
virtual DBCandidate::Hypo hypo () 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 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
virtual bool builtFromCDDecay () const
virtual const DecayEvidencedecay () 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 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
virtual bool builtFromCDDecay () const
virtual const DecayEvidencedecay () 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 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
virtual bool builtFromCDDecay () const
virtual const DecayEvidencedecay () 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

virtual DecayChain::KinematicDatadefaultKinematicData () const
virtual DecayChain::KinematicDatadefaultKinematicData () const
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

template<DBCandidate::Hypo H>
class CDChargedVisible< H >

Definition at line 83 of file Event/BesDChain/include/BesDChain/CDChargedVisible.h.

Member Typedef Documentation

◆ CandidateClass [1/3]

template<DBCandidate::Hypo H>
typedef CDCandidate CDChargedVisible< H >::CandidateClass

◆ CandidateClass [2/3]

◆ CandidateClass [3/3]

◆ VisibleEvidence [1/3]

template<DBCandidate::Hypo H>
typedef EvtRecTrack CDChargedVisible< H >::VisibleEvidence

◆ VisibleEvidence [2/3]

◆ VisibleEvidence [3/3]

Constructor & Destructor Documentation

◆ CDChargedVisible() [1/6]

template<DBCandidate::Hypo H>
CDChargedVisible< H >::CDChargedVisible ( const EvtRecTrack * aVisible)

◆ CDChargedVisible() [2/6]

template<DBCandidate::Hypo H>
CDChargedVisible< H >::CDChargedVisible ( const CDChargedVisible< H > & aOtherCDChargedVisible)

Definition at line 131 of file Event/BesDChain/include/BesDChain/Template/CDChargedVisible.cc.

133 , m_visibleEvidence( aOtherCDChargedHypo.m_visibleEvidence ) {}

◆ ~CDChargedVisible() [1/3]

◆ CDChargedVisible() [3/6]

template<DBCandidate::Hypo H>
CDChargedVisible< H >::CDChargedVisible ( const EvtRecTrack * aVisible)

◆ CDChargedVisible() [4/6]

template<DBCandidate::Hypo H>
CDChargedVisible< H >::CDChargedVisible ( const CDChargedVisible< H > & aOtherCDChargedVisible)

◆ ~CDChargedVisible() [2/3]

template<DBCandidate::Hypo H>
virtual CDChargedVisible< H >::~CDChargedVisible ( )
virtual

◆ CDChargedVisible() [5/6]

template<DBCandidate::Hypo H>
CDChargedVisible< H >::CDChargedVisible ( const EvtRecTrack * aVisible)

◆ CDChargedVisible() [6/6]

template<DBCandidate::Hypo H>
CDChargedVisible< H >::CDChargedVisible ( const CDChargedVisible< H > & aOtherCDChargedVisible)

◆ ~CDChargedVisible() [3/3]

template<DBCandidate::Hypo H>
virtual CDChargedVisible< H >::~CDChargedVisible ( )
virtual

Member Function Documentation

◆ builtFromTrack() [1/3]

template<DBCandidate::Hypo H>
bool CDChargedVisible< H >::builtFromTrack ( ) const
virtual

Reimplemented from CDCandidate.

Definition at line 152 of file Event/BesDChain/include/BesDChain/Template/CDChargedVisible.cc.

152 {
153 return ( 0 != m_visibleEvidence );
154}

◆ builtFromTrack() [2/3]

template<DBCandidate::Hypo H>
virtual bool CDChargedVisible< H >::builtFromTrack ( ) const
virtual

Reimplemented from CDCandidate.

◆ builtFromTrack() [3/3]

template<DBCandidate::Hypo H>
virtual bool CDChargedVisible< H >::builtFromTrack ( ) const
virtual

Reimplemented from CDCandidate.

◆ defaultKinematicData() [1/3]

template<DBCandidate::Hypo H>
KinematicData * CDChargedVisible< H >::defaultKinematicData ( ) const
protectedvirtual

Implements CDCandidate.

Definition at line 165 of file Event/BesDChain/include/BesDChain/Template/CDChargedVisible.cc.

165 {
167
168 double mass = DBCandidate::mass( static_cast<DBCandidate::Hypo>( H ) );
169
170 // original set, can be used again once kalTrack has charge and momentum available in memory
171 /*
172 if ( (const_cast<EvtRecTrack*>(m_visibleEvidence))->isMdcKalTrackValid() ) {
173 RecMdcKalTrack* mdcKalTrack =
174 (const_cast<EvtRecTrack*>(m_visibleEvidence))->mdcKalTrack();
175
176 mdcKalTrack->setPidType( static_cast<RecMdcKalTrack::PidType>
177 (static_cast<DBCandidate::Hypo>(H) - 1) );
178
179 tmp->setCharge( mdcKalTrack->charge() );
180 //tmp->setMass( DBCandidate::mass( static_cast<DBCandidate::Hypo>(H) ) );
181 tmp->setMomentum( Hep3Vector(mdcKalTrack->px(), mdcKalTrack->py(), mdcKalTrack->pz()) );
182 }
183 */
184 // get momentume and chage from helix information directly
185
186 if ( ( const_cast<EvtRecTrack*>( m_visibleEvidence ) )->isMdcKalTrackValid() )
187 {
189 ( const_cast<EvtRecTrack*>( m_visibleEvidence ) )->mdcKalTrack();
190
191 mdcKalTrack->setPidType(
192 static_cast<RecMdcKalTrack::PidType>( static_cast<DBCandidate::Hypo>( H ) - 1 ) );
193
194 int pid = static_cast<DBCandidate::Hypo>( H ) - 1;
195
197 if ( pid == 0 ) zhelix = mdcKalTrack->getZHelixE();
198 else if ( pid == 1 ) zhelix = mdcKalTrack->getZHelixMu();
199 else if ( pid == 2 ) zhelix = mdcKalTrack->getZHelix();
200 else if ( pid == 3 ) zhelix = mdcKalTrack->getZHelixK();
201 else zhelix = mdcKalTrack->getZHelixP();
202
203 double dr( 0 ), phi0( 0 ), kappa( 0 ), dz( 0 ), tanl( 0 );
204 dr = zhelix[0];
205 phi0 = zhelix[1];
206 kappa = zhelix[2];
207 dz = zhelix[3];
208 tanl = zhelix[4];
209
210 int charge = 0;
211
212 if ( kappa > 0.0000000001 ) charge = 1;
213 else if ( kappa < -0.0000000001 ) charge = -1;
214
215 double pxy = 0;
216 if ( kappa != 0 ) pxy = 1.0 / fabs( kappa );
217
218 double px = pxy * ( -sin( phi0 ) );
219 double py = pxy * cos( phi0 );
220 double pz = pxy * tanl;
221
222 double e = sqrt( pxy * pxy + pz * pz + mass * mass );
223
224 tmp->setCharge( charge );
225 // tmp->setMass( DBCandidate::mass( static_cast<DBCandidate::Hypo>(H) ) );
226 tmp->setP4( HepLorentzVector( px, py, pz, e ) );
227 }
228
229 else
230 {
231 RecMdcTrack* mdcTrack = ( const_cast<EvtRecTrack*>( m_visibleEvidence ) )->mdcTrack();
232 tmp->setCharge( mdcTrack->charge() );
233 double e = sqrt( mass * mass + mdcTrack->p3().mag2() );
234 tmp->setP4( HepLorentzVector( mdcTrack->p3(), e ) );
235 }
236
237 return tmp;
238}
CDCandidate & setP4(const HepLorentzVector &aMomentum)
int charge() const
double mass() const
static double mass(DBCandidate::Hypo aHypo)

◆ defaultKinematicData() [2/3]

template<DBCandidate::Hypo H>
virtual DecayChain::KinematicData * CDChargedVisible< H >::defaultKinematicData ( ) const
protectedvirtual

Implements CDCandidate.

◆ defaultKinematicData() [3/3]

template<DBCandidate::Hypo H>
virtual DecayChain::KinematicData * CDChargedVisible< H >::defaultKinematicData ( ) const
protectedvirtual

Implements CDCandidate.

◆ hypo() [1/3]

template<DBCandidate::Hypo H>
DBCandidate::Hypo CDChargedVisible< H >::hypo ( ) const
inlinevirtual

Reimplemented from CDCandidate.

Definition at line 135 of file Event/BesDChain/include/BesDChain/CDChargedVisible.h.

135 {
136 return H;
137}

◆ hypo() [2/3]

template<DBCandidate::Hypo H>
virtual DBCandidate::Hypo CDChargedVisible< H >::hypo ( ) const
inlinevirtual

Reimplemented from CDCandidate.

◆ hypo() [3/3]

template<DBCandidate::Hypo H>
virtual DBCandidate::Hypo CDChargedVisible< H >::hypo ( ) const
inlinevirtual

Reimplemented from CDCandidate.

◆ track() [1/3]

template<DBCandidate::Hypo H>
const EvtRecTrack * CDChargedVisible< H >::track ( ) const
virtual

Reimplemented from CDCandidate.

Definition at line 156 of file Event/BesDChain/include/BesDChain/Template/CDChargedVisible.cc.

156 {
157 return m_visibleEvidence;
158}

Referenced by LocalKaonSelector::operator()(), LocalPionSelector::operator()(), and LocalProtonSelector::operator()().

◆ track() [2/3]

template<DBCandidate::Hypo H>
virtual const EvtRecTrack * CDChargedVisible< H >::track ( ) const
virtual

Reimplemented from CDCandidate.

◆ track() [3/3]

template<DBCandidate::Hypo H>
virtual const EvtRecTrack * CDChargedVisible< H >::track ( ) const
virtual

Reimplemented from CDCandidate.


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