Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:13:57

0001 #ifndef gen_Py8toJetInput_h
0002 #define gen_Py8toJetInput_h
0003 
0004 #include "Pythia8Plugins/FastJet3.h"  // Py8 overhead on top of FastJets package
0005 #include "Pythia8/Event.h"
0006 
0007 namespace lhef {
0008 
0009   class LHEEvent;
0010 
0011 }
0012 
0013 class Py8toJetInput {
0014 public:
0015   typedef Pythia8::Event Event;
0016   typedef Pythia8::Particle Particle;
0017 
0018   Py8toJetInput() : fJetEtaMax(10.) {}
0019   virtual ~Py8toJetInput() {}
0020 
0021   virtual const std::vector<fastjet::PseudoJet> fillJetAlgoInput(const Event&,
0022                                                                  const Event&,
0023                                                                  const lhef::LHEEvent* lhee = nullptr,
0024                                                                  const std::vector<int>* partonList = nullptr);
0025   void setJetEtaMax(double max) {
0026     fJetEtaMax = max;
0027     return;
0028   }
0029 
0030 protected:
0031   enum partonTypes { ID_TOP = 6, ID_GLUON = 21, ID_PHOTON = 22 };
0032   double fJetEtaMax;
0033 
0034   int getAncestor(int, const Event&, const Event&);
0035 
0036   std::vector<fastjet::PseudoJet> fJetInput;
0037 };
0038 
0039 class Py8toJetInputHEPEVT : public Py8toJetInput {
0040 public:
0041   Py8toJetInputHEPEVT() {}
0042   ~Py8toJetInputHEPEVT() override {}
0043 
0044   const std::vector<fastjet::PseudoJet> fillJetAlgoInput(const Event&,
0045                                                          const Event&,
0046                                                          const lhef::LHEEvent*,
0047                                                          const std::vector<int>* partonList = nullptr) override;
0048 };
0049 
0050 #endif