CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HcalNoiseMonitor.h
Go to the documentation of this file.
1 #ifndef DQM_HCALMONITORTASKS_HCALNoiseMONITOR_H
2 #define DQM_HCALMONITORTASKS_HCALNoiseMONITOR_H
3 
12 
13 class HcalNoiseMonitor;
14 struct TriangleFitResult;
15 
17 {
18 public:
21 
22 
23  void setup(DQMStore::IBooker &);
25  void analyze(edm::Event const&e, edm::EventSetup const&s);
26 
27  void unpack(const FEDRawData& raw, const HcalElectronicsMap& emap);
28  void reset();
29 
30 private:
31  std::vector<std::string> triggers_;
32  int period_;
33  bool setupDone_;
34 
35 private:
38  double mMinE2E10;
39  double mMaxE2E10;
44 
45 private:
46  // Monitoring elements
47  edm::InputTag rawdataLabel_; // no data access associated -
48  edm::InputTag hltresultsLabel_; // no data access associated
49 
53 
54  // Double-chi2 related stuff
60 
65 
69 
70  // Isolation Filter
72 
73  // Jason variable
76 
77  // Hcal noise summary object variable
86 
91 
92  std::vector<double> CumulativeIdealPulse;
93 
94 private:
95  double PerformNominalFit(double Charge[10]);
96  double PerformDualNominalFit(double Charge[10]);
97  double DualNominalFitSingleTry(double Charge[10], int Offset, int Distance);
98  double PerformLinearFit(double Charge[10]);
99  double CalculateRMS8Max(double Charge[10]);
100  TriangleFitResult PerformTriangleFit(double Charge[10]);
101  void ReadHcalPulse();
102 };
103 
105 {
106  double Chi2;
107  double LeftSlope;
108  double RightSlope;
109 };
110 
111 
112 
113 #endif
114 
MonitorElement * hBadCountHPD
MonitorElement * hE2OverE10Digi
MonitorElement * hBadNoOtherCountHPD
MonitorElement * hTS4TS5RelativeDifferenceVsCharge
double PerformNominalFit(double Charge[10])
MonitorElement * hE2OverE10RBX
int ib
Definition: cuy.py:660
MonitorElement * hMaxZeros
edm::EDGetTokenT< reco::HcalNoiseRBXCollection > tok_noise_
TriangleFitResult PerformTriangleFit(double Charge[10])
void setup(DQMStore::IBooker &)
MonitorElement * hLambdaRMS8MaxVsTotalCharge
double CalculateRMS8Max(double Charge[10])
MonitorElement * hHcalNoiseCategory
MonitorElement * hNominalChi2
edm::EDGetTokenT< HBHEDigiCollection > tok_hbhe_
EtaPhiHists hFailRMSMaxEtaPhi
MonitorElement * hTotalZeros
MonitorElement * hLinearChi2
MonitorElement * hLinearTestStatistics
edm::InputTag hltresultsLabel_
MonitorElement * hBadE2E10RBX
EtaPhiHists hFailTriangleEtaPhi
MonitorElement * hBadZeroRBX
MonitorElement * hTriangleRightSlopeVsTS4
MonitorElement * hRMS8OverMaxTestStatistics
MonitorElement * hTS4TS5RelativeDifference
double PerformDualNominalFit(double Charge[10])
double DualNominalFitSingleTry(double Charge[10], int Offset, int Distance)
MonitorElement * hRBXHitCount
void bookHistograms(DQMStore::IBooker &ib, const edm::Run &run, const edm::EventSetup &c)
MonitorElement * hE2OverE10Digi5
MonitorElement * hRMS8OverMax
MonitorElement * hTriangleLeftSlopeVsTS4
std::vector< double > CumulativeIdealPulse
void analyze(edm::Event const &e, edm::EventSetup const &s)
MonitorElement * hHPDHitCount
EtaPhiHists hFailIsolationEtaPhi
std::vector< std::string > triggers_
edm::EDGetTokenT< HBHERecHitCollection > tok_hbherec_
edm::InputTag rawdataLabel_
HcalNoiseMonitor(const edm::ParameterSet &ps)
MonitorElement * hLambdaLinearVsTotalCharge
Definition: Run.h:43
void unpack(const FEDRawData &raw, const HcalElectronicsMap &emap)
double PerformLinearFit(double Charge[10])
EtaPhiHists hFailLinearEtaPhi