Atlfast::ReconstructedParticle Class Reference

#include <ReconstructedParticle.h>

Inheritance diagram for Atlfast::ReconstructedParticle:

Inheritance graph
[legend]
Collaboration diagram for Atlfast::ReconstructedParticle:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ReconstructedParticle ()
 Constructors.
 ReconstructedParticle (const int pdg_id, const HepLorentzVector &vec, const HepMC::GenParticle *progenitor)
 ReconstructedParticle (const ReconstructedParticle &src)
 ReconstructedParticle (const ReconstructedParticle *src)
ReconstructedParticleoperator= (const ReconstructedParticle &src)
virtual ~ReconstructedParticle ()
virtual HepLorentzVector momentum () const
virtual double eta () const
virtual double phi () const
virtual double pT () const
virtual double eT () const
virtual double mT () const
virtual double pt () const
virtual IKinematicclone () const
virtual void accept (IAOOvisitor *iaPtr) const
 IAOO interface.
int pdg_id () const
 pdg identifier of particle
const HepMC::GenParticle * truth () const
 4-vec used for generation
double halo () const
 4-vec used for generation
void set_halo (double halo)
HepLorentzVector halovector () const
void set_halovector (HepLorentzVector halovector)
virtual void print (const std::string &coor, std::string t="") const
 IKinematic debug.
virtual void fillNavTokenFromAssocs (INavigationToken &) const=0
virtual double e () const
virtual double m () const
virtual void associate (const IAOO *otherEntity)=0
 store any object with IAOO above it the inheritance heirarchy
virtual std::vector< const
IAOO * >::const_iterator 
begin () const=0
 iterators for the store.
virtual std::vector< const
IAOO * >::const_iterator 
end () const=0
virtual bool unAssociated () const=0
 A quick way to find out whether there are any associations at a ll.
virtual void reset ()=0
 zero the container
virtual void dump (const std::string &s) const =0
 dump out debug info

Private Member Functions

virtual void fillToken (INavigationToken &) const
virtual void fillToken (INavigationToken &, const boost::any &) const
virtual void fillNavTokenFromAssocs (INavigationToken &) const
virtual void associate (const IAOO *otherEntity)
 store any object with IAOO above it the inheritance heirarchy
virtual std::vector< const
IAOO * >::const_iterator 
begin () const
 iterators for the store.
virtual std::vector< const
IAOO * >::const_iterator 
end () const
virtual bool unAssociated () const
 A quick way to find out whether there are any associations at a ll.
virtual void reset ()
 zero the container
virtual void dump (const std::string &) const
 dump out debug info

Private Attributes

int m_pdg_id
HepLorentzVector m_momentum
 pdg identity code
const HepMC::GenParticle * m_truth
 4-momentum of particle
double m_halo
HepLorentzVector m_halovector
 Cal energy in dR(0.2,0.4), scalar sum.

Detailed Description

Definition at line 103 of file ReconstructedParticle.h.


Constructor & Destructor Documentation

Atlfast::ReconstructedParticle::ReconstructedParticle (  ) 

Constructors.

Definition at line 63 of file ReconstructedParticle.cxx.

