CMS 3D CMS Logo

RivetAnalyzer.h
Go to the documentation of this file.
1 #ifndef GeneratorInterface_RivetInterface_RivetAnalyzer
2 #define GeneratorInterface_RivetInterface_RivetAnalyzer
3 
5 #include "Rivet/AnalysisHandler.hh"
6 
7 //DQM services
9 
15 
16 #include "Rivet/Tools/RivetYODA.hh"
17 //#include "YODA/ROOTCnv.h"
18 
19 #include <vector>
20 #include <string>
21 
22 class RivetAnalyzer : public edm::one::EDAnalyzer<edm::one::WatchRuns, edm::one::SharedResources> {
23 public:
25 
26  ~RivetAnalyzer() override;
27 
28  void beginJob() override;
29 
30  void endJob() override;
31 
32  void analyze(const edm::Event &, const edm::EventSetup &) override;
33 
34  void beginRun(const edm::Run &, const edm::EventSetup &) override;
35 
36  void endRun(const edm::Run &, const edm::EventSetup &) override;
37 
38 private:
41  double _weightCap;
42  double _NLOSmearing;
52  std::unique_ptr<Rivet::AnalysisHandler> _analysisHandler;
55  std::vector<std::string> _analysisNames;
58  double _xsection;
59  std::vector<std::string> _weightNames;
60  std::vector<std::string> _lheWeightNames;
61  std::vector<std::string> _cleanedWeightNames;
62  std::shared_ptr<HepMC3::GenRunInfo> runinfo;
63 };
64 
65 #endif
void analyze(const edm::Event &, const edm::EventSetup &) override
void endRun(const edm::Run &, const edm::EventSetup &) override
std::string _deselectMultiWeights
Definition: RivetAnalyzer.h:46
std::unique_ptr< Rivet::AnalysisHandler > _analysisHandler
Definition: RivetAnalyzer.h:52
std::vector< std::string > _cleanedWeightNames
Definition: RivetAnalyzer.h:61
std::string _setNominalWeightName
Definition: RivetAnalyzer.h:47
std::vector< std::string > _analysisNames
Definition: RivetAnalyzer.h:55
bool _setIgnoreBeams
Definition: RivetAnalyzer.h:43
const edm::InputTag _lheLabel
Definition: RivetAnalyzer.h:57
edm::EDGetTokenT< edm::HepMC3Product > _hepmcCollection
Definition: RivetAnalyzer.h:39
std::string _selectMultiWeights
Definition: RivetAnalyzer.h:45
void beginJob() override
bool _skipMultiWeights
Definition: RivetAnalyzer.h:44
void beginRun(const edm::Run &, const edm::EventSetup &) override
RivetAnalyzer(const edm::ParameterSet &)
edm::EDGetTokenT< GenLumiInfoHeader > _genLumiInfoToken
Definition: RivetAnalyzer.h:50
edm::EDGetTokenT< LHERunInfoProduct > _lheRunInfoToken
Definition: RivetAnalyzer.h:51
double _xsection
Definition: RivetAnalyzer.h:58
std::shared_ptr< HepMC3::GenRunInfo > runinfo
Definition: RivetAnalyzer.h:62
std::vector< std::string > _lheWeightNames
Definition: RivetAnalyzer.h:60
std::string _outFileName
Definition: RivetAnalyzer.h:54
void endJob() override
edm::EDGetTokenT< LHEEventProduct > _LHECollection
Definition: RivetAnalyzer.h:48
std::vector< std::string > _weightNames
Definition: RivetAnalyzer.h:59
edm::EDGetTokenT< GenEventInfoProduct > _genEventInfoCollection
Definition: RivetAnalyzer.h:49
Definition: Run.h:45
double _NLOSmearing
Definition: RivetAnalyzer.h:42
double _weightCap
Definition: RivetAnalyzer.h:41
~RivetAnalyzer() override