CMS 3D CMS Logo

PhotonIsolationCalculator.h
Go to the documentation of this file.
1 #ifndef PhotonIsolationCalculator_H
2 #define PhotonIsolationCalculator_H
3 
8 
11 
12 #include <string>
13 
16 
18 public:
20 
22 
23  void setup(const edm::ParameterSet& conf,
24  std::vector<int> const& flagsEB_,
25  std::vector<int> const& flagsEE_,
26  std::vector<int> const& severitiesEB_,
27  std::vector<int> const& severitiesEE_,
29 
30  void calculate(const reco::Photon*,
31  const edm::Event&,
32  const edm::EventSetup& es,
35  reco::Photon::IsolationVariables& phoisolR04) const;
36 
37 private:
38  static void classify(const reco::Photon* photon,
39  bool& isEBPho,
40  bool& isEEPho,
41  bool& isEBEtaGap,
42  bool& isEBPhiGap,
43  bool& isEERingGap,
44  bool& isEEDeeGap,
45  bool& isEBEEGap) dso_internal;
46 
47  void calculateTrackIso(const reco::Photon* photon,
48  const edm::Event& e,
49  double& trkCone,
50  int& ntrkCone,
51  double pTThresh = 0,
52  double RCone = .4,
53  double RinnerCone = .1,
54  double etaSlice = 0.015,
55  double lip = 0.2,
56  double d0 = 0.1) const dso_internal;
57 
58  double calculateEcalRecHitIso(const reco::Photon* photon,
59  const edm::Event& iEvent,
60  const edm::EventSetup& iSetup,
61  double RCone,
62  double RConeInner,
63  double etaSlice,
64  double eMin,
65  double etMin,
66  bool vetoClusteredHits,
67  bool useNumCrystals) const dso_internal;
68 
69  double calculateHcalTowerIso(const reco::Photon* photon,
70  const edm::Event& iEvent,
71  const edm::EventSetup& iSetup,
72  double RCone,
73  double RConeInner,
74  double eMin,
75  signed int depth) const dso_internal;
76 
77  double calculateHcalTowerIso(const reco::Photon* photon,
78  const edm::Event& iEvent,
79  const edm::EventSetup& iSetup,
80  double RCone,
81  double eMin,
82  signed int depth) const dso_internal;
83 
84 private:
88 
92  std::vector<double> moduleEtaBoundary_;
95 
102 
109 
110  std::vector<int> flagsEB_;
111  std::vector<int> flagsEE_;
112  std::vector<int> severityExclEB_;
113  std::vector<int> severityExclEE_;
114 };
115 
116 #endif // PhotonIsolationCalculator_H
void calculate(const reco::Photon *, const edm::Event &, const edm::EventSetup &es, reco::Photon::FiducialFlags &phofid, reco::Photon::IsolationVariables &phoisolR03, reco::Photon::IsolationVariables &phoisolR04) const
double calculateHcalTowerIso(const reco::Photon *photon, const edm::Event &iEvent, const edm::EventSetup &iSetup, double RCone, double RConeInner, double eMin, signed int depth) const
int iEvent
Definition: GenABIO.cc:224
void setup(const edm::ParameterSet &conf, std::vector< int > const &flagsEB_, std::vector< int > const &flagsEE_, std::vector< int > const &severitiesEB_, std::vector< int > const &severitiesEE_, edm::ConsumesCollector &&iC)
#define dso_internal
Definition: Visibility.h:13
double calculateEcalRecHitIso(const reco::Photon *photon, const edm::Event &iEvent, const edm::EventSetup &iSetup, double RCone, double RConeInner, double etaSlice, double eMin, double etMin, bool vetoClusteredHits, bool useNumCrystals) const
void calculateTrackIso(const reco::Photon *photon, const edm::Event &e, double &trkCone, int &ntrkCone, double pTThresh=0, double RCone=.4, double RinnerCone=.1, double etaSlice=0.015, double lip=0.2, double d0=0.1) const
std::vector< double > moduleEtaBoundary_
static void classify(const reco::Photon *photon, bool &isEBPho, bool &isEEPho, bool &isEBEtaGap, bool &isEBPhiGap, bool &isEERingGap, bool &isEEDeeGap, bool &isEBEEGap)