00063                                               :
00064     AODNavigationImp(),
00065     m_pdg_id(0), 
00066     m_momentum(HepLorentzVector(0.0,0.0,0.0,0.0)), 
00067     m_truth(0),
00068     m_halo(0.),
00069     m_halovector(HepLorentzVector(0.,0.,0.,0.)){
00070   }
  HepLorentzVector ReconstructedParticle::momentum() const {

Atlfast::ReconstructedParticle::ReconstructedParticle ( const int  pdg_id,
const HepLorentzVector &  vec,
const HepMC::GenParticle *  progenitor 
)

Definition at line 8 of file ReconstructedParticle.cxx.

00011                                                            : 
00012     IKinematic(),
00013     AODNavigationImp(),m_pdg_id(pdg_id), 
00014     m_momentum(vec), m_truth(progenitor),
00015     m_halo(0.),
00016     m_halovector(HepLorentzVector(0.,0.,0.,0.)) {
00017   }

Atlfast::ReconstructedParticle::ReconstructedParticle ( const ReconstructedParticle src  ) 

Definition at line 19 of file ReconstructedParticle.cxx.

00021                                                 : 
00022     Atlfast::IAOO(src),
00023     INavigable(src),
00024     I4Momentum(src),
00025     INavigable4Momentum(src),
00026     Atlfast::IKinematic(src),
00027     Atlfast::IAODNavigation(src),
00028     AODNavigationImp( src ){
00029     m_pdg_id     = src.m_pdg_id;
00030     m_momentum   = src.m_momentum;
00031     m_truth      = src.m_truth;
00032     m_halo       = src.m_halo;
00033     m_halovector = src.m_halovector;
00034   }

Atlfast::ReconstructedParticle::ReconstructedParticle ( const ReconstructedParticle src  ) 

Definition at line 36 of file ReconstructedParticle.cxx.

00039                                                 :AODNavigationImp( *src ){
00040     m_pdg_id     = src->m_pdg_id; 
00041     m_momentum   = src->m_momentum; 
00042     m_truth      = src->m_truth;
00043     m_halo       = src->m_halo;
00044     m_halovector = src->m_halovector;
00045   }

virtual Atlfast::ReconstructedParticle::~ReconstructedParticle (  )  [inline, virtual]

Definition at line 118 of file ReconstructedParticle.h.

00118 {}


Member Function Documentation

ReconstructedParticle & Atlfast::ReconstructedParticle::operator= ( const ReconstructedParticle src  ) 

Definition at line 48 of file ReconstructedParticle.cxx.

00048                                                                    {
00049 
00050     if(this == &src) return *this;
00051     
00052     AODNavigationImp::operator=( src );
00053     m_pdg_id     = src.m_pdg_id; 
00054     m_momentum   = src.m_momentum; 
00055     m_truth      = src.m_truth;
00056     m_halo       = src.m_halo;
00057     m_halovector = src.m_halovector;
00058     return *this;
00059   }

HepLorentzVector Atlfast::ReconstructedParticle::momentum (  )  const [virtual]

.............................................. IKinematic interface

Implements Atlfast::IKinematic.

Definition at line 71 of file ReconstructedParticle.cxx.

00071                                                          {
00072     return m_momentum;
00073   } 

double Atlfast::ReconstructedParticle::eta (  )  const [virtual]

Implements Atlfast::IKinematic.

Definition at line 74 of file ReconstructedParticle.cxx.

00074                                            { 
00075     return m_momentum.pseudoRapidity() ;
00076   }

double Atlfast::ReconstructedParticle::phi (  )  const [virtual]

Implements Atlfast::IKinematic.

Definition at line 77 of file ReconstructedParticle.cxx.

00077                                            { 
00078     return m_momentum.phi() ;  
00079   } 

double Atlfast::ReconstructedParticle::pT (  )  const [virtual]

Implements Atlfast::IKinematic.

Definition at line 80 of file ReconstructedParticle.cxx.

00080                                            {
00081     return m_momentum.perp() ;
00082   }

double Atlfast::ReconstructedParticle::eT (  )  const [virtual]

Implements Atlfast::IKinematic.

Definition at line 86 of file ReconstructedParticle.cxx.

00086                                            {
00087       return m_momentum.e()*m_momentum.perp()/m_momentum.rho() ;
00088   }

double Atlfast::ReconstructedParticle::mT (  )  const [virtual]

Implements Atlfast::IKinematic.

Definition at line 89 of file ReconstructedParticle.cxx.

00089                                            {
00090     return m_momentum.mt() ;
00091   }

double Atlfast::ReconstructedParticle::pt (  )  const [virtual]

Definition at line 83 of file ReconstructedParticle.cxx.

00083                                            {
00084     return m_momentum.perp() ;
00085   }

IKinematic * Atlfast::ReconstructedParticle::clone (  )  const [virtual]

Implements Atlfast::IKinematic.

Definition at line 92 of file ReconstructedParticle.cxx.

00092                                                    {
00093     IKinematic* ik =  new ReconstructedParticle(*this) ;
00094     return ik;
00095   }

void Atlfast::ReconstructedParticle::accept ( IAOOvisitor iaPtr  )  const [virtual]

IAOO interface.

Implements Atlfast::IAOO.

Definition at line 97 of file ReconstructedParticle.cxx.

00097                                                             {
00098     iaPtr->process(this);
00099   }

int Atlfast::ReconstructedParticle::pdg_id (  )  const

pdg identifier of particle

Definition at line 101 of file ReconstructedParticle.cxx.

00101                                           {
00102     return m_pdg_id ; 
00103   }

const HepMC::GenParticle * Atlfast::ReconstructedParticle::truth (  )  const

4-vec used for generation

Definition at line 105 of file ReconstructedParticle.cxx.

00105                                                              {
00106     return m_truth ; 
00107   }

double Atlfast::ReconstructedParticle::halo (  )  const [inline]

4-vec used for generation

Definition at line 141 of file ReconstructedParticle.h.

00141 {return m_halo;}

void Atlfast::ReconstructedParticle::set_halo ( double  halo  )  [inline]

Definition at line 142 of file ReconstructedParticle.h.

00142 {m_halo = halo;}

HepLorentzVector Atlfast::ReconstructedParticle::halovector (  )  const [inline]

Definition at line 143 of file ReconstructedParticle.h.

00143 {return m_halovector;}

void Atlfast::ReconstructedParticle::set_halovector ( HepLorentzVector  halovector  )  [inline]

Definition at line 144 of file ReconstructedParticle.h.

void Atlfast::ReconstructedParticle::print ( const std::string &  coor,
std::string  t = "" 
) const [virtual]

IKinematic debug.

Implements Atlfast::IKinematic.

Definition at line 109 of file ReconstructedParticle.cxx.

00110                                                        {
00111     AODNavigationImp::print(coor, t);
00112     std::cout<<t<<std::string(73,' ')<<"ReconstructedParticle"<<std::endl;
00113   }

virtual void Atlfast::IAODNavigation::fillNavTokenFromAssocs ( INavigationToken &   )  const [pure virtual, inherited]

Implemented in Atlfast::AODNavigationImp.

virtual double Atlfast::IKinematic::e (  )  const [inline, virtual, inherited]

Reimplemented in Atlfast::Jet.

Definition at line 75 of file IKinematic.h.

00075 {return this->momentum().e();}

virtual double Atlfast::IKinematic::m (  )  const [inline, virtual, inherited]

Definition at line 76 of file IKinematic.h.

00076 {return this->momentum().m();}

virtual void Atlfast::IAOO::associate ( const IAOO otherEntity  )  [pure virtual, inherited]

store any object with IAOO above it the inheritance heirarchy

Implemented in Atlfast::AOObase.

virtual std::vector<const IAOO*>::const_iterator Atlfast::IAOO::begin (  )  const [pure virtual, inherited]

iterators for the store.

Implemented in Atlfast::AOObase.

virtual std::vector<const IAOO*>::const_iterator Atlfast::IAOO::end (  )  const [pure virtual, inherited]

Implemented in Atlfast::AOObase.

virtual bool Atlfast::IAOO::unAssociated (  )  const [pure virtual, inherited]

A quick way to find out whether there are any associations at a ll.

Implemented in Atlfast::AOObase.

virtual void Atlfast::IAOO::reset (  )  [pure virtual, inherited]

zero the container

Implemented in Atlfast::AOObase.

virtual void Atlfast::IAOO::dump ( const std::string &  s  )  const [pure virtual, inherited]

dump out debug info

Implemented in Atlfast::AOObase.

virtual void Atlfast::AODNavigationImp::fillToken ( INavigationToken &   )  const [inline, virtual, inherited]

Reimplemented in Atlfast::Cluster, and Atlfast::Jet.

Definition at line 48 of file AODNavigationImp.h.

00048 { };

virtual void Atlfast::AODNavigationImp::fillToken ( INavigationToken &  ,
const boost::any &   
) const [inline, virtual, inherited]

Reimplemented in Atlfast::Cluster, and Atlfast::Jet.

Definition at line 49 of file AODNavigationImp.h.

00049 { };

void Atlfast::AODNavigationImp::fillNavTokenFromAssocs ( INavigationToken &   )  const [virtual, inherited]

Implements Atlfast::IAODNavigation.

Definition at line 14 of file AODNavigationImp.cxx.

00014                                                                             {
00015     NavigationToken<I4Momentum>* i4Token =
00016       dynamic_cast< NavigationToken<I4Momentum>* >(&token);
00017     if ( i4Token == 0 ) return;
00018     
00019     TypeVisitor typeVisitor = SimpleAssocsDispatcher(this, TypeVisitor());
00020 
00021     std::vector<const I4Momentum*> i4s = typeVisitor.i4momenta();    
00022     std::vector<const I4Momentum*>::const_iterator iter = i4s.begin();
00023     for(;iter!= i4s.end(); ++iter){i4Token->setObject(*iter);}
00024   }

void Atlfast::AOObase::associate ( const IAOO otherEntity  )  [virtual, inherited]

store any object with IAOO above it the inheritance heirarchy

Implements Atlfast::IAOO.

Definition at line 18 of file AOObase.cxx.

00018                                            {
00019     m_associations.push_back( other ) ;
00020   }

std::vector< const IAOO * >::const_iterator Atlfast::AOObase::begin (  )  const [virtual, inherited]

iterators for the store.

Implements Atlfast::IAOO.

Definition at line 10 of file AOObase.cxx.

00010                                                            {
00011     return m_associations.begin();
00012   }

std::vector< const IAOO * >::const_iterator Atlfast::AOObase::end (  )  const [virtual, inherited]

Implements Atlfast::IAOO.

Definition at line 14 of file AOObase.cxx.

00014                                                            {
00015     return m_associations.end();
00016   }

virtual bool Atlfast::AOObase::unAssociated (  )  const [inline, virtual, inherited]

A quick way to find out whether there are any associations at a ll.

Implements Atlfast::IAOO.

Definition at line 31 of file AOObase.h.

00031 { return m_associations.empty() ; }

virtual void Atlfast::AOObase::reset (  )  [inline, virtual, inherited]

zero the container

Implements Atlfast::IAOO.

Definition at line 32 of file AOObase.h.

00032 { m_associations.clear();}

void Atlfast::AOObase::dump ( const std::string &   )  const [virtual, inherited]

dump out debug info

Implements Atlfast::IAOO.

Definition at line 22 of file AOObase.cxx.

00022                                             {
00023     std::cout<<'\n'<<s<<"Associations: "
00024              <<std::setw(6)<<m_associations.size()
00025              <<std::string(53,' ')
00026              <<"AOObase"<<std::endl;
00027     //std::for_each(m_associations.begin(), 
00028     //    m_associations.end(), 
00029     //    AtlfastDumperObject("Associations", "   ")
00030     //    );
00031   }


Member Data Documentation

int Atlfast::ReconstructedParticle::m_pdg_id [private]

Definition at line 151 of file ReconstructedParticle.h.

HepLorentzVector Atlfast::ReconstructedParticle::m_momentum [private]

pdg identity code

Definition at line 152 of file ReconstructedParticle.h.

const HepMC::GenParticle* Atlfast::ReconstructedParticle::m_truth [private]

4-momentum of particle

Pointer to Truth HepMC::Particile

Todo:
Should be implemented as GenParticleLink

Definition at line 157 of file ReconstructedParticle.h.

double Atlfast::ReconstructedParticle::m_halo [private]

Definition at line 159 of file ReconstructedParticle.h.

HepLorentzVector Atlfast::ReconstructedParticle::m_halovector [private]

Cal energy in dR(0.2,0.4), scalar sum.

Definition at line 160 of file ReconstructedParticle.h.


The documentation for this class was generated from the following files:
Generated on Fri Sep 21 13:00:23 2007 for AtlfastEvent by  doxygen 1.5.1