CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HGCalDigiValidation.h
Go to the documentation of this file.
1 #ifndef HGCalDigiValidation_h
2 #define HGCalDigiValidation_h
3 // -*- C++ -*-
4 //
5 // Package: HGCalDigiValidation
6 // Class: HGCalDigiValidation
7 //
15 //
16 // Original Author: Raman Khurana
17 // Created: Fri, 31 Jan 2014 18:35:18 GMT
18 // $Id$
19 //
20 //
21 
22 
23 // system include files
24 #include <memory>
25 #include <iostream>
26 #include <fstream>
27 #include <vector>
28 #include <map>
29 #include <string>
30 
31 // user include files
39 
42 
44 
45 public:
46  struct digiInfo{
48  x = y = z = 0.0;
49  layer = adc = charge = 0;
50  }
51  double x, y, z;
52  int layer, charge, adc;
53  };
54 
55  explicit HGCalDigiValidation(const edm::ParameterSet&);
57 
58  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
59  void dqmBeginRun(const edm::Run&, const edm::EventSetup&) override;
60  void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
61  void analyze(const edm::Event&, const edm::EventSetup&) override;
62 
63 private:
65  void fillDigiInfo();
66  void fillOccupancyMap(std::map<int, int>& OccupancyMap, int layer);
67  template<class T1, class T2>
68  void digiValidation(const T1& detId, const T2* geom, int, uint16_t, double);
69 
70  // ----------member data ---------------------------
74  bool ifHCAL_;
75  int layers_;
76 
77  std::map<int, int> OccupancyMap_plus_;
78  std::map<int, int> OccupancyMap_minus_;
79 
80  std::vector<MonitorElement*> charge_;
81  std::vector<MonitorElement*> DigiOccupancy_XY_;
82  std::vector<MonitorElement*> ADC_;
83  std::vector<MonitorElement*> DigiOccupancy_Plus_;
84  std::vector<MonitorElement*> DigiOccupancy_Minus_;
87 
88 };
89 #endif
void analyze(const edm::Event &, const edm::EventSetup &) override
std::vector< MonitorElement * > charge_
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
std::vector< MonitorElement * > DigiOccupancy_XY_
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
void dqmBeginRun(const edm::Run &, const edm::EventSetup &) override
HGCalDigiValidation(const edm::ParameterSet &)
std::vector< MonitorElement * > DigiOccupancy_Minus_
void digiValidation(const T1 &detId, const T2 *geom, int, uint16_t, double)
MonitorElement * MeanDigiOccupancy_Minus_
edm::EDGetToken digiSource_
std::map< int, int > OccupancyMap_minus_
std::map< int, int > OccupancyMap_plus_
std::vector< MonitorElement * > ADC_
MonitorElement * MeanDigiOccupancy_Plus_
void fillOccupancyMap(std::map< int, int > &OccupancyMap, int layer)
std::vector< MonitorElement * > DigiOccupancy_Plus_
Definition: Run.h:42