00001 #ifndef DTEfficiencyTask_H
00002 #define DTEfficiencyTask_H
00003
00004
00017 #include "FWCore/Framework/interface/Frameworkfwd.h"
00018 #include "DataFormats/MuonDetId/interface/DTLayerId.h"
00019 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00020 #include <FWCore/Framework/interface/EDAnalyzer.h>
00021 #include <FWCore/Framework/interface/LuminosityBlock.h>
00022
00023 #include <string>
00024 #include <map>
00025 #include <vector>
00026
00027 class DQMStore;
00028 class MonitorElement;
00029
00030
00031 class DTEfficiencyTask: public edm::EDAnalyzer{
00032 public:
00034 DTEfficiencyTask(const edm::ParameterSet& pset);
00035
00037 virtual ~DTEfficiencyTask();
00038
00040 void beginJob(const edm::EventSetup& c);
00041
00043 void beginLuminosityBlock(edm::LuminosityBlock const& lumiSeg, edm::EventSetup const& context) ;
00044
00046 void endJob();
00047
00048
00049 void analyze(const edm::Event& event, const edm::EventSetup& setup);
00050
00051 protected:
00052
00053
00054 private:
00055 DQMStore* theDbe;
00056
00057
00058 bool debug;
00059
00060
00061 std::string theRecHits4DLabel;
00062
00063
00064 std::string theRecHitLabel;
00065
00066 edm::ParameterSet parameters;
00067
00068
00069 void bookHistos(DTLayerId lId, int fisrtWire, int lastWire);
00070
00071
00072 void fillHistos(DTLayerId lId, int firstWire, int lastWire, int numWire);
00073 void fillHistos(DTLayerId lId, int firstWire, int lastWire, int missingWire, bool UnassHit);
00074
00075 std::map<DTLayerId, std::vector<MonitorElement*> > histosPerL;
00076
00077 };
00078 #endif
00079