CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 
6 
7 // #include "FWCore/Framework/interface/Handle.h"
10 // #include "FWCore/Framework/interface/OrphanHandle.h"
12 
16 
17 // next include is necessary for inline functions.
19 
26 
34 
36 
45 class PFElectronAlgo;
46 class PFPhotonAlgo;
47 
48 class PFAlgo {
49 
50  public:
51 
53  PFAlgo();
54 
56  virtual ~PFAlgo();
57 
58  void setHOTag(bool ho) { useHO_ = ho;}
59  void setAlgo( int algo ) {algo_ = algo;}
60 
62 
63  void setParameters(double nSigmaECAL,
64  double nSigmaHCAL,
65  const boost::shared_ptr<PFEnergyCalibration>& calibration,
66  const boost::shared_ptr<PFEnergyCalibrationHF>& thepfEnergyCalibrationHF);
67 
68  void setCandConnectorParameters( const edm::ParameterSet& iCfgCandConnector ){
69  connector_.setParameters(iCfgCandConnector);
70  }
71 
72  void setCandConnectorParameters(bool bCorrect,
73  bool bCalibPrimary,
74  double dptRel_PrimaryTrack,
75  double dptRel_MergedTrack,
76  double ptErrorSecondary,
77  std::vector<double> nuclCalibFactors){
78  connector_.setParameters(bCorrect, bCalibPrimary, dptRel_PrimaryTrack, dptRel_MergedTrack, ptErrorSecondary, nuclCalibFactors);
79  }
80 
81 
82  void setPFMuonAndFakeParameters(std::vector<double> muonHCAL,
83  std::vector<double> muonECAL,
84  std::vector<double> muonHO,
85  double nSigmaTRACK,
86  double ptError,
87  std::vector<double> factors45,
88  bool usePFMuonMomAssign,
89  bool useBestMuonTrack);
90 
91  void setPFEleParameters(double mvaEleCut,
92  std::string mvaWeightFileEleID,
93  bool usePFElectrons,
94  const boost::shared_ptr<PFSCEnergyCalibration>& thePFSCEnergyCalibration,
95  const boost::shared_ptr<PFEnergyCalibration>& thePFEnergyCalibration,
96  double sumEtEcalIsoForEgammaSC_barrel,
97  double sumEtEcalIsoForEgammaSC_endcap,
98  double coneEcalIsoForEgammaSC,
99  double sumPtTrackIsoForEgammaSC_barrel,
100  double sumPtTrackIsoForEgammaSC_endcap,
101  unsigned int nTrackIsoForEgammaSC,
102  double coneTrackIsoForEgammaSC,
103  bool applyCrackCorrections=false,
104  bool usePFSCEleCalib=true,
105  bool useEGElectrons=false,
106  bool useEGammaSupercluster = true);
107 
108  void setPFPhotonParameters(bool usePFPhoton,
109  std::string mvaWeightFileConvID,
110  double mvaConvCut,
111  bool useReg,
112  std::string X0_Map,
113  const boost::shared_ptr<PFEnergyCalibration>& thePFEnergyCalibration,
114  double sumPtTrackIsoForPhoton,
115  double sumPtTrackIsoSlopeForPhoton
116 );
117 
118  // void setPFPhotonRegWeights(
119  // const GBRForest *LCorrForest,
120  // const GBRForest *GCorrForest,
121  // const GBRForest *ResForest
122 
123  // );
125  const GBRForest *LCorrForestEB,
126  const GBRForest *LCorrForestEE,
127  const GBRForest *GCorrForestBarrel,
128  const GBRForest *GCorrForestEndcapHr9,
129  const GBRForest *GCorrForestEndcapLr9,
130  const GBRForest *PFEcalResolution
131  );
132  void setPostHFCleaningParameters(bool postHFCleaning,
133  double minHFCleaningPt,
134  double minSignificance,
135  double maxSignificance,
136  double minSignificanceReduction,
137  double maxDeltaPhiPt,
138  double minDeltaMet);
139 
140  void setDisplacedVerticesParameters(bool rejectTracks_Bad,
141  bool rejectTracks_Step45,
142  bool usePFNuclearInteractions,
143  bool usePFConversions,
144  bool usePFDecays,
145  double dptRel_DispVtx);
146 
147  //MIKEB : Parameters for the vertices..
148  void setPFVertexParameters(bool useVertex,
149  const reco::VertexCollection& primaryVertices);
150 
151  // FlorianB : Collection of e/g electrons
152  void setEGElectronCollection(const reco::GsfElectronCollection & egelectrons);
153 
157  void reconstructParticles( const reco::PFBlockHandle& blockHandle );
158 
160  virtual void reconstructParticles( const reco::PFBlockCollection& blocks );
161 
163  void checkCleaning( const reco::PFRecHitCollection& cleanedHF );
164 
165  // Post Muon Cleaning
167  const reco::VertexCollection& primaryVertices );
168 
169  // Post Electron Extra Ref
171 
172  // Post Photon Extra Ref
174 
176  const std::auto_ptr< reco::PFCandidateCollection >& pfCandidates() const {
177  return pfCandidates_;
178  }
179 
181  std::auto_ptr< reco::PFCandidateCollection> transferElectronCandidates() {
182  return pfElectronCandidates_;
183  }
184 
186  // done this way because the pfElectronExtra is needed later in the code to create the Refs and with an auto_ptr, it would be destroyed
187  std::auto_ptr< reco::PFCandidateElectronExtraCollection> transferElectronExtra() {
188  std::auto_ptr< reco::PFCandidateElectronExtraCollection> result(new reco::PFCandidateElectronExtraCollection);
189  result->insert(result->end(),pfElectronExtra_.begin(),pfElectronExtra_.end());
190  return result;
191  }
192 
193 
195  // done this way because the pfPhotonExtra is needed later in the code to create the Refs and with an auto_ptr, it would be destroyed
196  std::auto_ptr< reco::PFCandidatePhotonExtraCollection> transferPhotonExtra() {
197  std::auto_ptr< reco::PFCandidatePhotonExtraCollection> result(new reco::PFCandidatePhotonExtraCollection);
198  result->insert(result->end(),pfPhotonExtra_.begin(),pfPhotonExtra_.end());
199  return result;
200  }
201 
202 
204  std::auto_ptr< reco::PFCandidateCollection >& transferCleanedCandidates() {
205  return pfCleanedCandidates_;
206  }
207 
209  std::auto_ptr< reco::PFCandidateCollection > transferCosmicsMuonCleanedCandidates() {
211  }
212 
214  std::auto_ptr< reco::PFCandidateCollection > transferCleanedTrackerAndGlobalMuonCandidates() {
216  }
217 
219  std::auto_ptr< reco::PFCandidateCollection > transferFakeMuonCleanedCandidates() {
221  }
222 
224  std::auto_ptr< reco::PFCandidateCollection > transferPunchThroughMuonCleanedCandidates() {
226  }
227 
229  std::auto_ptr< reco::PFCandidateCollection > transferPunchThroughHadronCleanedCandidates() {
231  }
232 
234  std::auto_ptr< reco::PFCandidateCollection > transferAddedMuonCandidates() {
235  return pfAddedMuonCandidates_;
236  }
237 
239  std::auto_ptr< reco::PFCandidateCollection > transferCandidates() {
241  }
242 
244  boost::shared_ptr<PFEnergyCalibration> thePFEnergyCalibration() {
245  return calibration_;
246  }
247 
248  friend std::ostream& operator<<(std::ostream& out, const PFAlgo& algo);
249 
250  protected:
251 
254  virtual void processBlock( const reco::PFBlockRef& blockref,
255  std::list<reco::PFBlockRef>& hcalBlockRefs,
256  std::list<reco::PFBlockRef>& ecalBlockRefs );
257 
260  unsigned reconstructTrack( const reco::PFBlockElement& elt );
261 
267 
268  unsigned reconstructCluster( const reco::PFCluster& cluster,
269  double particleEnergy,
270  bool useDirection = false,
271  double particleX=0.,
272  double particleY=0.,
273  double particleZ=0.);
274 
275 
277  // double gammaCalibratedEnergy( double clusterEnergy ) const;
278 
281  // double neutralHadronCalibratedEnergy( double energyHCAL,
282  // double energyECAL=-1) const;
283 
284 
286  double neutralHadronEnergyResolution( double clusterEnergy,
287  double clusterEta ) const;
288 
289 
290  double nSigmaHCAL( double clusterEnergy,
291  double clusterEta ) const;
292 
293  std::auto_ptr< reco::PFCandidateCollection > pfCandidates_;
295  std::auto_ptr< reco::PFCandidateCollection > pfElectronCandidates_;
297  std::auto_ptr< reco::PFCandidateCollection > pfPhotonCandidates_;
298  // the post-HF-cleaned candidates
299  std::auto_ptr< reco::PFCandidateCollection > pfCleanedCandidates_;
301  std::auto_ptr< reco::PFCandidateCollection > pfCosmicsMuonCleanedCandidates_;
303  std::auto_ptr< reco::PFCandidateCollection > pfCleanedTrackerAndGlobalMuonCandidates_;
305  std::auto_ptr< reco::PFCandidateCollection > pfFakeMuonCleanedCandidates_;
307  std::auto_ptr< reco::PFCandidateCollection > pfPunchThroughMuonCleanedCandidates_;
309  std::auto_ptr< reco::PFCandidateCollection > pfPunchThroughHadronCleanedCandidates_;
311  std::auto_ptr< reco::PFCandidateCollection > pfAddedMuonCandidates_;
312 
317 
319  void associatePSClusters(unsigned iEcal,
320  reco::PFBlockElement::Type psElementType,
321  const reco::PFBlock& block,
323  const reco::PFBlock::LinkData& linkData,
324  std::vector<bool>& active,
325  std::vector<double>& psEne);
326 
327  bool isFromSecInt(const reco::PFBlockElement& eTrack, std::string order) const;
328 
329 
330  // Post HF Cleaning
331  void postCleaning();
332 
333 
334 
335 
336  private:
340  unsigned bi );
341 
344 
346  double nSigmaECAL_;
347 
349  double nSigmaHCAL_;
350 
351  boost::shared_ptr<PFEnergyCalibration> calibration_;
352  boost::shared_ptr<PFEnergyCalibrationHF> thepfEnergyCalibrationHF_;
353  boost::shared_ptr<PFSCEnergyCalibration> thePFSCEnergyCalibration_;
354 
355  bool useHO_;
356  int algo_;
357  bool debug_;
358 
360  std::string mvaWeightFileEleID_;
361  std::vector<double> setchi2Values_;
362  double mvaEleCut_;
375  unsigned int nTrackIsoForEgammaSC_;
378 
379  // Option to let PF decide the muon momentum
381 
386 
390 
394 
395 
399 
401  std::vector<double> muonHCAL_;
402  std::vector<double> muonECAL_;
403  std::vector<double> muonHO_;
404  double nSigmaTRACK_;
405  double ptError_;
406  std::vector<double> factors45_;
407 
408  // Parameters for post HF cleaning
416  double minDeltaMet_;
418 
419  //MIKE -May19th: Add option for the vertices....
422 
423 };
424 
425 
426 #endif
427 
428 
std::auto_ptr< reco::PFCandidateCollection > transferCandidates()
Definition: PFAlgo.h:239
unsigned int nTrackIsoForEgammaSC_
Definition: PFAlgo.h:375
Abstract base class for a PFBlock element (track, cluster...)
double ptError_
Definition: PFAlgo.h:405
bool isFromSecInt(const reco::PFBlockElement &eTrack, std::string order) const
Definition: PFAlgo.cc:3361
bool usePFConversions_
Definition: PFAlgo.h:388
std::vector< double > muonHCAL_
Variables for muons and fakes.
Definition: PFAlgo.h:401
bool postMuonCleaning_
Definition: PFAlgo.h:410
void setPFMuonAndFakeParameters(std::vector< double > muonHCAL, std::vector< double > muonECAL, std::vector< double > muonHO, double nSigmaTRACK, double ptError, std::vector< double > factors45, bool usePFMuonMomAssign, bool useBestMuonTrack)
Definition: PFAlgo.cc:227
std::auto_ptr< reco::PFCandidateCollection > connect(std::auto_ptr< reco::PFCandidateCollection > &pfCand)
double maxDeltaPhiPt_
Definition: PFAlgo.h:415
double maxSignificance_
Definition: PFAlgo.h:413
double sumEtEcalIsoForEgammaSC_endcap_
Definition: PFAlgo.h:370
std::auto_ptr< reco::PFCandidateCollection > pfPhotonCandidates_
the unfiltered photon collection
Definition: PFAlgo.h:297
double mvaEleCut_
Definition: PFAlgo.h:362
double minHFCleaningPt_
Definition: PFAlgo.h:411
Particle flow cluster, see clustering algorithm in PFClusterAlgo.
Definition: PFCluster.h:42
double coneEcalIsoForEgammaSC_
Definition: PFAlgo.h:371
double minDeltaMet_
Definition: PFAlgo.h:416
double minSignificance_
Definition: PFAlgo.h:412
void setCandConnectorParameters(const edm::ParameterSet &iCfgCandConnector)
Definition: PFAlgo.h:68
std::auto_ptr< reco::PFCandidateCollection > pfFakeMuonCleanedCandidates_
the collection of fake cleaned muon candidates
Definition: PFAlgo.h:305
unsigned reconstructCluster(const reco::PFCluster &cluster, double particleEnergy, bool useDirection=false, double particleX=0., double particleY=0., double particleZ=0.)
Definition: PFAlgo.cc:3129
void reconstructParticles(const reco::PFBlockHandle &blockHandle)
Definition: PFAlgo.cc:305
std::vector< double > setchi2Values_
Definition: PFAlgo.h:361
double coneTrackIsoForEgammaSC_
Definition: PFAlgo.h:374
std::auto_ptr< reco::PFCandidateElectronExtraCollection > transferElectronExtra()
Definition: PFAlgo.h:187
double nSigmaHCAL_
number of sigma to judge energy excess in HCAL
Definition: PFAlgo.h:349
std::map< unsigned int, Link > LinkData
Definition: PFBlock.h:46
std::auto_ptr< reco::PFCandidateCollection > transferFakeMuonCleanedCandidates()
Definition: PFAlgo.h:219
virtual void processBlock(const reco::PFBlockRef &blockref, std::list< reco::PFBlockRef > &hcalBlockRefs, std::list< reco::PFBlockRef > &ecalBlockRefs)
Definition: PFAlgo.cc:451
list elements
Definition: asciidump.py:414
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
std::vector< PFRecHit > PFRecHitCollection
collection of PFRecHit objects
Definition: PFRecHitFwd.h:9
void checkCleaning(const reco::PFRecHitCollection &cleanedHF)
Check HF Cleaning.
Definition: PFAlgo.cc:3504
PFCandConnector connector_
Definition: PFAlgo.h:398
void setDisplacedVerticesParameters(bool rejectTracks_Bad, bool rejectTracks_Step45, bool usePFNuclearInteractions, bool usePFConversions, bool usePFDecays, double dptRel_DispVtx)
Definition: PFAlgo.cc:264
double sumEtEcalIsoForEgammaSC_barrel_
Definition: PFAlgo.h:369
PFElectronAlgo * pfele_
Definition: PFAlgo.h:376
std::auto_ptr< reco::PFCandidateCollection > pfCleanedCandidates_
Definition: PFAlgo.h:299
void setPFEleParameters(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=false, bool usePFSCEleCalib=true, bool useEGElectrons=false, bool useEGammaSupercluster=true)
Definition: PFAlgo.cc:90
void setEGElectronCollection(const reco::GsfElectronCollection &egelectrons)
Definition: PFAlgo.cc:3392
std::vector< GsfElectron > GsfElectronCollection
collection of GsfElectron objects
bool rejectTracks_Step45_
Definition: PFAlgo.h:385
double minSignificanceReduction_
Definition: PFAlgo.h:414
void setPFPhotonParameters(bool usePFPhoton, std::string mvaWeightFileConvID, double mvaConvCut, bool useReg, std::string X0_Map, const boost::shared_ptr< PFEnergyCalibration > &thePFEnergyCalibration, double sumPtTrackIsoForPhoton, double sumPtTrackIsoSlopeForPhoton)
Definition: PFAlgo.cc:152
std::vector< double > factors45_
Definition: PFAlgo.h:406
bool useHO_
Definition: PFAlgo.h:355
int algo_
Definition: PFAlgo.h:356
bool useEGammaSupercluster_
Definition: PFAlgo.h:368
bool usePFNuclearInteractions_
Definition: PFAlgo.h:387
bool postHFCleaning_
Definition: PFAlgo.h:409
void setDebug(bool debug)
Definition: PFAlgo.h:61
boost::shared_ptr< PFEnergyCalibration > thePFEnergyCalibration()
return the pointer to the calibration function
Definition: PFAlgo.h:244
void setParameters(double nSigmaECAL, double nSigmaHCAL, const boost::shared_ptr< PFEnergyCalibration > &calibration, const boost::shared_ptr< PFEnergyCalibrationHF > &thepfEnergyCalibrationHF)
Definition: PFAlgo.cc:75
Based on a class from : V. Roberfroid, February 2008.
std::auto_ptr< reco::PFCandidateCollection > transferPunchThroughHadronCleanedCandidates()
Definition: PFAlgo.h:229
bool useEGElectrons_
Definition: PFAlgo.h:367
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:3306
std::string mvaWeightFileEleID_
Variables for PFElectrons.
Definition: PFAlgo.h:360
tuple result
Definition: query.py:137
std::auto_ptr< reco::PFCandidateCollection > transferPunchThroughMuonCleanedCandidates()
Definition: PFAlgo.h:224
std::auto_ptr< reco::PFCandidateCollection > transferElectronCandidates()
Definition: PFAlgo.h:181
bool usePFMuonMomAssign_
Definition: PFAlgo.h:380
PFPhotonAlgo * pfpho_
Definition: PFAlgo.h:377
void setPFPhotonRegWeights(const GBRForest *LCorrForestEB, const GBRForest *LCorrForestEE, const GBRForest *GCorrForestBarrel, const GBRForest *GCorrForestEndcapHr9, const GBRForest *GCorrForestEndcapLr9, const GBRForest *PFEcalResolution)
Definition: PFAlgo.cc:214
reco::Vertex primaryVertex_
Definition: PFAlgo.h:420
double nSigmaHCAL(double clusterEnergy, double clusterEta) const
Definition: PFAlgo.cc:3256
bool usePFSCEleCalib_
Definition: PFAlgo.h:366
std::vector< double > muonECAL_
Definition: PFAlgo.h:402
void setPostHFCleaningParameters(bool postHFCleaning, double minHFCleaningPt, double minSignificance, double maxSignificance, double minSignificanceReduction, double maxDeltaPhiPt, double minDeltaMet)
Definition: PFAlgo.cc:247
std::vector< PFBlock > PFBlockCollection
collection of PFBlock objects
Definition: PFBlockFwd.h:11
reco::PFBlockRef createBlockRef(const reco::PFBlockCollection &blocks, unsigned bi)
Definition: PFAlgo.cc:3294
reco::PFCandidatePhotonExtraCollection pfPhotonExtra_
the extra photon collection
Definition: PFAlgo.h:316
void setHOTag(bool ho)
Definition: PFAlgo.h:58
double useBestMuonTrack_
Definition: PFAlgo.h:417
tuple out
Definition: dbtoconf.py:99
void setPFVertexParameters(bool useVertex, const reco::VertexCollection &primaryVertices)
Definition: PFAlgo.cc:282
std::vector< double > muonHO_
Definition: PFAlgo.h:403
bool useVertices_
Definition: PFAlgo.h:421
std::vector< reco::PFCandidatePhotonExtra > PFCandidatePhotonExtraCollection
collection of PFCandidatePhotonExtras
std::auto_ptr< reco::PFCandidateCollection > pfCosmicsMuonCleanedCandidates_
the collection of cosmics cleaned muon candidates
Definition: PFAlgo.h:301
double dptRel_DispVtx_
Definition: PFAlgo.h:393
boost::shared_ptr< PFEnergyCalibration > calibration_
Definition: PFAlgo.h:351
list blocks
Definition: gather_cfg.py:90
reco::PFBlockHandle blockHandle_
input block handle (full framework case)
Definition: PFAlgo.h:343
std::auto_ptr< reco::PFCandidateCollection > transferCleanedTrackerAndGlobalMuonCandidates()
Definition: PFAlgo.h:214
void setCandConnectorParameters(bool bCorrect, bool bCalibPrimary, double dptRel_PrimaryTrack, double dptRel_MergedTrack, double ptErrorSecondary, std::vector< double > nuclCalibFactors)
Definition: PFAlgo.h:72
boost::shared_ptr< PFSCEnergyCalibration > thePFSCEnergyCalibration_
Definition: PFAlgo.h:353
std::auto_ptr< reco::PFCandidateCollection > pfPunchThroughHadronCleanedCandidates_
the collection of punch-through cleaned neutral hadron candidates
Definition: PFAlgo.h:309
std::auto_ptr< reco::PFCandidatePhotonExtraCollection > transferPhotonExtra()
Definition: PFAlgo.h:196
virtual ~PFAlgo()
destructor
Definition: PFAlgo.cc:68
std::auto_ptr< reco::PFCandidateCollection > & transferCleanedCandidates()
Definition: PFAlgo.h:204
std::auto_ptr< reco::PFCandidateCollection > pfCleanedTrackerAndGlobalMuonCandidates_
the collection of tracker/global cleaned muon candidates
Definition: PFAlgo.h:303
boost::shared_ptr< PFEnergyCalibrationHF > thepfEnergyCalibrationHF_
Definition: PFAlgo.h:352
bool rejectTracks_Bad_
Definition: PFAlgo.h:384
PFAlgo()
constructor
Definition: PFAlgo.cc:57
std::auto_ptr< reco::PFCandidateCollection > pfCandidates_
Definition: PFAlgo.h:293
void postMuonCleaning(const edm::Handle< reco::MuonCollection > &muonh, const reco::VertexCollection &primaryVertices)
Definition: PFAlgo.cc:3609
std::auto_ptr< reco::PFCandidateCollection > transferAddedMuonCandidates()
Definition: PFAlgo.h:234
bool debug_
Definition: PFAlgo.h:357
void setPhotonExtraRef(const edm::OrphanHandle< reco::PFCandidatePhotonExtraCollection > &pf_extrah)
Definition: PFAlgo.cc:4189
bool applyCrackCorrectionsElectrons_
Definition: PFAlgo.h:365
void setParameters(const edm::ParameterSet &iCfgCandConnector)
double sumPtTrackIsoForEgammaSC_endcap_
Definition: PFAlgo.h:373
LimitAlgo * algo
Definition: Combine.cc:60
double nSigmaTRACK_
Definition: PFAlgo.h:404
unsigned reconstructTrack(const reco::PFBlockElement &elt)
Definition: PFAlgo.cc:2934
std::auto_ptr< reco::PFCandidateCollection > pfPunchThroughMuonCleanedCandidates_
the collection of punch-through cleaned muon candidates
Definition: PFAlgo.h:307
std::auto_ptr< reco::PFCandidateCollection > pfElectronCandidates_
the unfiltered electron collection
Definition: PFAlgo.h:295
#define debug
Definition: MEtoEDMFormat.h:34
double neutralHadronEnergyResolution(double clusterEnergy, double clusterEta) const
todo: use PFClusterTools for this
Definition: PFAlgo.cc:3241
void postCleaning()
Definition: PFAlgo.cc:3397
std::vector< reco::PFCandidateElectronExtra > PFCandidateElectronExtraCollection
collection of PFCandidateElectronExtras
std::auto_ptr< reco::PFCandidateCollection > pfAddedMuonCandidates_
the collection of added muon candidates
Definition: PFAlgo.h:311
reco::PFCandidateElectronExtraCollection pfElectronExtra_
the unfiltered electron collection
Definition: PFAlgo.h:314
Definition: PFAlgo.h:48
bool usePFPhotons_
Definition: PFAlgo.h:364
bool usePFDecays_
Definition: PFAlgo.h:389
std::auto_ptr< reco::PFCandidateCollection > transferCosmicsMuonCleanedCandidates()
Definition: PFAlgo.h:209
void setDebug(bool debug)
void setAlgo(int algo)
Definition: PFAlgo.h:59
double sumPtTrackIsoForEgammaSC_barrel_
Definition: PFAlgo.h:372
const std::auto_ptr< reco::PFCandidateCollection > & pfCandidates() const
Definition: PFAlgo.h:176
friend std::ostream & operator<<(std::ostream &out, const PFAlgo &algo)
void setElectronExtraRef(const edm::OrphanHandle< reco::PFCandidateElectronExtraCollection > &extrah)
Definition: PFAlgo.cc:4137
double nSigmaECAL_
number of sigma to judge energy excess in ECAL
Definition: PFAlgo.h:346
Block of elements.
Definition: PFBlock.h:30
bool usePFElectrons_
Definition: PFAlgo.h:363