CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
HcalRecHitsValidation.h
Go to the documentation of this file.
1 #ifndef HcalRecHitsValidation_H
2 #define HcalRecHitsValidation_H
3 
13 
16 
20 
30 
33 
35 #include <algorithm>
36 #include <cmath>
37 #include <ostream>
38 #include <string>
39 #include <utility>
40 #include <vector>
41 
43 // channel status
46 
49 
50 // severity level assignment for HCAL
53 
54 // severity level assignment for ECAL
56 
58 public:
60  ~HcalRecHitsValidation() override;
61  void analyze(edm::Event const &ev, edm::EventSetup const &c) override;
62 
63  void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
64 
65 private:
66  virtual void fillRecHitsTmp(int subdet_, edm::Event const &ev);
67  double dR(double eta1, double phi1, double eta2, double phi2);
68  double phi12(double phi1, double en1, double phi2, double en2);
69  double dPhiWsign(double phi1, double phi2);
70 
72 
79 
80  // RecHit Collection input tags
88 
91 
92  // choice of subdetector in config : noise/HB/HE/HO/HF/ALL (0/1/2/3/4/5)
93  int subdet_;
94 
95  // single/multi-particle sample (1/2)
96  int iz;
97  int imc;
98 
99  // In ALL other cases : 2D ieta-iphi maps
100  // without and with cuts (a la "Scheme B") on energy
101  // - only in the cone around particle for single-part samples (mc = "yes")
102  // - for all calls in milti-particle samples (mc = "no")
103 
107 
108  // energy of rechits
113 
117 
120 
123 
126 
127  // Histo (2D plot) for sum of RecHits vs SimHits (hcal only)
134  // profile histo (2D plot) for sum of RecHits vs SimHits (hcal only)
141 
142  // 2D plot of sum of RecHits in HCAL as function of ECAL's one
145 
146  // Chi2
149 
152 
154 
155  // Filling vectors with essential RecHits data
156  std::vector<int> csub;
157  std::vector<int> cieta;
158  std::vector<int> ciphi;
159  std::vector<int> cdepth;
160  std::vector<double> cen;
161  std::vector<double> ceta;
162  std::vector<double> cphi;
163  std::vector<double> ctime;
164  std::vector<double> cz;
165  std::vector<uint32_t> cstwd;
166  std::vector<uint32_t> cauxstwd;
167  std::vector<double> cchi2;
168 
169  // counter
170  int nevtot;
171 };
172 
173 #endif
std::vector< double > cchi2
MonitorElement * meRecHitsM2Chi2HB
const edm::EventSetup & c
edm::EDGetTokenT< edm::PCaloHitContainer > tok_hh_
MonitorElement * meRecHitsEnergyHF
double phi12(double phi1, double en1, double phi2, double en2)
MonitorElement * meTEprofileHE_Low
std::vector< uint32_t > cstwd
edm::EDGetTokenT< HFRecHitCollection > tok_hf_
MonitorElement * meLog10Chi2profileHB
MonitorElement * meEnConeEtaProfile
bool ev
double dPhiWsign(double phi1, double phi2)
MonitorElement * meRecHitSimHitProfileHF
MonitorElement * meRecHitSimHitProfileHFS
MonitorElement * meEnergyHcalVsEcalHE
MonitorElement * meRecHitsEnergyHB
std::vector< double > ceta
MonitorElement * meRecHitSimHitHF
MonitorElement * meRecHitsEnergyHE
MonitorElement * meRecHitSimHitProfileHE
edm::EDGetTokenT< HORecHitCollection > tok_ho_
MonitorElement * meEnConeEtaProfile_E
const CaloGeometry * geometry_
MonitorElement * meRecHitSimHitHB
MonitorElement * meRecHitSimHitHFS
std::vector< double > cphi
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > tok_Geom_
MonitorElement * meEnergyHcalVsEcalHB
MonitorElement * meRecHitsM2Chi2HE
MonitorElement * meTEprofileHB
virtual void fillRecHitsTmp(int subdet_, edm::Event const &ev)
double dR(double eta1, double phi1, double eta2, double phi2)
MonitorElement * meLog10Chi2profileHE
edm::EDGetTokenT< HBHERecHitCollection > tok_hbhe_
MonitorElement * meRecHitSimHitHO
MonitorElement * meRecHitSimHitProfileHB
MonitorElement * meTEprofileHF_Low
edm::EDGetTokenT< EBRecHitCollection > tok_EB_
MonitorElement * meTEprofileHO_High
MonitorElement * meTEprofileHE
MonitorElement * meTEprofileHF
MonitorElement * meRecHitSimHitProfileHO
void analyze(edm::Event const &ev, edm::EventSetup const &c) override
edm::EDGetTokenT< EERecHitCollection > tok_EE_
std::vector< double > ctime
MonitorElement * meEnConeEtaProfile_EH
MonitorElement * meRecHitSimHitProfileHFL
std::vector< double > cz
MonitorElement * meRecHitsEnergyHO
std::vector< uint32_t > cauxstwd
edm::ESGetToken< HcalDDDRecConstants, HcalRecNumberingRecord > tok_HRNDC_
MonitorElement * meRecHitSimHitHFL
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
MonitorElement * meTEprofileHO
edm::EDGetTokenT< edm::HepMCProduct > tok_evt_
MonitorElement * meTEprofileHB_Low
MonitorElement * meRecHitSimHitHE
HcalRecHitsValidation(edm::ParameterSet const &conf)
MonitorElement * meTEprofileHB_High
std::vector< double > cen
Definition: Run.h:45