CMS 3D CMS Logo

CMSSW_4_4_3_patch1/src/GeneratorInterface/HiGenCommon/interface/PartonHadronDecayGenEvtSelector.h

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