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 
32 #include <vector>
33 #include <utility>
34 #include <ostream>
35 #include <string>
36 #include <algorithm>
37 #include <cmath>
39 
41 // channel status
44 
47 
48 // severity level assignment for HCAL
51 
52 // severity level assignment for ECAL
54 
55 
57  public:
59  ~HcalRecHitsValidation() override;
60  void analyze(edm::Event const& ev, edm::EventSetup const& c) override;
61 
62  void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
63 
64  private:
65 
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 
89  // choice of subdetector in config : noise/HB/HE/HO/HF/ALL (0/1/2/3/4/5)
90  int subdet_;
91 
92  // single/multi-particle sample (1/2)
93  int iz;
94  int imc;
95 
96  // In ALL other cases : 2D ieta-iphi maps
97  // without and with cuts (a la "Scheme B") on energy
98  // - only in the cone around particle for single-part samples (mc = "yes")
99  // - for all calls in milti-particle samples (mc = "no")
100 
104 
105  // energy of rechits
110 
114 
117 
120 
123 
124 
125  // Histo (2D plot) for sum of RecHits vs SimHits (hcal only)
132  // profile histo (2D plot) for sum of RecHits vs SimHits (hcal only)
139 
140  // 2D plot of sum of RecHits in HCAL as function of ECAL's one
143 
144  // Chi2
147 
150 
152 
153 
154  // Filling vectors with essential RecHits data
155  std::vector<int> csub;
156  std::vector<int> cieta;
157  std::vector<int> ciphi;
158  std::vector<int> cdepth;
159  std::vector<double> cen;
160  std::vector<double> ceta;
161  std::vector<double> cphi;
162  std::vector<double> ctime;
163  std::vector<double> cz;
164  std::vector<uint32_t> cstwd;
165  std::vector<uint32_t> cauxstwd;
166  std::vector<double> cchi2;
167 
168  // counter
169  int nevtot;
170 
171 };
172 
173 #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:44