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 
26 
27 #include <iostream>
28 
31 
33 
38 class PFMuonAlgo;
39 
41 public:
42  std::vector<unsigned> hcalIs;
43  std::vector<unsigned> hoIs;
44  std::vector<unsigned> ecalIs;
45  std::vector<unsigned> trackIs;
46  std::vector<unsigned> ps1Is;
47  std::vector<unsigned> ps2Is;
48 
49  std::vector<unsigned> hfEmIs;
50  std::vector<unsigned> hfHadIs;
51 };
52 
53 class PFAlgo {
54 public:
56  PFAlgo(double nSigmaECAL,
57  double nSigmaHCAL,
58  double nSigmaHFEM,
59  double nSigmaHFHAD,
60  std::vector<double> resolHF_square,
62  PFEnergyCalibrationHF& thepfEnergyCalibrationHF,
63  const edm::ParameterSet& pset);
64 
65  void setHOTag(bool ho) { useHO_ = ho; }
67 
70  }
71 
73  bool bCalibPrimary,
74  double dptRel_PrimaryTrack,
75  double dptRel_MergedTrack,
76  double ptErrorSecondary,
77  const std::vector<double>& nuclCalibFactors) {
79  bCorrect, bCalibPrimary, dptRel_PrimaryTrack, dptRel_MergedTrack, ptErrorSecondary, nuclCalibFactors);
80  }
81 
83 
84  void setEGammaParameters(bool use_EGammaFilters, bool useProtectionsForJetMET);
85 
87  const edm::ValueMap<reco::GsfElectronRef>& valueMapGedElectrons,
88  const edm::ValueMap<reco::PhotonRef>& valueMapGedPhotons);
89 
90  void setPostHFCleaningParameters(bool postHFCleaning, const edm::ParameterSet& pfHFCleaningParams);
91 
95  bool usePFConversions,
96  bool usePFDecays,
97  double dptRel_DispVtx);
98 
99  //MIKEB : Parameters for the vertices..
101 
102  // FlorianB : Collection of e/g electrons
103  void setEGElectronCollection(const reco::GsfElectronCollection& egelectrons);
104 
106  void reconstructParticles(const reco::PFBlockHandle& blockHandle, PFEGammaFilters const* pfegamma);
107 
110 
113 
116 
117  friend std::ostream& operator<<(std::ostream& out, const PFAlgo& algo);
118 
119 private:
120  void egammaFilters(const reco::PFBlockRef& blockref, std::vector<bool>& active, PFEGammaFilters const* pfegamma);
121  void conversionAlgo(const edm::OwnVector<reco::PFBlockElement>& elements, std::vector<bool>& active);
124  bool isActive,
125  int iElement);
126  bool checkHasDeadHcal(const std::multimap<double, unsigned>& hcalElems, const std::vector<bool>& deadArea);
128  std::multimap<double, unsigned>& ecalElems,
129  std::multimap<double, unsigned>& hcalElems,
130  const std::vector<bool>& active,
131  reco::PFBlock::LinkData& linkData,
132  unsigned int iTrack);
133  bool checkGoodTrackDeadHcal(const reco::TrackRef& trackRef, bool hasDeadHcal);
134  void elementLoop(const reco::PFBlock& block,
135  reco::PFBlock::LinkData& linkData,
137  std::vector<bool>& active,
138  const reco::PFBlockRef& blockref,
139  ElementIndices& inds,
140  std::vector<bool>& deadArea);
143  std::vector<bool>& active,
144  ElementIndices& inds,
145  std::vector<bool>& deadArea,
146  unsigned int iEle);
148  reco::PFBlock::LinkData& linkData,
150  const reco::PFBlockRef& blockref,
151  std::vector<bool>& active,
152  bool goodTrackDeadHcal,
153  bool hasDeadHcal,
154  unsigned int iTrack,
155  std::multimap<double, unsigned>& ecalElems,
156  reco::TrackRef& trackRef);
157 
158  //Looks for a HF-associated element in the block and produces a PFCandidate from it with HF_EM and/or HF_HAD calibrations
160  reco::PFBlock::LinkData& linkData,
162  std::vector<bool>& active,
163  const reco::PFBlockRef& blockref,
164  ElementIndices& inds);
165 
167  reco::PFBlock::LinkData& linkData,
169  std::vector<bool>& active,
170  const reco::PFBlockRef& blockref,
171  ElementIndices& inds,
172  std::vector<bool>& deadArea);
174  reco::PFBlock::LinkData& linkData,
176  std::vector<bool>& active,
177  const reco::PFBlockRef& blockref,
178  ElementIndices& inds,
179  std::vector<bool>& deadArea);
180 
182  reco::PFBlock::LinkData& linkData,
184  std::vector<bool>& active,
185  const reco::PFBlockRef& blockref,
186  ElementIndices& inds,
187  std::vector<bool>& deadArea);
188 
191  void processBlock(const reco::PFBlockRef& blockref,
192  std::list<reco::PFBlockRef>& hcalBlockRefs,
193  std::list<reco::PFBlockRef>& ecalBlockRefs,
194  PFEGammaFilters const* pfegamma);
195 
199  unsigned reconstructTrack(const reco::PFBlockElement& elt, bool allowLoose = false);
200 
206 
207  unsigned reconstructCluster(const reco::PFCluster& cluster,
208  double particleEnergy,
209  bool useDirection = false,
210  double particleX = 0.,
211  double particleY = 0.,
212  double particleZ = 0.);
213 
214  void setHcalDepthInfo(reco::PFCandidate& cand, const reco::PFCluster& cluster) const;
215 
217  double neutralHadronEnergyResolution(double clusterEnergy, double clusterEta) const;
218 
219  double nSigmaHCAL(double clusterEnergy, double clusterEta) const;
220 
221  double hfEnergyResolution(double clusterEnergy) const;
222 
223  double nSigmaHFEM(double clusterEnergy) const;
224  double nSigmaHFHAD(double clusterEnergy) const;
225 
226  std::unique_ptr<reco::PFCandidateCollection> pfCandidates_;
227  // the post-HF-cleaned candidates
229 
231  void associatePSClusters(unsigned iEcal,
232  reco::PFBlockElement::Type psElementType,
233  const reco::PFBlock& block,
235  const reco::PFBlock::LinkData& linkData,
236  std::vector<bool>& active,
237  std::vector<double>& psEne);
238 
239  bool isFromSecInt(const reco::PFBlockElement& eTrack, std::string order) const;
240 
241  // Post HF Cleaning
242  void postCleaning();
243 
245  const double nSigmaECAL_;
246 
248  const double nSigmaHCAL_;
249 
251  const double nSigmaHFEM_;
252  const double nSigmaHFHAD_;
253 
254  // HF resolution
255  const std::vector<double> resolHF_square_;
256 
259 
260  bool useHO_;
261 
262  std::unique_ptr<PFMuonAlgo> pfmu_;
263 
270 
271  // Option to let PF decide the muon momentum
273 
278 
282 
286  int nVtx_;
287 
291 
293  std::vector<double> muonHCAL_;
294  std::vector<double> muonECAL_;
295  std::vector<double> muonHO_;
296  double nSigmaTRACK_;
297  double ptError_;
298  std::vector<double> factors45_;
299 
306 
315 
316  // Parameters for post HF cleaning
324  double minDeltaMet_;
326 
327  //MIKE -May19th: Add option for the vertices....
329  bool useVertices_ = false;
330 
332 
333  // Named constants
334  const double nSigmaEConstHCAL = 100.;
335  const double nSigmaEConstHFEM = 100.;
336  const double nSigmaEConstHFHAD = 100.;
337 };
338 
339 #endif
PFAlgo::goodPixelTrackDeadHcal_maxLost3Hit_
int goodPixelTrackDeadHcal_maxLost3Hit_
Definition: PFAlgo.h:311
Handle.h
PFEGammaFilters
Definition: PFEGammaFilters.h:16
PFAlgo::nSigmaEConstHFHAD
const double nSigmaEConstHFHAD
Definition: PFAlgo.h:336
PFRecHitFwd.h
PFAlgo::muonECAL_
std::vector< double > muonECAL_
Definition: PFAlgo.h:294
PFAlgo::setHOTag
void setHOTag(bool ho)
Definition: PFAlgo.h:65
PFAlgo::calibration_
PFEnergyCalibration & calibration_
Definition: PFAlgo.h:257
PFAlgo::useEGammaFilters_
bool useEGammaFilters_
Variables for NEW EGAMMA selection.
Definition: PFAlgo.h:265
PFCandConnector.h
PFAlgo::nSigmaHFEM
double nSigmaHFEM(double clusterEnergy) const
Definition: PFAlgo.cc:3384
PFAlgo::reconstructParticles
void reconstructParticles(const reco::PFBlockHandle &blockHandle, PFEGammaFilters const *pfegamma)
reconstruct particles
Definition: PFAlgo.cc:132
HLT_2018_cff.useVertex
useVertex
Definition: HLT_2018_cff.py:25062
PFAlgo::setDisplacedVerticesParameters
void setDisplacedVerticesParameters(bool rejectTracks_Bad, bool rejectTracks_Step45, bool usePFNuclearInteractions, bool usePFConversions, bool usePFDecays, double dptRel_DispVtx)
Definition: PFAlgo.cc:98
PFMuonAlgo.h
PFAlgo::pfmu_
std::unique_ptr< PFMuonAlgo > pfmu_
Definition: PFAlgo.h:262
PFAlgo::goodTrackDeadHcal_validFr_
float goodTrackDeadHcal_validFr_
Definition: PFAlgo.h:304
HLT_2018_cff.nuclCalibFactors
nuclCalibFactors
Definition: HLT_2018_cff.py:12317
PFAlgo::goodPixelTrackDeadHcal_maxLost4Hit_
int goodPixelTrackDeadHcal_maxLost4Hit_
Definition: PFAlgo.h:312
PFAlgo::decideType
int decideType(const edm::OwnVector< reco::PFBlockElement > &elements, const reco::PFBlockElement::Type type, std::vector< bool > &active, ElementIndices &inds, std::vector< bool > &deadArea, unsigned int iEle)
Definition: PFAlgo.cc:1195
PFAlgo::goodPixelTrackDeadHcal_chi2n_
float goodPixelTrackDeadHcal_chi2n_
Definition: PFAlgo.h:310
PFAlgo::nVtx_
int nVtx_
Definition: PFAlgo.h:286
PFAlgo::goodTrackDeadHcal_chi2n_
float goodTrackDeadHcal_chi2n_
Definition: PFAlgo.h:302
PFAlgo::useVertices_
bool useVertices_
Definition: PFAlgo.h:329
PFAlgo::goodPixelTrackDeadHcal_dz_
float goodPixelTrackDeadHcal_dz_
Definition: PFAlgo.h:314
PFAlgo::postCleaning
void postCleaning()
Definition: PFAlgo.cc:3493
PFCandidate.h
PFAlgo::isFromSecInt
bool isFromSecInt(const reco::PFBlockElement &eTrack, std::string order) const
Definition: PFAlgo.cc:3464
HLT_2018_cff.postHFCleaning
postHFCleaning
Definition: HLT_2018_cff.py:12313
PFAlgo::valueMapGedElectrons_
const edm::ValueMap< reco::GsfElectronRef > * valueMapGedElectrons_
Definition: PFAlgo.h:268
PFAlgo::PFAlgo
PFAlgo(double nSigmaECAL, double nSigmaHCAL, double nSigmaHFEM, double nSigmaHFHAD, std::vector< double > resolHF_square, PFEnergyCalibration &calibration, PFEnergyCalibrationHF &thepfEnergyCalibrationHF, const edm::ParameterSet &pset)
constructor
Definition: PFAlgo.cc:15
reco::PFBlock
Block of elements.
Definition: PFBlock.h:26
ElementIndices::hfHadIs
std::vector< unsigned > hfHadIs
Definition: PFAlgo.h:50
PFAlgo::rejectTracks_Step45_
bool rejectTracks_Step45_
Definition: PFAlgo.h:277
reco::VertexCollection
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
ElementIndices::ecalIs
std::vector< unsigned > ecalIs
Definition: PFAlgo.h:44
PFAlgo::createCandidatesHCAL
void createCandidatesHCAL(const reco::PFBlock &block, reco::PFBlock::LinkData &linkData, const edm::OwnVector< reco::PFBlockElement > &elements, std::vector< bool > &active, const reco::PFBlockRef &blockref, ElementIndices &inds, std::vector< bool > &deadArea)
Definition: PFAlgo.cc:1696
PFAlgo::nSigmaEConstHFEM
const double nSigmaEConstHFEM
Definition: PFAlgo.h:335
particleBasedIsoProducer_cfi.pfEgammaCandidates
pfEgammaCandidates
Definition: particleBasedIsoProducer_cfi.py:12
HLT_2018_cff.useProtectionsForJetMET
useProtectionsForJetMET
Definition: HLT_2018_cff.py:12406
PFAlgo::dptRel_DispVtx_
double dptRel_DispVtx_
Definition: PFAlgo.h:285
reco::GsfElectronCollection
std::vector< GsfElectron > GsfElectronCollection
collection of GsfElectron objects
Definition: GsfElectronFwd.h:14
PFAlgo::pfEgammaCandidates_
const edm::View< reco::PFCandidate > * pfEgammaCandidates_
Definition: PFAlgo.h:267
PFAlgo::muonHO_
std::vector< double > muonHO_
Definition: PFAlgo.h:295
PFAlgo::goodPixelTrackDeadHcal_ptErrRel_
float goodPixelTrackDeadHcal_ptErrRel_
Definition: PFAlgo.h:309
PFAlgo::postMuonCleaning_
bool postMuonCleaning_
Definition: PFAlgo.h:318
PFAlgo::minHFCleaningPt_
double minHFCleaningPt_
Definition: PFAlgo.h:319
PFAlgo::makeConnectedCandidates
reco::PFCandidateCollection makeConnectedCandidates()
Definition: PFAlgo.h:115
edm::Handle< reco::MuonCollection >
HLT_2018_cff.resolHF_square
resolHF_square
Definition: HLT_2018_cff.py:12307
PFAlgo::getCleanedCandidates
reco::PFCandidateCollection & getCleanedCandidates()
Definition: PFAlgo.h:112
PFAlgo::createCandidatesHCALUnlinked
void createCandidatesHCALUnlinked(const reco::PFBlock &block, reco::PFBlock::LinkData &linkData, const edm::OwnVector< reco::PFBlockElement > &elements, std::vector< bool > &active, const reco::PFBlockRef &blockref, ElementIndices &inds, std::vector< bool > &deadArea)
Definition: PFAlgo.cc:2807
PFEGammaFilters.h
PFAlgo::nSigmaECAL_
const double nSigmaECAL_
number of sigma to judge energy excess in ECAL
Definition: PFAlgo.h:245
edm::Ref< PFBlockCollection >
reco::PFBlockElement::Type
Type
Definition: PFBlockElement.h:30
PFAlgo::setCandConnectorParameters
void setCandConnectorParameters(const edm::ParameterSet &iCfgCandConnector)
Definition: PFAlgo.h:68
PFCandidatePhotonExtraFwd.h
PFAlgo::nSigmaHCAL
double nSigmaHCAL(double clusterEnergy, double clusterEta) const
Definition: PFAlgo.cc:3365
HLT_2018_cff.bCorrect
bCorrect
Definition: HLT_2018_cff.py:12318
PFAlgo::minDeltaMet_
double minDeltaMet_
Definition: PFAlgo.h:324
cmsdt::algo
algo
Definition: constants.h:164
PFEnergyCalibration.h
PFAlgo::usePFDecays_
bool usePFDecays_
Definition: PFAlgo.h:281
reco::PFRecHitCollection
std::vector< PFRecHit > PFRecHitCollection
collection of PFRecHit objects
Definition: PFRecHitFwd.h:9
TrackFwd.h
PFCandidatePhotonExtra.h
PFAlgo::elementLoop
void elementLoop(const reco::PFBlock &block, reco::PFBlock::LinkData &linkData, const edm::OwnVector< reco::PFBlockElement > &elements, std::vector< bool > &active, const reco::PFBlockRef &blockref, ElementIndices &inds, std::vector< bool > &deadArea)
Definition: PFAlgo.cc:991
HLT_2018_cff.bCalibPrimary
bCalibPrimary
Definition: HLT_2018_cff.py:12319
PFAlgo::conversionAlgo
void conversionAlgo(const edm::OwnVector< reco::PFBlockElement > &elements, std::vector< bool > &active)
Definition: PFAlgo.cc:364
PFEnergyCalibration
Definition: PFEnergyCalibration.h:42
HLT_2018_cff.dptRel_DispVtx
dptRel_DispVtx
Definition: HLT_2018_cff.py:12325
PFAlgo::createCandidatesHF
void createCandidatesHF(const reco::PFBlock &block, reco::PFBlock::LinkData &linkData, const edm::OwnVector< reco::PFBlockElement > &elements, std::vector< bool > &active, const reco::PFBlockRef &blockref, ElementIndices &inds)
Definition: PFAlgo.cc:1253
PFAlgo::setEGammaParameters
void setEGammaParameters(bool use_EGammaFilters, bool useProtectionsForJetMET)
Definition: PFAlgo.cc:68
OrphanHandle.h
MuonFwd.h
ElementIndices::ps2Is
std::vector< unsigned > ps2Is
Definition: PFAlgo.h:47
PFCandidateElectronExtraFwd.h
PFBlockElement.h
PFAlgo::checkAndReconstructSecondaryInteraction
bool checkAndReconstructSecondaryInteraction(const reco::PFBlockRef &blockref, const edm::OwnVector< reco::PFBlockElement > &elements, bool isActive, int iElement)
Definition: PFAlgo.cc:849
PFAlgo::reconstructTrack
unsigned reconstructTrack(const reco::PFBlockElement &elt, bool allowLoose=false)
Definition: PFAlgo.cc:3135
PFAlgo::checkCleaning
void checkCleaning(const reco::PFRecHitCollection &cleanedHF)
Check HF Cleaning.
Definition: PFAlgo.cc:3589
PFAlgo::muonHCAL_
std::vector< double > muonHCAL_
Variables for muons and fakes.
Definition: PFAlgo.h:293
PFAlgo::minSignificanceReduction_
double minSignificanceReduction_
Definition: PFAlgo.h:322
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
PFAlgo::nSigmaHFHAD
double nSigmaHFHAD(double clusterEnergy) const
Definition: PFAlgo.cc:3389
PFAlgo::maxDeltaPhiPt_
double maxDeltaPhiPt_
Definition: PFAlgo.h:323
PFAlgo::goodTrackDeadHcal_layers_
int goodTrackDeadHcal_layers_
Definition: PFAlgo.h:303
HLT_2018_cff.usePFDecays
usePFDecays
Definition: HLT_2018_cff.py:12392
edm::View< reco::PFCandidate >
PFMuonAlgo
Definition: PFMuonAlgo.h:13
PFAlgo::nSigmaHFEM_
const double nSigmaHFEM_
number of sigma to judge energy excess in HF
Definition: PFAlgo.h:251
GsfElectronFwd.h
edm::ParameterSet
Definition: ParameterSet.h:36
PFAlgo::setPFVertexParameters
void setPFVertexParameters(bool useVertex, reco::VertexCollection const &primaryVertices)
Definition: PFAlgo.cc:112
Phase1L1TJetCalibrator_cfi.calibration
calibration
Definition: Phase1L1TJetCalibrator_cfi.py:2
zMuMuMuonUserData.primaryVertices
primaryVertices
Definition: zMuMuMuonUserData.py:12
PFCandConnector::setParameters
void setParameters(const edm::ParameterSet &iCfgCandConnector)
Definition: PFCandConnector.h:30
HLT_2018_cff.cleanedHF
cleanedHF
Definition: HLT_2018_cff.py:12315
PFAlgo::nSigmaHCAL_
const double nSigmaHCAL_
number of sigma to judge energy excess in HCAL
Definition: PFAlgo.h:248
PFCandConnector
Based on a class from : V. Roberfroid, February 2008.
Definition: PFCandConnector.h:15
PFAlgo::checkHasDeadHcal
bool checkHasDeadHcal(const std::multimap< double, unsigned > &hcalElems, const std::vector< bool > &deadArea)
Definition: PFAlgo.cc:869
PFAlgo::ptError_
double ptError_
Definition: PFAlgo.h:297
PFAlgo::usePFNuclearInteractions_
bool usePFNuclearInteractions_
Definition: PFAlgo.h:279
cand
Definition: decayParser.h:34
eventshapeDQM_cfi.order
order
Definition: eventshapeDQM_cfi.py:8
PFAlgo::goodPixelTrackDeadHcal_minEta_
float goodPixelTrackDeadHcal_minEta_
Definition: PFAlgo.h:307
PFAlgo::goodTrackDeadHcal_dxy_
float goodTrackDeadHcal_dxy_
Definition: PFAlgo.h:305
HLT_2018_cff.usePFNuclearInteractions
usePFNuclearInteractions
Definition: HLT_2018_cff.py:12399
PFAlgo::checkGoodTrackDeadHcal
bool checkGoodTrackDeadHcal(const reco::TrackRef &trackRef, bool hasDeadHcal)
Definition: PFAlgo.cc:896
PFAlgo::rejectTracks_Bad_
bool rejectTracks_Bad_
Definition: PFAlgo.h:276
PFClusterFwd.h
PFAlgo::setHcalDepthInfo
void setHcalDepthInfo(reco::PFCandidate &cand, const reco::PFCluster &cluster) const
Definition: PFAlgo.cc:3325
PFAlgo::setEGammaCollections
void setEGammaCollections(const edm::View< reco::PFCandidate > &pfEgammaCandidates, const edm::ValueMap< reco::GsfElectronRef > &valueMapGedElectrons, const edm::ValueMap< reco::PhotonRef > &valueMapGedPhotons)
Definition: PFAlgo.cc:76
photonIsolationHIProducer_cfi.ho
ho
Definition: photonIsolationHIProducer_cfi.py:10
groupFilesInBlocks.block
block
Definition: groupFilesInBlocks.py:150
PFAlgo::goodTrackDeadHcal_ptErrRel_
float goodTrackDeadHcal_ptErrRel_
Variables for track cleaning in bad HCal areas.
Definition: PFAlgo.h:301
PFAlgo::createCandidatesECAL
void createCandidatesECAL(const reco::PFBlock &block, reco::PFBlock::LinkData &linkData, const edm::OwnVector< reco::PFBlockElement > &elements, std::vector< bool > &active, const reco::PFBlockRef &blockref, ElementIndices &inds, std::vector< bool > &deadArea)
Definition: PFAlgo.cc:3006
PFAlgo::maxSignificance_
double maxSignificance_
Definition: PFAlgo.h:321
PFAlgo::primaryVertex_
reco::Vertex primaryVertex_
Definition: PFAlgo.h:328
PFAlgo::reconstructCluster
unsigned reconstructCluster(const reco::PFCluster &cluster, double particleEnergy, bool useDirection=false, double particleX=0., double particleY=0., double particleZ=0.)
Definition: PFAlgo.cc:3214
reco::PFBlock::LinkData
std::map< unsigned int, Link > LinkData
Definition: PFBlock.h:39
PFAlgo::nSigmaHFHAD_
const double nSigmaHFHAD_
Definition: PFAlgo.h:252
PFAlgo::muonHandle_
edm::Handle< reco::MuonCollection > muonHandle_
Definition: PFAlgo.h:331
PFAlgo::valueMapGedPhotons_
const edm::ValueMap< reco::PhotonRef > * valueMapGedPhotons_
Definition: PFAlgo.h:269
PFAlgo::useProtectionsForJetMET_
bool useProtectionsForJetMET_
Definition: PFAlgo.h:266
reco::PFBlockElement
Abstract base class for a PFBlock element (track, cluster...)
Definition: PFBlockElement.h:26
PFAlgo::recoTracksNotHCAL
bool recoTracksNotHCAL(const reco::PFBlock &block, reco::PFBlock::LinkData &linkData, const edm::OwnVector< reco::PFBlockElement > &elements, const reco::PFBlockRef &blockref, std::vector< bool > &active, bool goodTrackDeadHcal, bool hasDeadHcal, unsigned int iTrack, std::multimap< double, unsigned > &ecalElems, reco::TrackRef &trackRef)
Definition: PFAlgo.cc:393
PFBlockFwd.h
PFAlgo::setMuonHandle
void setMuonHandle(const edm::Handle< reco::MuonCollection > &)
Definition: PFAlgo.cc:86
ValueMap.h
ElementIndices
Definition: PFAlgo.h:40
PFAlgo::pfCandidates_
std::unique_ptr< reco::PFCandidateCollection > pfCandidates_
Definition: PFAlgo.h:226
PFBlock.h
VertexFwd.h
PFAlgo::nSigmaTRACK_
double nSigmaTRACK_
Definition: PFAlgo.h:296
bookConverter.elements
elements
Definition: bookConverter.py:147
type
type
Definition: HCALResponse.h:21
PFAlgo::factors45_
std::vector< double > factors45_
Definition: PFAlgo.h:298
PFAlgo::operator<<
friend std::ostream & operator<<(std::ostream &out, const PFAlgo &algo)
PFAlgo::nSigmaEConstHCAL
const double nSigmaEConstHCAL
Definition: PFAlgo.h:334
PFAlgo::connector_
PFCandConnector connector_
Definition: PFAlgo.h:290
PFAlgo::goodPixelTrackDeadHcal_dxy_
float goodPixelTrackDeadHcal_dxy_
Definition: PFAlgo.h:313
PFAlgo::setEGElectronCollection
void setEGElectronCollection(const reco::GsfElectronCollection &egelectrons)
edm::ValueMap
Definition: ValueMap.h:107
PFAlgo
Definition: PFAlgo.h:53
ElementIndices::ps1Is
std::vector< unsigned > ps1Is
Definition: PFAlgo.h:46
PFAlgo::egammaFilters
void egammaFilters(const reco::PFBlockRef &blockref, std::vector< bool > &active, PFEGammaFilters const *pfegamma)
Definition: PFAlgo.cc:222
PFAlgo::processBlock
void processBlock(const reco::PFBlockRef &blockref, std::list< reco::PFBlockRef > &hcalBlockRefs, std::list< reco::PFBlockRef > &ecalBlockRefs, PFEGammaFilters const *pfegamma)
Definition: PFAlgo.cc:3055
PFEnergyCalibrationHF
Definition: PFEnergyCalibrationHF.h:24
reco::PFCandidateCollection
std::vector< reco::PFCandidate > PFCandidateCollection
collection of PFCandidates
Definition: PFCandidateFwd.h:12
reco::PFCluster
Particle flow cluster, see clustering algorithm in PFClusterAlgo.
Definition: PFCluster.h:46
PFAlgo::setPostHFCleaningParameters
void setPostHFCleaningParameters(bool postHFCleaning, const edm::ParameterSet &pfHFCleaningParams)
Definition: PFAlgo.cc:88
PFAlgo::setCandConnectorParameters
void setCandConnectorParameters(bool bCorrect, bool bCalibPrimary, double dptRel_PrimaryTrack, double dptRel_MergedTrack, double ptErrorSecondary, const std::vector< double > &nuclCalibFactors)
Definition: PFAlgo.h:72
PFAlgo::useBestMuonTrack_
double useBestMuonTrack_
Definition: PFAlgo.h:325
PFAlgo::usePFConversions_
bool usePFConversions_
Definition: PFAlgo.h:280
HLT_2018_cff.usePFConversions
usePFConversions
Definition: HLT_2018_cff.py:12304
PFEnergyCalibrationHF.h
PFAlgo::pfCleanedCandidates_
reco::PFCandidateCollection pfCleanedCandidates_
Definition: PFAlgo.h:228
PFRecTrackFwd.h
PFAlgo::goodPixelTrackDeadHcal_maxPt_
float goodPixelTrackDeadHcal_maxPt_
Definition: PFAlgo.h:308
PFAlgo::hfEnergyResolution
double hfEnergyResolution(double clusterEnergy) const
Definition: PFAlgo.cc:3372
reco::PFCandidate
Particle reconstructed by the particle flow algorithm.
Definition: PFCandidate.h:40
MillePedeFileConverter_cfg.out
out
Definition: MillePedeFileConverter_cfg.py:31
HLT_2018_cff.rejectTracks_Step45
rejectTracks_Step45
Definition: HLT_2018_cff.py:12394
HLT_2018_cff.iCfgCandConnector
iCfgCandConnector
Definition: HLT_2018_cff.py:12316
ElementIndices::hoIs
std::vector< unsigned > hoIs
Definition: PFAlgo.h:43
ElementIndices::hfEmIs
std::vector< unsigned > hfEmIs
Definition: PFAlgo.h:49
PFCandConnector::connect
reco::PFCandidateCollection connect(reco::PFCandidateCollection &pfCand) const
Definition: PFCandConnector.cc:63
HLT_2018_cff.rejectTracks_Bad
rejectTracks_Bad
Definition: HLT_2018_cff.py:12321
PFAlgo::useHO_
bool useHO_
Definition: PFAlgo.h:260
PFAlgo::usePFMuonMomAssign_
bool usePFMuonMomAssign_
Definition: PFAlgo.h:272
PFAlgo::neutralHadronEnergyResolution
double neutralHadronEnergyResolution(double clusterEnergy, double clusterEta) const
todo: use PFClusterTools for this
Definition: PFAlgo.cc:3355
PFAlgo::minSignificance_
double minSignificance_
Definition: PFAlgo.h:320
ElementIndices::hcalIs
std::vector< unsigned > hcalIs
Definition: PFAlgo.h:42
PFAlgo::postHFCleaning_
bool postHFCleaning_
Definition: PFAlgo.h:317
ElementIndices::trackIs
std::vector< unsigned > trackIs
Definition: PFAlgo.h:45
PFAlgo::relinkTrackToHcal
void relinkTrackToHcal(const reco::PFBlock &block, std::multimap< double, unsigned > &ecalElems, std::multimap< double, unsigned > &hcalElems, const std::vector< bool > &active, reco::PFBlock::LinkData &linkData, unsigned int iTrack)
Definition: PFAlgo.cc:935
reco::Vertex
Definition: Vertex.h:35
PFAlgo::resolHF_square_
const std::vector< double > resolHF_square_
Definition: PFAlgo.h:255
PFCandidateElectronExtra.h
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27
PFCandidateFwd.h
edm::OwnVector< reco::PFBlockElement >
PFAlgo::associatePSClusters
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:3419
PFAlgo::thepfEnergyCalibrationHF_
PFEnergyCalibrationHF & thepfEnergyCalibrationHF_
Definition: PFAlgo.h:258
PFAlgo::getPFMuonAlgo
PFMuonAlgo * getPFMuonAlgo()
Definition: PFAlgo.cc:66