CMS 3D CMS Logo

HcalRecHitsValidation.h
Go to the documentation of this file.
1 #ifndef HcalRecHitsValidation_H
2 #define HcalRecHitsValidation_H
3 
14 
17 
21 
28 
31 
33 #include <algorithm>
34 #include <cmath>
35 #include <ostream>
36 #include <string>
37 #include <utility>
38 #include <vector>
39 
41 // channel status
44 
47 
48 // severity level assignment for HCAL
51 
52 // severity level assignment for ECAL
54 
56 public:
58  ~HcalRecHitsValidation() override;
59  void analyze(edm::Event const &ev, edm::EventSetup const &c) override;
60 
61  void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
62 
63 private:
64  virtual void fillRecHitsTmp(int subdet_, edm::Event const &ev);
65  double dR(double eta1, double phi1, double eta2, double phi2);
66  double phi12(double phi1, double en1, double phi2, double en2);
67  double dPhiWsign(double phi1, double phi2);
68 
70 
77 
78  // RecHit Collection input tags
86 
87  // choice of subdetector in config : noise/HB/HE/HO/HF/ALL (0/1/2/3/4/5)
88  int subdet_;
89 
90  // single/multi-particle sample (1/2)
91  int iz;
92  int imc;
93 
94  // In ALL other cases : 2D ieta-iphi maps
95  // without and with cuts (a la "Scheme B") on energy
96  // - only in the cone around particle for single-part samples (mc = "yes")
97  // - for all calls in milti-particle samples (mc = "no")
98 
102 
103  // energy of rechits
108 
112 
115 
118 
121 
122  // Histo (2D plot) for sum of RecHits vs SimHits (hcal only)
129  // profile histo (2D plot) for sum of RecHits vs SimHits (hcal only)
136 
137  // 2D plot of sum of RecHits in HCAL as function of ECAL's one
140 
141  // Chi2
144 
147 
149 
150  // Filling vectors with essential RecHits data
151  std::vector<int> csub;
152  std::vector<int> cieta;
153  std::vector<int> ciphi;
154  std::vector<int> cdepth;
155  std::vector<double> cen;
156  std::vector<double> ceta;
157  std::vector<double> cphi;
158  std::vector<double> ctime;
159  std::vector<double> cz;
160  std::vector<uint32_t> cstwd;
161  std::vector<uint32_t> cauxstwd;
162  std::vector<double> cchi2;
163 
164  // counter
165  int nevtot;
166 };
167 
168 #endif
std::vector< double > cchi2
MonitorElement * meRecHitsM2Chi2HB
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
MonitorElement * meRecHitSimHitHB
MonitorElement * meRecHitSimHitHFS
std::vector< double > cphi
MonitorElement * meEnergyHcalVsEcalHB
MonitorElement * meRecHitsM2Chi2HE
edm::ESHandle< CaloGeometry > geometry
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
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