Atlfast::Jet Class Reference

#include <Jet.h>

Inheritance diagram for Atlfast::Jet:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Jet ()
 Jet (const ICluster &cluster)
 Jet (const HepLorentzVector &vec, ICluster &cluster)
 Jet (const Jet &)
Jetoperator= (const Jet &)
void setMomentum (const HepLorentzVector &vec)
void addMuon (const 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 IKinematicclone () const
virtual double px () const
virtual double py () const
virtual double pz () const
double e () const
void setPdg_id (int)
int pdg_id () const
void setBTagged (std::string tagname)
bool isBTagged () const
bool isBTagged (std::string tagname) const
void setBTagCorrFactor (std::string tagname, double)
double bTagCorrFactor () const
double bTagCorrFactor (std::string tagname) const
void setLightTagCorrFactor (std::string tagname, double)
double lTagCorrFactor () const
double lTagCorrFactor (std::string tagname) const
void setTauTagged (std::string tagname)
bool isTauTagged () const
bool isTauTagged (std::string tagname) const
void setTauTagCorrFactor (std::string tagname, double)
double tauTagCorrFactor () const
double tauTagCorrFactor (std::string tagname) const
void setdRbquark (double)
double getdRbquark () const
void setdRcquark (double)
double getdRcquark () const
void setdRhadtau (double)
double getdRhadtau () const
virtual void accept (IAOOvisitor *iaPtr) const
 to be implemented by the concrete classes
virtual void print (const std::string &coor, std::string t="") const
virtual void fillToken (INavigationToken &) const
virtual void fillToken (INavigationToken &, const boost::any &) const
virtual void fillNavTokenFromAssocs (INavigationToken &) const=0
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

Protected Member Functions

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

HepLorentzVector m_momentum
int m_pdg_id
bool m_tagged
double m_dRbquark
double m_dRcquark
double m_dRhadtau
std::map< std::string, double > m_isBTagged
std::map< std::string, double > m_bCorrFactors
std::map< std::string, double > m_lCorrFactors
std::map< std::string, double > m_isTauTagged
std::map< std::string, double > m_tauCorrFactors
std::vector< const ReconstructedParticle * > m_muons
std::vector< const ICluster * > m_clusters

Detailed Description

Represents a Jet made from clusters. Jets honour the IKinematic interface and thus contain the documented kinematic methods. There are also methods to set and interrogate the flavour tag of the jet

Definition at line 69 of file Jet.h.


Constructor & Destructor Documentation

Atlfast::Jet::Jet (  )  [inline]

Definition at line 100 of file Jet.h.

00100 :AODNavigationImp() {}

Atlfast::Jet::Jet ( const ICluster cluster  )  [explicit]

Definition at line 12 of file Jet.cxx.

00012                                   :
00013     AODNavigationImp(), 
00014 
00015     m_momentum(cluster.momentum()),
00016     m_pdg_id(ParticleCodes::UQUARK),
00017     m_tagged(true),
00018     m_dRbquark(999.),
00019     m_dRcquark(999.),
00020     m_dRhadtau(999.){
00021     
00022     IAOO* iaoo = this;
00023     iaoo->associate(&cluster);
00024     m_clusters.push_back(&cluster);
00025   }

Atlfast::Jet::Jet ( const HepLorentzVector &  vec,
ICluster cluster 
)

Definition at line 28 of file Jet.cxx.

00028                                                           : 
00029     AODNavigationImp(), 
00030     
00031     m_momentum(vec), 
00032     m_pdg_id(ParticleCodes::UQUARK),
00033     m_tagged(true),
00034     m_dRbquark(999.),
00035     m_dRcquark(999.),
00036     m_dRhadtau(999.){
00037     // Here we fill the related cells vector with pointers to the cells
00038     // from which it was constructed.
00039     IAOO* iaoo = this;
00040     iaoo->associate( &cluster );
00041     m_clusters.push_back(&cluster);
00042   }

Atlfast::Jet::Jet ( const Jet  ) 

Definition at line 45 of file Jet.cxx.

00045                         :
00046     Atlfast::IAOO(rhs),
00047     INavigable(rhs),
00048     I4Momentum(rhs),
00049     INavigable4Momentum(rhs),
00050     Atlfast::IKinematic(rhs),
00051     Atlfast::IAODNavigation(rhs),
00052     AODNavigationImp(rhs){
00053     m_momentum = rhs.m_momentum;
00054     m_pdg_id   = rhs.m_pdg_id;
00055     m_tagged   = rhs.m_tagged;
00056     m_dRbquark = rhs.m_dRbquark;
00057     m_dRcquark = rhs.m_dRcquark;
00058     m_dRhadtau = rhs.m_dRhadtau;
00059     m_clusters = rhs.m_clusters;
00060     m_muons    = rhs.m_muons;
00061   }
  


Member Function Documentation

Jet & Atlfast::Jet::operator= ( const Jet  ) 

Definition at line 65 of file Jet.cxx.

00065                                    {
00066     if(this == &rhs) return *this;
00067 
00068     AODNavigationImp::operator=(rhs);
00069     
00070     m_momentum = rhs.m_momentum;
00071     m_pdg_id   = rhs.m_pdg_id;
00072     m_tagged   = rhs.m_tagged;
00073     m_dRbquark = rhs.m_dRbquark;
00074     m_dRcquark = rhs.m_dRcquark;
00075     m_dRhadtau = rhs.m_dRhadtau;
00076     m_clusters = rhs.m_clusters;
00077     m_muons    = rhs.m_muons;
00078 
00079     return *this;
00080   }

void Atlfast::Jet::setMomentum ( const HepLorentzVector &  vec  ) 

Definition at line 84 of file Jet.cxx.

00084 {m_momentum=vec;}

void Atlfast::Jet::addMuon ( const ReconstructedParticle  ) 

Definition at line 88 of file Jet.cxx.

00088                                                   {
00089 
00090     m_momentum += p->momentum();
00091     this->associate(p);
00092     this->m_muons.push_back(p); 
00093   }

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

Implements Atlfast::IKinematic.

Definition at line 96 of file Jet.cxx.

00096 {return m_momentum; } 

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

Implements Atlfast::IKinematic.

Definition at line 98 of file Jet.cxx.

00098 { return m_momentum.pseudoRapidity() ;}

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

Implements Atlfast::IKinematic.

Definition at line 99 of file Jet.cxx.

00099 { return m_momentum.phi() ;  } 

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

Implements Atlfast::IKinematic.

Definition at line 100 of file Jet.cxx.

00100 { return m_momentum.perp() ;}

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

Implements Atlfast::IKinematic.

Definition at line 101 of file Jet.cxx.

00101                          { 
00102     return m_momentum.e()*m_momentum.perp()/m_momentum.rho() ;} 

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

Implements Atlfast::IKinematic.

Definition at line 103 of file Jet.cxx.

00103 { return m_momentum.mt(); } 

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

Implements Atlfast::IKinematic.

Definition at line 105 of file Jet.cxx.

00105                               {
00106     IKinematic* ik = new Jet(*this);
00107     return ik;
00108   }

double Atlfast::Jet::px (  )  const [virtual]

Definition at line 111 of file Jet.cxx.

00111 { return m_momentum.px(); } 

double Atlfast::Jet::py (  )  const [virtual]

Definition at line 112 of file Jet.cxx.

00112 { return m_momentum.py(); } 

double Atlfast::Jet::pz (  )  const [virtual]

Definition at line 113 of file Jet.cxx.

00113 { return m_momentum.pz(); } 

double Atlfast::Jet::e (  )  const [virtual]

Reimplemented from Atlfast::IKinematic.

Definition at line 116 of file Jet.cxx.

00116 { return m_momentum.e(); } 

void Atlfast::Jet::setPdg_id ( int   ) 

Definition at line 122 of file Jet.cxx.

00122                                {
00123     m_pdg_id = pdg_id;
00124   }

int Atlfast::Jet::pdg_id (  )  const

Definition at line 126 of file Jet.cxx.

00126                        {
00127     return m_pdg_id;
00128   }

void Atlfast::Jet::setBTagged ( std::string  tagname  ) 

Definition at line 132 of file Jet.cxx.

00132                                         {
00133     m_isBTagged[tagname] = true;
00134     m_tagged=true;
00135   }

bool Atlfast::Jet::isBTagged (  )  const

Definition at line 138 of file Jet.cxx.

00138                             {
00139     return !m_isBTagged.empty();
00140   }

bool Atlfast::Jet::isBTagged ( std::string  tagname  )  const

Definition at line 143 of file Jet.cxx.

00143                                              {
00144     std::map<std::string,double>::const_iterator itr = m_isBTagged.find(tagname);
00145     return itr == m_isBTagged.end() ? false : itr->second;
00146   }

void Atlfast::Jet::setBTagCorrFactor ( std::string  tagname,
double   
)

Definition at line 149 of file Jet.cxx.

00149                                                              {
00150     m_bCorrFactors[tagname] = factor;
00151   }

double Atlfast::Jet::bTagCorrFactor (  )  const

Definition at line 154 of file Jet.cxx.

00154                                    {
00155     return m_bCorrFactors.empty() ? 0 : (*(m_bCorrFactors.begin())).second;
00156   }

double Atlfast::Jet::bTagCorrFactor ( std::string  tagname  )  const

Definition at line 159 of file Jet.cxx.

00159                                                     {
00160     std::map<std::string,double>::const_iterator itr = m_bCorrFactors.find(tagname);
00161     return itr == m_bCorrFactors.end() ? 0 : itr->second;
00162   }

void Atlfast::Jet::setLightTagCorrFactor ( std::string  tagname,
double   
)

Definition at line 165 of file Jet.cxx.

00165                                                                  {
00166     m_lCorrFactors[tagname] = factor;
00167   }

double Atlfast::Jet::lTagCorrFactor (  )  const

Definition at line 170 of file Jet.cxx.

00170                                    {
00171     return m_lCorrFactors.empty() ? 0 : (*(m_lCorrFactors.begin())).second;
00172   }

double Atlfast::Jet::lTagCorrFactor ( std::string  tagname  )  const

Definition at line 175 of file Jet.cxx.

00175                                                     {
00176     std::map<std::string,double>::const_iterator itr = m_lCorrFactors.find(tagname);
00177     return itr == m_lCorrFactors.end() ? 0 : itr->second;
00178   }

void Atlfast::Jet::setTauTagged ( std::string  tagname  ) 

Definition at line 181 of file Jet.cxx.

00181                                          {
00182     m_isTauTagged[tagname] = true;
00183     m_tagged=true;
00184   }

bool Atlfast::Jet::isTauTagged (  )  const

Definition at line 187 of file Jet.cxx.

00187                               {
00188     return !m_isTauTagged.empty();
00189   }

bool Atlfast::Jet::isTauTagged ( std::string  tagname  )  const

Definition at line 192 of file Jet.cxx.

00192                                                {
00193     std::map<std::string,double>::const_iterator itr = m_isTauTagged.find(tagname);
00194     return itr == m_isTauTagged.end() ? false : itr->second;    
00195   }

void Atlfast::Jet::setTauTagCorrFactor ( std::string  tagname,
double   
)

Definition at line 198 of file Jet.cxx.

00198                                                                {
00199     m_tauCorrFactors[tagname] = factor;
00200     return;
00201   }

double Atlfast::Jet::tauTagCorrFactor (  )  const

Definition at line 204 of file Jet.cxx.

00204                                      {
00205     return m_tauCorrFactors.empty() ? 0 : (*(m_tauCorrFactors.begin())).second;
00206   }

double Atlfast::Jet::tauTagCorrFactor ( std::string  tagname  )  const

Definition at line 209 of file Jet.cxx.

00209                                                       {
00210     std::map<std::string,double>::const_iterator itr = m_tauCorrFactors.find(tagname);
00211     return itr == m_tauCorrFactors.end() ? 0 : itr->second;
00212   }

void Atlfast::Jet::setdRbquark ( double   ) 

Definition at line 216 of file Jet.cxx.

00216                                       {
00217     m_dRbquark = dRbquark;
00218   }

double Atlfast::Jet::getdRbquark (  )  const

Definition at line 221 of file Jet.cxx.

00221                                 {
00222     return m_dRbquark;
00223   }

void Atlfast::Jet::setdRcquark ( double   ) 

Definition at line 226 of file Jet.cxx.

00226                                       {
00227     m_dRcquark = dRcquark;
00228   }

double Atlfast::Jet::getdRcquark (  )  const

Definition at line 231 of file Jet.cxx.

00231                                 {
00232     return m_dRcquark;
00233   }

void Atlfast::Jet::setdRhadtau ( double   ) 

Definition at line 236 of file Jet.cxx.

00236                                       {
00237     m_dRhadtau = dRhadtau;
00238   }

double Atlfast::Jet::getdRhadtau (  )  const

Definition at line 241 of file Jet.cxx.

00241                                 {
00242     return m_dRhadtau;
00243   }

virtual void Atlfast::Jet::accept ( IAOOvisitor iaPtr  )  const [inline, virtual]

to be implemented by the concrete classes

Implements Atlfast::IAOO.

Definition at line 158 of file Jet.h.

00158 {iaPtr->process(this);}

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

Implements Atlfast::IKinematic.

Definition at line 247 of file Jet.cxx.

00247                                                          {
00248     AODNavigationImp::print(coor, t);
00249     std::cout<<t<<"pdg: "<<std::setw(12)
00250              <<pdg_id()<<std::string(56,' ')<<"Jet"<<std::endl;
00251   }

void Atlfast::Jet::fillToken ( INavigationToken &   )  const [virtual]

Reimplemented from Atlfast::AODNavigationImp.

Definition at line 253 of file Jet.cxx.

00253                                                     {
00254         NavigationToken<I4Momentum>* i4Token =
00255       dynamic_cast< NavigationToken<I4Momentum>* >(&token);
00256     if ( i4Token == 0 ) return;
00257     
00258     // ask clusters to fill token
00259     std::vector<const ICluster*>::const_iterator citer = m_clusters.begin();
00260     for(;citer!=m_clusters.end();++citer){ (*citer)->fillToken(token);}
00261 
00262     // add the muons to the token
00263     std::vector<const ReconstructedParticle*>::const_iterator miter = 
00264       m_muons.begin();
00265     for(;miter!=m_muons.end();++miter){i4Token->setObject((*miter));}
00266   }

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

Reimplemented from Atlfast::AODNavigationImp.

Definition at line 162 of file Jet.h.

00162 {};

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

Implemented in Atlfast::AODNavigationImp.

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.

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

HepLorentzVector Atlfast::Jet::m_momentum [private]

Kinematic information assocated with this Jet

Definition at line 76 of file Jet.h.

int Atlfast::Jet::m_pdg_id [private]

Definition at line 78 of file Jet.h.

bool Atlfast::Jet::m_tagged [private]

Definition at line 79 of file Jet.h.

double Atlfast::Jet::m_dRbquark [private]

Definition at line 81 of file Jet.h.

double Atlfast::Jet::m_dRcquark [private]

Definition at line 82 of file Jet.h.

double Atlfast::Jet::m_dRhadtau [private]

Definition at line 83 of file Jet.h.

std::map<std::string,double> Atlfast::Jet::m_isBTagged [private]

Definition at line 85 of file Jet.h.

std::map<std::string,double> Atlfast::Jet::m_bCorrFactors [private]

Definition at line 86 of file Jet.h.

std::map<std::string,double> Atlfast::Jet::m_lCorrFactors [private]

Definition at line 88 of file Jet.h.

std::map<std::string,double> Atlfast::Jet::m_isTauTagged [private]

Definition at line 90 of file Jet.h.

std::map<std::string,double> Atlfast::Jet::m_tauCorrFactors [private]

Definition at line 91 of file Jet.h.

std::vector<const ReconstructedParticle*> Atlfast::Jet::m_muons [private]

Definition at line 93 of file Jet.h.

std::vector<const ICluster*> Atlfast::Jet::m_clusters [private]

Definition at line 94 of file Jet.h.


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