CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HcalRecHitsAnalyzer.h
Go to the documentation of this file.
1 #ifndef _DQMOFFLINE_HCAL_HCALRECHITSANALYZER_H_
2 #define _DQMOFFLINE_HCAL_HCALRECHITSANALYZER_H_
3 
14 
16 
19 
23 
30 
31 #include <vector>
32 #include <utility>
33 #include <ostream>
34 #include <string>
35 #include <algorithm>
36 #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  virtual void beginJob() ;
62  virtual void endJob() ;
63  virtual void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
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
86 
87 
88  // choice of subdetector in config : noise/HB/HE/HO/HF/ALL (0/1/2/3/4/5)
89  int subdet_;
90 
91  // single/multi-particle sample (1/2)
92  int etype_;
93  int iz;
94  int imc;
95 
96  // for checking the status of ECAL and HCAL channels stored in the DB
98  // calculator of severety level for HCAL
100  int hcalSevLvl(const CaloRecHit* hit);
101 
103 
108 
109  // RecHits counters
114 
115  // ZS-specific
116 
121 
130 
139 
148 
149  // In ALL other cases : 2D ieta-iphi maps
150  // without and with cuts (a la "Scheme B") on energy
151  // - only in the cone around particle for single-part samples (mc = "yes")
152  // - for all calls in milti-particle samples (mc = "no")
153 
155 
160 
169 
178 
187 
196 
205 
214 
223 
224 
225  // also - energy in the cone around MC particle
230 
231  // for single monoenergetic particles - cone collection profile vs ieta.
239  // Single particles - deviation of cluster from MC truth
242 
243  //----------- NOISE case
249 
250  // number of rechits above threshold 1GEV
254 
255  // number of rechits in the cone
260 
261  // time?
266 
267  // energy of rechits
272 
281 
288 
293 
300 
301 
306 
307 
314 
315 
318 
323 
324  // 2D plot of sum of RecHits in HCAL as function of ECAL's one
327 
328  // number of ECAL's rechits in cone 0.3
331 
333 
334  //Status word histos
340 
341  //Aux Status word histos
346 
347  // Filling vectors with essential RecHits data
348  std::vector<int> csub;
349  std::vector<int> cieta;
350  std::vector<int> ciphi;
351  std::vector<int> cdepth;
352  std::vector<double> cen;
353  std::vector<double> ceta;
354  std::vector<double> cphi;
355  std::vector<double> ctime;
356  std::vector<double> cz;
357  std::vector<uint32_t> cstwd;
358  std::vector<uint32_t> cauxstwd;
359 
360  // array or min. e-values ieta x iphi x depth x subdet
361  double emap_min[82][72][4][4];
362 
363  // counter
364  int nevtot;
365 
366 };
367 
368 #endif
MonitorElement * map_depth4
MonitorElement * sevLvl_HF
MonitorElement * ZS_seqHE1
MonitorElement * ZS_seqHF2
MonitorElement * ZS_nHB1
MonitorElement * occupancy_map_HF1
MonitorElement * meTEprofileHB_High
MonitorElement * RecHit_StatusWord_HE
MonitorElement * meTE_HB2
std::vector< int > csub
MonitorElement * occupancy_seqHE1
MonitorElement * occupancy_vs_ieta_HE1
MonitorElement * meTimeHF
std::vector< double > cphi
MonitorElement * occupancy_map_HE3
MonitorElement * emean_seqHE3
std::vector< int > hcalHOSevLvlVec
MonitorElement * RMS_vs_ieta_HE2
double dR(double eta1, double phi1, double eta2, double phi2)
MonitorElement * RecHit_StatusWord_HF
virtual void analyze(edm::Event const &ev, edm::EventSetup const &c)
MonitorElement * RMS_seq_HE3
MonitorElement * meSumRecHitsEnergyConeHO
MonitorElement * sevLvl_HE
MonitorElement * RecHit_Aux_StatusWord_HO
MonitorElement * RMS_seq_HE2
MonitorElement * RMS_vs_ieta_HB1
MonitorElement * ZS_nHE2
double dPhiWsign(double phi1, double phi2)
MonitorElement * meNumEcalRecHitsConeHE
MonitorElement * ZS_HB2
MonitorElement * meTE_Low_HE
double emap_min[82][72][4][4]
MonitorElement * emean_vs_ieta_HF2
MonitorElement * occupancy_map_HF2
MonitorElement * ZS_seqHB2
std::vector< int > cdepth
MonitorElement * meSumRecHitsEnergyHB
int hcalSevLvl(const CaloRecHit *hit)
MonitorElement * meSumRecHitsEnergyHF
MonitorElement * RMS_seq_HF2
MonitorElement * meSumRecHitsEnergyConeHF
std::vector< int > hcalHBSevLvlVec
MonitorElement * meEnConeEtaProfile_depth1
MonitorElement * occupancy_map_HO
MonitorElement * occupancy_seqHO
MonitorElement * meEcalHcalEnergyConeHO
std::vector< double > ceta
MonitorElement * ZS_nHO
MonitorElement * occupancy_seqHF2
MonitorElement * occupancy_vs_ieta_HF1
edm::EDGetTokenT< EBRecHitCollection > tok_EB_
MonitorElement * emap_depth4
MonitorElement * emean_vs_ieta_HB2
MonitorElement * meEnConeEtaProfile_EH
MonitorElement * map_econe_depth1
std::vector< int > hcalHESevLvlVec
double phi12(double phi1, double en1, double phi2, double en2)
MonitorElement * emean_vs_ieta_HB1
MonitorElement * emean_seqHE1
MonitorElement * meTE_Low_HB
MonitorElement * meTEprofileHF_Low
MonitorElement * ZS_nHB2
const HcalSeverityLevelComputer * theHcalSevLvlComputer
MonitorElement * meTE_HB
MonitorElement * meSumRecHitsEnergyConeHB
MonitorElement * emap_depth1
MonitorElement * RMS_vs_ieta_HE3
MonitorElement * RMS_vs_ieta_HB2
MonitorElement * ZS_HF1
MonitorElement * sevLvl_HO
MonitorElement * ZS_nHE1
virtual void fillRecHitsTmp(int subdet_, edm::Event const &ev)
MonitorElement * occupancy_seqHF1
MonitorElement * meEcalHcalEnergyHB
MonitorElement * emean_seqHB1
MonitorElement * meEcalHcalEnergyHE
MonitorElement * ZS_HB1
MonitorElement * emean_seqHF2
MonitorElement * meSumRecHitsEnergyConeHE
MonitorElement * meTE_HO
MonitorElement * occupancy_seqHB2
MonitorElement * RMS_vs_ieta_HF2
const HcalChannelQuality * theHcalChStatus
MonitorElement * meEnConeEtaProfile_E
MonitorElement * meTE_HFL
MonitorElement * meTEprofileHO
MonitorElement * meTEprofileHB
edm::EDGetTokenT< HORecHitCollection > tok_ho_
MonitorElement * RMS_vs_ieta_HE1
MonitorElement * ZS_HE1
MonitorElement * map_econe_depth3
MonitorElement * occupancy_map_HB1
MonitorElement * meTE_High_HO
MonitorElement * map_econe_depth2
MonitorElement * meRecHitsEnergyHO
MonitorElement * map_econe_depth4
MonitorElement * occupancy_seqHB1
MonitorElement * meTE_HE2
MonitorElement * meDeltaEta
MonitorElement * meTE_HF
std::vector< uint32_t > cauxstwd
MonitorElement * emap_depth3
MonitorElement * ZS_nHF2
MonitorElement * occupancy_vs_ieta_HO
MonitorElement * occupancy_vs_ieta_HE2
MonitorElement * meTEprofileHE_Low
MonitorElement * e_hfl
MonitorElement * RecHit_StatusWord_HO
MonitorElement * meEcalHcalEnergyConeHF
MonitorElement * meRecHitsEnergyHB
MonitorElement * ZS_seqHO
std::vector< int > ciphi
MonitorElement * occupancy_vs_ieta_HB2
MonitorElement * RMS_seq_HF1
MonitorElement * emean_vs_ieta_HO
MonitorElement * ZS_seqHE3
MonitorElement * sevLvl_HB
MonitorElement * meDeltaPhi
std::vector< double > cz
edm::EDGetTokenT< HBHERecHitCollection > tok_hbhe_
MonitorElement * occupancy_seqHE3
MonitorElement * meNumRecHitsThreshHE
tuple conf
Definition: dbtoconf.py:185
MonitorElement * map_ecal
MonitorElement * map_depth3
MonitorElement * meTimeHE
std::vector< int > cieta
MonitorElement * meEcalHcalEnergyConeHE
MonitorElement * meSumRecHitsEnergyHE
MonitorElement * meTimeHO
MonitorElement * ZS_seqHF1
MonitorElement * emean_vs_ieta_HE1
MonitorElement * meRecHitsEnergyHF
MonitorElement * occupancy_vs_ieta_HB1
MonitorElement * ZS_HF2
MonitorElement * RMS_seq_HB1
HcalRecHitsAnalyzer(edm::ParameterSet const &conf)
MonitorElement * meEnConeEtaProfile
MonitorElement * meTEprofileHE
std::vector< uint32_t > cstwd
MonitorElement * RecHit_Aux_StatusWord_HB
MonitorElement * map_depth2
MonitorElement * occupancy_map_HE1
MonitorElement * meEcalHcalEnergyConeHB
MonitorElement * emean_seqHE2
edm::EDGetTokenT< HFRecHitCollection > tok_hf_
MonitorElement * meNumRecHitsConeHO
MonitorElement * emean_vs_ieta_HE3
MonitorElement * ZS_nHF1
MonitorElement * ZS_nHE3
MonitorElement * emean_seqHO
MonitorElement * meNumRecHitsConeHB
MonitorElement * meTE_HE1
MonitorElement * RecHit_StatusWord_HF67
MonitorElement * meNumRecHitsThreshHB
MonitorElement * occupancy_vs_ieta_HE3
MonitorElement * RMS_seq_HO
virtual void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
MonitorElement * emean_seqHF1
MonitorElement * ZS_seqHE2
MonitorElement * ZS_seqHB1
MonitorElement * meTE_High_HB
MonitorElement * occupancy_map_HB2
MonitorElement * emean_vs_ieta_HE2
MonitorElement * emean_vs_ieta_HF1
std::vector< int > hcalHFSevLvlVec
MonitorElement * RecHit_StatusWord_HB
MonitorElement * map_depth1
MonitorElement * meTEprofileHO_High
MonitorElement * meNumRecHitsThreshHO
MonitorElement * meEnConeEtaProfile_depth4
MonitorElement * meEnConeEtaProfile_depth2
MonitorElement * ZS_HO
MonitorElement * meEnergyHcalVsEcalHE
MonitorElement * meTEprofileHB_Low
edm::EDGetTokenT< EERecHitCollection > tok_EE_
std::vector< double > ctime
std::vector< double > cen
MonitorElement * occupancy_vs_ieta_HF2
MonitorElement * RMS_vs_ieta_HF1
MonitorElement * occupancy_seqHE2
MonitorElement * meNumRecHitsConeHF
MonitorElement * meTimeHB
MonitorElement * ZS_HE3
MonitorElement * meTEprofileHF
MonitorElement * occupancy_map_HE2
MonitorElement * RecHit_Aux_StatusWord_HF
MonitorElement * RecHit_Aux_StatusWord_HE
MonitorElement * e_hfs
MonitorElement * meEnConeEtaProfile_depth3
MonitorElement * meEnergyHcalVsEcalHB
MonitorElement * emap_depth2
MonitorElement * RMS_vs_ieta_HO
MonitorElement * RMS_seq_HB2
MonitorElement * emean_seqHB2
MonitorElement * meNumRecHitsConeHE
edm::ESHandle< CaloGeometry > geometry
MonitorElement * ZS_HE2
MonitorElement * RMS_seq_HE1
Definition: Run.h:41
MonitorElement * meSumRecHitsEnergyConeHFL
MonitorElement * meTE_HE
MonitorElement * meNumEcalRecHitsConeHB
MonitorElement * meTE_HB1
MonitorElement * meSumRecHitsEnergyHO
MonitorElement * meSumRecHitsEnergyConeHFS
MonitorElement * meTE_HFS
MonitorElement * meRecHitsEnergyHE
MonitorElement * meTE_Low_HF