CMS 3D CMS Logo

PFEGammaProducer.h
Go to the documentation of this file.
1 #ifndef RecoParticleFlow_PFEGammaProducer_PFEGammaProducer_h_
2 #define RecoParticleFlow_PFEGammaProducer_PFEGammaProducer_h_
3 
4 // system include files
5 #include <string>
6 
7 // user include files
11 
13 
24 
27 
28 #include <memory>
29 
31 
42 class PFEGammaProducer : public edm::stream::EDProducer<edm::GlobalCache<pfEGHelpers::HeavyObjectCache> > {
43 
44  public:
46  ~PFEGammaProducer() override {}
47 
48  static std::unique_ptr<pfEGHelpers::HeavyObjectCache>
50  return std::unique_ptr<pfEGHelpers::HeavyObjectCache>(new pfEGHelpers::HeavyObjectCache(conf));
51  }
52 
54 
55  void produce(edm::Event&, const edm::EventSetup&) override;
56  void beginRun(const edm::Run &, const edm::EventSetup &) override {}
57 
58  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
59 
60  private:
61 
63 
65 
67  reco::ConversionCollection &oneLegConversions,
69 
70 
74 
75  // Use vertices for Neutral particles ?
77 
79 
81 
83  std::unique_ptr<PFEGammaAlgo> pfeg_;
84 
87 
88 };
89 
92 
93 #endif
const std::string esClustersCollection_
const std::string ebeeClustersCollection_
void createSingleLegConversions(reco::PFCandidateEGammaExtraCollection &extras, reco::ConversionCollection &oneLegConversions, const edm::RefProd< reco::ConversionCollection > &convProd)
const bool useVerticesForNeutral_
static void globalEndJob(pfEGHelpers::HeavyObjectCache const *)
void setPFVertexParameters(reco::VertexCollection const &primaryVertices)
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
std::vector< Conversion > ConversionCollection
collectin of Conversion objects
Definition: ConversionFwd.h:9
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
~PFEGammaProducer() override
std::vector< reco::PFCandidateEGammaExtra > PFCandidateEGammaExtraCollection
collection of PFCandidateEGammaExtras
reco::Vertex primaryVertex_
Variables for PFEGamma.
void setPFEGParameters(PFEGammaAlgo::PFEGConfigInfo &)
void beginRun(const edm::Run &, const edm::EventSetup &) override
const edm::EDGetTokenT< reco::PFCluster::EEtoPSAssociation > eetopsSrc_
static std::unique_ptr< pfEGHelpers::HeavyObjectCache > initializeGlobalCache(const edm::ParameterSet &conf)
primaryVertices
Definition: jets_cff.py:34
std::unique_ptr< PFEGammaAlgo > pfeg_
particle flow algorithm
const edm::EDGetTokenT< reco::VertexCollection > vertices_
const edm::EDGetTokenT< reco::PFBlockCollection > inputTagBlocks_
Producer for particle flow reconstructed particles (PFCandidates)
PFEGammaProducer(const edm::ParameterSet &, const pfEGHelpers::HeavyObjectCache *)
void produce(edm::Event &, const edm::EventSetup &) override
Definition: Run.h:45