Go to the documentation of this file.00001
00002 #ifndef DTSegmentAnalysisTask_H
00003 #define DTSegmentAnalysisTask_H
00004
00020 #include "FWCore/Framework/interface/Frameworkfwd.h"
00021 #include "DataFormats/MuonDetId/interface/DTChamberId.h"
00022 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00023 #include <FWCore/Framework/interface/EDAnalyzer.h>
00024 #include <FWCore/Framework/interface/ESHandle.h>
00025
00026 #include <string>
00027 #include <map>
00028 #include <vector>
00029
00030
00031 class DTGeometry;
00032 class DQMStore;
00033 class MonitorElement;
00034 class DTTimeEvolutionHisto;
00035
00036 class DTSegmentAnalysisTask: public edm::EDAnalyzer{
00037 public:
00039 DTSegmentAnalysisTask(const edm::ParameterSet& pset);
00040
00042 virtual ~DTSegmentAnalysisTask();
00043
00045 void beginRun(const edm::Run& , const edm::EventSetup&);
00046
00048 void endJob();
00049
00050
00051 void analyze(const edm::Event& event, const edm::EventSetup& setup);
00052
00054 void beginLuminosityBlock(edm::LuminosityBlock const& lumiSeg, edm::EventSetup const& eSetup);
00055 void endLuminosityBlock(edm::LuminosityBlock const& lumiSeg, edm::EventSetup const& eSetup);
00056
00057 protected:
00058
00059 private:
00060
00061
00062 DQMStore* theDbe;
00063
00064
00065 bool detailedAnalysis;
00066
00067
00068 edm::ESHandle<DTGeometry> dtGeom;
00069
00070
00071 std::string theRecHits4DLabel;
00072
00073
00074 bool checkNoisyChannels;
00075
00076 edm::ParameterSet parameters;
00077
00078
00079 void bookHistos(DTChamberId chamberId);
00080
00081 void fillHistos(DTChamberId chamberId,
00082 int nHits,
00083 float chi2);
00084
00085
00086 std::map<DTChamberId, std::vector<MonitorElement*> > histosPerCh;
00087 std::map< int, MonitorElement* > summaryHistos;
00088 std::map<int, std::map<int, DTTimeEvolutionHisto*> > histoTimeEvol;
00089
00090 int nEventsInLS;
00091 DTTimeEvolutionHisto*hNevtPerLS;
00092
00093
00094 int nTimeBins;
00095
00096 int nLSTimeBin;
00097
00098 bool slideTimeBins;
00099
00100 std::string topHistoFolder;
00101
00102 bool hltDQMMode;
00103 };
00104 #endif
00105