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 
12 // useful?
14 
16 
27 
30 
31 #include <memory>
32 
34 
39 class GBRForest;
40 
51 class PFEGammaProducer : public edm::stream::EDProducer<edm::GlobalCache<pfEGHelpers::HeavyObjectCache> > {
52  public:
54  ~PFEGammaProducer() override;
55 
56  static std::unique_ptr<pfEGHelpers::HeavyObjectCache>
58  return std::unique_ptr<pfEGHelpers::HeavyObjectCache>(new pfEGHelpers::HeavyObjectCache(conf));
59  }
60 
62  }
63 
64  void produce(edm::Event&, const edm::EventSetup&) override;
65  void beginRun(const edm::Run &, const edm::EventSetup &) override;
66 
67  private:
68 
70 
73 
75 
76 
80 
81  //Use of HO clusters and links in PF Reconstruction
82 
84  bool verbose_;
85 
86  // Use photon regression
92  //const GBRForest* ReaderLCEB_;
93  //const GBRForest* ReaderLCEE_;
94  //const GBRForest* ReaderGCBarrel_;
95  //const GBRForest* ReaderGCEndCapHighr9_;
96  //const GBRForest* ReaderGCEndCapLowr9_;
97  //const GBRForest* ReaderEcalRes_;
98  // what about e/g electrons ?
100 
101  // Use vertices for Neutral particles ?
103 
104  // Take PF cluster calibrations from Global Tag ?
106 
107  std::shared_ptr<PFSCEnergyCalibration> thePFSCEnergyCalibration_;
108 
111  std::vector<double> setchi2Values_;
112  double mvaEleCut_;
125  unsigned int nTrackIsoForEgammaSC_;
126 
128 
129  std::unique_ptr<reco::PFCandidateCollection> egCandidates_;
130  std::unique_ptr<reco::PFCandidateEGammaExtraCollection> egExtra_;
131  std::unique_ptr<reco::ConversionCollection> singleLegConv_;
132  std::unique_ptr<reco::SuperClusterCollection> sClusters_;
133 
135 
136 
137  // Name of the calibration functions to read from the database
138  // std::vector<std::string> fToRead;
139 
141  std::unique_ptr<PFEGammaAlgo> pfeg_;
142 
145 
146 };
147 
150 
151 #endif
void createSingleLegConversions(reco::PFCandidateEGammaExtraCollection &extras, reco::ConversionCollection &oneLegConversions, const edm::RefProd< reco::ConversionCollection > &convProd)
const GBRForest * ReaderRes_
double sumPtTrackIsoForEgammaSC_endcap_
std::unique_ptr< reco::PFCandidateEGammaExtraCollection > egExtra_
edm::EDGetTokenT< reco::VertexCollection > vertices_
bool applyCrackCorrectionsElectrons_
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:17
static void globalEndJob(pfEGHelpers::HeavyObjectCache const *)
double coneEcalIsoForEgammaSC_
double coneTrackIsoForEgammaSC_
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
double sumEtEcalIsoForEgammaSC_endcap_
std::vector< Conversion > ConversionCollection
collectin of Conversion objects
Definition: ConversionFwd.h:9
std::string mvaWeightFileEleID_
Variables for PFEGamma.
~PFEGammaProducer() override
void setPFVertexParameters(bool useVertex, const reco::VertexCollection *primaryVertices)
std::vector< reco::PFCandidateEGammaExtra > PFCandidateEGammaExtraCollection
collection of PFCandidateEGammaExtras
reco::Vertex primaryVertex_
std::string ebeeClustersCollection_
std::unique_ptr< reco::PFCandidateCollection > egCandidates_
std::unique_ptr< reco::ConversionCollection > singleLegConv_
std::string esClustersCollection_
void setPFEGParameters(PFEGammaAlgo::PFEGConfigInfo &)
void beginRun(const edm::Run &, const edm::EventSetup &) override
double sumPtTrackIsoForEgammaSC_barrel_
bool verbose_
verbose ?
edm::EDGetTokenT< reco::PFCluster::EEtoPSAssociation > eetopsSrc_
static std::unique_ptr< pfEGHelpers::HeavyObjectCache > initializeGlobalCache(const edm::ParameterSet &conf)
std::vector< double > setchi2Values_
const GBRForest * ReaderLC_
unsigned int nTrackIsoForEgammaSC_
primaryVertices
Definition: jets_cff.py:48
std::unique_ptr< PFEGammaAlgo > pfeg_
the unfiltered electron collection
const GBRForest * ReaderGC_
edm::EDGetTokenT< reco::PFBlockCollection > inputTagBlocks_
std::shared_ptr< PFSCEnergyCalibration > thePFSCEnergyCalibration_
Producer for particle flow reconstructed particles (PFCandidates)
double sumEtEcalIsoForEgammaSC_barrel_
PFEGammaProducer(const edm::ParameterSet &, const pfEGHelpers::HeavyObjectCache *)
void produce(edm::Event &, const edm::EventSetup &) override
std::unique_ptr< reco::SuperClusterCollection > sClusters_
Definition: Run.h:43