Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:19:00

0001 #ifndef GaussianZBeamSpotFilter_h
0002 #define GaussianZBeamSpotFilter_h
0003 
0004 // Filter to select events with a gaussian Z beam spot shape
0005 // narrower than the original one
0006 
0007 // system include files
0008 
0009 // user include files
0010 #include "FWCore/Framework/interface/Frameworkfwd.h"
0011 #include "FWCore/Framework/interface/stream/EDFilter.h"
0012 #include "FWCore/Framework/interface/Event.h"
0013 #include "FWCore/Framework/interface/ESHandle.h"
0014 #include "FWCore/Framework/interface/MakerMacros.h"
0015 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0016 #include "SimDataFormats/GeneratorProducts/interface/HepMCProduct.h"
0017 
0018 class GaussianZBeamSpotFilter : public edm::stream::EDFilter<> {
0019 public:
0020   explicit GaussianZBeamSpotFilter(const edm::ParameterSet&);
0021   ~GaussianZBeamSpotFilter() override = default;
0022 
0023 private:
0024   bool filter(edm::Event&, const edm::EventSetup&) override;
0025 
0026   // ----------member data ---------------------------
0027 
0028   const edm::InputTag src_;
0029   const double baseSZ_;
0030   const double baseZ0_;
0031   const double newSZ_;
0032   const double newZ0_;
0033   const edm::EDGetTokenT<edm::HepMCProduct> srcToken_;
0034 };
0035 
0036 #endif