CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Photon.h
Go to the documentation of this file.
1 //
2 //
3 
4 #ifndef DataFormats_PatCandidates_Photon_h
5 #define DataFormats_PatCandidates_Photon_h
6 
28 
29 
30 // Define typedefs for convenience
31 namespace pat {
32  class Photon;
33  typedef std::vector<Photon> PhotonCollection;
36 }
37 
38 namespace reco {
40  std::ostream& operator<<(std::ostream& out, const pat::Photon& obj);
41 }
42 
43 // Class definition
44 namespace pat {
45  class PATPhotonSlimmer;
46 
47  class Photon : public PATObject<reco::Photon> {
48 
49  public:
50 
51  typedef std::pair<std::string,Bool_t> IdPair;
52 
54  Photon();
56  Photon(const reco::Photon & aPhoton);
58  Photon(const edm::RefToBase<reco::Photon> & aPhotonRef);
60  Photon(const edm::Ptr<reco::Photon> & aPhotonRef);
62  virtual ~Photon();
63 
65  virtual Photon * clone() const { return new Photon(*this); }
66 
67  // ---- methods for content embedding ----
71  reco::CaloClusterPtr seed() const;
72 
73  //method to access the basic clusters
74  const std::vector<reco::CaloCluster>& basicClusters() const { return basicClusters_ ; }
75  //method to access the preshower clusters
76  const std::vector<reco::CaloCluster>& preshowerClusters() const { return preshowerClusters_ ; }
77 
78  //method to access embedded ecal RecHits
79  const EcalRecHitCollection * recHits() const { return &recHits_;}
80 
82  void embedSuperCluster();
84  void embedSeedCluster();
86  void embedBasicClusters();
91 
92 
93  // ---- methods for access the generated photon ----
95  const reco::Candidate * genPhoton() const { return genParticle(); }
97  void setGenPhoton(const reco::GenParticleRef & gp, bool embed=false) { setGenParticleRef(gp, embed); }
98 
99  // ---- methods for photon ID ----
102  Bool_t photonID(const std::string & name) const;
104  bool isPhotonIDAvailable(const std::string & name) const;
107  const std::vector<IdPair> & photonIDs() const { return photonIDs_; }
110  void setPhotonIDs(const std::vector<IdPair> & ids) { photonIDs_ = ids; }
111 
112 
113  // ---- methods for photon isolation ----
116  float trackIso() const { return trkSumPtSolidConeDR04(); }
119  float ecalIso() const { return ecalRecHitSumEtConeDR04(); }
122  float hcalIso() const { return hcalTowerSumEtConeDR04(); }
125  float caloIso() const { return ecalIso()+hcalIso(); }
126 
138  float photonIso() const { return userIsolation(pat::PfGammaIso); }
142 
144  float userIso(uint8_t index=0) const { return userIsolation(IsolationKeys(UserBaseIso + index)); }
148  if (key >= 0) {
149  //if (key >= isolations_.size()) throw cms::Excepton("Missing Data")
150  //<< "Isolation corresponding to key " << key
151  //<< " was not stored for this particle.";
152  if (size_t(key) >= isolations_.size()) return -1.0;
153  return isolations_[key];
154  } else switch (key) {
155  case pat::CaloIso:
156  //if (isolations_.size() <= pat::HcalIso) throw cms::Excepton("Missing Data")
157  //<< "CalIsoo Isolation was not stored for this particle.";
158  if (isolations_.size() <= pat::HcalIso) return -1.0;
160  default:
161  return -1.0;
162  //throw cms::Excepton("Missing Data") << "Isolation corresponding to key "
163  //<< key << " was not stored for this particle.";
164  }
165  }
169  if (key >= 0) {
170  if (size_t(key) >= isolations_.size()) isolations_.resize(key+1, -1.0);
171  isolations_[key] = value;
172  } else {
173  throw cms::Exception("Illegal Argument") <<
174  "The key for which you're setting isolation does not correspond " <<
175  "to an individual isolation but to the sum of more independent isolations " <<
176  "(e.g. Calo = Ecal + Hcal), so you can't SET the value, just GET it.\n" <<
177  "Please set up each component independly.\n";
178  }
179  }
181  void setTrackIso(float trackIso) { setIsolation(TrackIso, trackIso); }
183  void setEcalIso(float caloIso) { setIsolation(EcalIso, caloIso); }
185  void setHcalIso(float caloIso) { setIsolation(HcalIso, caloIso); }
187  void setUserIso(float value, uint8_t index=0) { setIsolation(IsolationKeys(UserBaseIso + index), value); }
188 
189  // ---- methods for photon isolation deposits ----
192  for (IsoDepositPairs::const_iterator it = isoDeposits_.begin(), ed = isoDeposits_.end();
193  it != ed; ++it)
194  {
195  if (it->first == key) return & it->second;
196  }
197  return 0;
198  }
200  const IsoDeposit * trackIsoDeposit() const { return isoDeposit(pat::TrackIso); }
202  const IsoDeposit * ecalIsoDeposit() const { return isoDeposit(pat::EcalIso ); }
204  const IsoDeposit * hcalIsoDeposit() const { return isoDeposit(pat::HcalIso ); }
206  const IsoDeposit * userIsoDeposit(uint8_t index=0) const { return isoDeposit(IsolationKeys(UserBaseIso + index)); }
209  IsoDepositPairs::iterator it = isoDeposits_.begin(), ed = isoDeposits_.end();
210  for (; it != ed; ++it) {
211  if (it->first == key) { it->second = dep; return; }
212  }
213  isoDeposits_.push_back(std::make_pair(key,dep));
214  }
222  void userIsoDeposit(const IsoDeposit &dep, uint8_t index=0) { setIsoDeposit(IsolationKeys(UserBaseIso + index), dep); }
224  bool passElectronVeto() const { return passElectronVeto_; }
225  void setPassElectronVeto( bool flag ) { passElectronVeto_ = flag; }
226  //pixel seed to veto electron (not recommended by EGM POG but it seems very efficient)
227  bool hasPixelSeed() const { return hasPixelSeed_; }
228  void setHasPixelSeed( bool flag ) { hasPixelSeed_ = flag; }
229 
230 
232  float seedEnergy() const { return seedEnergy_;}
233  void setSeedEnergy( float e ){ seedEnergy_ = e; }
234 
235  float eMax() const { return eMax_;}
236  void setEMax( float e ){ eMax_ = e;}
237  float e2nd() const { return e2nd_;}
238  void setE2nd( float e ){ e2nd_ = e;}
239  float e3x3() const { return e3x3_;}
240  void setE3x3( float e ){ e3x3_ = e;}
241  float eTop() const { return eTop_;}
242  void setETop( float e ){ eTop_ = e;}
243  float eBottom() const { return eBottom_;}
244  void setEBottom( float e ){ eBottom_ = e;}
245  float eLeft() const { return eLeft_;}
246  void setELeft( float e ){ eLeft_ = e;}
247  float eRight() const { return eRight_;}
248  void setERight( float e ){ eRight_ = e;}
249 
250  float see() const { return see_;}
251  void setSee( float s ){ see_ = s;}
252  float spp() const { return spp_;}
253  void setSpp( float s ){ spp_ = s;}
254  float sep() const { return sep_;}
255  void setSep( float s ){ sep_ = s;}
256 
257  float maxDR() const { return maxDR_;}
258  void setMaxDR( float m ){ maxDR_ = m;}
259  float maxDRDPhi() const { return maxDRDPhi_;}
260  void setMaxDRDPhi( float m ){ maxDRDPhi_ = m;}
261  float maxDRDEta() const { return maxDRDEta_;}
262  void setMaxDRDEta( float m ){ maxDRDEta_ = m;}
263  float maxDRRawEnergy() const { return maxDRRawEnergy_;}
265 
266  float subClusRawE1() const { return subClusRawE1_;}
267  void setSubClusRawE1( float s ){ subClusRawE1_ = s;}
268  float subClusRawE2() const { return subClusRawE2_;}
269  void setSubClusRawE2( float s ){ subClusRawE2_ = s;}
270  float subClusRawE3() const { return subClusRawE3_;}
271  void setSubClusRawE3( float s ){ subClusRawE3_ = s;}
272 
273  float subClusDPhi1() const { return subClusDPhi1_;}
274  void setSubClusDPhi1( float s ){ subClusDPhi1_ = s;}
275  float subClusDPhi2() const { return subClusDPhi2_;}
276  void setSubClusDPhi2( float s ){ subClusDPhi2_ = s;}
277  float subClusDPhi3() const { return subClusDPhi3_;}
278  void setSubClusDPhi3( float s ){ subClusDPhi3_ = s;}
279 
280  float subClusDEta1() const { return subClusDEta1_;}
281  void setSubClusDEta1( float s ){ subClusDEta1_ = s;}
282  float subClusDEta2() const { return subClusDEta2_;}
283  void setSubClusDEta2( float s ){ subClusDEta2_ = s;}
284  float subClusDEta3() const { return subClusDEta3_;}
285  void setSubClusDEta3( float s ){ subClusDEta3_ = s;}
286 
287  float cryPhi() const { return cryPhi_;}
288  void setCryPhi( float c ){ cryPhi_ = c;}
289  float cryEta() const { return cryEta_;}
290  void setCryEta( float c ){ cryEta_ = c;}
291 
292  float iPhi() const { return iPhi_;}
293  void setIPhi( float i ){ iPhi_ = i;}
294  float iEta() const { return iEta_;}
295  void setIEta( float i ){ iEta_ = i;}
296 
298  //float sigmaIphiIphi() const { return sigmaIphiIphi_; }
299  //float sigmaIetaIphi() const { return sigmaIetaIphi_; }
300  // non-zero-suppressed and no-fractions shower shapes
301  float full5x5_e1x5() const { return full5x5_showerShape_.e1x5; }
302  float full5x5_e2x5() const { return full5x5_showerShape_.e2x5; }
303  float full3x3_e3x3() const { return full5x5_showerShape_.e3x3; }
304  float full5x5_e5x5() const { return full5x5_showerShape_.e5x5; }
308  //float full5x5_sigmaIphiIphi() const { return full5x5_sigmaIphiIphi_; }
309  //float full5x5_sigmaIetaIphi() const { return full5x5_sigmaIetaIphi_; }
312  float full5x5_r9() const { return full5x5_showerShape_.e3x3 / superCluster()->rawEnergy(); }
313  // the hcal ones only differ in the denominator and so aren't really worth saving
314  float full5x5_hadronicDepth1OverEm() const { return hadronicDepth1OverEm(); /* this is identical to the ZS one */ }
315  float full5x5_hadronicDepth2OverEm() const { return hadronicDepth1OverEm(); /* this is identical to the ZS one */ }
317  float full5x5_hadTowDepth1OverEm() const { return hadTowDepth1OverEm() * (superCluster()->energy()/full5x5_e5x5()); }
318  float full5x5_hadTowDepth2OverEm() const { return hadTowDepth2OverEm() * (superCluster()->energy()/full5x5_e5x5()); }
320  // setters
321  void full5x5_setShowerShape(const ShowerShape &s) { full5x5_showerShape_ = s; }
322  //void full5x5_setSigmaIphiIphi(float sigmaIphiIphi) { full5x5_sigmaIphiIphi_ = sigmaIphiIphi; }
323  //void full5x5_setSigmaIetaIphi(float sigmaIetaIphi) { full5x5_sigmaIetaIphi_ = sigmaIetaIphi; }
324 
325 
326 
328  friend std::ostream& reco::operator<<(std::ostream& out, const pat::Photon& obj);
329 
336 
341 
342  friend class PATPhotonSlimmer;
343 
344  protected:
345 
346  // ---- for content embedding ----
348  std::vector<reco::SuperCluster> superCluster_;
352  std::vector<reco::CaloCluster> basicClusters_;
354  std::vector<reco::CaloCluster> preshowerClusters_;
358  std::vector<reco::CaloCluster> seedCluster_;
363  // ---- photon ID's holder ----
364  std::vector<IdPair> photonIDs_;
365  // ---- Isolation and IsoDeposit related datamebers ----
366  typedef std::vector<std::pair<IsolationKeys, pat::IsoDeposit> > IsoDepositPairs;
368  std::vector<float> isolations_;
369 
370  // ---- link to PackedPFCandidates
372  std::vector<uint16_t> associatedPackedFCandidateIndices_;
373 
375  //float sigmaIetaIphi_, sigmaIphiIphi_;
376  // ---- full5x5 shower shapes
377  ShowerShape full5x5_showerShape_;
378  //float full5x5_sigmaIetaIphi_, full5x5_sigmaIphiIphi_;
379 
383 
385  float seedEnergy_;
386  float eMax_;
387  float e2nd_;
388  float e3x3_;
389  float eTop_;
390  float eBottom_;
391  float eLeft_;
392  float eRight_;
393 
394  float see_;
395  float spp_;
396  float sep_;
397 
398  float maxDR_;
399  float maxDRDPhi_;
400  float maxDRDEta_;
402 
406 
410 
414 
415  float cryEta_;
416  float cryPhi_;
417  float iEta_;
418  float iPhi_;
419 
420  };
421 
422 
423 }
424 
425 #endif
float full5x5_maxEnergyXtal() const
Definition: Photon.h:305
void setAssociatedPackedPFCandidates(const edm::RefVector< pat::PackedCandidateCollection > &refvector)
References to PFCandidates linked to this object (e.g. for isolation vetos or masking before jet recl...
Definition: Photon.cc:318
float subClusDPhi2() const
Definition: Photon.h:275
float subClusDEta3_
Definition: Photon.h:413
float subClusDPhi1_
Definition: Photon.h:407
void setSpp(float s)
Definition: Photon.h:253
int i
Definition: DBlmapReader.cc:9
float hcalTowerSumEtConeDR04() const
Hcal isolation sum.
Definition: Photon.h:342
Analysis-level Photon class.
Definition: Photon.h:47
edm::RefVector< PhotonCollection > PhotonRefVector
Definition: Photon.h:35
void setIEta(float i)
Definition: Photon.h:295
float full5x5_r9() const
Definition: Photon.h:312
float cryEta_
Definition: Photon.h:415
float trackIso() const
Definition: Photon.h:116
float full5x5_hadronicOverEm() const
Definition: Photon.h:316
float eLeft_
Definition: Photon.h:391
void setEcalIso(float caloIso)
Sets ecal isolation variable.
Definition: Photon.h:183
float neutralHadronIso() const
Definition: Photon.h:135
void setSubClusDPhi3(float s)
Definition: Photon.h:278
void setTrackIso(float trackIso)
Sets tracker isolation variable.
Definition: Photon.h:181
size_t size_type
Definition: Candidate.h:34
void setE2nd(float e)
Definition: Photon.h:238
const reco::GenParticle * genParticle(size_t idx=0) const
Definition: PATObject.h:236
void setSee(float s)
Definition: Photon.h:251
Photon()
default constructor
Definition: Photon.cc:12
bool passElectronVeto_
-— conversion veto -—
Definition: Photon.h:381
void trackIsoDeposit(const IsoDeposit &dep)
Sets tracker IsoDeposit.
Definition: Photon.h:216
virtual Photon * clone() const
required reimplementation of the Candidate&#39;s clone method
Definition: Photon.h:65
edm::Ref< PhotonCollection > PhotonRef
Definition: Photon.h:34
void setMaxDRRawEnergy(float m)
Definition: Photon.h:264
float full5x5_e5x5() const
Definition: Photon.h:304
float subClusDEta3() const
Definition: Photon.h:284
reco::CaloClusterPtr seed() const
direct access to the seed cluster
Definition: Photon.cc:224
float subClusDEta2() const
Definition: Photon.h:282
float trkSumPtSolidConeDR04() const
Definition: Photon.h:354
float puChargedHadronIso() const
Definition: Photon.h:141
void embedBasicClusters()
method to store the electron&#39;s basic clusters
Definition: Photon.cc:251
ShowerShape full5x5_showerShape_
Definition: Photon.h:377
float sep_
Definition: Photon.h:396
void ecalIsoDeposit(const IsoDeposit &dep)
Sets ecal IsoDeposit.
Definition: Photon.h:218
void setSubClusDPhi2(float s)
Definition: Photon.h:276
float eMax() const
Definition: Photon.h:235
float spp_
Definition: Photon.h:395
float eRight_
Definition: Photon.h:392
float eBottom() const
Definition: Photon.h:243
float ecalRecHitSumEtConeDR04() const
Definition: Photon.h:340
float maxDRDPhi() const
Definition: Photon.h:259
bool hasPixelSeed_
Definition: Photon.h:382
float subClusDPhi1() const
Definition: Photon.h:273
void embedSuperCluster()
method to store the photon&#39;s supercluster internally
Definition: Photon.cc:233
void full5x5_setShowerShape(const ShowerShape &s)
Definition: Photon.h:321
float see_
Definition: Photon.h:394
float subClusDPhi3_
Definition: Photon.h:409
const std::vector< reco::CaloCluster > & basicClusters() const
Definition: Photon.h:74
std::vector< reco::SuperCluster > superCluster_
Definition: Photon.h:348
IsolationKeys
Enum defining isolation keys.
Definition: Isolation.h:9
float hcalIso() const
Definition: Photon.h:122
float iEta() const
Definition: Photon.h:294
std::vector< reco::CaloCluster > preshowerClusters_
Place to store electron&#39;s preshower clusters internally.
Definition: Photon.h:354
void setUserIso(float value, uint8_t index=0)
Sets user isolation variable index.
Definition: Photon.h:187
void setIPhi(float i)
Definition: Photon.h:293
float eLeft() const
Definition: Photon.h:245
void setGenParticleRef(const reco::GenParticleRef &ref, bool embed=false)
Set the generator level particle reference.
float subClusRawE2_
Definition: Photon.h:404
std::vector< reco::CaloCluster > seedCluster_
Place to store electron&#39;s seed cluster internally.
Definition: Photon.h:358
float e2nd() const
Definition: Photon.h:237
#define embed
Definition: AMPTWrapper.h:178
void setHcalIso(float caloIso)
Sets hcal isolation variable.
Definition: Photon.h:185
float hadTowDepth1OverEm() const
the ration of hadronic energy in towers depth1 behind the BCs in the SC and the SC energy ...
Definition: Photon.h:178
void setIsolation(IsolationKeys key, float value)
Definition: Photon.h:168
float chargedHadronIso() const
Definition: Photon.h:132
float subClusRawE1_
Definition: Photon.h:403
void setELeft(float e)
Definition: Photon.h:246
float subClusRawE3_
Definition: Photon.h:405
float full5x5_hadTowDepth1OverEm() const
Definition: Photon.h:317
edm::RefVector< pat::PackedCandidateCollection > associatedPackedPFCandidates() const
References to PFCandidates linked to this object (e.g. for isolation vetos or masking before jet recl...
Definition: Photon.cc:310
void setIsoDeposit(IsolationKeys key, const IsoDeposit &dep)
Sets the IsoDeposit associated with some key; if it is already existent, it is overwritten.
Definition: Photon.h:208
void userIsoDeposit(const IsoDeposit &dep, uint8_t index=0)
Sets user-level IsoDeposit.
Definition: Photon.h:222
void setEMax(float e)
Definition: Photon.h:236
slimmer of PAT Taus
std::ostream & operator<<(std::ostream &, BeamSpot beam)
Definition: BeamSpot.cc:71
const EcalRecHitCollection * recHits() const
Definition: Photon.h:79
float seedEnergy() const
input variables for regression energy corrections
Definition: Photon.h:232
float full5x5_sigmaIetaIeta() const
Definition: Photon.h:307
const reco::Candidate * genPhoton() const
return the match to the generated photon
Definition: Photon.h:95
void setERight(float e)
Definition: Photon.h:248
float full3x3_e3x3() const
Definition: Photon.h:303
void setMaxDRDEta(float m)
Definition: Photon.h:262
float eMax_
Definition: Photon.h:386
float subClusRawE1() const
Definition: Photon.h:266
void setPhotonIDs(const std::vector< IdPair > &ids)
Definition: Photon.h:110
float eTop() const
Definition: Photon.h:241
float e3x3() const
Definition: Photon.h:239
edm::RefProd< pat::PackedCandidateCollection > packedPFCandidates_
Definition: Photon.h:371
float full5x5_r2x5() const
Definition: Photon.h:311
const IsoDeposit * hcalIsoDeposit() const
Return the hcal IsoDeposit.
Definition: Photon.h:204
float subClusRawE3() const
Definition: Photon.h:270
void setPassElectronVeto(bool flag)
Definition: Photon.h:225
void setETop(float e)
Definition: Photon.h:242
void embedSeedCluster()
method to store the electron&#39;s seedcluster internally
Definition: Photon.cc:242
float hadTowDepth2OverEm() const
the ration of hadronic energy in towers depth2 behind the BCs in the SC and the SC energy ...
Definition: Photon.h:180
void embedPreshowerClusters()
method to store the electron&#39;s preshower clusters
Definition: Photon.cc:263
bool isPhotonIDAvailable(const std::string &name) const
Returns true if a specific ID is available in this pat::Photon.
Definition: Photon.cc:297
float subClusDPhi3() const
Definition: Photon.h:277
float userIso(uint8_t index=0) const
Returns a user defined isolation value.
Definition: Photon.h:144
float full5x5_sigmaEtaEta() const
Definition: Photon.h:306
void setSeedEnergy(float e)
Definition: Photon.h:233
Bool_t photonID(const std::string &name) const
Definition: Photon.cc:283
void setSubClusDPhi1(float s)
Definition: Photon.h:274
void hcalIsoDeposit(const IsoDeposit &dep)
Sets hcal IsoDeposit.
Definition: Photon.h:220
float maxDR() const
Definition: Photon.h:257
void setSubClusDEta1(float s)
Definition: Photon.h:281
float see() const
Definition: Photon.h:250
std::vector< IdPair > photonIDs_
Definition: Photon.h:364
bool embeddedSuperCluster_
Definition: Photon.h:347
void setCryEta(float c)
Definition: Photon.h:290
const IsoDeposit * ecalIsoDeposit() const
Return the ecal IsoDeposit.
Definition: Photon.h:202
tuple out
Definition: dbtoconf.py:99
edm::AtomicPtrCache< std::vector< reco::SuperCluster > > superClusterRelinked_
Place to temporarily store the electron&#39;s supercluster after relinking the seed to it...
Definition: Photon.h:350
float e2nd_
Definition: Photon.h:387
float hadronicDepth1OverEm() const
the hadronic release in depth1 over electromagnetic fraction
Definition: Photon.h:171
float iEta_
Definition: Photon.h:417
EcalRecHitCollection recHits_
Place to store electron&#39;s RecHits internally (5x5 around seed+ all RecHits)
Definition: Photon.h:362
bool embeddedRecHits_
True if RecHits stored internally.
Definition: Photon.h:360
unsigned int index
index type
Definition: Candidate.h:55
bool hasPixelSeed() const
Definition: Photon.h:227
void setCryPhi(float c)
Definition: Photon.h:288
float e3x3_
Definition: Photon.h:388
std::pair< std::string, Bool_t > IdPair
Definition: Photon.h:51
void setHasPixelSeed(bool flag)
Definition: Photon.h:228
float ecalIso() const
Definition: Photon.h:119
const std::vector< IdPair > & photonIDs() const
Definition: Photon.h:107
float cryPhi_
Definition: Photon.h:416
float subClusDEta2_
Definition: Photon.h:412
float full5x5_e2x5() const
Definition: Photon.h:302
void setSubClusDEta2(float s)
Definition: Photon.h:283
void setMaxDR(float m)
Definition: Photon.h:258
size_t numberOfSourceCandidatePtrs() const
get the number of non-null PFCandidates
Definition: Photon.h:338
float subClusDEta1_
Definition: Photon.h:411
float particleIso() const
Definition: Photon.h:129
IsoDepositPairs isoDeposits_
Definition: Photon.h:367
reco::SuperClusterRef superCluster() const
override the superCluster method from CaloJet, to access the internal storage of the supercluster ...
Definition: Photon.cc:190
float eBottom_
Definition: Photon.h:390
void setSubClusRawE2(float s)
Definition: Photon.h:269
float iPhi() const
Definition: Photon.h:292
float full5x5_e1x5() const
Definition: Photon.h:301
float full5x5_hadronicDepth1OverEm() const
Definition: Photon.h:314
bool passElectronVeto() const
vertex fit method
Definition: Photon.h:224
float full5x5_hadronicDepth2OverEm() const
Definition: Photon.h:315
void setEBottom(float e)
Definition: Photon.h:244
float maxDRRawEnergy() const
Definition: Photon.h:263
float caloIso() const
Definition: Photon.h:125
float photonIso() const
Definition: Photon.h:138
const IsoDeposit * trackIsoDeposit() const
Return the tracker IsoDeposit.
Definition: Photon.h:200
float seedEnergy_
-— input variables for regression energy corrections -—
Definition: Photon.h:385
void setMaxDRDPhi(float m)
Definition: Photon.h:260
float maxDRDEta() const
Definition: Photon.h:261
float spp() const
Definition: Photon.h:252
list key
Definition: combine.py:13
void setSubClusDEta3(float s)
Definition: Photon.h:285
float cryEta() const
Definition: Photon.h:289
virtual ~Photon()
destructor
Definition: Photon.cc:168
float subClusDPhi2_
Definition: Photon.h:408
bool embeddedSeedCluster_
True if seed cluster is stored internally.
Definition: Photon.h:356
void setSubClusRawE1(float s)
Definition: Photon.h:267
float full5x5_hadTowOverEm() const
Definition: Photon.h:319
Templated PAT object container.
Definition: PATObject.h:41
float userIsolation(IsolationKeys key) const
Definition: Photon.h:147
float iPhi_
Definition: Photon.h:418
float sep() const
Definition: Photon.h:254
float full5x5_r1x5() const
Definition: Photon.h:310
const IsoDeposit * userIsoDeposit(uint8_t index=0) const
Return a specified user-level IsoDeposit.
Definition: Photon.h:206
void setSubClusRawE3(float s)
Definition: Photon.h:271
std::vector< uint16_t > associatedPackedFCandidateIndices_
Definition: Photon.h:372
float maxDRDEta_
Definition: Photon.h:400
void setPackedPFCandidateCollection(const edm::RefProd< pat::PackedCandidateCollection > &refprod)
References to PFCandidates (e.g. to recompute isolation)
Definition: Photon.cc:305
float full5x5_hadTowDepth2OverEm() const
Definition: Photon.h:318
float subClusDEta1() const
Definition: Photon.h:280
float maxDRRawEnergy_
Definition: Photon.h:401
const IsoDeposit * isoDeposit(IsolationKeys key) const
Returns the IsoDeposit associated with some key, or a null pointer if it is not available.
Definition: Photon.h:191
float eTop_
Definition: Photon.h:389
float eRight() const
Definition: Photon.h:247
float maxDRDPhi_
Definition: Photon.h:399
float subClusRawE2() const
Definition: Photon.h:268
float maxDR_
Definition: Photon.h:398
std::vector< std::pair< IsolationKeys, pat::IsoDeposit > > IsoDepositPairs
Definition: Photon.h:366
void embedRecHits(const EcalRecHitCollection *rechits)
method to store the RecHits internally - can be called from the PATElectronProducer ...
Definition: Photon.cc:275
void setGenPhoton(const reco::GenParticleRef &gp, bool embed=false)
method to set the generated photon
Definition: Photon.h:97
reco::CandidatePtr sourceCandidatePtr(size_type i) const
get the source candidate pointer with index i
Definition: Photon.cc:334
std::vector< Photon > PhotonCollection
Definition: Photon.h:32
float cryPhi() const
Definition: Photon.h:287
void setE3x3(float e)
Definition: Photon.h:240
std::vector< reco::CaloCluster > basicClusters_
Place to store electron&#39;s basic clusters internally.
Definition: Photon.h:352
std::vector< float > isolations_
Definition: Photon.h:368
void setSep(float s)
Definition: Photon.h:255
const std::vector< reco::CaloCluster > & preshowerClusters() const
Definition: Photon.h:76