CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
eCone.h
Go to the documentation of this file.
1 #ifndef CalibrationIsolatedParticleseCone_h
2 #define CalibrationIsolatedParticleseCone_h
3 
4 // system include files
5 #include <memory>
6 #include <map>
7 #include <vector>
8 
9 // user include files
11 
15 
17 
19 
20 namespace spr {
21 
22  // Basic cone energy cluster for hcal simhits and hcal rechits
23  template <typename T>
24  double eCone_hcal(const CaloGeometry* geo,
25  edm::Handle<T>& hits,
26  const GlobalPoint& hpoint1,
27  const GlobalPoint& point1,
28  double dR,
29  const GlobalVector& trackMom,
30  int& nRecHits,
31  double hbThr = -100,
32  double heThr = -100,
33  double hfThr = -100,
34  double hoThr = -100,
35  double tMin = -500,
36  double tMax = 500,
37  int detOnly = -1,
38  int useRaw = 0,
39  bool debug = false);
40 
41  // Cone energy cluster for hcal simhits and hcal rechits
42  // that returns vector of rechit IDs and hottest cell info
43  template <typename T>
44  double eCone_hcal(const CaloGeometry* geo,
45  edm::Handle<T>& hits,
46  const GlobalPoint& hpoint1,
47  const GlobalPoint& point1,
48  double dR,
49  const GlobalVector& trackMom,
50  int& nRecHits,
51  std::vector<DetId>& coneRecHitDetIds,
52  double& distFromHotCell,
53  int& ietaHotCell,
54  int& iphiHotCell,
55  GlobalPoint& gposHotCell,
56  int detOnly = -1,
57  int useRaw = 0,
58  bool debug = false);
59 
60  template <typename T>
61  double eCone_hcal(const CaloGeometry* geo,
62  edm::Handle<T>& hits,
63  const GlobalPoint& hpoint1,
64  const GlobalPoint& point1,
65  double dR,
66  const GlobalVector& trackMom,
67  int& nRecHits,
68  std::vector<DetId>& coneRecHitDetIds,
69  std::vector<double>& eHit,
70  int useRaw = 0,
71  bool debug = false);
72 
73  // Cone energy cluster for hcal simhits and hcal rechits
74  // that returns vector of rechit IDs and hottest cell info
75  // AND info for making "hit maps"
76  template <typename T>
77  double eCone_hcal(const CaloGeometry* geo,
78  edm::Handle<T>& hits,
79  const GlobalPoint& hpoint1,
80  const GlobalPoint& point1,
81  double dR,
82  const GlobalVector& trackMom,
83  int& nRecHits,
84  std::vector<int>& RH_ieta,
85  std::vector<int>& RH_iphi,
86  std::vector<double>& RH_ene,
87  std::vector<DetId>& coneRecHitDetIds,
88  double& distFromHotCell,
89  int& ietaHotCell,
90  int& iphiHotCell,
91  GlobalPoint& gposHotCell,
92  int detOnly = -1,
93  int useRaw = 0,
94  bool debug = false);
95 
96  // Basic cone energy clustering for Ecal
97  template <typename T>
98  double eCone_ecal(const CaloGeometry* geo,
99  edm::Handle<T>& barrelhits,
100  edm::Handle<T>& endcaphits,
101  const GlobalPoint& hpoint1,
102  const GlobalPoint& point1,
103  double dR,
104  const GlobalVector& trackMom,
105  int& nRecHits,
106  double ebThr = -100,
107  double eeThr = -100,
108  double tMin = -500,
109  double tMax = 500,
110  bool debug = false);
111 
112  template <typename T>
113  double eCone_ecal(const CaloGeometry* geo,
114  edm::Handle<T>& barrelhits,
115  edm::Handle<T>& endcaphits,
116  const GlobalPoint& hpoint1,
117  const GlobalPoint& point1,
118  double dR,
119  const GlobalVector& trackMom,
120  std::vector<DetId>& coneRecHitDetIds,
121  std::vector<double>& eHit,
122  double ebThr = -100,
123  double eeThr = -100,
124  double tMin = -500,
125  double tMax = 500,
126  bool debug = false);
127 
128 } // namespace spr
129 
130 #include "eCone.icc"
131 
132 #endif
double eCone_hcal(const CaloGeometry *geo, edm::Handle< T > &hits, const GlobalPoint &hpoint1, const GlobalPoint &point1, double dR, const GlobalVector &trackMom, int &nRecHits, double hbThr=-100, double heThr=-100, double hfThr=-100, double hoThr=-100, double tMin=-500, double tMax=500, int detOnly=-1, int useRaw=0, bool debug=false)
double eCone_ecal(const CaloGeometry *geo, edm::Handle< T > &barrelhits, edm::Handle< T > &endcaphits, const GlobalPoint &hpoint1, const GlobalPoint &point1, double dR, const GlobalVector &trackMom, int &nRecHits, double ebThr=-100, double eeThr=-100, double tMin=-500, double tMax=500, bool debug=false)
#define debug
Definition: HDRShower.cc:19