CMS 3D CMS Logo

PFCandidate.h
Go to the documentation of this file.
1 #ifndef ParticleFlowCandidate_PFCandidate_h
2 #define ParticleFlowCandidate_PFCandidate_h
3 
9 #if !defined(__CINT__) && !defined(__MAKECINT__) && !defined(__REFLEX__)
10 #include <atomic>
11 #endif
12 #include <iosfwd>
13 #include <array>
14 
16 
33 namespace reco {
42  public:
44  enum ParticleType {
45  X = 0, // undefined
46  h, // charged hadron
47  e, // electron
48  mu, // muon
49  gamma, // photon
50  h0, // neutral hadron
51  h_HF, // HF tower identified as a hadron
52  egamma_HF // HF tower identified as an EM particle
53  };
54 
55  enum Flags {
56  NORMAL = 0,
73  };
74 
75  enum PFVertexType {
85  };
86 
88  PFCandidate();
89 
91  PFCandidate(const PFCandidatePtr& sourcePtr);
92 
93  /* PFCandidate( Charge q, */
94  /* const LorentzVector & p4, */
95  /* ParticleType particleId, */
96  /* reco::PFBlockRef blockRef ); */
98 
100  PFCandidate(const PFCandidate&);
101 
103  ~PFCandidate() override;
104 
106 
108  PFCandidate* clone() const override;
109 
110  /* /// set source ref */
111  /* void setSourceRef(const PFCandidateRef& ref) { sourceRef_ = ref; } */
112 
113  /* size_type numberOfSourceCandidateRefs() const {return 1;} */
114 
115  /* CandidateBaseRef sourceCandidateRef( size_type i ) const { */
116  /* return CandidateBaseRef(sourceRef_); */
117  /* } */
118 
120  void setSourceCandidatePtr(const PFCandidatePtr& ptr) { sourcePtr_ = ptr; }
121 
122  size_t numberOfSourceCandidatePtrs() const override { return 1; }
123 
125 
131 
134 
136  /* void addElement( const reco::PFBlockElement* element ); */
137 
139  void addElementInBlock(const reco::PFBlockRef& blockref, unsigned elementIndex);
140 
142  void setTrackRef(const reco::TrackRef& ref);
143 
146  reco::TrackRef trackRef() const;
147 
150  const reco::Track* bestTrack() const override {
151  if ((abs(pdgId()) == 11 || pdgId() == 22) && gsfTrackRef().isNonnull() && gsfTrackRef().isAvailable())
152  return &(*gsfTrackRef());
153  else if (trackRef().isNonnull() && trackRef().isAvailable())
154  return &(*trackRef());
155  else
156  return nullptr;
157  }
159  float dzError() const override {
160  const Track* tr = bestTrack();
161  if (tr != nullptr)
162  return tr->dzError();
163  else
164  return 0;
165  }
167  float dxyError() const override {
168  const Track* tr = bestTrack();
169  if (tr != nullptr)
170  return tr->dxyError();
171  else
172  return 0;
173  }
174 
176  void setGsfTrackRef(const reco::GsfTrackRef& ref);
177 
181 
183  void setMuonRef(const reco::MuonRef& ref);
184 
187  reco::MuonRef muonRef() const;
188 
191 
195 
197  void setConversionRef(const reco::ConversionRef& ref);
198 
201 
204 
207 
210 
213 
215  void setEcalEnergy(float eeRaw, float eeCorr) {
216  rawEcalEnergy_ = eeRaw;
217  ecalERatio_ = std::abs(eeRaw) < 1.e-6 ? 1.0 : eeCorr / eeRaw;
218  }
219 
221  double ecalEnergy() const { return ecalERatio_ * rawEcalEnergy_; }
222 
224  double rawEcalEnergy() const { return rawEcalEnergy_; }
225 
227  void setHcalEnergy(float ehRaw, float ehCorr) {
228  rawHcalEnergy_ = ehRaw;
229  hcalERatio_ = std::abs(ehRaw) < 1.e-6 ? 1.0 : ehCorr / ehRaw;
230  }
231 
233  double hcalEnergy() const { return hcalERatio_ * rawHcalEnergy_; }
234 
236  double rawHcalEnergy() const { return rawHcalEnergy_; }
237 
239  void setHoEnergy(float eoRaw, float eoCorr) {
240  rawHoEnergy_ = eoRaw;
241  hoERatio_ = std::abs(eoRaw) < 1.e-6 ? 1.0 : eoCorr / eoRaw;
242  }
243 
245  double hoEnergy() const { return hoERatio_ * rawHoEnergy_; }
246 
248  double rawHoEnergy() const { return rawHoEnergy_; }
249 
251  void setGsfElectronRef(const reco::GsfElectronRef& ref);
252 
253  void setSuperClusterRef(const reco::SuperClusterRef& scRef);
254 
257 
259  void setPhotonRef(const reco::PhotonRef& phRef);
260 
262  reco::PhotonRef photonRef() const;
263 
266 
269 
272 
275 
277  void setPs1Energy(float e1) { ps1Energy_ = e1; }
278 
280  double pS1Energy() const { return ps1Energy_; }
281 
283  void setPs2Energy(float e2) { ps2Energy_ = e2; }
284 
286  double pS2Energy() const { return ps2Energy_; }
287 
289  void rescaleMomentum(double rescaleFactor);
290 
292  void setFlag(Flags theFlag, bool value);
293 
295  bool flag(Flags theFlag) const;
296 
298  void setDeltaP(double dp) { deltaP_ = dp; }
299 
301  double deltaP() const { return deltaP_; }
302 
303  // int pdgId() const { return translateTypeToPdgId( particleId_ ); }
304 
310 
311  void set_mva_Isolated(float mvaI) { mva_Isolated_ = mvaI; }
312  // mva for isolated electrons
313  float mva_Isolated() const { return mva_Isolated_; }
314 
315  void set_mva_e_pi(float mvaNI) { mva_e_pi_ = mvaNI; }
317  float mva_e_pi() const { return mva_e_pi_; }
318 
320  void set_mva_e_mu(float mva) { mva_e_mu_ = mva; }
321 
323  float mva_e_mu() const { return mva_e_mu_; }
324 
326  void set_mva_pi_mu(float mva) { mva_pi_mu_ = mva; }
327 
329  float mva_pi_mu() const { return mva_pi_mu_; }
330 
333 
335  float mva_nothing_gamma() const { return mva_nothing_gamma_; }
336 
339 
341  float mva_nothing_nh() const { return mva_nothing_nh_; }
342 
345 
347  float mva_gamma_nh() const { return mva_gamma_nh_; }
348 
351 
354 
357 
359 
361 
364 
367  virtual ParticleType particleId() const { return translatePdgIdToType(pdgId()); }
368 
370  /* const std::vector<unsigned>& elementIndices() const { */
371  /* return elementIndices_; */
372  /* } */
374  /* const edm::OwnVector< reco::PFBlockElement >& elements() const */
375  /* {return elements_;} */
376 
378  typedef std::pair<reco::PFBlockRef, unsigned> ElementInBlock;
379  typedef std::vector<ElementInBlock> ElementsInBlocks;
380 
382  typedef std::vector<unsigned> Elements;
383 
384  const ElementsInBlocks& elementsInBlocks() const;
385 
386  static const float bigMva_;
387 
388  friend std::ostream& operator<<(std::ostream& out, const PFCandidate& c);
389 
390  const Point& vertex() const override;
391  double vx() const override { return vertex().x(); }
392  double vy() const override { return vertex().y(); }
393  double vz() const override { return vertex().z(); }
394 
396  bool isTimeValid() const { return timeError_ >= 0.f; }
398  float time() const { return time_; }
400  float timeError() const { return timeError_; }
402  void setTime(float time, float timeError = 0.f) {
403  time_ = time;
405  }
406 
408  float hcalDepthEnergyFraction(unsigned int depth) const { return hcalDepthEnergyFractions_[depth - 1]; }
410  const std::array<float, 7>& hcalDepthEnergyFractions() const { return hcalDepthEnergyFractions_; }
412  void setHcalDepthEnergyFractions(const std::array<float, 7>& fracs) { hcalDepthEnergyFractions_ = fracs; }
413 
414  private:
415  //function used before PR #31456, retained for backwards compatibility with old AOD where the vertex was not embedded
416  const math::XYZPoint& vertexLegacy(PFCandidate::PFVertexType vertexType) const;
417 
419  bool overlap(const Candidate&) const override;
420 
421  void setFlag(unsigned shift, unsigned flag, bool value);
422 
423  bool flag(unsigned shift, unsigned flag) const;
424 
425 #if !defined(__CINT__) && !defined(__MAKECINT__) && !defined(__REFLEX__)
426  mutable std::atomic<ElementsInBlocks*> elementsInBlocks_;
427 #else
429 #endif
432 
434  /* PFCandidateRef sourceRef_; */
436 
440 
442  float ecalERatio_;
443 
445  float hcalERatio_;
446 
448  float hoERatio_;
449 
452 
455 
458 
460  float ps1Energy_;
461 
463  float ps2Energy_;
464 
466  unsigned flags_;
467 
469  float deltaP_;
470 
471  //legacy vertex type to read AOD created before PR #31456
473 
474  // mva for isolated electrons
476 
478  float mva_e_pi_;
479 
481  float mva_e_mu_;
482 
484  float mva_pi_mu_;
485 
488 
491 
494 
497 
498  //more efficiently stored refs
499  void storeRefInfo(unsigned int iMask,
500  unsigned int iBit,
501  bool iIsValid,
502  const edm::RefCore& iCore,
503  size_t iKey,
504  const edm::EDProductGetter*);
505  bool getRefInfo(
506  unsigned int iMask, unsigned int iBit, edm::ProductID& oProdID, size_t& oIndex, size_t& aIndex) const;
507 
508  const edm::EDProductGetter* getter_; //transient
509  unsigned short storedRefsBitPattern_;
510  std::vector<unsigned long long> refsInfo_;
511  std::vector<const void*> refsCollectionCache_;
512 
514  float time_;
516  float timeError_;
517 
518  std::array<float, 7> hcalDepthEnergyFractions_;
519  };
520 
522  struct PFParticleIdTag {};
523 
526  /* GET_DEFAULT_CANDIDATE_COMPONENT( PFCandidate, PFBlockRef, block ); */
527 
531 
532  std::ostream& operator<<(std::ostream& out, const PFCandidate& c);
533 
534 } // namespace reco
535 
536 #endif
reco::PFCandidate::trackRef
reco::TrackRef trackRef() const
Definition: PFCandidate.cc:408
reco::PFCandidate::kCandVertex
Definition: PFCandidate.h:76
reco::PFCandidate::sourcePtr_
PFCandidatePtr sourcePtr_
reference to the source PFCandidate, if any
Definition: PFCandidate.h:435
PFDisplacedVertexFwd.h
reco::PFCandidate::isTimeValid
bool isTimeValid() const
do we have a valid time information
Definition: PFCandidate.h:396
reco::PFCandidate::hcalDepthEnergyFractions_
std::array< float, 7 > hcalDepthEnergyFractions_
Definition: PFCandidate.h:518
reco::PFCandidate::mva_nothing_nh
float mva_nothing_nh() const
mva for neutral hadron detection
Definition: PFCandidate.h:341
reco::PFCandidate::addElementInBlock
void addElementInBlock(const reco::PFBlockRef &blockref, unsigned elementIndex)
add an element to the current PFCandidate
Definition: PFCandidate.cc:199
reco::PFCandidate::getter_
const edm::EDProductGetter * getter_
Definition: PFCandidate.h:508
edm::RefCore
Definition: RefCore.h:21
reco::PFCandidate::vy
double vy() const override
y coordinate of vertex position
Definition: PFCandidate.h:392
reco::PFCandidate::setPhotonRef
void setPhotonRef(const reco::PhotonRef &phRef)
set ref to the corresponding reco::Photon if any
Definition: PFCandidate.cc:562
mps_fire.i
i
Definition: mps_fire.py:428
reco::PFCandidate::timeError_
float timeError_
timing information uncertainty (<0 if timing not available)
Definition: PFCandidate.h:516
Muon.h
reco::PFCandidate::pS2Energy
double pS2Energy() const
return corrected PS2 energy
Definition: PFCandidate.h:286
CompositeCandidate.h
reco::PFCandidate::T_FROM_GAMMACONV
Definition: PFCandidate.h:71
reco::Muon::MuonTrackType
MuonTrackType
map for Global Muon refitters
Definition: Muon.h:36
reco::PFCandidate::operator=
PFCandidate & operator=(PFCandidate const &)
Definition: PFCandidate.cc:154
reco::PFCandidate::setDisplacedVertexRef
void setDisplacedVertexRef(const reco::PFDisplacedVertexRef &ref, Flags flag)
set displaced vertex reference
Definition: PFCandidate.cc:443
reco::PFCandidate::photonRef
reco::PhotonRef photonRef() const
return a reference to the corresponding Photon if any
Definition: PFCandidate.cc:548
reco::PFCandidate::setPs2Energy
void setPs2Energy(float e2)
set corrected PS2 energy
Definition: PFCandidate.h:283
reco::PFCandidate::e
Definition: PFCandidate.h:47
reco::PFCandidate::ps1Energy_
float ps1Energy_
corrected PS1 energy
Definition: PFCandidate.h:460
f
double f[11][100]
Definition: MuScleFitUtils.cc:78
reco::PFCandidate::rawHcalEnergy_
float rawHcalEnergy_
raw HCAL energy
Definition: PFCandidate.h:454
reco::PFCandidate::setPFEGammaExtraRef
void setPFEGammaExtraRef(const reco::PFCandidateEGammaExtraRef &ref)
set the PF EGamma Extra Ref
Definition: PFCandidate.cc:596
edm::Ref::isAvailable
bool isAvailable() const
Definition: Ref.h:537
reco::PFCandidate::mva_e_pi
float mva_e_pi() const
mva for electron-pion discrimination
Definition: PFCandidate.h:317
reco::PFCandidate::set_mva_gamma_nh
void set_mva_gamma_nh(float mva)
set mva for neutral hadron - gamma discrimination
Definition: PFCandidate.h:344
reco::PFCandidate::E_ETA_MODULES
Definition: PFCandidate.h:59
reco::PFCandidate::flag
bool flag(Flags theFlag) const
return a given flag
Definition: PFCandidate.cc:284
pos
Definition: PixelAliasList.h:18
reco::PFCandidate::setPositionAtECALEntrance
void setPositionAtECALEntrance(const math::XYZPointF &pos)
set position at ECAL entrance
Definition: PFCandidate.h:350
reco::PFCandidate::positionAtECALEntrance
const math::XYZPointF & positionAtECALEntrance() const
Definition: PFCandidate.h:363
reco::PFCandidate::h
Definition: PFCandidate.h:46
reco::PFCandidate::hcalERatio_
float hcalERatio_
corrected HCAL energy ratio (corrected/raw)
Definition: PFCandidate.h:445
reco::PFCandidate::setDeltaP
void setDeltaP(double dp)
set uncertainty on momentum
Definition: PFCandidate.h:298
reco::PFCandidate::h_HF
Definition: PFCandidate.h:51
reco::PFCandidate::vertex
const Point & vertex() const override
vertex position (overwritten by PF...)
Definition: PFCandidate.cc:56
reco::PFCandidate::vz
double vz() const override
z coordinate of vertex position
Definition: PFCandidate.h:393
PhotonFwd.h
reco::PFCandidate::E_BARREL_ENDCAP
Definition: PFCandidate.h:60
reco::PFCandidate::setGsfElectronRef
void setGsfElectronRef(const reco::GsfElectronRef &ref)
set GsfElectronRef
Definition: PFCandidate.cc:525
reco::PFCandidate::refsInfo_
std::vector< unsigned long long > refsInfo_
Definition: PFCandidate.h:510
edm::RefVector< reco::PFBlockCollection >
reco::PFCandidate::mva_pi_mu_
float mva_pi_mu_
mva for pi-muon discrimination
Definition: PFCandidate.h:484
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:45
reco::PFCandidate::blocksStorage_
Blocks blocksStorage_
Definition: PFCandidate.h:430
beam_dqm_sourceclient-live_cfg.mva
mva
Definition: beam_dqm_sourceclient-live_cfg.py:126
reco::Candidate::setSourceCandidatePtr
virtual void setSourceCandidatePtr(const CandidatePtr &ptr)
Set the ptr to the source Candidate.
Definition: Candidate.h:179
ConversionFwd.h
reco::PFCandidate::sourceCandidatePtr
CandidatePtr sourceCandidatePtr(size_type i) const override
Definition: PFCandidate.h:124
reco::PFCandidate::elementsInBlocks
const ElementsInBlocks & elementsInBlocks() const
Definition: PFCandidate.cc:636
reco::PFCandidate::setSuperClusterRef
void setSuperClusterRef(const reco::SuperClusterRef &scRef)
Definition: PFCandidate.cc:576
reco::PFCandidate::positionAtECALEntrance_
math::XYZPointF positionAtECALEntrance_
position at ECAL entrance, from the PFRecTrack
Definition: PFCandidate.h:496
reco::PFCandidate::kDYTMuonVertex
Definition: PFCandidate.h:84
reco::TrackBase::dxyError
double dxyError() const
error on dxy
Definition: TrackBase.h:769
reco::PFCandidate::mva_e_pi_
float mva_e_pi_
mva for electron-pion discrimination
Definition: PFCandidate.h:478
reco::PFCandidate::X
Definition: PFCandidate.h:45
edm::Ref< PFBlockCollection >
reco::PFCandidate::dzError
float dzError() const override
uncertainty on dz
Definition: PFCandidate.h:159
reco::PFCandidate::hoERatio_
float hoERatio_
corrected HO energy ratio (corrected/raw)
Definition: PFCandidate.h:448
reco::PFCandidate::rawHcalEnergy
double rawHcalEnergy() const
return raw Hcal energy
Definition: PFCandidate.h:236
reco::PFCandidate::H_ETA_0
Definition: PFCandidate.h:64
reco::PFCandidate::kSAMuonVertex
Definition: PFCandidate.h:79
PFCandidatePhotonExtraFwd.h
reco::PFCandidate::egammaExtraRef
reco::PFCandidateEGammaExtraRef egammaExtraRef() const
return a reference to the EGamma extra
Definition: PFCandidate.cc:554
reco::PFCandidate::vertexLegacy
const math::XYZPoint & vertexLegacy(PFCandidate::PFVertexType vertexType) const
Definition: PFCandidate.cc:601
edm::EDProductGetter
Definition: EDProductGetter.h:41
reco::PFCandidate::displacedVertexRef
reco::PFDisplacedVertexRef displacedVertexRef(Flags type) const
Definition: PFCandidate.cc:481
reco::PFCandidate::ecalERatio_
float ecalERatio_
corrected ECAL energy ratio (corrected/raw)
Definition: PFCandidate.h:442
reco::PFCandidate::muonRef
reco::MuonRef muonRef() const
Definition: PFCandidate.cc:421
reco::PFCandidate::deltaP
double deltaP() const
uncertainty on 3-momentum
Definition: PFCandidate.h:301
reco::PFCandidate::mva_nothing_nh_
float mva_nothing_nh_
mva for neutral hadron detection
Definition: PFCandidate.h:490
reco::PFCandidate::time_
float time_
timing information (valid if timeError_ >= 0)
Definition: PFCandidate.h:514
TrackFwd.h
reco::PFCandidate::bestMuonTrackType
const reco::Muon::MuonTrackType bestMuonTrackType() const
get the Best Muon Track Ref
Definition: PFCandidate.h:360
reco::PFCandidate::mu
Definition: PFCandidate.h:48
VertexCompositeCandidate.h
Calorimetry_cff.dp
dp
Definition: Calorimetry_cff.py:158
reco::PFCandidate::setFlag
void setFlag(Flags theFlag, bool value)
set a given flag
Definition: PFCandidate.cc:277
reco::PFCandidate::setTrackRef
void setTrackRef(const reco::TrackRef &ref)
set track reference
Definition: PFCandidate.cc:393
reco::PFCandidate::overlap
bool overlap(const Candidate &) const override
Polymorphic overlap.
Definition: PFCandidate.cc:258
MuonFwd.h
reco::PFCandidate::hcalDepthEnergyFractions
const std::array< float, 7 > & hcalDepthEnergyFractions() const
fraction of hcal energy at a given depth (index 0..6 for depth 1..7)
Definition: PFCandidate.h:410
reco::PFCandidate::rawHoEnergy_
float rawHoEnergy_
raw HO energy
Definition: PFCandidate.h:457
PFCandidateElectronExtraFwd.h
reco::PFCandidate::elementsStorage_
Elements elementsStorage_
Definition: PFCandidate.h:431
reco::Track
Definition: Track.h:27
reco::PFCandidate::set_mva_e_mu
void set_mva_e_mu(float mva)
set mva for electron-muon discrimination
Definition: PFCandidate.h:320
reco::PFCandidate::mva_e_mu_
float mva_e_mu_
mva for electron-muon discrimination
Definition: PFCandidate.h:481
reco::PFCandidate::E_PHI_SMODULES
Definition: PFCandidate.h:57
reco::PFCandidate::rawEcalEnergy
double rawEcalEnergy() const
return corrected Ecal energy
Definition: PFCandidate.h:224
reco::PFCandidate::dxyError
float dxyError() const override
uncertainty on dxy
Definition: PFCandidate.h:167
reco::PFCandidate::setHoEnergy
void setHoEnergy(float eoRaw, float eoCorr)
set corrected Hcal energy
Definition: PFCandidate.h:239
reco::PFCandidate::NORMAL
Definition: PFCandidate.h:56
reco::PFCandidate::mva_pi_mu
float mva_pi_mu() const
mva for pi-muon discrimination
Definition: PFCandidate.h:329
reco::PFCandidate::elementsInBlocks_
std::atomic< ElementsInBlocks * > elementsInBlocks_
Definition: PFCandidate.h:426
reco::PFCandidate::refsCollectionCache_
std::vector< const void * > refsCollectionCache_
Definition: PFCandidate.h:511
reco::PFCandidate::setConversionRef
void setConversionRef(const reco::ConversionRef &ref)
set ref to original reco conversion
Definition: PFCandidate.cc:491
reco::PFCandidate::rescaleMomentum
void rescaleMomentum(double rescaleFactor)
particle momentum *= rescaleFactor
Definition: PFCandidate.cc:271
reco::LeafCandidate::Charge
int Charge
electric charge type
Definition: LeafCandidate.h:21
LEDCalibrationChannels.depth
depth
Definition: LEDCalibrationChannels.py:65
reco::PFCandidate::hcalDepthEnergyFraction
float hcalDepthEnergyFraction(unsigned int depth) const
fraction of hcal energy at a given depth (depth = 1 .. 7)
Definition: PFCandidate.h:408
reco::PFCandidate::ElementsInBlocks
std::vector< ElementInBlock > ElementsInBlocks
Definition: PFCandidate.h:379
reco::PFCandidate::Blocks
edm::RefVector< reco::PFBlockCollection > Blocks
Definition: PFCandidate.h:381
reco::PFCandidate::set_mva_Isolated
void set_mva_Isolated(float mvaI)
Definition: PFCandidate.h:311
reco::PFCandidate::~PFCandidate
~PFCandidate() override
destructor
Definition: PFCandidate.cc:195
reco::PFCandidate::getRefInfo
bool getRefInfo(unsigned int iMask, unsigned int iBit, edm::ProductID &oProdID, size_t &oIndex, size_t &aIndex) const
Definition: PFCandidate.cc:379
reco::PFCandidate::PFCandidate
PFCandidate()
default constructor
Definition: PFCandidate.cc:25
reco::PFCandidate::set_mva_nothing_nh
void set_mva_nothing_nh(float mva)
set mva for neutral hadron detection
Definition: PFCandidate.h:338
reco::PFCandidate::set_mva_e_pi
void set_mva_e_pi(float mvaNI)
Definition: PFCandidate.h:315
Point
Structure Point Contains parameters of Gaussian fits to DMRs.
Definition: DMRtrends.cc:57
reco::PFCandidate::mva_Isolated
float mva_Isolated() const
Definition: PFCandidate.h:313
GsfElectronFwd.h
reco::PFCandidate::H_ENDCAP_VFCAL
Definition: PFCandidate.h:66
reco::PFCandidate::setV0Ref
void setV0Ref(const reco::VertexCompositeCandidateRef &ref)
set ref to original reco conversion
Definition: PFCandidate.cc:516
math::XYZPoint
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
reco::PFCandidate::kGSFVertex
Definition: PFCandidate.h:81
reco::PFCandidate::gsfTrackRef
reco::GsfTrackRef gsfTrackRef() const
Definition: PFCandidate.cc:440
reco::PFCandidate::photonExtraRef
reco::PFCandidatePhotonExtraRef photonExtraRef() const
return a reference to the photon extra
Definition: PFCandidate.cc:550
reco::PFCandidate::ElementInBlock
std::pair< reco::PFBlockRef, unsigned > ElementInBlock
return indices of elements used in the block
Definition: PFCandidate.h:378
reco::PFCandidate::v0Ref
reco::VertexCompositeCandidateRef v0Ref() const
return a reference to the original conversion
Definition: PFCandidate.cc:520
reco::PFCandidate::particleId
virtual ParticleType particleId() const
Definition: PFCandidate.h:367
reco::PFCandidate::setEcalEnergy
void setEcalEnergy(float eeRaw, float eeCorr)
set corrected Ecal energy
Definition: PFCandidate.h:215
type
type
Definition: SiPixelVCal_PayloadInspector.cc:37
reco::PFCandidate::muonTrackType_
reco::Muon::MuonTrackType muonTrackType_
Definition: PFCandidate.h:439
reco::PFCandidate::time
float time() const
Definition: PFCandidate.h:398
reco::LeafCandidate::pdgId
int pdgId() const final
PDG identifier.
Definition: LeafCandidate.h:176
edm::Ref::isNonnull
bool isNonnull() const
Checks for non-null.
Definition: Ref.h:238
reco::PFCandidate::T_FROM_DISP
Definition: PFCandidate.h:69
reco::PFCandidate::pS1Energy
double pS1Energy() const
return corrected PS1 energy
Definition: PFCandidate.h:280
gainCalibHelper::gainCalibPI::type
type
Definition: SiPixelGainCalibHelper.h:40
reco::PFCandidate::egamma_HF
Definition: PFCandidate.h:52
reco::PFCandidate::electronExtraRef
reco::PFCandidateElectronExtraRef electronExtraRef() const
return a reference to the electron extra
Definition: PFCandidate.cc:544
reco::PFCandidate::mva_gamma_nh
float mva_gamma_nh() const
mva for neutral hadron - gamma discrimination
Definition: PFCandidate.h:347
StorageManager_cfg.e1
e1
Definition: StorageManager_cfg.py:16
reco::PFCandidate::set_mva_pi_mu
void set_mva_pi_mu(float mva)
set mva for pi-muon discrimination
Definition: PFCandidate.h:326
reco::PFCandidate::kTPFMSMuonVertex
Definition: PFCandidate.h:82
reco::TrackBase::dzError
double dzError() const
error on dz
Definition: TrackBase.h:778
reco::PFCandidate::vertexType_
PFVertexType vertexType_
Definition: PFCandidate.h:472
reco::PFCandidate::GAMMA_TO_GAMMACONV
Definition: PFCandidate.h:72
reco::PFCandidate::rawHoEnergy
double rawHoEnergy() const
return raw Hcal energy
Definition: PFCandidate.h:248
reco::LeafCandidate::p4
const LorentzVector & p4() const final
four-momentum Lorentz vector
Definition: LeafCandidate.h:114
value
Definition: value.py:1
GsfTrack.h
reco::operator<<
std::ostream & operator<<(std::ostream &, BeamSpot beam)
Definition: BeamSpot.cc:66
reco::PFCandidate::superClusterRef
reco::SuperClusterRef superClusterRef() const
return a reference to the corresponding SuperCluster if any
Definition: PFCandidate.cc:558
reco::PFCandidate::gamma
Definition: PFCandidate.h:49
reco::PFCandidate::clone
PFCandidate * clone() const override
return a clone
Definition: PFCandidate.cc:197
submitPVResolutionJobs.q
q
Definition: submitPVResolutionJobs.py:84
reco::PFCandidate::translateTypeToPdgId
int translateTypeToPdgId(ParticleType type) const
Definition: PFCandidate.cc:232
reco::PFCandidate::rawEcalEnergy_
float rawEcalEnergy_
raw ECAL energy
Definition: PFCandidate.h:451
reco::PFCandidate::E_ETA_0
Definition: PFCandidate.h:58
PFCandidateEGammaExtraFwd.h
PFBlockFwd.h
reco::PFCandidate::ecalEnergy
double ecalEnergy() const
return corrected Ecal energy
Definition: PFCandidate.h:221
reco::PFCandidate::kTrkMuonVertex
Definition: PFCandidate.h:80
reco::PFCandidate::storeRefInfo
void storeRefInfo(unsigned int iMask, unsigned int iBit, bool iIsValid, const edm::RefCore &iCore, size_t iKey, const edm::EDProductGetter *)
Definition: PFCandidate.cc:343
edm::Ptr< PFCandidate >
reco::Candidate
Definition: Candidate.h:27
reco::PFCandidate::operator<<
friend std::ostream & operator<<(std::ostream &out, const PFCandidate &c)
reco::PFCandidate::E_ENDCAP_EDGE
Definition: PFCandidate.h:63
reco::PFCandidate::PFVertexType
PFVertexType
Definition: PFCandidate.h:75
reco::PFCandidate::setGsfTrackRef
void setGsfTrackRef(const reco::GsfTrackRef &ref)
set gsftrack reference
Definition: PFCandidate.cc:424
reco::PFCandidate::setHcalDepthEnergyFractions
void setHcalDepthEnergyFractions(const std::array< float, 7 > &fracs)
set the fraction of hcal energy as function of depth (index 0..6 for depth 1..7)
Definition: PFCandidate.h:412
reco::PFCandidate::bigMva_
static const float bigMva_
Definition: PFCandidate.h:386
GsfTrackFwd.h
edm::shift
static unsigned const int shift
Definition: LuminosityBlockID.cc:7
reco::PFCandidate::timeError
float timeError() const
Definition: PFCandidate.h:400
reco::PFCandidate::E_PRESHOWER
Definition: PFCandidate.h:62
reco::PFCandidate::hcalEnergy
double hcalEnergy() const
return corrected Hcal energy
Definition: PFCandidate.h:233
LorentzVector
math::XYZTLorentzVector LorentzVector
Definition: HLTMuonMatchAndPlot.h:49
reco::PFCandidate::setMuonTrackType
void setMuonTrackType(const reco::Muon::MuonTrackType &type)
set the Best Muon Track Ref
Definition: PFCandidate.h:356
reco::PFCandidate::E_PRESHOWER_EDGE
Definition: PFCandidate.h:61
reco::PFCandidate::T_TO_DISP
Definition: PFCandidate.h:68
reco::PFCandidate::h0
Definition: PFCandidate.h:50
reco::PFCandidate::storedRefsBitPattern_
unsigned short storedRefsBitPattern_
Definition: PFCandidate.h:509
reco::PFCandidate::mva_nothing_gamma
float mva_nothing_gamma() const
mva for gamma detection
Definition: PFCandidate.h:335
reco::PFCandidate::numberOfSourceCandidatePtrs
size_t numberOfSourceCandidatePtrs() const override
Definition: PFCandidate.h:122
reco::PFCandidate::mva_Isolated_
float mva_Isolated_
Definition: PFCandidate.h:475
Point3D.h
reco::PFCandidate::setHcalEnergy
void setHcalEnergy(float ehRaw, float ehCorr)
set corrected Hcal energy
Definition: PFCandidate.h:227
reco::PFCandidate::translatePdgIdToType
ParticleType translatePdgIdToType(int pdgid) const
Definition: PFCandidate.cc:209
reco::PFCandidate::kComMuonVertex
Definition: PFCandidate.h:78
reco::PFCandidate::H_VFCAL_EDGE
Definition: PFCandidate.h:67
reco::PFCandidate::flags_
unsigned flags_
all flags, packed (ecal regional, hcal regional, tracking)
Definition: PFCandidate.h:466
GET_CANDIDATE_COMPONENT
#define GET_CANDIDATE_COMPONENT(CAND, TYPE, FUN, TAG)
Definition: component.h:91
reco::PFCandidate::bestTrack
const reco::Track * bestTrack() const override
Definition: PFCandidate.h:150
reco::PFCandidate::kPickyMuonVertex
Definition: PFCandidate.h:83
reco::PFCandidate
Particle reconstructed by the particle flow algorithm.
Definition: PFCandidate.h:41
MillePedeFileConverter_cfg.out
out
Definition: MillePedeFileConverter_cfg.py:31
reco::PFCandidate::conversionRef
reco::ConversionRef conversionRef() const
return a reference to the original conversion
Definition: PFCandidate.cc:511
reco::PFParticleIdTag
particle ID component tag
Definition: PFCandidate.h:522
reco::PFCandidate::setTime
void setTime(float time, float timeError=0.f)
\set the timing information
Definition: PFCandidate.h:402
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
reco::PFCandidate::kTrkVertex
Definition: PFCandidate.h:77
reco::PFCandidate::ps2Energy_
float ps2Energy_
corrected PS2 energy
Definition: PFCandidate.h:463
reco::PFCandidate::H_BARREL_ENDCAP
Definition: PFCandidate.h:65
reco::PFCandidate::ParticleType
ParticleType
particle types
Definition: PFCandidate.h:44
c
auto & c
Definition: CAHitNtupletGeneratorKernelsImpl.h:46
reco::PFCandidate::setMuonRef
void setMuonRef(const reco::MuonRef &ref)
set muon reference
Definition: PFCandidate.cc:410
reco::PFCandidate::Elements
std::vector< unsigned > Elements
Definition: PFCandidate.h:382
reco::PFCandidate::setPs1Energy
void setPs1Energy(float e1)
set corrected PS1 energy
Definition: PFCandidate.h:277
math::XYZPointF
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< float > > XYZPointF
point in space with cartesian internal representation
Definition: Point3D.h:10
reco::PFCandidate::T_FROM_V0
Definition: PFCandidate.h:70
EgammaValidation_cff.pdgid
pdgid
Definition: EgammaValidation_cff.py:30
reco::PFCandidate::setSourceCandidatePtr
void setSourceCandidatePtr(const PFCandidatePtr &ptr)
Definition: PFCandidate.h:120
reco::PFCandidate::gsfElectronRef
reco::GsfElectronRef gsfElectronRef() const
return a reference to the corresponding GsfElectron if any
Definition: PFCandidate.cc:530
reco::PFCandidate::setPFElectronExtraRef
void setPFElectronExtraRef(const reco::PFCandidateElectronExtraRef &ref)
set the PF Electron Extra Ref
Definition: PFCandidate.cc:535
reco::PFCandidate::mva_e_mu
float mva_e_mu() const
mva for electron-muon discrimination
Definition: PFCandidate.h:323
reco::PFCandidate::setPFPhotonExtraRef
void setPFPhotonExtraRef(const reco::PFCandidatePhotonExtraRef &ref)
set the PF Photon Extra Ref
Definition: PFCandidate.cc:591
reco::PFCandidate::deltaP_
float deltaP_
uncertainty on 3-momentum
Definition: PFCandidate.h:469
reco::PFCandidate::vx
double vx() const override
x coordinate of vertex position
Definition: PFCandidate.h:391
reco::PFCandidate::setParticleType
void setParticleType(ParticleType type)
set Particle Type
Definition: PFCandidate.cc:256
reco::Candidate::size_type
size_t size_type
Definition: Candidate.h:29
edm::ProductID
Definition: ProductID.h:27
reco::PFCandidate::Flags
Flags
Definition: PFCandidate.h:55
reco::CompositeCandidate
Definition: CompositeCandidate.h:21
reco::PFCandidate::mva_nothing_gamma_
float mva_nothing_gamma_
mva for gamma detection
Definition: PFCandidate.h:487
PFCandidateFwd.h
reco::PFCandidate::mva_gamma_nh_
float mva_gamma_nh_
mva for neutral hadron - gamma discrimination
Definition: PFCandidate.h:493
reco::PFCandidate::set_mva_nothing_gamma
void set_mva_nothing_gamma(float mva)
set mva for gamma detection
Definition: PFCandidate.h:332
reco::PFCandidate::hoEnergy
double hoEnergy() const
return corrected Hcal energy
Definition: PFCandidate.h:245