CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/GeneratorInterface/Pythia8Interface/plugins/Py8toJetInput.h

Go to the documentation of this file.
00001 #ifndef gen_Py8toJetInput_h
00002 #define gen_Py8toJetInput_h
00003 
00004 #include "FastJet3.h" // Py8 overhead on top of FastJets package
00005 #include "Event.h"
00006 
00007 //#include "SimDataFormats/GeneratorProducts/interface/LHECommonBlocks.h"
00008 //#include "GeneratorInterface/LHEInterface/interface/LHERunInfo.h"
00009 //#include "GeneratorInterface/LHEInterface/interface/LHEEvent.h"
00010 
00011 namespace lhef {
00012 
00013    class LHEEvent;
00014 
00015 }
00016 
00017 class Py8toJetInput
00018 {
00019    public:
00020       typedef Pythia8::Event Event;
00021       typedef Pythia8::Particle Particle;
00022    
00023       Py8toJetInput(): fJetEtaMax(10.) {}
00024       ~Py8toJetInput() {}
00025       
00026       virtual const std::vector<fastjet::PseudoJet> fillJetAlgoInput( const Event&, const Event&, 
00027                                                                       const lhef::LHEEvent* lhee=0,
00028                                                                       const std::vector<int>* partonList=0 );
00029       void setJetEtaMax( double max ) { fJetEtaMax=max; return; }
00030       
00031    protected:
00032 
00033       enum partonTypes { ID_TOP=6, ID_GLUON=21, ID_PHOTON=22 };
00034       double fJetEtaMax;
00035             
00036       int getAncestor( int, const Event&, const Event& );
00037       
00038       std::vector<fastjet::PseudoJet> fJetInput;
00039 
00040 };
00041 
00042 class Py8toJetInputHEPEVT : public Py8toJetInput
00043 {
00044 
00045    public:
00046    
00047       Py8toJetInputHEPEVT() {}
00048       ~Py8toJetInputHEPEVT() {}
00049       
00050       const std::vector<fastjet::PseudoJet> fillJetAlgoInput( const Event&, const Event&, 
00051                                                               const lhef::LHEEvent*,
00052                                                               const std::vector<int>* partonList=0 ); 
00053 };
00054 
00055 #endif