CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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:
60  virtual void analyze(edm::Event const& ev, edm::EventSetup const& c);
61 
62  virtual void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &);
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 
77  bool famos_;
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 etype_;
94  int iz;
95  int imc;
96 
97  // for checking the status of ECAL and HCAL channels stored in the DB
99  // calculator of severety level for HCAL
101  int hcalSevLvl(const CaloRecHit* hit);
102 
104 
109 
110  // RecHits counters
115 
116  // ZS-specific
117 
122 
131 
140 
149 
150  // In ALL other cases : 2D ieta-iphi maps
151  // without and with cuts (a la "Scheme B") on energy
152  // - only in the cone around particle for single-part samples (mc = "yes")
153  // - for all calls in milti-particle samples (mc = "no")
154 
156 
161 
170 
179 
188 
197 
206 
215 
224 
225 
226  // also - energy in the cone around MC particle
231 
232  // for single monoenergetic particles - cone collection profile vs ieta.
240  // Single particles - deviation of cluster from MC truth
243  MonitorElement* meDeltaPhiS; // simcluster
244  MonitorElement* meDeltaEtaS; // simculster
245 
246  //----------- NOISE case
252 
253  // number of rechits above threshold 1GEV
257 
258  // number of rechits in the cone
263 
264  // time?
269 
270  // energy of rechits
275 
284 
291 
296 
303 
304 
309 
310 
317 
318 
321 
326 
327  // Histo (2D plot) for sum of RecHits vs SimHits (hcal only)
334  // profile histo (2D plot) for sum of RecHits vs SimHits (hcal only)
341 
342  // 2D plot of sum of RecHits in HCAL as function of ECAL's one
345 
346  // number of ECAL's rechits in cone 0.3
349 
351 
352  //Status word histos
358 
359  //Status word correlation
362 
365 
366  //Aux Status word histos
371 
372  // Filling vectors with essential RecHits data
373  std::vector<int> csub;
374  std::vector<int> cieta;
375  std::vector<int> ciphi;
376  std::vector<int> cdepth;
377  std::vector<double> cen;
378  std::vector<double> ceta;
379  std::vector<double> cphi;
380  std::vector<double> ctime;
381  std::vector<double> cz;
382  std::vector<uint32_t> cstwd;
383  std::vector<uint32_t> cauxstwd;
384 
385  // array or min. e-values ieta x iphi x depth x subdet
386  double emap_min[82][72][4][4];
387 
388  // counter
389  int nevtot;
390 
391 };
392 
393 #endif
MonitorElement * emean_vs_ieta_HB2
MonitorElement * RMS_vs_ieta_HB1
MonitorElement * occupancy_vs_ieta_HO
const HcalSeverityLevelComputer * theHcalSevLvlComputer
MonitorElement * meSumRecHitsEnergyConeHE
MonitorElement * occupancy_seqHB1
const HcalChannelQuality * theHcalChStatus
MonitorElement * occupancy_map_HB1
MonitorElement * occupancy_vs_ieta_HE3
edm::EDGetTokenT< edm::PCaloHitContainer > tok_hh_
MonitorElement * meRecHitsEnergyHF
MonitorElement * occupancy_vs_ieta_HF1
MonitorElement * RMS_vs_ieta_HF1
double phi12(double phi1, double en1, double phi2, double en2)
std::vector< int > hcalHBSevLvlVec
MonitorElement * meNumRecHitsConeHE
MonitorElement * meSumRecHitsEnergyConeHB
MonitorElement * meTEprofileHE_Low
std::vector< uint32_t > cstwd
MonitorElement * RMS_vs_ieta_HE3
MonitorElement * RecHit_Aux_StatusWord_HB
MonitorElement * RMS_vs_ieta_HE1
MonitorElement * emean_vs_ieta_HB1
edm::EDGetTokenT< HFRecHitCollection > tok_hf_
MonitorElement * occupancy_seqHO
MonitorElement * occupancy_seqHE3
MonitorElement * meEnConeEtaProfile
bool ev
MonitorElement * occupancy_map_HE3
double dPhiWsign(double phi1, double phi2)
MonitorElement * meRecHitSimHitProfileHF
MonitorElement * meEcalHcalEnergyHB
int hcalSevLvl(const CaloRecHit *hit)
MonitorElement * meRecHitSimHitProfileHFS
MonitorElement * meEnergyHcalVsEcalHE
MonitorElement * occupancy_map_HF1
MonitorElement * meEcalHcalEnergyConeHE
MonitorElement * meRecHitsEnergyHB
MonitorElement * meSumRecHitsEnergyHF
double emap_min[82][72][4][4]
MonitorElement * meNumRecHitsConeHO
std::vector< double > ceta
MonitorElement * occupancy_seqHF2
MonitorElement * meNumRecHitsConeHB
MonitorElement * RMS_vs_ieta_HB2
MonitorElement * meRecHitSimHitHF
MonitorElement * meRecHitsEnergyHE
MonitorElement * occupancy_map_HE1
MonitorElement * meRecHitSimHitProfileHE
MonitorElement * meSumRecHitsEnergyHB
edm::EDGetTokenT< HORecHitCollection > tok_ho_
MonitorElement * meEnConeEtaProfile_E
MonitorElement * meRecHitSimHitHB
MonitorElement * meRecHitSimHitHFS
MonitorElement * RMS_vs_ieta_HO
MonitorElement * meSumRecHitsEnergyConeHFS
MonitorElement * RecHit_Aux_StatusWord_HO
std::vector< double > cphi
MonitorElement * meNumEcalRecHitsConeHB
MonitorElement * meNumRecHitsThreshHB
MonitorElement * meSumRecHitsEnergyHO
std::vector< int > hcalHESevLvlVec
MonitorElement * meEnergyHcalVsEcalHB
MonitorElement * RecHit_StatusWord_HF
MonitorElement * RecHit_Aux_StatusWord_HE
edm::ESHandle< CaloGeometry > geometry
MonitorElement * meSumRecHitsEnergyConeHO
MonitorElement * meEcalHcalEnergyConeHO
MonitorElement * meTEprofileHB
MonitorElement * map_econe_depth1
virtual void fillRecHitsTmp(int subdet_, edm::Event const &ev)
MonitorElement * map_econe_depth4
double dR(double eta1, double phi1, double eta2, double phi2)
MonitorElement * emean_vs_ieta_HE3
MonitorElement * meNumRecHitsThreshHO
MonitorElement * meEcalHcalEnergyConeHB
MonitorElement * meNumRecHitsThreshHE
MonitorElement * RecHit_StatusWordCorr_HB
edm::EDGetTokenT< HBHERecHitCollection > tok_hbhe_
std::vector< int > hcalHFSevLvlVec
MonitorElement * occupancy_map_HE2
MonitorElement * occupancy_vs_ieta_HB2
MonitorElement * meSumRecHitsEnergyConeHF
MonitorElement * RecHit_Aux_StatusWord_HF
MonitorElement * meRecHitSimHitHO
MonitorElement * meRecHitSimHitProfileHB
MonitorElement * RecHit_StatusWord_HO
MonitorElement * meEnConeEtaProfile_depth1
MonitorElement * emean_vs_ieta_HF2
virtual void analyze(edm::Event const &ev, edm::EventSetup const &c)
virtual void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &)
MonitorElement * occupancy_map_HO
MonitorElement * occupancy_vs_ieta_HE2
MonitorElement * meTEprofileHF_Low
edm::EDGetTokenT< EBRecHitCollection > tok_EB_
MonitorElement * occupancy_map_HF2
MonitorElement * RecHit_StatusWord_HF67
MonitorElement * meTEprofileHO_High
MonitorElement * meTEprofileHE
MonitorElement * occupancy_seqHB2
MonitorElement * occupancy_map_HB2
MonitorElement * RMS_vs_ieta_HE2
MonitorElement * meNumRecHitsConeHF
MonitorElement * meTEprofileHF
MonitorElement * meEnConeEtaProfile_depth3
MonitorElement * emean_vs_ieta_HE1
MonitorElement * meRecHitSimHitProfileHO
std::vector< int > hcalHOSevLvlVec
MonitorElement * emean_vs_ieta_HE2
MonitorElement * occupancy_vs_ieta_HF2
edm::EDGetTokenT< EERecHitCollection > tok_EE_
MonitorElement * meEcalHcalEnergyConeHF
std::vector< double > ctime
MonitorElement * map_econe_depth2
MonitorElement * RecHit_StatusWord_HE
MonitorElement * meEnConeEtaProfile_EH
MonitorElement * meRecHitSimHitProfileHFL
std::vector< double > cz
MonitorElement * meEnConeEtaProfile_depth2
MonitorElement * RMS_vs_ieta_HF2
MonitorElement * meRecHitsEnergyHO
std::vector< uint32_t > cauxstwd
MonitorElement * emean_vs_ieta_HO
MonitorElement * occupancy_seqHF1
MonitorElement * meSumRecHitsEnergyHE
MonitorElement * meRecHitSimHitHFL
MonitorElement * meSumRecHitsEnergyConeHFL
MonitorElement * meNumEcalRecHitsConeHE
MonitorElement * RecHit_StatusWordCorrAll_HB
MonitorElement * meEcalHcalEnergyHE
MonitorElement * emean_vs_ieta_HF1
MonitorElement * meTEprofileHO
MonitorElement * RecHit_StatusWordCorrAll_HE
edm::EDGetTokenT< edm::HepMCProduct > tok_evt_
MonitorElement * meTEprofileHB_Low
MonitorElement * RecHit_StatusWordCorr_HE
MonitorElement * occupancy_vs_ieta_HB1
MonitorElement * occupancy_seqHE2
MonitorElement * meRecHitSimHitHE
HcalRecHitsValidation(edm::ParameterSet const &conf)
MonitorElement * map_econe_depth3
MonitorElement * occupancy_seqHE1
MonitorElement * meTEprofileHB_High
std::vector< double > cen
Definition: Run.h:43
MonitorElement * meEnConeEtaProfile_depth4
MonitorElement * occupancy_vs_ieta_HE1
MonitorElement * RecHit_StatusWord_HB