Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef gen_PhotosInterface_PhotosppInterface_h
0002 #define gen_PhotosInterface_PhotosppInterface_h
0003 
0004 // #include "HepPDT/ParticleDataTable.hh"
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 }  // namespace HepMC
0017 
0018 namespace gen {
0019   class PhotosppInterface : public PhotosInterfaceBase {
0020   public:
0021     // ctor & dtor
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 }  // namespace gen
0047 
0048 #endif