00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #include "DQM/CSCMonitorModule/interface/CSCHLTMonitorModule.h"
00020
00026 CSCHLTMonitorModule::CSCHLTMonitorModule(const edm::ParameterSet& ps){
00027
00028 parameters = ps;
00029
00030 examinerMask = parameters.getUntrackedParameter<unsigned int>("ExaminerMask", 0x7FB7BF6);
00031 examinerForce = parameters.getUntrackedParameter<bool>("ExaminerForce", false);
00032 examinerOutput = parameters.getUntrackedParameter<bool>("ExaminerOutput", false);
00033 examinerCRCKey = parameters.getUntrackedParameter<unsigned int>("ExaminerCRCKey", 0);
00034 inputObjectsTag = parameters.getUntrackedParameter<edm::InputTag>("InputObjects", (edm::InputTag)"source");
00035 monitorName = parameters.getUntrackedParameter<std::string>("monitorName", "CSC");
00036
00037 fedIdMin = parameters.getUntrackedParameter<unsigned int>("FEDIdMin", 0);
00038 fedIdMax = parameters.getUntrackedParameter<unsigned int>("FEDIdMax", 1);
00039
00040 rootDir = monitorName + "/";
00041 nEvents = 0;
00042
00043
00044 dbe = edm::Service<DQMStore>().operator->();
00045
00046 this->init = false;
00047
00048 }
00049
00055 CSCHLTMonitorModule::~CSCHLTMonitorModule(){
00056
00057 }
00058
00065 void CSCHLTMonitorModule::beginJob(const edm::EventSetup& c){
00066
00067 }
00068
00069 void CSCHLTMonitorModule::setup() {
00070
00071
00072 dbe->setCurrentFolder(rootDir + FED_FOLDER);
00073
00074 unsigned int fsize = fedIdMax - fedIdMin + 1;
00075 mes.insert(std::make_pair("FEDEntries", dbe->book1D("FEDEntries", "CSC FED Entries", fsize, fedIdMin, fedIdMax)));
00076 mes.insert(std::make_pair("FEDFatal", dbe->book1D("FEDFatal", "CSC FED Fatal Errors", fsize, fedIdMin, fedIdMax)));
00077 mes.insert(std::make_pair("FEDNonFatal", dbe->book1D("FEDNonFatal", "CSC FED Non Fatal Errors", fsize, fedIdMin, fedIdMax)));
00078
00079 for(MeMap::iterator iter = mes.begin(); iter != mes.end(); iter++) {
00080 MonitorElement *me = iter->second;
00081 TH1 *h = me->getTH1();
00082 me->setAxisTitle("FED Id", 1);
00083 me->setAxisTitle("# of Events", 2);
00084 h->SetOption("bar1text");
00085 h->SetStats(0);
00086 }
00087
00088 this->init = true;
00089
00090 }
00091
00099 void CSCHLTMonitorModule::analyze(const edm::Event& e, const edm::EventSetup& c){
00100
00101
00102 edm::ESHandle<CSCCrateMap> hcrate;
00103 c.get<CSCCrateMapRcd>().get(hcrate);
00104
00105
00106 if (!this->init) {
00107 this->setup();
00108 }
00109
00110
00111 monitorEvent(e);
00112
00113 }
00114
00122 void CSCHLTMonitorModule::endJob(void){
00123
00124 }
00125
00126 void CSCHLTMonitorModule::beginRun(const edm::Run& r, const edm::EventSetup& context) {
00127
00128 }
00129
00130 void CSCHLTMonitorModule::endRun(const edm::Run& r, const edm::EventSetup& context) {
00131
00132 }
00133
00134 void CSCHLTMonitorModule::beginLuminosityBlock(const edm::LuminosityBlock& lumiSeg, const edm::EventSetup& context) {
00135
00136 }
00137