CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
eHCALMatrixExtra.h
Go to the documentation of this file.
1 /*
2 Functions to return total energy contained in NxN (3x3/5x5/7x7)
3 Hcal towers aroud a given DetId.
4 
5 Inputs :
6 1. HcalTopology,
7 2. DetId around which NxN is to be formed,
8 3. HcalRecHitCollection,
9 4. Number of towers to be navigated along eta and phi along
10  one direction (navigation is done alone +-deta and +-dphi).
11 5. option to include HO
12 
13 Authors: Seema Sharma, Sunanda Banerjee
14 Created: August 2009
15 */
16 
17 #ifndef CalibrationIsolatedParticleseHCALMatrixExtra_h
18 #define CalibrationIsolatedParticleseHCALMatrixExtra_h
19 
20 // system include files
21 #include <memory>
22 #include <map>
23 #include <vector>
24 
25 // user include files
30 
33 
34 namespace spr {
35 
36  template <typename T>
37  std::vector<std::pair<DetId, double> > eHCALmatrixCell(const HcalTopology* topology,
38  const DetId& det,
39  edm::Handle<T>& hits,
40  int ieta,
41  int iphi,
42  bool includeHO = false,
43  double hbThr = -100,
44  double heThr = -100,
45  double hfThr = -100,
46  double hoThr = -100,
47  bool debug = false);
48 
49  template <typename T>
50  std::pair<double, int> eHCALmatrixTotal(const HcalTopology* topology,
51  const DetId& det,
52  edm::Handle<T>& hits,
53  int ieta,
54  int iphi,
55  bool includeHO = false,
56  double hbThr = -100,
57  double heThr = -100,
58  double hfThr = -100,
59  double hoThr = -100,
60  bool debug = false);
61 
62  template <typename T>
63  double energyHCALmatrix(const HcalTopology* topology,
64  const DetId& det,
65  edm::Handle<T>& hits,
66  int ieta,
67  int iphi,
68  bool includeHO = false,
69  double hbThr = -100,
70  double heThr = -100,
71  double hfThr = -100,
72  double hoThr = -100,
73  bool debug = false);
74 
75  template <typename T>
76  double energyHCAL(std::vector<DetId>& vNeighboursDetId,
77  std::vector<DetId>& dets,
78  const HcalTopology* topology,
79  edm::Handle<T>& hits,
80  bool includeHO = false,
81  double hbThr = -100,
82  double heThr = -100,
83  double hfThr = -100,
84  double hoThr = -100,
85  bool debug = false);
86 
87  template <typename T>
88  std::vector<std::pair<DetId, double> > energyDetIdHCAL(std::vector<DetId>& vdets,
89  edm::Handle<T>& hits,
90  double hbThr = -100,
91  double heThr = -100,
92  double hfThr = -100,
93  double hoThr = -100,
94  bool debug = false);
95 
96 } // namespace spr
97 
98 #include "Calibration/IsolatedParticles/interface/eHCALMatrixExtra.icc"
99 #endif
std::vector< std::pair< DetId, double > > eHCALmatrixCell(const HcalTopology *topology, const DetId &det, edm::Handle< T > &hits, int ieta, int iphi, bool includeHO=false, double hbThr=-100, double heThr=-100, double hfThr=-100, double hoThr=-100, bool debug=false)
double energyHCALmatrix(const HcalTopology *topology, const DetId &det, edm::Handle< T > &hits, int ieta, int iphi, bool includeHO=false, double hbThr=-100, double heThr=-100, double hfThr=-100, double hoThr=-100, bool debug=false)
std::vector< std::pair< DetId, double > > energyDetIdHCAL(std::vector< DetId > &vdets, edm::Handle< T > &hits, double hbThr=-100, double heThr=-100, double hfThr=-100, double hoThr=-100, bool debug=false)
std::pair< double, int > eHCALmatrixTotal(const HcalTopology *topology, const DetId &det, edm::Handle< T > &hits, int ieta, int iphi, bool includeHO=false, double hbThr=-100, double heThr=-100, double hfThr=-100, double hoThr=-100, bool debug=false)
Definition: DetId.h:17
#define debug
Definition: HDRShower.cc:19
double energyHCAL(std::vector< DetId > &vdets, edm::Handle< T > &hits, double hbThr=-100, double heThr=-100, double hfThr=-100, double hoThr=-100, double tMin=-500, double tMax=500, int useRaw=0, bool debug=false)