Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 11:59:10

0001 /* 
0002 Functions to return total energy contained in NxN (3x3/5x5/7x7)
0003 Hcal towers aroud a given DetId. 
0004 
0005 Inputs : 
0006 1. HcalTopology, 
0007 2. DetId around which NxN is to be formed, 
0008 3. HcalRecHitCollection,
0009 4. Number of towers to be navigated along eta and phi along 
0010    one direction (navigation is done alone +-deta and +-dphi).
0011 5. option to include HO
0012 
0013 Authors:  Seema Sharma, Sunanda Banerjee
0014 Created: August 2009
0015 */
0016 
0017 #ifndef CalibrationIsolatedParticleseHCALMatrixExtra_h
0018 #define CalibrationIsolatedParticleseHCALMatrixExtra_h
0019 
0020 // system include files
0021 #include <memory>
0022 #include <map>
0023 #include <sstream>
0024 #include <vector>
0025 
0026 // user include files
0027 #include "FWCore/Framework/interface/Frameworkfwd.h"
0028 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0029 #include "DataFormats/Common/interface/Handle.h"
0030 #include "DataFormats/Candidate/interface/Candidate.h"
0031 #include "DataFormats/DetId/interface/DetId.h"
0032 
0033 #include "Geometry/CaloTopology/interface/HcalTopology.h"
0034 #include "Calibration/IsolatedParticles/interface/eHCALMatrix.h"
0035 
0036 namespace spr {
0037 
0038   template <typename T>
0039   std::vector<std::pair<DetId, double> > eHCALmatrixCell(const HcalTopology* topology,
0040                                                          const DetId& det,
0041                                                          edm::Handle<T>& hits,
0042                                                          int ieta,
0043                                                          int iphi,
0044                                                          bool includeHO = false,
0045                                                          double hbThr = -100,
0046                                                          double heThr = -100,
0047                                                          double hfThr = -100,
0048                                                          double hoThr = -100,
0049                                                          bool debug = false);
0050 
0051   template <typename T>
0052   std::pair<double, int> eHCALmatrixTotal(const HcalTopology* topology,
0053                                           const DetId& det,
0054                                           edm::Handle<T>& hits,
0055                                           int ieta,
0056                                           int iphi,
0057                                           bool includeHO = false,
0058                                           double hbThr = -100,
0059                                           double heThr = -100,
0060                                           double hfThr = -100,
0061                                           double hoThr = -100,
0062                                           bool debug = false);
0063 
0064   template <typename T>
0065   double energyHCALmatrix(const HcalTopology* topology,
0066                           const DetId& det,
0067                           edm::Handle<T>& hits,
0068                           int ieta,
0069                           int iphi,
0070                           bool includeHO = false,
0071                           double hbThr = -100,
0072                           double heThr = -100,
0073                           double hfThr = -100,
0074                           double hoThr = -100,
0075                           bool debug = false);
0076 
0077   template <typename T>
0078   double energyHCAL(std::vector<DetId>& vNeighboursDetId,
0079                     std::vector<DetId>& dets,
0080                     const HcalTopology* topology,
0081                     edm::Handle<T>& hits,
0082                     bool includeHO = false,
0083                     double hbThr = -100,
0084                     double heThr = -100,
0085                     double hfThr = -100,
0086                     double hoThr = -100,
0087                     bool debug = false);
0088 
0089   template <typename T>
0090   std::vector<std::pair<DetId, double> > energyDetIdHCAL(std::vector<DetId>& vdets,
0091                                                          edm::Handle<T>& hits,
0092                                                          double hbThr = -100,
0093                                                          double heThr = -100,
0094                                                          double hfThr = -100,
0095                                                          double hoThr = -100,
0096                                                          bool debug = false);
0097 
0098 }  // namespace spr
0099 
0100 #include "Calibration/IsolatedParticles/interface/eHCALMatrixExtra.icc"
0101 #endif