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 
9 
10 class HcalNoiseMonitor;
11 struct TriangleFitResult;
12 
14 {
15 public:
18 
19 
20  void setup();
21  void beginRun(const edm::Run& run, const edm::EventSetup& c);
22  void analyze(edm::Event const&e, edm::EventSetup const&s);
23 
24  void unpack(const FEDRawData& raw, const HcalElectronicsMap& emap);
25  void cleanup();
26  void reset();
27 
28 private:
29  std::vector<std::string> triggers_;
30  int period_;
31  bool setupDone_;
32 
33 private:
36  double mMinE2E10;
37  double mMaxE2E10;
42 
43 private:
44  // Monitoring elements
50 
51  // Double-chi2 related stuff
57 
62 
66 
67  // Isolation Filter
69 
70  // Jason variable
73 
74  // Hcal noise summary object variable
83 
88 
89  std::vector<double> CumulativeIdealPulse;
90 
91 private:
92  double PerformNominalFit(double Charge[10]);
93  double PerformDualNominalFit(double Charge[10]);
94  double DualNominalFitSingleTry(double Charge[10], int Offset, int Distance);
95  double PerformLinearFit(double Charge[10]);
96  double CalculateRMS8Max(double Charge[10]);
97  TriangleFitResult PerformTriangleFit(double Charge[10]);
98  void ReadHcalPulse();
99 };
100 
102 {
103  double Chi2;
104  double LeftSlope;
105  double RightSlope;
106 };
107 
108 
109 
110 #endif
111 
MonitorElement * hBadCountHPD
MonitorElement * hE2OverE10Digi
MonitorElement * hBadNoOtherCountHPD
MonitorElement * hTS4TS5RelativeDifferenceVsCharge
double PerformNominalFit(double Charge[10])
MonitorElement * hE2OverE10RBX
edm::InputTag noiseLabel_
MonitorElement * hMaxZeros
TriangleFitResult PerformTriangleFit(double Charge[10])
MonitorElement * hLambdaRMS8MaxVsTotalCharge
double CalculateRMS8Max(double Charge[10])
MonitorElement * hHcalNoiseCategory
MonitorElement * hNominalChi2
EtaPhiHists hFailRMSMaxEtaPhi
MonitorElement * hTotalZeros
edm::InputTag hbheDigiLabel_
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::InputTag hbheRechitLabel_
edm::InputTag rawdataLabel_
HcalNoiseMonitor(const edm::ParameterSet &ps)
MonitorElement * hLambdaLinearVsTotalCharge
Definition: Run.h:36
void unpack(const FEDRawData &raw, const HcalElectronicsMap &emap)
double PerformLinearFit(double Charge[10])
EtaPhiHists hFailLinearEtaPhi