00001
00002
00003
00004
00005
00006
00007 #ifndef HEPMCHELPER_SELECTZ0_H
00008 #define HEPMCHELPER_SELECTZ0_H
00009
00010 #ifndef HEPMCHELPER_IMCSELECTOR_H
00011 #include "AtlfastUtils/HepMC_helper/IMCselector.h"
00012 #endif
00013
00014 #ifndef HEPMCHELPER_MCCUTS_H
00015 #include "AtlfastUtils/HepMC_helper/MCCuts.h"
00016 #endif
00017
00018 #ifndef HEPMCHELPER_SELECTTYPE_H
00019 #include "AtlfastUtils/HepMC_helper/SelectType.h"
00020 #endif
00021
00022 #ifndef ATLFASTCODE_PARTICLECODES_H
00023 #include "AtlfastEvent/ParticleCodes.h"
00024 #endif
00025
00026 namespace HepMC_helper{
00027 using Atlfast::ParticleCodes;
00028 class SelectZ0: public IMCselector {
00029 public:
00030
00031 SelectZ0(double pt, double eta):m_kineCuts(eta, pt),m_z0Type(ParticleCodes::Z0){}
00032
00033 ~SelectZ0(){};
00034
00035 IMCselector* create() const;
00036 bool operator() ( const Particle* const p ) const;
00037 bool operator() ( const Particle& p ) const;
00038 private:
00039 MCCuts m_kineCuts;
00040 SelectType m_z0Type;
00041 int m_id ;
00042 double m_ptMin ;
00043 double m_etaMax ;
00044 };
00045 }
00046 #endif