00001 #ifndef DQM_HCALMONITORTASKS_HCALLSBYLSMONITOR_H 00002 #define DQM_HCALMONITORTASKS_HCALLSBYLSMONITOR_H 00003 00004 #include "DQM/HcalMonitorTasks/interface/HcalBaseDQMonitor.h" 00005 #include <cmath> 00006 00007 00015 struct hotNeighborParams{ 00016 int DeltaIphi; 00017 int DeltaIeta; 00018 int DeltaDepth; 00019 double minCellEnergy; // cells below this threshold can never be considered "hot" by this algorithm 00020 double minNeighborEnergy; //neighbors must have some amount of energy to be counted 00021 double maxEnergy; // a cell above this energy will always be considered hot 00022 double HotEnergyFrac; // a cell will be considered hot if neighbor energy/ cell energy is less than this value 00023 }; 00024 00025 class HcalLSbyLSMonitor: public HcalBaseDQMonitor { 00026 00027 public: 00028 HcalLSbyLSMonitor(const edm::ParameterSet& ps); 00029 00030 ~HcalLSbyLSMonitor(); 00031 00032 void setup(); 00033 void beginRun(const edm::Run& run, const edm::EventSetup& c); 00034 void endRun(const edm::Run& run, const edm::EventSetup& c){}; 00035 00036 void done(); 00037 void cleanup(void); 00038 void reset(); 00039 void endJob(); 00040 00041 // analyze function 00042 //void analyze(edm::Event const&e, edm::EventSetup const&s){}; 00043 00044 // Begin LumiBlock 00045 void beginLuminosityBlock(const edm::LuminosityBlock& lumiSeg, 00046 const edm::EventSetup& c) ; 00047 00048 // End LumiBlock 00049 void endLuminosityBlock(const edm::LuminosityBlock& lumiSeg, 00050 const edm::EventSetup& c); 00051 00052 void periodicReset(){}; 00053 00054 00055 private: 00056 int minEvents_; 00057 std::vector<std::string> TaskList_; 00058 }; 00059 00060 #endif