File indexing completed on 2024-04-06 12:13:56
0001 #include <algorithm>
0002 #include <iostream>
0003 #include <iterator>
0004 #include <sstream>
0005 #include <string>
0006 #include <memory>
0007 #include <cassert>
0008
0009 #include "HepMC/GenEvent.h"
0010 #include "HepMC/GenParticle.h"
0011
0012 #include "Pythia8/Pythia.h"
0013 #include "Pythia8/LesHouches.h"
0014
0015
0016 #include "SimDataFormats/GeneratorProducts/interface/LesHouches.h"
0017 #include "GeneratorInterface/LHEInterface/interface/LHERunInfo.h"
0018 #include "GeneratorInterface/LHEInterface/interface/LHEEvent.h"
0019
0020 class LHAupLesHouches : public Pythia8::LHAup {
0021 public:
0022 LHAupLesHouches() : setScalesFromLHEF_(false), fEvAttributes(nullptr) { ; }
0023
0024
0025 void loadRunInfo(lhef::LHERunInfo* runInfo) { this->runInfo = runInfo; }
0026
0027
0028 void loadEvent(lhef::LHEEvent* event) { this->event = event; }
0029
0030 void setScalesFromLHEF(bool b) { setScalesFromLHEF_ = b; }
0031
0032 ~LHAupLesHouches() override {
0033 if (fEvAttributes)
0034 delete fEvAttributes;
0035 }
0036
0037 private:
0038 bool setInit() override;
0039 bool setEvent(int idProcIn) override;
0040
0041
0042 lhef::LHERunInfo* runInfo;
0043
0044 lhef::LHEEvent* event;
0045
0046
0047 bool setScalesFromLHEF_;
0048
0049 std::map<std::string, std::string>* fEvAttributes;
0050 };