CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 
28 
29 
30 class PFEGammaAlgo;
35 class GBRForest;
36 
48  public:
49  explicit PFEGammaProducer(const edm::ParameterSet&);
51 
52  virtual void produce(edm::Event&, const edm::EventSetup&) override;
53  virtual void beginRun(const edm::Run &, const edm::EventSetup &) override;
54 
55  private:
56 
57  void setPFEGParameters(double mvaEleCut,
58  std::string mvaWeightFileEleID,
59  bool usePFElectrons,
60  const boost::shared_ptr<PFSCEnergyCalibration>& thePFSCEnergyCalibration,
61  const boost::shared_ptr<PFEnergyCalibration>& thePFEnergyCalibration,
62  double sumEtEcalIsoForEgammaSC_barrel,
63  double sumEtEcalIsoForEgammaSC_endcap,
64  double coneEcalIsoForEgammaSC,
65  double sumPtTrackIsoForEgammaSC_barrel,
66  double sumPtTrackIsoForEgammaSC_endcap,
67  unsigned int nTrackIsoForEgammaSC,
68  double coneTrackIsoForEgammaSC,
69  bool applyCrackCorrections,
70  bool usePFSCEleCalib,
71  bool useEGElectrons,
72  bool useEGammaSupercluster,
73  bool usePFPhoton,
74  std::string mvaWeightFileConvID,
75  double mvaConvCut,
76  bool useReg,
77  std::string X0_Map,
78  double sumPtTrackIsoForPhoton,
79  double sumPtTrackIsoSlopeForPhoton
80  );
81 
82  void setPFVertexParameters(bool useVertex,
83  const reco::VertexCollection* primaryVertices);
84 
86  const GBRForest *LCorrForestEB,
87  const GBRForest *LCorrForestEE,
88  const GBRForest *GCorrForestBarrel,
89  const GBRForest *GCorrForestEndcapHr9,
90  const GBRForest *GCorrForestEndcapLr9,
91  const GBRForest *PFEcalResolution
92  );
93 
97 
98  //Use of HO clusters and links in PF Reconstruction
99 
101  bool verbose_;
102 
103  // Use photon regression
115  // what about e/g electrons ?
117 
118  // Use vertices for Neutral particles ?
120 
121  // Take PF cluster calibrations from Global Tag ?
123 
124  boost::shared_ptr<PFSCEnergyCalibration> thePFSCEnergyCalibration_;
125 
128  std::vector<double> setchi2Values_;
129  double mvaEleCut_;
142  unsigned int nTrackIsoForEgammaSC_;
143 
146 
147  std::auto_ptr< reco::PFCandidateCollection > egCandidates_;
148  std::auto_ptr< reco::CaloClusterCollection > ebeeClusters_;
149  std::auto_ptr< reco::CaloClusterCollection > esClusters_;
150  std::auto_ptr< reco::SuperClusterCollection > sClusters_;
151 
153  std::auto_ptr<reco::PFCandidateEGammaExtraCollection> egExtra_;
154 
155  // Name of the calibration functions to read from the database
156  // std::vector<std::string> fToRead;
157 
159  std::auto_ptr<PFEGammaAlgo> pfeg_;
160 
161 };
162 
163 #endif
std::auto_ptr< reco::CaloClusterCollection > esClusters_
const GBRForest * ReaderRes_
std::auto_ptr< PFEGammaAlgo > pfeg_
particle flow algorithm
const GBRForest * ReaderGCEndCapHighr9_
double sumPtTrackIsoForEgammaSC_endcap_
bool applyCrackCorrectionsElectrons_
double coneEcalIsoForEgammaSC_
const GBRForest * ReaderEcalRes_
edm::InputTag inputTagBlocks_
double coneTrackIsoForEgammaSC_
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
void setPFPhotonRegWeights(const GBRForest *LCorrForestEB, const GBRForest *LCorrForestEE, const GBRForest *GCorrForestBarrel, const GBRForest *GCorrForestEndcapHr9, const GBRForest *GCorrForestEndcapLr9, const GBRForest *PFEcalResolution)
boost::shared_ptr< PFSCEnergyCalibration > thePFSCEnergyCalibration_
double sumEtEcalIsoForEgammaSC_endcap_
const GBRForest * ReaderGCEndCapLowr9_
edm::InputTag vertices_
std::string mvaWeightFileEleID_
Variables for PFEGamma.
void setPFVertexParameters(bool useVertex, const reco::VertexCollection *primaryVertices)
reco::Vertex primaryVertex_
std::auto_ptr< reco::PFCandidateEGammaExtraCollection > egExtra_
the unfiltered electron collection
edm::InputTag inputTagEgammaElectrons_
virtual void beginRun(const edm::Run &, const edm::EventSetup &) override
double sumPtTrackIsoForEgammaSC_barrel_
std::auto_ptr< reco::PFCandidateCollection > egCandidates_
bool verbose_
verbose ?
void setPFEGParameters(double mvaEleCut, std::string mvaWeightFileEleID, bool usePFElectrons, const boost::shared_ptr< PFSCEnergyCalibration > &thePFSCEnergyCalibration, const boost::shared_ptr< PFEnergyCalibration > &thePFEnergyCalibration, double sumEtEcalIsoForEgammaSC_barrel, double sumEtEcalIsoForEgammaSC_endcap, double coneEcalIsoForEgammaSC, double sumPtTrackIsoForEgammaSC_barrel, double sumPtTrackIsoForEgammaSC_endcap, unsigned int nTrackIsoForEgammaSC, double coneTrackIsoForEgammaSC, bool applyCrackCorrections, bool usePFSCEleCalib, bool useEGElectrons, bool useEGammaSupercluster, bool usePFPhoton, std::string mvaWeightFileConvID, double mvaConvCut, bool useReg, std::string X0_Map, double sumPtTrackIsoForPhoton, double sumPtTrackIsoSlopeForPhoton)
std::vector< double > setchi2Values_
const GBRForest * ReaderLC_
unsigned int nTrackIsoForEgammaSC_
const GBRForest * ReaderLCEE_
const GBRForest * ReaderGC_
const GBRForest * ReaderLCEB_
const GBRForest * ReaderGCBarrel_
PFEGammaProducer(const edm::ParameterSet &)
Producer for particle flow reconstructed particles (PFCandidates)
double sumEtEcalIsoForEgammaSC_barrel_
std::auto_ptr< reco::CaloClusterCollection > ebeeClusters_
virtual void produce(edm::Event &, const edm::EventSetup &) override
Definition: Run.h:36
std::auto_ptr< reco::SuperClusterCollection > sClusters_