File indexing completed on 2024-04-06 12:13:53
0001 #ifndef gen_PhotosInterface_PhotosppInterface_h
0002 #define gen_PhotosInterface_PhotosppInterface_h
0003
0004
0005
0006 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0007 #include "FWCore/Framework/interface/ESHandle.h"
0008 #include "FWCore/Framework/interface/EventSetup.h"
0009
0010 #include "HepMC/SimpleVector.h"
0011 #include "GeneratorInterface/PhotosInterface/interface/PhotosInterfaceBase.h"
0012
0013 namespace HepMC {
0014 class GenEvent;
0015 class GenVertex;
0016 }
0017
0018 namespace gen {
0019 class PhotosppInterface : public PhotosInterfaceBase {
0020 public:
0021
0022 PhotosppInterface(const edm::ParameterSet& pset);
0023 ~PhotosppInterface() override {}
0024
0025 void init() override;
0026 const std::vector<std::string>& specialSettings() override { return fSpecialSettings; }
0027 HepMC::GenEvent* apply(HepMC::GenEvent*) override;
0028 void configureOnlyFor(int) override;
0029 void avoidTauLeptonicDecays() override {
0030 fAvoidTauLeptonicDecays = true;
0031 return;
0032 }
0033 bool isTauLeptonicDecay(HepMC::GenVertex*);
0034 void setRandomEngine(CLHEP::HepRandomEngine* decayRandomEngine) override;
0035 static double flat();
0036 void statistics() override;
0037
0038 private:
0039 int fOnlyPDG;
0040 bool fAvoidTauLeptonicDecays;
0041 bool fIsInitialized;
0042 edm::ParameterSet* fPSet;
0043
0044 static CLHEP::HepRandomEngine* fRandomEngine;
0045 };
0046 }
0047
0048 #endif