Go to the documentation of this file.00001 #ifndef Validation_RPCRecHits_RPCRecHitValid_h
00002 #define Validaiton_RPCRecHits_RPCRecHitValid_h
00003
00004 #include "FWCore/Framework/interface/Frameworkfwd.h"
00005 #include "FWCore/Framework/interface/EDAnalyzer.h"
00006
00007 #include "FWCore/Framework/interface/Event.h"
00008 #include "FWCore/Framework/interface/EventSetup.h"
00009 #include "FWCore/Utilities/interface/InputTag.h"
00010 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00011
00012 #include "FWCore/ServiceRegistry/interface/Service.h"
00013 #include "DQMServices/Core/interface/DQMStore.h"
00014 #include "DQMServices/Core/interface/MonitorElement.h"
00015
00016 #include "Validation/RPCRecHits/interface/RPCValidHistograms.h"
00017
00018 #include <string>
00019
00020 class RPCRecHitValid : public edm::EDAnalyzer
00021 {
00022 public:
00023 RPCRecHitValid(const edm::ParameterSet& pset);
00024 ~RPCRecHitValid();
00025
00026 void analyze(const edm::Event& event, const edm::EventSetup& eventSetup);
00027 void beginRun(const edm::Run& run, const edm::EventSetup& eventSetup);
00028 void endRun(const edm::Run& run, const edm::EventSetup& eventSetup);
00029 void beginJob();
00030 void endJob();
00031
00032 private:
00033 std::string subDir_;
00034 edm::InputTag simHitLabel_, recHitLabel_;
00035 edm::InputTag simTrackLabel_;
00036 edm::InputTag muonLabel_;
00037
00038 DQMStore* dbe_;
00039
00040 typedef MonitorElement* MEP;
00041 RPCValidHistograms h_;
00042
00043 MEP h_eventCount;
00044
00045 MEP h_nRPCHitPerSimMuon, h_nRPCHitPerSimMuonBarrel, h_nRPCHitPerSimMuonOverlap, h_nRPCHitPerSimMuonEndcap;
00046 MEP h_nRPCHitPerRecoMuon, h_nRPCHitPerRecoMuonBarrel, h_nRPCHitPerRecoMuonOverlap, h_nRPCHitPerRecoMuonEndcap;
00047 MEP h_simMuonBarrel_pt, h_simMuonOverlap_pt, h_simMuonEndcap_pt, h_simMuonNoRPC_pt;
00048 MEP h_simMuonBarrel_eta, h_simMuonOverlap_eta, h_simMuonEndcap_eta, h_simMuonNoRPC_eta;
00049 MEP h_simMuonBarrel_phi, h_simMuonOverlap_phi, h_simMuonEndcap_phi, h_simMuonNoRPC_phi;
00050 MEP h_recoMuonBarrel_pt, h_recoMuonOverlap_pt, h_recoMuonEndcap_pt, h_recoMuonNoRPC_pt;
00051 MEP h_recoMuonBarrel_eta, h_recoMuonOverlap_eta, h_recoMuonEndcap_eta, h_recoMuonNoRPC_eta;
00052 MEP h_recoMuonBarrel_phi, h_recoMuonOverlap_phi, h_recoMuonEndcap_phi, h_recoMuonNoRPC_phi;
00053 MEP h_simTrackPType, h_simTrackPTypeBarrel, h_simTrackPTypeEndcap;
00054
00055 MEP h_refPunchOccupancyBarrel_wheel, h_refPunchOccupancyEndcap_disk, h_refPunchOccupancyBarrel_station;
00056 MEP h_refPunchOccupancyBarrel_wheel_station, h_refPunchOccupancyEndcap_disk_ring;
00057 MEP h_recPunchOccupancyBarrel_wheel, h_recPunchOccupancyEndcap_disk, h_recPunchOccupancyBarrel_station;
00058 MEP h_recPunchOccupancyBarrel_wheel_station, h_recPunchOccupancyEndcap_disk_ring;
00059
00060 MEP h_matchOccupancyBarrel_detId;
00061 MEP h_matchOccupancyEndcap_detId;
00062 MEP h_refOccupancyBarrel_detId;
00063 MEP h_refOccupancyEndcap_detId;
00064 MEP h_noiseOccupancyBarrel_detId;
00065 MEP h_noiseOccupancyEndcap_detId;
00066 MEP h_rollAreaBarrel_detId;
00067 MEP h_rollAreaEndcap_detId;
00068
00069 std::map<int, int> detIdToIndexMapBarrel_, detIdToIndexMapEndcap_;
00070 };
00071
00072 #endif