Go to the documentation of this file.00001 #ifndef LaserClient_H
00002 #define LaserClient_H
00003
00004 #include "DQM/EcalCommon/interface/DQWorkerClient.h"
00005
00006 #include "DQM/EcalBarrelMonitorTasks/interface/LaserTask.h"
00007
00008 namespace ecaldqm {
00009
00010 class LaserClient : public DQWorkerClient {
00011 public:
00012 LaserClient(const edm::ParameterSet &, const edm::ParameterSet &);
00013 ~LaserClient() {}
00014
00015 void bookMEs();
00016
00017 void initialize();
00018
00019 void beginRun(const edm::Run&, const edm::EventSetup&);
00020
00021 void producePlots();
00022
00023 enum Constants {
00024 nWL = LaserTask::nWL,
00025 nPNGain = LaserTask::nPNGain
00026 };
00027
00028 enum MESets {
00029 kQuality,
00030 kAmplitudeMean = kQuality + nWL,
00031 kAmplitudeRMS = kAmplitudeMean + nWL,
00032 kTimingMean = kAmplitudeRMS + nWL,
00033 kTimingRMS = kTimingMean + nWL,
00034 kPNAmplitudeMean = kTimingRMS + nWL,
00035 kPNAmplitudeRMS = kPNAmplitudeMean + nWL * nPNGain,
00036 kQualitySummary = kPNAmplitudeRMS + nWL * nPNGain,
00037 kPNQualitySummary = kQualitySummary + nWL,
00038 nMESets = kPNQualitySummary + nWL
00039 };
00040
00041 static void setMEData(std::vector<MEData>&);
00042
00043 enum Sources {
00044 sAmplitude,
00045 sTiming = sAmplitude + nWL,
00046 sPNAmplitude = sTiming + nWL,
00047 nSources = sPNAmplitude + nWL * nPNGain
00048 };
00049
00050 protected:
00051 std::vector<int> laserWavelengths_;
00052 std::vector<int> MGPAGainsPN_;
00053
00054 int minChannelEntries_;
00055 std::vector<double> expectedAmplitude_;
00056 std::vector<double> amplitudeThreshold_;
00057 std::vector<double> amplitudeRMSThreshold_;
00058 std::vector<double> expectedTiming_;
00059 std::vector<double> timingThreshold_;
00060 std::vector<double> timingRMSThreshold_;
00061 std::vector<double> expectedPNAmplitude_;
00062 std::vector<double> pnAmplitudeThreshold_;
00063 std::vector<double> pnAmplitudeRMSThreshold_;
00064
00065 float towerThreshold_;
00066
00067 std::map<std::pair<unsigned, int>, float> ampCorrections_;
00068 };
00069
00070 }
00071
00072 #endif