CMS 3D CMS Logo

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  ~Photon() override;
63 
65  Photon * clone() const override { return new Photon(*this); }
66 
67  // ---- methods for content embedding ----
69  reco::SuperClusterRef superCluster() const override;
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 
128  float ecalPFClusterIso() const { return ecalPFClusIso_;}
129  float hcalPFClusterIso() const { return hcalPFClusIso_;}
130  void setEcalPFClusterIso(float ecalPFClus) { ecalPFClusIso_=ecalPFClus;}
131  void setHcalPFClusterIso(float hcalPFClus) { hcalPFClusIso_=hcalPFClus;}
132 
144  float photonIso() const { return reco::Photon::photonIso(); }
148 
150  float userIso(uint8_t index=0) const { return userIsolation(IsolationKeys(UserBaseIso + index)); }
154  if (key >= 0) {
155  //if (key >= isolations_.size()) throw cms::Excepton("Missing Data")
156  //<< "Isolation corresponding to key " << key
157  //<< " was not stored for this particle.";
158  if (size_t(key) >= isolations_.size()) return -1.0;
159  return isolations_[key];
160  } else switch (key) {
161  case pat::CaloIso:
162  //if (isolations_.size() <= pat::HcalIso) throw cms::Excepton("Missing Data")
163  //<< "CalIsoo Isolation was not stored for this particle.";
164  if (isolations_.size() <= pat::HcalIso) return -1.0;
165  return isolations_[pat::EcalIso] + isolations_[pat::HcalIso];
166  default:
167  return -1.0;
168  //throw cms::Excepton("Missing Data") << "Isolation corresponding to key "
169  //<< key << " was not stored for this particle.";
170  }
171  }
172 
173  float puppiChargedHadronIso() const {return puppiChargedHadronIso_; }
174  float puppiNeutralHadronIso() const {return puppiNeutralHadronIso_; }
175  float puppiPhotonIso() const {return puppiPhotonIso_; }
176 
180  if (key >= 0) {
181  if (size_t(key) >= isolations_.size()) isolations_.resize(key+1, -1.0);
182  isolations_[key] = value;
183  } else {
184  throw cms::Exception("Illegal Argument") <<
185  "The key for which you're setting isolation does not correspond " <<
186  "to an individual isolation but to the sum of more independent isolations " <<
187  "(e.g. Calo = Ecal + Hcal), so you can't SET the value, just GET it.\n" <<
188  "Please set up each component independly.\n";
189  }
190  }
192  void setTrackIso(float trackIso) { setIsolation(TrackIso, trackIso); }
194  void setEcalIso(float caloIso) { setIsolation(EcalIso, caloIso); }
196  void setHcalIso(float caloIso) { setIsolation(HcalIso, caloIso); }
198  void setUserIso(float value, uint8_t index=0) { setIsolation(IsolationKeys(UserBaseIso + index), value); }
200  void setIsolationPUPPI(float chargedhadrons_, float neutralhadrons_, float photons_)
201  {
202  puppiChargedHadronIso_ = chargedhadrons_;
203  puppiNeutralHadronIso_ = neutralhadrons_;
204  puppiPhotonIso_ = photons_;
205 
206  }
207 
208  // ---- methods for photon isolation deposits ----
211  for (IsoDepositPairs::const_iterator it = isoDeposits_.begin(), ed = isoDeposits_.end();
212  it != ed; ++it)
213  {
214  if (it->first == key) return & it->second;
215  }
216  return nullptr;
217  }
219  const IsoDeposit * trackIsoDeposit() const { return isoDeposit(pat::TrackIso); }
221  const IsoDeposit * ecalIsoDeposit() const { return isoDeposit(pat::EcalIso ); }
223  const IsoDeposit * hcalIsoDeposit() const { return isoDeposit(pat::HcalIso ); }
225  const IsoDeposit * userIsoDeposit(uint8_t index=0) const { return isoDeposit(IsolationKeys(UserBaseIso + index)); }
228  IsoDepositPairs::iterator it = isoDeposits_.begin(), ed = isoDeposits_.end();
229  for (; it != ed; ++it) {
230  if (it->first == key) { it->second = dep; return; }
231  }
232  isoDeposits_.push_back(std::make_pair(key,dep));
233  }
235  void trackIsoDeposit(const IsoDeposit &dep) { setIsoDeposit(pat::TrackIso, dep); }
237  void ecalIsoDeposit(const IsoDeposit &dep) { setIsoDeposit(pat::EcalIso, dep); }
239  void hcalIsoDeposit(const IsoDeposit &dep) { setIsoDeposit(pat::HcalIso, dep); }
241  void userIsoDeposit(const IsoDeposit &dep, uint8_t index=0) { setIsoDeposit(IsolationKeys(UserBaseIso + index), dep); }
243  bool passElectronVeto() const { return passElectronVeto_; }
244  void setPassElectronVeto( bool flag ) { passElectronVeto_ = flag; }
245  //pixel seed to veto electron (not recommended by EGM POG but it seems very efficient)
246  bool hasPixelSeed() const { return hasPixelSeed_; }
247  void setHasPixelSeed( bool flag ) { hasPixelSeed_ = flag; }
248 
250  float seedEnergy() const { return seedEnergy_;}
251  void setSeedEnergy( float e ){ seedEnergy_ = e; }
252 
253  float eMax() const { return eMax_;}
254  void setEMax( float e ){ eMax_ = e;}
255  float e2nd() const { return e2nd_;}
256  void setE2nd( float e ){ e2nd_ = e;}
257  float e3x3() const { return e3x3_;}
258  void setE3x3( float e ){ e3x3_ = e;}
259  float eTop() const { return eTop_;}
260  void setETop( float e ){ eTop_ = e;}
261  float eBottom() const { return eBottom_;}
262  void setEBottom( float e ){ eBottom_ = e;}
263  float eLeft() const { return eLeft_;}
264  void setELeft( float e ){ eLeft_ = e;}
265  float eRight() const { return eRight_;}
266  void setERight( float e ){ eRight_ = e;}
267 
268  float see() const { return see_;}
269  void setSee( float s ){ see_ = s;}
270  float spp() const { return spp_;}
271  void setSpp( float s ){ spp_ = s;}
272  float sep() const { return sep_;}
273  void setSep( float s ){ sep_ = s;}
274 
275  float maxDR() const { return maxDR_;}
276  void setMaxDR( float m ){ maxDR_ = m;}
277  float maxDRDPhi() const { return maxDRDPhi_;}
278  void setMaxDRDPhi( float m ){ maxDRDPhi_ = m;}
279  float maxDRDEta() const { return maxDRDEta_;}
280  void setMaxDRDEta( float m ){ maxDRDEta_ = m;}
281  float maxDRRawEnergy() const { return maxDRRawEnergy_;}
282  void setMaxDRRawEnergy( float m ){ maxDRRawEnergy_ = m;}
283 
284  float subClusRawE1() const { return subClusRawE1_;}
285  void setSubClusRawE1( float s ){ subClusRawE1_ = s;}
286  float subClusRawE2() const { return subClusRawE2_;}
287  void setSubClusRawE2( float s ){ subClusRawE2_ = s;}
288  float subClusRawE3() const { return subClusRawE3_;}
289  void setSubClusRawE3( float s ){ subClusRawE3_ = s;}
290 
291  float subClusDPhi1() const { return subClusDPhi1_;}
292  void setSubClusDPhi1( float s ){ subClusDPhi1_ = s;}
293  float subClusDPhi2() const { return subClusDPhi2_;}
294  void setSubClusDPhi2( float s ){ subClusDPhi2_ = s;}
295  float subClusDPhi3() const { return subClusDPhi3_;}
296  void setSubClusDPhi3( float s ){ subClusDPhi3_ = s;}
297 
298  float subClusDEta1() const { return subClusDEta1_;}
299  void setSubClusDEta1( float s ){ subClusDEta1_ = s;}
300  float subClusDEta2() const { return subClusDEta2_;}
301  void setSubClusDEta2( float s ){ subClusDEta2_ = s;}
302  float subClusDEta3() const { return subClusDEta3_;}
303  void setSubClusDEta3( float s ){ subClusDEta3_ = s;}
304 
305  float cryPhi() const { return cryPhi_;}
306  void setCryPhi( float c ){ cryPhi_ = c;}
307  float cryEta() const { return cryEta_;}
308  void setCryEta( float c ){ cryEta_ = c;}
309 
310  float iPhi() const { return iPhi_;}
311  void setIPhi( float i ){ iPhi_ = i;}
312  float iEta() const { return iEta_;}
313  void setIEta( float i ){ iEta_ = i;}
314 
316  friend std::ostream& reco::operator<<(std::ostream& out, const pat::Photon& obj);
317 
319  edm::RefVector<pat::PackedCandidateCollection> associatedPackedPFCandidates() const ;
321  template<typename T>
323  T beginIndexItr,
324  T endIndexItr) {
325  packedPFCandidates_ = refprod;
326  associatedPackedFCandidateIndices_.clear();
327  associatedPackedFCandidateIndices_.insert(associatedPackedFCandidateIndices_.begin(),
328  beginIndexItr,
329  endIndexItr);
330  }
331 
333  size_t numberOfSourceCandidatePtrs() const override { return associatedPackedFCandidateIndices_.size(); }
335  reco::CandidatePtr sourceCandidatePtr( size_type i ) const override;
336 
337  friend class PATPhotonSlimmer;
338 
339  protected:
340 
341  // ---- for content embedding ----
343  std::vector<reco::SuperCluster> superCluster_;
347  std::vector<reco::CaloCluster> basicClusters_;
349  std::vector<reco::CaloCluster> preshowerClusters_;
353  std::vector<reco::CaloCluster> seedCluster_;
358  // ---- photon ID's holder ----
359  std::vector<IdPair> photonIDs_;
360  // ---- Isolation and IsoDeposit related datamebers ----
361  typedef std::vector<std::pair<IsolationKeys, pat::IsoDeposit> > IsoDepositPairs;
362  IsoDepositPairs isoDeposits_;
363  std::vector<float> isolations_;
364 
368 
370  float seedEnergy_;
371  float eMax_;
372  float e2nd_;
373  float e3x3_;
374  float eTop_;
375  float eBottom_;
376  float eLeft_;
377  float eRight_;
378 
379  float see_;
380  float spp_;
381  float sep_;
382 
383  float maxDR_;
384  float maxDRDPhi_;
385  float maxDRDEta_;
387 
391 
395 
399 
400  float cryEta_;
401  float cryPhi_;
402  float iEta_;
403  float iPhi_;
404 
407 
408  //PUPPI isolations
412 
413  // ---- link to PackedPFCandidates
415  std::vector<uint16_t> associatedPackedFCandidateIndices_;
416  };
417 
418 
419 }
420 
421 #endif
float subClusDPhi2() const
Definition: Photon.h:293
float subClusDEta3_
Definition: Photon.h:398
float subClusDPhi1_
Definition: Photon.h:392
void setSpp(float s)
Definition: Photon.h:271
Analysis-level Photon class.
Definition: Photon.h:47
edm::RefVector< PhotonCollection > PhotonRefVector
Definition: Photon.h:35
void setIEta(float i)
Definition: Photon.h:313
float cryEta_
Definition: Photon.h:400
float trackIso() const
Definition: Photon.h:116
float eLeft_
Definition: Photon.h:376
Definition: Photon.py:1
void setEcalIso(float caloIso)
Sets ecal isolation variable.
Definition: Photon.h:194
float ecalPFClusterIso() const
get and set PFCluster isolation
Definition: Photon.h:128
float neutralHadronIso() const
Definition: Photon.h:141
void setSubClusDPhi3(float s)
Definition: Photon.h:296
void setTrackIso(float trackIso)
Sets tracker isolation variable.
Definition: Photon.h:192
float chargedHadronIso() const
Accessors for Particle Flow Isolation variables.
Definition: Photon.h:484
size_t size_type
Definition: Candidate.h:30
float neutralHadronIso() const
Definition: Photon.h:486
void setE2nd(float e)
Definition: Photon.h:256
float puppiNeutralHadronIso() const
Definition: Photon.h:174
void setSee(float s)
Definition: Photon.h:269
bool passElectronVeto_
-— conversion veto -—
Definition: Photon.h:366
void trackIsoDeposit(const IsoDeposit &dep)
Sets tracker IsoDeposit.
Definition: Photon.h:235
embedPreshowerClusters
embed in AOD externally stored the electron&#39;s basic clusters
edm::Ref< PhotonCollection > PhotonRef
Definition: Photon.h:34
void setMaxDRRawEnergy(float m)
Definition: Photon.h:282
float subClusDEta3() const
Definition: Photon.h:302
float subClusDEta2() const
Definition: Photon.h:300
float puChargedHadronIso() const
Definition: Photon.h:147
float sep_
Definition: Photon.h:381
void setAssociatedPackedPFCandidates(const edm::RefProd< pat::PackedCandidateCollection > &refprod, T beginIndexItr, T endIndexItr)
References to PFCandidates linked to this object (e.g. for isolation vetos or masking before jet recl...
Definition: Photon.h:322
void ecalIsoDeposit(const IsoDeposit &dep)
Sets ecal IsoDeposit.
Definition: Photon.h:237
void setSubClusDPhi2(float s)
Definition: Photon.h:294
float eMax() const
Definition: Photon.h:253
embedRecHits
embed in AOD externally stored track (note: gsf electrons don&#39;t have a track)
float spp_
Definition: Photon.h:380
float eRight_
Definition: Photon.h:377
float eBottom() const
Definition: Photon.h:261
float maxDRDPhi() const
Definition: Photon.h:277
bool hasPixelSeed_
Definition: Photon.h:367
void setIsolationPUPPI(float chargedhadrons_, float neutralhadrons_, float photons_)
Sets PUPPI isolation.
Definition: Photon.h:200
float subClusDPhi1() const
Definition: Photon.h:291
float see_
Definition: Photon.h:379
float subClusDPhi3_
Definition: Photon.h:394
const std::vector< reco::CaloCluster > & basicClusters() const
Definition: Photon.h:74
std::vector< reco::SuperCluster > superCluster_
Definition: Photon.h:343
IsolationKeys
Enum defining isolation keys.
Definition: Isolation.h:9
float hcalIso() const
Definition: Photon.h:122
float iEta() const
Definition: Photon.h:312
std::vector< reco::CaloCluster > preshowerClusters_
Place to store electron&#39;s preshower clusters internally.
Definition: Photon.h:349
void setUserIso(float value, uint8_t index=0)
Sets user isolation variable index.
Definition: Photon.h:198
void setIPhi(float i)
Definition: Photon.h:311
float eLeft() const
Definition: Photon.h:263
float subClusRawE2_
Definition: Photon.h:389
float photonIso() const
Definition: Photon.h:487
Photon * clone() const override
required reimplementation of the Candidate&#39;s clone method
Definition: Photon.h:65
std::vector< reco::CaloCluster > seedCluster_
Place to store electron&#39;s seed cluster internally.
Definition: Photon.h:353
float e2nd() const
Definition: Photon.h:255
#define embed
Definition: AMPTWrapper.h:178
void setHcalIso(float caloIso)
Sets hcal isolation variable.
Definition: Photon.h:196
Definition: HeavyIon.h:7
embedBasicClusters
embed in AOD externally stored the electron&#39;s seedcluster
void setIsolation(IsolationKeys key, float value)
Definition: Photon.h:179
static const char sep_[]
float chargedHadronIso() const
Definition: Photon.h:138
float subClusRawE1_
Definition: Photon.h:388
void setELeft(float e)
Definition: Photon.h:264
float subClusRawE3_
Definition: Photon.h:390
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:227
void userIsoDeposit(const IsoDeposit &dep, uint8_t index=0)
Sets user-level IsoDeposit.
Definition: Photon.h:241
void setEMax(float e)
Definition: Photon.h:254
slimmer of PAT Taus
std::ostream & operator<<(std::ostream &, BeamSpot beam)
Definition: BeamSpot.cc:71
const EcalRecHitCollection * recHits() const
Definition: Photon.h:79
float puppiChargedHadronIso_
Definition: Photon.h:409
float puppiChargedHadronIso() const
Definition: Photon.h:173
float seedEnergy() const
input variables for regression energy corrections
Definition: Photon.h:250
const reco::Candidate * genPhoton() const
return the match to the generated photon
Definition: Photon.h:95
void setERight(float e)
Definition: Photon.h:266
void setMaxDRDEta(float m)
Definition: Photon.h:280
float eMax_
Definition: Photon.h:371
float subClusRawE1() const
Definition: Photon.h:284
float puppiNeutralHadronIso_
Definition: Photon.h:410
void setPhotonIDs(const std::vector< IdPair > &ids)
Definition: Photon.h:110
float eTop() const
Definition: Photon.h:259
std::ostream & operator<<(std::ostream &out, const strbitset::index_type &r)
Definition: strbitset.cc:27
float e3x3() const
Definition: Photon.h:257
edm::RefProd< pat::PackedCandidateCollection > packedPFCandidates_
Definition: Photon.h:414
const IsoDeposit * hcalIsoDeposit() const
Return the hcal IsoDeposit.
Definition: Photon.h:223
float subClusRawE3() const
Definition: Photon.h:288
void setPassElectronVeto(bool flag)
Definition: Photon.h:244
float patParticleIso() const
Definition: Photon.h:135
void setETop(float e)
Definition: Photon.h:260
float subClusDPhi3() const
Definition: Photon.h:295
float userIso(uint8_t index=0) const
Returns a user defined isolation value.
Definition: Photon.h:150
Definition: value.py:1
void setSeedEnergy(float e)
Definition: Photon.h:251
void setSubClusDPhi1(float s)
Definition: Photon.h:292
void hcalIsoDeposit(const IsoDeposit &dep)
Sets hcal IsoDeposit.
Definition: Photon.h:239
float maxDR() const
Definition: Photon.h:275
void setSubClusDEta1(float s)
Definition: Photon.h:299
float see() const
Definition: Photon.h:268
std::vector< IdPair > photonIDs_
Definition: Photon.h:359
float puppiPhotonIso_
Definition: Photon.h:411
bool embeddedSuperCluster_
Definition: Photon.h:342
void setCryEta(float c)
Definition: Photon.h:308
const IsoDeposit * ecalIsoDeposit() const
Return the ecal IsoDeposit.
Definition: Photon.h:221
size_t numberOfSourceCandidatePtrs() const override
get the number of non-null PFCandidates
Definition: Photon.h:333
embedSeedCluster
embed in AOD externally stored supercluster
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:345
float e2nd_
Definition: Photon.h:372
float iEta_
Definition: Photon.h:402
EcalRecHitCollection recHits_
Place to store electron&#39;s RecHits internally (5x5 around seed+ all RecHits)
Definition: Photon.h:357
bool embeddedRecHits_
True if RecHits stored internally.
Definition: Photon.h:355
float hcalPFClusIso_
Definition: Photon.h:406
unsigned int index
index type
Definition: Candidate.h:51
bool hasPixelSeed() const
Definition: Photon.h:246
void setCryPhi(float c)
Definition: Photon.h:306
float e3x3_
Definition: Photon.h:373
std::pair< std::string, Bool_t > IdPair
Definition: Photon.h:51
void setHasPixelSeed(bool flag)
Definition: Photon.h:247
float ecalIso() const
Definition: Photon.h:119
const std::vector< IdPair > & photonIDs() const
Definition: Photon.h:107
float cryPhi_
Definition: Photon.h:401
float puppiPhotonIso() const
Definition: Photon.h:175
float subClusDEta2_
Definition: Photon.h:397
void setSubClusDEta2(float s)
Definition: Photon.h:301
void setMaxDR(float m)
Definition: Photon.h:276
float subClusDEta1_
Definition: Photon.h:396
float hcalPFClusterIso() const
Definition: Photon.h:129
IsoDepositPairs isoDeposits_
Definition: Photon.h:362
float eBottom_
Definition: Photon.h:375
void setSubClusRawE2(float s)
Definition: Photon.h:287
float iPhi() const
Definition: Photon.h:310
bool passElectronVeto() const
vertex fit method
Definition: Photon.h:243
void setEBottom(float e)
Definition: Photon.h:262
float maxDRRawEnergy() const
Definition: Photon.h:281
float caloIso() const
Definition: Photon.h:125
float photonIso() const
Definition: Photon.h:144
const IsoDeposit * trackIsoDeposit() const
Return the tracker IsoDeposit.
Definition: Photon.h:219
float seedEnergy_
-— input variables for regression energy corrections -—
Definition: Photon.h:370
void setMaxDRDPhi(float m)
Definition: Photon.h:278
float maxDRDEta() const
Definition: Photon.h:279
fixed size matrix
float spp() const
Definition: Photon.h:270
embedSuperCluster
embed in AOD externally stored gsf track
void setSubClusDEta3(float s)
Definition: Photon.h:303
float cryEta() const
Definition: Photon.h:307
float subClusDPhi2_
Definition: Photon.h:393
bool embeddedSeedCluster_
True if seed cluster is stored internally.
Definition: Photon.h:351
void setSubClusRawE1(float s)
Definition: Photon.h:285
Templated PAT object container.
Definition: PATObject.h:49
float userIsolation(IsolationKeys key) const
Definition: Photon.h:153
float iPhi_
Definition: Photon.h:403
float sep() const
Definition: Photon.h:272
const IsoDeposit * userIsoDeposit(uint8_t index=0) const
Return a specified user-level IsoDeposit.
Definition: Photon.h:225
void setSubClusRawE3(float s)
Definition: Photon.h:289
std::vector< uint16_t > associatedPackedFCandidateIndices_
Definition: Photon.h:415
float maxDRDEta_
Definition: Photon.h:385
float ecalPFClusIso_
Definition: Photon.h:405
float subClusDEta1() const
Definition: Photon.h:298
long double T
float maxDRRawEnergy_
Definition: Photon.h:386
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:210
float eTop_
Definition: Photon.h:374
float eRight() const
Definition: Photon.h:265
float maxDRDPhi_
Definition: Photon.h:384
float subClusRawE2() const
Definition: Photon.h:286
float maxDR_
Definition: Photon.h:383
std::vector< std::pair< IsolationKeys, pat::IsoDeposit > > IsoDepositPairs
Definition: Photon.h:361
void setGenPhoton(const reco::GenParticleRef &gp, bool embed=false)
method to set the generated photon
Definition: Photon.h:97
std::vector< Photon > PhotonCollection
Definition: Photon.h:32
void setHcalPFClusterIso(float hcalPFClus)
Definition: Photon.h:131
float cryPhi() const
Definition: Photon.h:305
void setE3x3(float e)
Definition: Photon.h:258
std::vector< reco::CaloCluster > basicClusters_
Place to store electron&#39;s basic clusters internally.
Definition: Photon.h:347
std::vector< float > isolations_
Definition: Photon.h:363
void setSep(float s)
Definition: Photon.h:273
const std::vector< reco::CaloCluster > & preshowerClusters() const
Definition: Photon.h:76
void setEcalPFClusterIso(float ecalPFClus)
Definition: Photon.h:130