CMS 3D CMS Logo

ParticleLevelProducer.h
Go to the documentation of this file.
1 #ifndef GeneratorInterface_RivetInterface_ParticleLevelProducer_H
2 #define GeneratorInterface_RivetInterface_ParticleLevelProducer_H
3 
9 
14 
15 #include "Rivet/AnalysisHandler.hh"
17 
18 class ParticleLevelProducer : public edm::one::EDProducer<edm::one::SharedResources> {
19 public:
21  ~ParticleLevelProducer() override {}
22  void produce(edm::Event& event, const edm::EventSetup& eventSetup) override;
23 
24 private:
26  std::unique_ptr<reco::GenJetCollection>& jets,
27  std::unique_ptr<reco::GenParticleCollection>& consts,
29  int& iConstituent,
30  std::unique_ptr<reco::GenParticleCollection>& tags,
32  int& iTag);
33 
34  template <typename T>
36  return reco::Candidate::LorentzVector(p.px(), p.py(), p.pz(), p.energy());
37  }
38 
41 
43 
45  std::unique_ptr<Rivet::AnalysisHandler> analysisHandler_;
46 };
47 
48 #endif
edm::RefProd< reco::GenParticleCollection >
GenJetCollection.h
RivetAnalysis.h
EDProducer.h
Rivet::RivetAnalysis
Definition: RivetAnalysis.h:23
edm::EDGetTokenT< edm::HepMCProduct >
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
edm::one::EDProducer
Definition: EDProducer.h:30
singleTopDQM_cfi.jets
jets
Definition: singleTopDQM_cfi.py:42
ParticleLevelProducer::srcToken_
const edm::EDGetTokenT< edm::HepMCProduct > srcToken_
Definition: ParticleLevelProducer.h:39
ParticleLevelProducer::p4
reco::Candidate::LorentzVector p4(const T &p) const
Definition: ParticleLevelProducer.h:35
MakerMacros.h
GenParticleFwd.h
L1TRate_cfi.Jet
Jet
Definition: L1TRate_cfi.py:43
ParticleLevelProducer::~ParticleLevelProducer
~ParticleLevelProducer() override
Definition: ParticleLevelProducer.h:21
edm::ParameterSet
Definition: ParameterSet.h:47
Event.h
ParticleLevelProducer::rivetAnalysis_
Rivet::RivetAnalysis * rivetAnalysis_
Definition: ParticleLevelProducer.h:44
ParticleLevelProducer::produce
void produce(edm::Event &event, const edm::EventSetup &eventSetup) override
Definition: ParticleLevelProducer.cc:107
edm::EventSetup
Definition: EventSetup.h:58
ParticleLevelProducer::genVertex_
reco::Particle::Point genVertex_
Definition: ParticleLevelProducer.h:42
ParticleLevelProducer::addGenJet
void addGenJet(Rivet::Jet jet, std::unique_ptr< reco::GenJetCollection > &jets, std::unique_ptr< reco::GenParticleCollection > &consts, edm::RefProd< reco::GenParticleCollection > &constsRefHandle, int &iConstituent, std::unique_ptr< reco::GenParticleCollection > &tags, edm::RefProd< reco::GenParticleCollection > &tagsRefHandle, int &iTag)
Definition: ParticleLevelProducer.cc:36
ParticleLevelProducer
Definition: ParticleLevelProducer.h:18
ParticleLevelProducer::analysisHandler_
std::unique_ptr< Rivet::AnalysisHandler > analysisHandler_
Definition: ParticleLevelProducer.h:45
Frameworkfwd.h
T
long double T
Definition: Basic3DVectorLD.h:48
metsig::jet
Definition: SignAlgoResolutions.h:47
triggerMatcherToHLTDebug_cfi.tags
tags
Definition: triggerMatcherToHLTDebug_cfi.py:9
reco::Particle::Point
math::XYZPoint Point
point in the space
Definition: Particle.h:25
Candidate.h
ParameterSet.h
HepMCProduct.h
reco::Candidate::LorentzVector
math::XYZTLorentzVector LorentzVector
Lorentz vector.
Definition: Candidate.h:36
event
Definition: event.py:1
edm::Event
Definition: Event.h:73
ParticleLevelProducer::pset_
const edm::ParameterSet pset_
Definition: ParticleLevelProducer.h:40
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27
ParticleLevelProducer::ParticleLevelProducer
ParticleLevelProducer(const edm::ParameterSet &pset)
Definition: ParticleLevelProducer.cc:21