CMS 3D CMS Logo

HcalSimHitsValidation.h
Go to the documentation of this file.
1 #ifndef HcalSimHitsValidation_H
2 #define HcalSimHitsValidation_H
3 
14 
16 
19 
23 
30 
33 
34 #include <vector>
35 #include <utility>
36 #include <ostream>
37 #include <string>
38 #include <algorithm>
39 #include <cmath>
41 
42 
44 
45 public:
48 
49  virtual void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const & );
50 
51  virtual void analyze(edm::Event const& ev, edm::EventSetup const& c);
52  virtual void endJob() ;
53 
54 private:
55 
56  double dR(double eta1, double phi1, double eta2, double phi2);
57  double phi12(double phi1, double en1, double phi2, double en2);
58  double dPhiWsign(double phi1,double phi2);
59 
61 
66 
70 
72 
73  // Hits counters
74  std::vector<MonitorElement*> Nhb;
75  std::vector<MonitorElement*> Nhe;
77  std::vector<MonitorElement*> Nhf;
78 
79  // In ALL other cases : 2D ieta-iphi maps
80  // without and with cuts (a la "Scheme B") on energy
81  // - only in the cone around particle for single-part samples (mc = "yes")
82  // - for all calls in milti-particle samples (mc = "no")
83 
84  std::vector<MonitorElement*> emean_vs_ieta_HB;
85  std::vector<MonitorElement*> emean_vs_ieta_HE;
87  std::vector<MonitorElement*> emean_vs_ieta_HF;
88 
89  std::vector<MonitorElement*> occupancy_vs_ieta_HB;
90  std::vector<MonitorElement*> occupancy_vs_ieta_HE;
92  std::vector<MonitorElement*> occupancy_vs_ieta_HF;
93 
94  // for single monoenergetic particles - cone collection profile vs ieta.
98 
99  // energy of rechits
100  std::vector<MonitorElement*> meSimHitsEnergyHB;
101  std::vector<MonitorElement*> meSimHitsEnergyHE;
103  std::vector<MonitorElement*> meSimHitsEnergyHF;
104 
106 
107  // counter
108  int nevtot;
109 
110 };
111 
112 #endif
MonitorElement * meEnConeEtaProfile
std::vector< MonitorElement * > meSimHitsEnergyHB
double dR(double eta1, double phi1, double eta2, double phi2)
std::vector< MonitorElement * > emean_vs_ieta_HE
double phi12(double phi1, double en1, double phi2, double en2)
MonitorElement * meSimHitsEnergyHO
bool ev
std::vector< MonitorElement * > occupancy_vs_ieta_HF
std::vector< MonitorElement * > Nhe
edm::EDGetTokenT< edm::PCaloHitContainer > tok_ecalEB_
MonitorElement * meEnConeEtaProfile_E
std::vector< MonitorElement * > emean_vs_ieta_HF
std::vector< MonitorElement * > Nhb
edm::EDGetTokenT< edm::PCaloHitContainer > tok_ecalEE_
MonitorElement * emean_vs_ieta_HO
std::vector< MonitorElement * > emean_vs_ieta_HB
std::vector< MonitorElement * > meSimHitsEnergyHF
edm::EDGetTokenT< edm::PCaloHitContainer > tok_hcal_
double dPhiWsign(double phi1, double phi2)
HcalSimHitsValidation(edm::ParameterSet const &conf)
const HcalDDDRecConstants * hcons
std::vector< MonitorElement * > occupancy_vs_ieta_HE
std::vector< MonitorElement * > meSimHitsEnergyHE
MonitorElement * meEnConeEtaProfile_EH
std::vector< MonitorElement * > Nhf
MonitorElement * occupancy_vs_ieta_HO
edm::ESHandle< CaloGeometry > geometry
edm::EDGetTokenT< edm::HepMCProduct > tok_evt_
virtual void analyze(edm::Event const &ev, edm::EventSetup const &c)
std::vector< MonitorElement * > occupancy_vs_ieta_HB
Definition: Run.h:43
virtual void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &)