CMS 3D CMS Logo

PFAlgo.h
Go to the documentation of this file.
1 #ifndef RecoParticleFlow_PFProducer_PFAlgo_h
2 #define RecoParticleFlow_PFProducer_PFAlgo_h
3 
4 #include <iostream>
5 
9 
13 
14 // next include is necessary for inline functions.
16 
23 
34 
36 
45 class PFElectronAlgo;
46 class PFPhotonAlgo;
47 class PFMuonAlgo;
48 
49 class PFAlgo {
50 
51  public:
52 
54  PFAlgo();
55 
57  ~PFAlgo();
58 
59  void setHOTag(bool ho) { useHO_ = ho;}
60  void setAlgo( int algo ) {algo_ = algo;}
64 
65  void setParameters(double nSigmaECAL,
66  double nSigmaHCAL,
67  const std::shared_ptr<PFEnergyCalibration>& calibration,
68  const std::shared_ptr<PFEnergyCalibrationHF>& thepfEnergyCalibrationHF);
69 
71  connector_.setParameters(iCfgCandConnector);
72  }
73 
75  bool bCalibPrimary,
76  double dptRel_PrimaryTrack,
77  double dptRel_MergedTrack,
78  double ptErrorSecondary,
79  const std::vector<double>& nuclCalibFactors){
80  connector_.setParameters(bCorrect, bCalibPrimary, dptRel_PrimaryTrack, dptRel_MergedTrack, ptErrorSecondary, nuclCalibFactors);
81  }
82 
83 
85 
86  void setBadHcalTrackParams(const edm::ParameterSet& pset);
87 
89 
90  void setPFEleParameters(double mvaEleCut,
91  std::string mvaWeightFileEleID,
92  bool usePFElectrons,
93  const std::shared_ptr<PFSCEnergyCalibration>& thePFSCEnergyCalibration,
94  const std::shared_ptr<PFEnergyCalibration>& thePFEnergyCalibration,
100  unsigned int nTrackIsoForEgammaSC,
102  bool applyCrackCorrections=false,
103  bool usePFSCEleCalib=true,
104  bool useEGElectrons=false,
105  bool useEGammaSupercluster = true);
106 
107  void setPFPhotonParameters(bool usePFPhoton,
108  std::string mvaWeightFileConvID,
109  double mvaConvCut,
110  bool useReg,
112  const std::shared_ptr<PFEnergyCalibration>& thePFEnergyCalibration,
113  double sumPtTrackIsoForPhoton,
115 
116  void setEGammaParameters(bool use_EGammaFilters,
117  std::string ele_iso_path_mvaWeightFile,
118  double ele_iso_pt,
119  double ele_iso_mva_barrel,
120  double ele_iso_mva_endcap,
121  double ele_iso_combIso_barrel,
122  double ele_iso_combIso_endcap,
123  double ele_noniso_mva,
124  unsigned int ele_missinghits,
126  const edm::ParameterSet& ele_protectionsForJetMET,
127  const edm::ParameterSet& ele_protectionsForBadHcal,
128  double ph_MinEt,
129  double ph_combIso,
130  double ph_HoE,
131  double ph_sietaieta_eb,
132  double ph_sietaieta_ee,
133  const edm::ParameterSet& ph_protectionsForJetMET,
134  const edm::ParameterSet& ph_protectionsForBadHcal);
135 
136 
138  const edm::ValueMap<reco::GsfElectronRef> & valueMapGedElectrons,
139  const edm::ValueMap<reco::PhotonRef> & valueMapGedPhotons);
140 
141 
142 
143  // void setPFPhotonRegWeights(
144  // const GBRForest *LCorrForest,
145  // const GBRForest *GCorrForest,
146  // const GBRForest *ResForest
147 
148  // );
150  const GBRForest *LCorrForestEB,
151  const GBRForest *LCorrForestEE,
152  const GBRForest *GCorrForestBarrel,
153  const GBRForest *GCorrForestEndcapHr9,
154  const GBRForest *GCorrForestEndcapLr9,
155  const GBRForest *PFEcalResolution
156  );
158  double minHFCleaningPt,
159  double minSignificance,
160  double maxSignificance,
162  double maxDeltaPhiPt,
163  double minDeltaMet);
164 
166  bool rejectTracks_Step45,
168  bool usePFConversions,
169  bool usePFDecays,
170  double dptRel_DispVtx);
171 
172  //MIKEB : Parameters for the vertices..
175 
176  // FlorianB : Collection of e/g electrons
177  void setEGElectronCollection(const reco::GsfElectronCollection & egelectrons);
178 
182  void reconstructParticles( const reco::PFBlockHandle& blockHandle );
183 
186 
189 
190  // Post Electron Extra Ref
192 
193  // Post Photon Extra Ref
195 
197  const std::unique_ptr<reco::PFCandidateCollection>& pfCandidates() const {
198  return pfCandidates_;
199  }
200 
202  std::unique_ptr<reco::PFCandidateCollection> transferElectronCandidates() {
204  }
205 
207  // done this way because the pfElectronExtra is needed later in the code to create the Refs and with a unique_ptr, it would be destroyed
208  std::unique_ptr<reco::PFCandidateElectronExtraCollection> transferElectronExtra() {
209  auto result = std::make_unique<reco::PFCandidateElectronExtraCollection>();
210  result->insert(result->end(),pfElectronExtra_.begin(),pfElectronExtra_.end());
211  return result;
212  }
213 
214 
216  // done this way because the pfPhotonExtra is needed later in the code to create the Refs and with a unique_ptr, it would be destroyed
217  std::unique_ptr< reco::PFCandidatePhotonExtraCollection> transferPhotonExtra() {
218  auto result = std::make_unique<reco::PFCandidatePhotonExtraCollection>();
219  result->insert(result->end(),pfPhotonExtra_.begin(),pfPhotonExtra_.end());
220  return result;
221  }
222 
223 
225  std::unique_ptr<reco::PFCandidateCollection> transferCleanedCandidates() {
227  }
228 
230  std::unique_ptr< reco::PFCandidateCollection> transferCandidates() {
232  }
233 
235  std::shared_ptr<PFEnergyCalibration> thePFEnergyCalibration() {
236  return calibration_;
237  }
238 
239  friend std::ostream& operator<<(std::ostream& out, const PFAlgo& algo);
240 
241  private:
242 
245  void processBlock( const reco::PFBlockRef& blockref,
246  std::list<reco::PFBlockRef>& hcalBlockRefs,
247  std::list<reco::PFBlockRef>& ecalBlockRefs );
248 
252  unsigned reconstructTrack( const reco::PFBlockElement& elt,bool allowLoose= false);
253 
259 
260  unsigned reconstructCluster( const reco::PFCluster& cluster,
261  double particleEnergy,
262  bool useDirection = false,
263  double particleX=0.,
264  double particleY=0.,
265  double particleZ=0.);
266 
267  void setHcalDepthInfo(reco::PFCandidate & cand, const reco::PFCluster& cluster) const ;
268 
270  // double gammaCalibratedEnergy( double clusterEnergy ) const;
271 
274  // double neutralHadronCalibratedEnergy( double energyHCAL,
275  // double energyECAL=-1) const;
276 
277 
279  double neutralHadronEnergyResolution( double clusterEnergy,
280  double clusterEta ) const;
281 
282 
283  double nSigmaHCAL( double clusterEnergy,
284  double clusterEta ) const;
285 
286  std::unique_ptr<reco::PFCandidateCollection> pfCandidates_;
288  std::unique_ptr<reco::PFCandidateCollection> pfElectronCandidates_;
290  std::unique_ptr<reco::PFCandidateCollection> pfPhotonCandidates_;
291  // the post-HF-cleaned candidates
292  std::unique_ptr<reco::PFCandidateCollection> pfCleanedCandidates_;
293 
298 
300  void associatePSClusters(unsigned iEcal,
301  reco::PFBlockElement::Type psElementType,
302  const reco::PFBlock& block,
304  const reco::PFBlock::LinkData& linkData,
305  std::vector<bool>& active,
306  std::vector<double>& psEne);
307 
308  bool isFromSecInt(const reco::PFBlockElement& eTrack, std::string order) const;
309 
310 
311  // Post HF Cleaning
312  void postCleaning();
313 
317  unsigned bi );
318 
321 
323  double nSigmaECAL_;
324 
326  double nSigmaHCAL_;
327 
328  std::shared_ptr<PFEnergyCalibration> calibration_;
329  std::shared_ptr<PFEnergyCalibrationHF> thepfEnergyCalibrationHF_;
330  std::shared_ptr<PFSCEnergyCalibration> thePFSCEnergyCalibration_;
331 
332  bool useHO_;
333  int algo_;
334  bool debug_;
335 
338  std::vector<double> setchi2Values_;
339  double mvaEleCut_;
352  unsigned int nTrackIsoForEgammaSC_;
356 
357 
365 
366 
367  // Option to let PF decide the muon momentum
369 
374 
378 
382  int nVtx_;
383 
387 
389  std::vector<double> muonHCAL_;
390  std::vector<double> muonECAL_;
391  std::vector<double> muonHO_;
392  double nSigmaTRACK_;
393  double ptError_;
394  std::vector<double> factors45_;
395 
402 
411 
412 
413  // Parameters for post HF cleaning
421  double minDeltaMet_;
423 
424  //MIKE -May19th: Add option for the vertices....
427 
429 
430 };
431 
432 
433 #endif
unsigned int nTrackIsoForEgammaSC_
Definition: PFAlgo.h:352
Abstract base class for a PFBlock element (track, cluster...)
double ptError_
Definition: PFAlgo.h:393
bool isFromSecInt(const reco::PFBlockElement &eTrack, std::string order) const
Definition: PFAlgo.cc:3521
bool usePFConversions_
Definition: PFAlgo.h:376
float goodTrackDeadHcal_dxy_
Definition: PFAlgo.h:401
std::vector< double > muonHCAL_
Variables for muons and fakes.
Definition: PFAlgo.h:389
bool postMuonCleaning_
Definition: PFAlgo.h:415
double maxDeltaPhiPt_
Definition: PFAlgo.h:420
void setPFMuonAndFakeParameters(const edm::ParameterSet &pset)
Definition: PFAlgo.cc:287
double maxSignificance_
Definition: PFAlgo.h:418
double sumEtEcalIsoForEgammaSC_endcap_
Definition: PFAlgo.h:347
double mvaEleCut_
Definition: PFAlgo.h:339
double minHFCleaningPt_
Definition: PFAlgo.h:416
Particle flow cluster, see clustering algorithm in PFClusterAlgo.
Definition: PFCluster.h:47
double coneEcalIsoForEgammaSC_
Definition: PFAlgo.h:348
double minDeltaMet_
Definition: PFAlgo.h:421
std::unique_ptr< reco::PFCandidateElectronExtraCollection > transferElectronExtra()
Definition: PFAlgo.h:208
double minSignificance_
Definition: PFAlgo.h:417
std::unique_ptr< reco::PFCandidateCollection > pfCandidates_
Definition: PFAlgo.h:286
void setCandConnectorParameters(const edm::ParameterSet &iCfgCandConnector)
Definition: PFAlgo.h:70
unsigned reconstructCluster(const reco::PFCluster &cluster, double particleEnergy, bool useDirection=false, double particleX=0., double particleY=0., double particleZ=0.)
Definition: PFAlgo.cc:3261
void reconstructParticles(const reco::PFBlockHandle &blockHandle)
Definition: PFAlgo.cc:407
std::unique_ptr< reco::PFCandidateCollection > connect(std::unique_ptr< reco::PFCandidateCollection > &pfCand)
const std::unique_ptr< reco::PFCandidateCollection > & pfCandidates() const
Definition: PFAlgo.h:197
std::vector< double > setchi2Values_
Definition: PFAlgo.h:338
bool useProtectionsForJetMET_
Definition: PFAlgo.h:361
double coneTrackIsoForEgammaSC_
Definition: PFAlgo.h:351
float goodPixelTrackDeadHcal_minEta_
Definition: PFAlgo.h:403
double nSigmaHCAL_
number of sigma to judge energy excess in HCAL
Definition: PFAlgo.h:326
std::map< unsigned int, Link > LinkData
Definition: PFBlock.h:46
void processBlock(const reco::PFBlockRef &blockref, std::list< reco::PFBlockRef > &hcalBlockRefs, std::list< reco::PFBlockRef > &ecalBlockRefs)
Definition: PFAlgo.cc:530
void setMuonHandle(const edm::Handle< reco::MuonCollection > &)
Definition: PFAlgo.cc:323
std::shared_ptr< PFEnergyCalibrationHF > thepfEnergyCalibrationHF_
Definition: PFAlgo.h:329
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
std::vector< PFRecHit > PFRecHitCollection
collection of PFRecHit objects
Definition: PFRecHitFwd.h:9
const edm::ValueMap< reco::PhotonRef > * valueMapGedPhotons_
Definition: PFAlgo.h:364
void checkCleaning(const reco::PFRecHitCollection &cleanedHF)
Check HF Cleaning.
Definition: PFAlgo.cc:3660
PFCandConnector connector_
Definition: PFAlgo.h:386
void setDisplacedVerticesParameters(bool rejectTracks_Bad, bool rejectTracks_Step45, bool usePFNuclearInteractions, bool usePFConversions, bool usePFDecays, double dptRel_DispVtx)
Definition: PFAlgo.cc:346
std::shared_ptr< PFEnergyCalibration > calibration_
Definition: PFAlgo.h:328
double sumEtEcalIsoForEgammaSC_barrel_
Definition: PFAlgo.h:346
PFElectronAlgo * pfele_
Definition: PFAlgo.h:353
float goodPixelTrackDeadHcal_dxy_
Definition: PFAlgo.h:409
PFMuonAlgo * pfmu_
Definition: PFAlgo.h:355
void setPFVertexParameters(bool useVertex, const reco::VertexCollection *primaryVertices)
Definition: PFAlgo.cc:364
void setEGElectronCollection(const reco::GsfElectronCollection &egelectrons)
Definition: PFAlgo.cc:3552
std::vector< GsfElectron > GsfElectronCollection
collection of GsfElectron objects
int nVtx_
Definition: PFAlgo.h:382
bool rejectTracks_Step45_
Definition: PFAlgo.h:373
double minSignificanceReduction_
Definition: PFAlgo.h:419
std::vector< double > factors45_
Definition: PFAlgo.h:394
bool useHO_
Definition: PFAlgo.h:332
std::unique_ptr< reco::PFCandidateCollection > transferCandidates()
Definition: PFAlgo.h:230
int algo_
Definition: PFAlgo.h:333
bool useEGammaSupercluster_
Definition: PFAlgo.h:345
std::unique_ptr< reco::PFCandidateCollection > pfCleanedCandidates_
Definition: PFAlgo.h:292
bool usePFNuclearInteractions_
Definition: PFAlgo.h:375
bool postHFCleaning_
Definition: PFAlgo.h:414
void setDebug(bool debug)
Definition: PFAlgo.h:63
void setEGammaCollections(const edm::View< reco::PFCandidate > &pfEgammaCandidates, const edm::ValueMap< reco::GsfElectronRef > &valueMapGedElectrons, const edm::ValueMap< reco::PhotonRef > &valueMapGedPhotons)
Definition: PFAlgo.cc:263
void setBadHcalTrackParams(const edm::ParameterSet &pset)
Definition: PFAlgo.cc:304
Based on a class from : V. Roberfroid, February 2008.
const edm::View< reco::PFCandidate > * pfEgammaCandidates_
Definition: PFAlgo.h:362
std::unique_ptr< reco::PFCandidateCollection > transferCleanedCandidates()
Definition: PFAlgo.h:225
bool useEGElectrons_
Definition: PFAlgo.h:344
void associatePSClusters(unsigned iEcal, reco::PFBlockElement::Type psElementType, const reco::PFBlock &block, const edm::OwnVector< reco::PFBlockElement > &elements, const reco::PFBlock::LinkData &linkData, std::vector< bool > &active, std::vector< double > &psEne)
Associate PS clusters to a given ECAL cluster, and return their energy.
Definition: PFAlgo.cc:3467
std::unique_ptr< reco::PFCandidateCollection > transferElectronCandidates()
Definition: PFAlgo.h:202
std::string mvaWeightFileEleID_
Variables for PFElectrons.
Definition: PFAlgo.h:337
void setPFEleParameters(double mvaEleCut, std::string mvaWeightFileEleID, bool usePFElectrons, const std::shared_ptr< PFSCEnergyCalibration > &thePFSCEnergyCalibration, const std::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=false, bool usePFSCEleCalib=true, bool useEGElectrons=false, bool useEGammaSupercluster=true)
Definition: PFAlgo.cc:91
bool usePFMuonMomAssign_
Definition: PFAlgo.h:368
PFPhotonAlgo * pfpho_
Definition: PFAlgo.h:354
float goodTrackDeadHcal_validFr_
Definition: PFAlgo.h:400
void setPFPhotonRegWeights(const GBRForest *LCorrForestEB, const GBRForest *LCorrForestEE, const GBRForest *GCorrForestBarrel, const GBRForest *GCorrForestEndcapHr9, const GBRForest *GCorrForestEndcapLr9, const GBRForest *PFEcalResolution)
Definition: PFAlgo.cc:274
reco::Vertex primaryVertex_
Definition: PFAlgo.h:425
double nSigmaHCAL(double clusterEnergy, double clusterEta) const
Definition: PFAlgo.cc:3421
edm::Handle< reco::MuonCollection > muonHandle_
Definition: PFAlgo.h:428
bool usePFSCEleCalib_
Definition: PFAlgo.h:343
std::vector< double > muonECAL_
Definition: PFAlgo.h:390
std::shared_ptr< PFEnergyCalibration > thePFEnergyCalibration()
return the pointer to the calibration function
Definition: PFAlgo.h:235
void setParameters(double nSigmaECAL, double nSigmaHCAL, const std::shared_ptr< PFEnergyCalibration > &calibration, const std::shared_ptr< PFEnergyCalibrationHF > &thepfEnergyCalibrationHF)
Definition: PFAlgo.cc:71
void setPFMuonAlgo(PFMuonAlgo *algo)
Definition: PFAlgo.h:61
void setPostHFCleaningParameters(bool postHFCleaning, double minHFCleaningPt, double minSignificance, double maxSignificance, double minSignificanceReduction, double maxDeltaPhiPt, double minDeltaMet)
Definition: PFAlgo.cc:329
void setPFPhotonParameters(bool usePFPhoton, std::string mvaWeightFileConvID, double mvaConvCut, bool useReg, std::string X0_Map, const std::shared_ptr< PFEnergyCalibration > &thePFEnergyCalibration, double sumPtTrackIsoForPhoton, double sumPtTrackIsoSlopeForPhoton)
Definition: PFAlgo.cc:153
std::vector< PFBlock > PFBlockCollection
collection of PFBlock objects
Definition: PFBlockFwd.h:11
PFEGammaFilters * pfegamma_
Definition: PFAlgo.h:360
int goodPixelTrackDeadHcal_maxLost3Hit_
Definition: PFAlgo.h:407
std::shared_ptr< PFSCEnergyCalibration > thePFSCEnergyCalibration_
Definition: PFAlgo.h:330
reco::PFBlockRef createBlockRef(const reco::PFBlockCollection &blocks, unsigned bi)
Definition: PFAlgo.cc:3455
reco::PFCandidatePhotonExtraCollection pfPhotonExtra_
the extra photon collection
Definition: PFAlgo.h:297
void setHOTag(bool ho)
Definition: PFAlgo.h:59
void setCandConnectorParameters(bool bCorrect, bool bCalibPrimary, double dptRel_PrimaryTrack, double dptRel_MergedTrack, double ptErrorSecondary, const std::vector< double > &nuclCalibFactors)
Definition: PFAlgo.h:74
double useBestMuonTrack_
Definition: PFAlgo.h:422
std::unique_ptr< reco::PFCandidateCollection > pfPhotonCandidates_
the unfiltered photon collection
Definition: PFAlgo.h:290
float goodPixelTrackDeadHcal_maxPt_
Definition: PFAlgo.h:404
std::unique_ptr< reco::PFCandidatePhotonExtraCollection > transferPhotonExtra()
Definition: PFAlgo.h:217
unsigned reconstructTrack(const reco::PFBlockElement &elt, bool allowLoose=false)
Definition: PFAlgo.cc:3182
#define debug
Definition: HDRShower.cc:19
int goodTrackDeadHcal_layers_
Definition: PFAlgo.h:399
std::vector< double > muonHO_
Definition: PFAlgo.h:391
bool useVertices_
Definition: PFAlgo.h:426
primaryVertices
Definition: jets_cff.py:135
float goodPixelTrackDeadHcal_ptErrRel_
Definition: PFAlgo.h:405
std::vector< reco::PFCandidatePhotonExtra > PFCandidatePhotonExtraCollection
collection of PFCandidatePhotonExtras
double dptRel_DispVtx_
Definition: PFAlgo.h:381
reco::PFBlockHandle blockHandle_
input block handle (full framework case)
Definition: PFAlgo.h:320
void setEGammaParameters(bool use_EGammaFilters, std::string ele_iso_path_mvaWeightFile, double ele_iso_pt, double ele_iso_mva_barrel, double ele_iso_mva_endcap, double ele_iso_combIso_barrel, double ele_iso_combIso_endcap, double ele_noniso_mva, unsigned int ele_missinghits, bool useProtectionsForJetMET, const edm::ParameterSet &ele_protectionsForJetMET, const edm::ParameterSet &ele_protectionsForBadHcal, double ph_MinEt, double ph_combIso, double ph_HoE, double ph_sietaieta_eb, double ph_sietaieta_ee, const edm::ParameterSet &ph_protectionsForJetMET, const edm::ParameterSet &ph_protectionsForBadHcal)
Definition: PFAlgo.cc:204
~PFAlgo()
destructor
Definition: PFAlgo.cc:63
Particle reconstructed by the particle flow algorithm.
Definition: PFCandidate.h:40
bool rejectTracks_Bad_
Definition: PFAlgo.h:372
PFAlgo()
constructor
Definition: PFAlgo.cc:51
PFMuonAlgo * getPFMuonAlgo()
Definition: PFAlgo.cc:85
void setDebug(bool debug)
bool useEGammaFilters_
Variables for NEW EGAMMA selection.
Definition: PFAlgo.h:359
bool debug_
Definition: PFAlgo.h:334
void setPhotonExtraRef(const edm::OrphanHandle< reco::PFCandidatePhotonExtraCollection > &pf_extrah)
Definition: PFAlgo.cc:3813
bool applyCrackCorrectionsElectrons_
Definition: PFAlgo.h:342
float goodTrackDeadHcal_ptErrRel_
Variables for track cleaning in bad HCal areas.
Definition: PFAlgo.h:397
void setParameters(const edm::ParameterSet &iCfgCandConnector)
double sumPtTrackIsoForEgammaSC_endcap_
Definition: PFAlgo.h:350
std::unique_ptr< reco::PFCandidateCollection > pfElectronCandidates_
the unfiltered electron collection
Definition: PFAlgo.h:288
int goodPixelTrackDeadHcal_maxLost4Hit_
Definition: PFAlgo.h:408
float goodPixelTrackDeadHcal_chi2n_
Definition: PFAlgo.h:406
double nSigmaTRACK_
Definition: PFAlgo.h:392
double neutralHadronEnergyResolution(double clusterEnergy, double clusterEta) const
todo: use PFClusterTools for this
Definition: PFAlgo.cc:3406
void postCleaning()
Definition: PFAlgo.cc:3557
std::vector< reco::PFCandidateElectronExtra > PFCandidateElectronExtraCollection
collection of PFCandidateElectronExtras
reco::PFCandidateElectronExtraCollection pfElectronExtra_
the unfiltered electron collection
Definition: PFAlgo.h:295
Definition: PFAlgo.h:49
bool usePFPhotons_
Definition: PFAlgo.h:341
bool usePFDecays_
Definition: PFAlgo.h:377
void setDebug(bool debug)
void setAlgo(int algo)
Definition: PFAlgo.h:60
float goodTrackDeadHcal_chi2n_
Definition: PFAlgo.h:398
double sumPtTrackIsoForEgammaSC_barrel_
Definition: PFAlgo.h:349
float goodPixelTrackDeadHcal_dz_
Definition: PFAlgo.h:410
def move(src, dest)
Definition: eostools.py:511
void setHcalDepthInfo(reco::PFCandidate &cand, const reco::PFCluster &cluster) const
Definition: PFAlgo.cc:3375
const edm::ValueMap< reco::GsfElectronRef > * valueMapGedElectrons_
Definition: PFAlgo.h:363
friend std::ostream & operator<<(std::ostream &out, const PFAlgo &algo)
void setElectronExtraRef(const edm::OrphanHandle< reco::PFCandidateElectronExtraCollection > &extrah)
Definition: PFAlgo.cc:3764
double nSigmaECAL_
number of sigma to judge energy excess in ECAL
Definition: PFAlgo.h:323
Block of elements.
Definition: PFBlock.h:30
bool usePFElectrons_
Definition: PFAlgo.h:340