00001 //************************************************************************* 00002 //* * 00003 //* class SelectJetTag GenParticle Selector * 00004 //* * 00005 //* Selects GenParticle suitable for causing a jet to be tagged * 00006 //* * 00007 //************************************************************************* 00008 #ifndef HEPMCHELPER_SELECTJETTAG_H 00009 #define HEPMCHELPER_SELECTJETTAG_H 00010 00011 #ifndef HEPMCHELPER_IMCSELECTOR_H 00012 #include "AtlfastUtils/HepMC_helper/IMCselector.h" 00013 #endif 00014 00015 namespace HepMC_helper{ 00016 class SelectJetTag: public IMCselector { 00017 public: 00018 // Constructor 00019 SelectJetTag(int id, double pt, double eta); 00020 // Destructor 00021 ~SelectJetTag(){}; 00022 // The operator() method to determine acceptability of particle 00023 IMCselector* create() const; 00024 bool operator() ( const Particle* const p ) const; 00025 bool operator() ( const Particle& p ) const; 00026 private: 00027 bool isBBaryon(const int pID) const; 00028 bool isBMeson(const int pID) const; 00029 bool isDBaryon(const int pID) const; 00030 bool isDMeson(const int pID) const; 00031 std::string longToStr( const long n ) const; 00032 int m_id ; 00033 double m_ptMin ; 00034 double m_etaMax ; 00035 }; 00036 } 00037 #endif