CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/GeneratorInterface/HiGenCommon/interface/HadronDecayGenEvtSelector.h

Go to the documentation of this file.
00001 #ifndef _HI_HadronDecayGenEvtSelector_h__
00002 #define _HI_HadronDecayGenEvtSelector_h__
00003 
00004 #include <vector>
00005 #include "GeneratorInterface/HiGenCommon/interface/BaseHiGenEvtSelector.h"
00006 
00007 class HadronDecayGenEvtSelector : public BaseHiGenEvtSelector 
00008 {
00009  public:
00010   HadronDecayGenEvtSelector(const edm::ParameterSet& pset);
00011   virtual ~HadronDecayGenEvtSelector(){;}
00012   
00013   bool filter(HepMC::GenEvent *);
00014   bool selectParticle(HepMC::GenParticle* par, int status, int pdg /*Absolute*/, double etaMax, double etaMin, double pMin, double ptMax, double ptMin){
00015     return (par->status() == status &&
00016             abs(par->pdg_id()) == pdg &&
00017             par->momentum().eta() < etaMax && par->momentum().eta() > etaMin &&
00018             par->momentum().rho() > pMin &&
00019             par->momentum().perp() < ptMax && par->momentum().perp() > ptMin);
00020   }
00021 
00022  private:
00023 
00024   std::vector<int>    hadronId_;
00025   std::vector<int>    hadronStatus_;
00026   std::vector<double> hadronEtaMax_;
00027   std::vector<double> hadronEtaMin_;
00028   std::vector<double> hadronPMin_;
00029   std::vector<double> hadronPtMax_;
00030   std::vector<double> hadronPtMin_;
00031 
00032   int    decayId_;
00033   int    decayStatus_;
00034   double decayEtaMax_;
00035   double decayEtaMin_;
00036   double decayPMin_;
00037   double decayPtMax_;
00038   double decayPtMin_;
00039   int    decayNtrig_;
00040 
00041 };
00042 
00043 #endif