CMS 3D CMS Logo

HcalSimHitsValidation.h
Go to the documentation of this file.
1 #ifndef HcalSimHitsValidation_H
2 #define HcalSimHitsValidation_H
3 
13 
15 
18 
22 
31 
34 
35 #include <algorithm>
36 #include <cmath>
37 #include <ostream>
38 #include <string>
39 #include <utility>
40 #include <vector>
41 
43 public:
45  ~HcalSimHitsValidation() override;
46 
47  void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
48 
49  void analyze(edm::Event const &ev, edm::EventSetup const &c) override;
50  void endJob() override;
51 
52 private:
53  double dR(double eta1, double phi1, double eta2, double phi2);
54  double phi12(double phi1, double en1, double phi2, double en2);
55  double dPhiWsign(double phi1, double phi2);
56 
59 
66 
71 
73  bool auxPlots_;
74 
75  // Hits counters
76  std::vector<MonitorElement *> Nhb;
77  std::vector<MonitorElement *> Nhe;
79  std::vector<MonitorElement *> Nhf;
80 
81  // In ALL other cases : 2D ieta-iphi maps
82  // without and with cuts (a la "Scheme B") on energy
83  // - only in the cone around particle for single-part samples (mc = "yes")
84  // - for all calls in milti-particle samples (mc = "no")
85 
86  std::vector<MonitorElement *> emean_vs_ieta_HB;
87  std::vector<MonitorElement *> emean_vs_ieta_HE;
89  std::vector<MonitorElement *> emean_vs_ieta_HF;
90 
91  std::vector<MonitorElement *> occupancy_vs_ieta_HB;
92  std::vector<MonitorElement *> occupancy_vs_ieta_HE;
94  std::vector<MonitorElement *> occupancy_vs_ieta_HF;
95 
96  // for single monoenergetic particles - cone collection profile vs ieta.
100 
101  // energy of rechits
102  std::vector<MonitorElement *> meSimHitsEnergyHB;
103  std::vector<MonitorElement *> meSimHitsEnergyHE;
105  std::vector<MonitorElement *> meSimHitsEnergyHF;
106 
107  // counter
108  int nevtot;
109 
110  // sampling factors
111  double hf1_;
112  double hf2_;
113 };
114 
115 #endif
dqm::impl::MonitorElement
Definition: MonitorElement.h:99
HcalSimHitsValidation::emean_vs_ieta_HE
std::vector< MonitorElement * > emean_vs_ieta_HE
Definition: HcalSimHitsValidation.h:87
HcalSimHitsValidation::tok_geom_
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > tok_geom_
Definition: HcalSimHitsValidation.h:65
HcalSimHitsValidation::tok_hcal_
edm::EDGetTokenT< edm::PCaloHitContainer > tok_hcal_
Definition: HcalSimHitsValidation.h:61
MessageLogger.h
HcalSimHitsValidation::occupancy_vs_ieta_HE
std::vector< MonitorElement * > occupancy_vs_ieta_HE
Definition: HcalSimHitsValidation.h:92
HcalSimHitsValidation::occupancy_vs_ieta_HB
std::vector< MonitorElement * > occupancy_vs_ieta_HB
Definition: HcalSimHitsValidation.h:91
HcalSimHitsValidation::tok_evt_
edm::EDGetTokenT< edm::HepMCProduct > tok_evt_
Definition: HcalSimHitsValidation.h:60
HcalSimHitsValidation::tok_HRNDC_
edm::ESGetToken< HcalDDDRecConstants, HcalRecNumberingRecord > tok_HRNDC_
Definition: HcalSimHitsValidation.h:64
HcalSimHitsValidation::outputFile_
std::string outputFile_
Definition: HcalSimHitsValidation.h:57
edm::Run
Definition: Run.h:45
HcalSimHitsValidation::nevtot
int nevtot
Definition: HcalSimHitsValidation.h:108
edm::EDGetTokenT< edm::HepMCProduct >
HcalSimHitsValidation::maxDepthHB_
int maxDepthHB_
Definition: HcalSimHitsValidation.h:69
EBDetId.h
EEDetId.h
DQMOneEDAnalyzer
Definition: DQMOneEDAnalyzer.h:20
DQMStore.h
HcalRecNumberingRecord.h
HcalSimHitsValidation::meEnConeEtaProfile
MonitorElement * meEnConeEtaProfile
Definition: HcalSimHitsValidation.h:97
HcalSimHitsValidation::meEnConeEtaProfile_EH
MonitorElement * meEnConeEtaProfile_EH
Definition: HcalSimHitsValidation.h:99
HcalSimHitsValidation::bookHistograms
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
Definition: HcalSimHitsValidation.cc:38
HcalSimHitsValidation::g4Label_
std::string g4Label_
Definition: HcalSimHitsValidation.h:58
HcalSimHitsValidation::endJob
void endJob() override
Definition: HcalSimHitsValidation.cc:247
HcalSimHitsValidation::geometry_
const CaloGeometry * geometry_
Definition: HcalSimHitsValidation.h:68
EcalRecHitCollections.h
HcalSimHitsValidation::ebHits_
std::string ebHits_
Definition: HcalSimHitsValidation.h:58
DQMOneEDAnalyzer.h
HcalSimHitsValidation::hcons_
const HcalDDDRecConstants * hcons_
Definition: HcalSimHitsValidation.h:67
HcalSimHitsValidation
Definition: HcalSimHitsValidation.h:42
HcalSimHitsValidation::meSimHitsEnergyHO
MonitorElement * meSimHitsEnergyHO
Definition: HcalSimHitsValidation.h:104
HcalSimHitsValidation::occupancy_vs_ieta_HO
MonitorElement * occupancy_vs_ieta_HO
Definition: HcalSimHitsValidation.h:93
MakerMacros.h
CaloGeometry
Definition: CaloGeometry.h:21
HcalSimHitsValidation::maxDepthHF_
int maxDepthHF_
Definition: HcalSimHitsValidation.h:70
HcalSimHitsValidation::dPhiWsign
double dPhiWsign(double phi1, double phi2)
Definition: HcalSimHitsValidation.cc:513
Service.h
HcalSimHitsValidation::HcalSimHitsValidation
HcalSimHitsValidation(edm::ParameterSet const &conf)
Definition: HcalSimHitsValidation.cc:4
HLT_FULL_cff.eta2
eta2
Definition: HLT_FULL_cff.py:9551
HcalSimHitsValidation::Nhf
std::vector< MonitorElement * > Nhf
Definition: HcalSimHitsValidation.h:79
HcalSimHitsValidation::auxPlots_
bool auxPlots_
Definition: HcalSimHitsValidation.h:73
HcalSimHitsValidation::Nho
MonitorElement * Nho
Definition: HcalSimHitsValidation.h:78
HcalSimHitsValidation::Nhe
std::vector< MonitorElement * > Nhe
Definition: HcalSimHitsValidation.h:77
HcalSimHitsValidation::emean_vs_ieta_HB
std::vector< MonitorElement * > emean_vs_ieta_HB
Definition: HcalSimHitsValidation.h:86
CaloGeometryRecord.h
HLT_FULL_cff.eta1
eta1
Definition: HLT_FULL_cff.py:9550
CaloSubdetectorGeometry.h
HcalSimHitsValidation::tok_ecalEB_
edm::EDGetTokenT< edm::PCaloHitContainer > tok_ecalEB_
Definition: HcalSimHitsValidation.h:62
edm::ParameterSet
Definition: ParameterSet.h:47
HcalSimHitsValidation::analyze
void analyze(edm::Event const &ev, edm::EventSetup const &c) override
Definition: HcalSimHitsValidation.cc:287
HcalSimHitsValidation::emean_vs_ieta_HO
MonitorElement * emean_vs_ieta_HO
Definition: HcalSimHitsValidation.h:88
Event.h
HcalSimHitsValidation::Nhb
std::vector< MonitorElement * > Nhb
Definition: HcalSimHitsValidation.h:76
HcalSimHitsValidation::eeHits_
std::string eeHits_
Definition: HcalSimHitsValidation.h:58
HcalSimHitsValidation::dR
double dR(double eta1, double phi1, double eta2, double phi2)
Definition: HcalSimHitsValidation.cc:480
HcalDetId.h
ModuleDef.h
HcalSimHitsValidation::testNumber_
bool testNumber_
Definition: HcalSimHitsValidation.h:72
edm::EventSetup
Definition: EventSetup.h:58
HcalSimHitsValidation::occupancy_vs_ieta_HF
std::vector< MonitorElement * > occupancy_vs_ieta_HF
Definition: HcalSimHitsValidation.h:94
HcalSimHitsValidation::hcalHits_
std::string hcalHits_
Definition: HcalSimHitsValidation.h:58
HcalElectronicsId.h
edm::ESGetToken< HcalDDDRecConstants, HcalRecNumberingRecord >
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
CaloCellGeometry.h
HcalSimHitsValidation::hf2_
double hf2_
Definition: HcalSimHitsValidation.h:112
HcalSimHitsValidation::meSimHitsEnergyHB
std::vector< MonitorElement * > meSimHitsEnergyHB
Definition: HcalSimHitsValidation.h:102
HcalSimHitsValidation::tok_ecalEE_
edm::EDGetTokenT< edm::PCaloHitContainer > tok_ecalEE_
Definition: HcalSimHitsValidation.h:63
HcalSimHitsValidation::meSimHitsEnergyHF
std::vector< MonitorElement * > meSimHitsEnergyHF
Definition: HcalSimHitsValidation.h:105
Frameworkfwd.h
HcalSimHitsValidation::phi12
double phi12(double phi1, double en1, double phi2, double en2)
Definition: HcalSimHitsValidation.cc:494
HcalSimHitsValidation::~HcalSimHitsValidation
~HcalSimHitsValidation() override
Definition: HcalSimHitsValidation.cc:36
ev
bool ev
Definition: Hydjet2Hadronizer.cc:97
CaloGeometry.h
HcalDDDRecConstants.h
HcalSourcePositionData.h
EventSetup.h
HcalRecHitCollections.h
PCaloHitContainer.h
dqm::implementation::IBooker
Definition: DQMStore.h:43
HcalSimHitsValidation::meEnConeEtaProfile_E
MonitorElement * meEnConeEtaProfile_E
Definition: HcalSimHitsValidation.h:98
HcalDDDRecConstants
Definition: HcalDDDRecConstants.h:23
HcalSimHitsValidation::emean_vs_ieta_HF
std::vector< MonitorElement * > emean_vs_ieta_HF
Definition: HcalSimHitsValidation.h:89
HcalSimHitsValidation::meSimHitsEnergyHE
std::vector< MonitorElement * > meSimHitsEnergyHE
Definition: HcalSimHitsValidation.h:103
ParameterSet.h
HcalSimHitsValidation::maxDepthHO_
int maxDepthHO_
Definition: HcalSimHitsValidation.h:70
HepMCProduct.h
c
auto & c
Definition: CAHitNtupletGeneratorKernelsImpl.h:56
edm::Event
Definition: Event.h:73
HcalSimHitsValidation::maxDepthHE_
int maxDepthHE_
Definition: HcalSimHitsValidation.h:69
HcalSimHitsValidation::hf1_
double hf1_
Definition: HcalSimHitsValidation.h:111