CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
HcalDigisValidation.h
Go to the documentation of this file.
1 #ifndef HCALDIGISVALIDATION_H
2 #define HCALDIGISVALIDATION_H
3 
4 #include <memory>
5 
8 
10 
13 
16 
24 
28 
30 
35 
39 
40 /*TP Code*/
44 /*~TP Code*/
45 
46 #include <map>
47 #include <vector>
48 #include <utility>
49 #include <ostream>
50 #include <string>
51 #include <algorithm>
52 #include <cmath>
53 #include <iostream>
54 
56 public:
57  explicit HcalDigisValidation(const edm::ParameterSet &);
58 
59  ~HcalDigisValidation() override;
60 
61  void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
62  void dqmBeginRun(const edm::Run &run, const edm::EventSetup &c) override;
63 
64 private:
65  struct HistLim {
66  HistLim(int nbin, double mini, double maxi) : n(nbin), min(mini), max(maxi) {}
67  int n;
68  double min;
69  double max;
70  };
71 
72  void analyze(const edm::Event &, const edm::EventSetup &) override;
73 
74  std::map<std::string, MonitorElement *> *msm_;
75 
76  void book1D(DQMStore::IBooker &ib, std::string name, int n, double min, double max);
77 
78  void book1D(DQMStore::IBooker &ib, std::string name, const HistLim &limX);
79 
80  void fill1D(std::string name, double X, double weight = 1);
81 
82  void book2D(DQMStore::IBooker &ib, std::string name, const HistLim &limX, const HistLim &limY);
83 
84  void fill2D(std::string name, double X, double Y, double weight = 1);
85 
86  void bookPf(DQMStore::IBooker &ib, std::string name, const HistLim &limX, const HistLim &limY);
87 
88  void bookPf(DQMStore::IBooker &ib, std::string name, const HistLim &limX, const HistLim &limY, const char *option);
89 
90  void fillPf(std::string name, double X, double Y);
91 
93 
94  void booking(DQMStore::IBooker &ib, std::string subdetopt, int bnoise, int bmc);
95 
96  std::string str(int x);
97 
98  template <class Digi>
99  void reco(const edm::Event &iEvent,
100  const edm::EventSetup &iSetup,
102  template <class dataFrameType>
103  void reco(const edm::Event &iEvent,
104  const edm::EventSetup &iSetup,
106 
111  // std::string inputLabel_;
119  int noise_;
121  bool hep17_;
122  bool HEPhase1_;
123  bool HBPhase1_;
125 
132 
135 
142 
146 
147  int nevent1;
148  int nevent2;
149  int nevent3;
150  int nevent4;
151  int nevtot;
152 
153  int maxDepth_[5]; // 0:any, 1:HB, 2:HE, 3:HF
154  int nChannels_[5]; // 0:any, 1:HB, 2:HE,
155 
157 };
158 
159 #endif
edm::EDGetTokenT< HODigiCollection > tok_ho_
const edm::EventSetup & c
int ib
Definition: cuy.py:661
edm::ESGetToken< CaloTPGTranscoder, CaloTPGRecord > tok_Decoder_
const HcalDDDRecConstants * hcons_
const HcalDbService * conditions_
void dqmBeginRun(const edm::Run &run, const edm::EventSetup &c) override
#define X(str)
Definition: MuonsGrabber.cc:38
edm::ESGetToken< HcalDDDRecConstants, HcalRecNumberingRecord > tok_HRNDC_
void reco(const edm::Event &iEvent, const edm::EventSetup &iSetup, const edm::EDGetTokenT< edm::SortedCollection< Digi > > &tok)
edm::EDGetTokenT< QIE11DigiCollection > tok_qie11_hbhe_
const HcalTopology * htopo_
void analyze(const edm::Event &, const edm::EventSetup &) override
edm::ESGetToken< HcalDbService, HcalDbRecord > tok_Cond_
int iEvent
Definition: GenABIO.cc:224
void fillPf(std::string name, double X, double Y)
void fill2D(std::string name, double X, double Y, double weight=1)
HcalDigisValidation(const edm::ParameterSet &)
void bookPf(DQMStore::IBooker &ib, std::string name, const HistLim &limX, const HistLim &limY)
T min(T a, T b)
Definition: MathUtil.h:58
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > tok_Geom_
edm::EDGetTokenT< HBHEDigiCollection > tok_hbhe_
edm::InputTag QIE10inputTag_
void book2D(DQMStore::IBooker &ib, std::string name, const HistLim &limX, const HistLim &limY)
std::map< std::string, MonitorElement * > * msm_
void fill1D(std::string name, double X, double weight=1)
edm::EDGetTokenT< edm::PCaloHitContainer > tok_mc_
MonitorElement * monitor(std::string name)
void booking(DQMStore::IBooker &ib, std::string subdetopt, int bnoise, int bmc)
edm::EDGetTokenT< HcalTrigPrimDigiCollection > tok_emulTPs_
edm::InputTag QIE11inputTag_
std::string str(int x)
edm::EDGetTokenT< HcalTrigPrimDigiCollection > tok_dataTPs_
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
edm::ESGetToken< HcalTrigTowerGeometry, CaloGeometryRecord > tok_TPGeom_
void book1D(DQMStore::IBooker &ib, std::string name, int n, double min, double max)
int weight
Definition: histoStyle.py:51
edm::EDGetTokenT< QIE10DigiCollection > tok_qie10_hf_
HistLim(int nbin, double mini, double maxi)
Definition: Run.h:45
edm::ESGetToken< HcalTopology, HcalRecNumberingRecord > tok_Topo_
edm::EDGetTokenT< HFDigiCollection > tok_hf_