CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 
19 public:
20 
22 
24 
25  void setup(const edm::ParameterSet& conf,
26  std::vector<int> const & flagsEB_,
27  std::vector<int> const & flagsEE_,
28  std::vector<int> const & severitiesEB_,
29  std::vector<int> const & severitiesEE_,
31 
32  void calculate(const reco::Photon*,
33  const edm::Event&, const edm::EventSetup& es,
36  reco::Photon::IsolationVariables& phoisolR04 ) const;
37 
38 
39 
40 private:
41 
42  static void classify(const reco::Photon* photon,
43  bool &isEBPho,
44  bool &isEEPho,
45  bool &isEBEtaGap,
46  bool &isEBPhiGap,
47  bool &isEERingGap,
48  bool &isEEDeeGap,
49  bool &isEBEEGap) dso_internal;
50 
51 
52 
53  void calculateTrackIso(const reco::Photon* photon,
54  const edm::Event &e,
55  double &trkCone,
56  int &ntrkCone,
57  double pTThresh=0,
58  double RCone=.4,
59  double RinnerCone=.1,
60  double etaSlice=0.015,
61  double lip=0.2,
62  double d0=0.1) const dso_internal;
63 
64 
65 
66  double calculateEcalRecHitIso(const reco::Photon* photon,
67  const edm::Event& iEvent,
68  const edm::EventSetup& iSetup,
69  double RCone,
70  double RConeInner,
71  double etaSlice,
72  double eMin,
73  double etMin,
74  bool vetoClusteredHits,
75  bool useNumCrystals) 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 RConeInner,
82  double eMin,
83  signed int depth) const dso_internal;
84 
85 
86  double calculateHcalTowerIso(const reco::Photon* photon,
87  const edm::Event& iEvent,
88  const edm::EventSetup& iSetup,
89  double RCone,
90  double eMin,
91  signed int depth) const dso_internal;
92 
93 
94 
95 
96  private:
97 
101 
105  std::vector<double> moduleEtaBoundary_;
108 
115 
122 
123 
124  std::vector<int> flagsEB_;
125  std::vector<int> flagsEE_;
126  std::vector<int> severityExclEB_;
127  std::vector<int> severityExclEE_;
128 
129 
130 };
131 
132 #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:230
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)
string const
Definition: compareJSON.py:14
#define dso_internal
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)