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();
24  void beginRun(const edm::Run& run, const edm::EventSetup& c);
25  void analyze(edm::Event const&e, edm::EventSetup const&s);
26 
27  void unpack(const FEDRawData& raw, const HcalElectronicsMap& emap);
28  void cleanup();
29  void reset();
30 
31 private:
32  std::vector<std::string> triggers_;
33  int period_;
34  bool setupDone_;
35 
36 private:
39  double mMinE2E10;
40  double mMaxE2E10;
45 
46 private:
47  // Monitoring elements
48  edm::InputTag rawdataLabel_; // no data access associated -
49  edm::InputTag hltresultsLabel_; // no data access associated
50 
54 
55  // Double-chi2 related stuff
61 
66 
70 
71  // Isolation Filter
73 
74  // Jason variable
77 
78  // Hcal noise summary object variable
87 
92 
93  std::vector<double> CumulativeIdealPulse;
94 
95 private:
96  double PerformNominalFit(double Charge[10]);
97  double PerformDualNominalFit(double Charge[10]);
98  double DualNominalFitSingleTry(double Charge[10], int Offset, int Distance);
99  double PerformLinearFit(double Charge[10]);
100  double CalculateRMS8Max(double Charge[10]);
101  TriangleFitResult PerformTriangleFit(double Charge[10]);
102  void ReadHcalPulse();
103 };
104 
106 {
107  double Chi2;
108  double LeftSlope;
109  double RightSlope;
110 };
111 
112 
113 
114 #endif
115 
MonitorElement * hBadCountHPD
MonitorElement * hE2OverE10Digi
MonitorElement * hBadNoOtherCountHPD
MonitorElement * hTS4TS5RelativeDifferenceVsCharge
double PerformNominalFit(double Charge[10])
MonitorElement * hE2OverE10RBX
MonitorElement * hMaxZeros
edm::EDGetTokenT< reco::HcalNoiseRBXCollection > tok_noise_
TriangleFitResult PerformTriangleFit(double Charge[10])
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
void beginRun(const edm::Run &run, const edm::EventSetup &c)
MonitorElement * hTriangleRightSlopeVsTS4
MonitorElement * hRMS8OverMaxTestStatistics
MonitorElement * hTS4TS5RelativeDifference
double PerformDualNominalFit(double Charge[10])
double DualNominalFitSingleTry(double Charge[10], int Offset, int Distance)
MonitorElement * hRBXHitCount
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:41
void unpack(const FEDRawData &raw, const HcalElectronicsMap &emap)
double PerformLinearFit(double Charge[10])
EtaPhiHists hFailLinearEtaPhi