Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members  

HepMC_helper::SelectJetTag Class Reference

#include <SelectJetTag.h>

Inheritance diagram for HepMC_helper::SelectJetTag:

Inheritance graph
[legend]
Collaboration diagram for HepMC_helper::SelectJetTag:

Collaboration graph
[legend]
List of all members.

Public Methods

 SelectJetTag (int id, double pt, double eta)
 ~SelectJetTag ()
IMCselectorcreate () const
bool operator() (const Particle *const p) const
bool operator() (const Particle &p) const

Private Attributes

int m_id
double m_ptMin
double m_etaMax

Constructor & Destructor Documentation

HepMC_helper::SelectJetTag::SelectJetTag int    id,
double    pt,
double    eta
 

Definition at line 162 of file HepMC_helper.cxx.

Referenced by create().

00162                                                          :
00163     m_id(abs(id)), m_ptMin(pt), m_etaMax(eta){
00164   }
  bool SelectJetTag::operator() ( const Particle* const p ) const{

HepMC_helper::SelectJetTag::~SelectJetTag   [inline]
 

Definition at line 21 of file SelectJetTag.h.

00021 {};

Member Function Documentation

IMCselector * HepMC_helper::SelectJetTag::create   const [virtual]
 

Implements HepMC_helper::IMCselector.

Definition at line 189 of file HepMC_helper.cxx.

References SelectJetTag().

00189 {return new SelectJetTag(*this);}

bool HepMC_helper::SelectJetTag::operator() const Particle *const    p const [virtual]
 

Implements HepMC_helper::IMCselector.

Definition at line 165 of file HepMC_helper.cxx.

References m_etaMax, m_id, m_ptMin, and HepMC_helper::Particle.

Referenced by operator()().

00165                                                                {
00166     // check on kinematics
00167     if( abs(p->pdg_id())                    !=     m_id) return false ; 
00168     if( p->momentum().perp()                 <  m_ptMin) return false ; 
00169     if((abs(p->momentum().pseudoRapidity())) > m_etaMax) return false ; 
00170     if(p->end_vertex()){
00171       
00172       HepMC::GenVertex::particle_iterator firstChild = 
00173         p->end_vertex()->particles_begin(HepMC::children);
00174       
00175       HepMC::GenVertex::particle_iterator endChild = 
00176         p->end_vertex()->particles_end(HepMC::children);
00177       
00178       HepMC::GenVertex::particle_iterator thisChild = firstChild; 
00179       
00180       //Should be vetoing this tag if it has a child of the same pdg id
00181       // following kludge due to fact that parents are included in
00182       // the list of children!
00183       for(; thisChild!=endChild; ++thisChild){
00184         if(abs((*thisChild)->pdg_id()) == m_id) return false;
00185       }
00186     }
00187     return true ;       
00188   }

bool HepMC_helper::SelectJetTag::operator() const Particle   p const
 

Definition at line 190 of file HepMC_helper.cxx.

References operator()(), and HepMC_helper::Particle.

00190                                                           {
00191     return this->operator()(&p);
00192   } 

Member Data Documentation

int HepMC_helper::SelectJetTag::m_id [private]
 

Definition at line 27 of file SelectJetTag.h.

Referenced by operator()().

double HepMC_helper::SelectJetTag::m_ptMin [private]
 

Definition at line 28 of file SelectJetTag.h.

Referenced by operator()().

double HepMC_helper::SelectJetTag::m_etaMax [private]
 

Definition at line 29 of file SelectJetTag.h.

Referenced by operator()().


The documentation for this class was generated from the following files:
Generated on Wed Jan 15 11:00:36 2003 for AtlfastUtils by doxygen1.3-rc1