Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef PYTHIAFILTERGAMMAGAMMA_h
0002 #define PYTHIAFILTERGAMMAGAMMA_h
0003 
0004 //
0005 // Package:    GeneratorInterface/GenFilters
0006 // Class:      PythiaFilterGammaGamma
0007 //
0008 // Original Author:  Matteo Sani
0009 //
0010 //
0011 
0012 #include "FWCore/Framework/interface/Frameworkfwd.h"
0013 #include "FWCore/Framework/interface/global/EDFilter.h"
0014 
0015 #include "FWCore/Framework/interface/Event.h"
0016 #include "FWCore/Framework/interface/MakerMacros.h"
0017 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0018 
0019 #include "GeneratorInterface/Core/interface/PythiaHepMCFilterGammaGamma.h"
0020 
0021 namespace edm {
0022   class HepMCProduct;
0023 }
0024 
0025 class PythiaFilterGammaGamma : public edm::global::EDFilter<> {
0026 public:
0027   explicit PythiaFilterGammaGamma(const edm::ParameterSet&);
0028   ~PythiaFilterGammaGamma() override;
0029 
0030   bool filter(edm::StreamID, edm::Event&, const edm::EventSetup&) const override;
0031 
0032 private:
0033   const edm::EDGetTokenT<edm::HepMCProduct> token_;
0034 
0035   /** the actual implementation of the filter,
0036       adapted to be used with HepMCFilterDriver.
0037       
0038       We make this a pointer because EDFilter::filter() is const
0039       while BaseHepMCFilter::filter() is not.
0040  */
0041   std::unique_ptr<PythiaHepMCFilterGammaGamma> hepMCFilter_;
0042 };
0043 #endif