00001 #ifndef DQM_PhysicsObjectMonitoring_PhysicsObjectsMonitor_H 00002 #define DQM_PhysicsObjectMonitoring_PhysicsObjectsMonitor_H 00003 00014 // Base Class Headers 00015 #include "FWCore/Framework/interface/EDAnalyzer.h" 00016 00017 #include "DQMServices/Core/interface/DQMStore.h" 00018 #include "FWCore/ServiceRegistry/interface/Service.h" 00019 #include "DQMServices/Core/interface/MonitorElement.h" 00020 00021 00022 namespace edm { 00023 class ParameterSet; 00024 class Event; 00025 class EventSetup; 00026 } 00027 00028 class TFile; 00029 class TH1F; 00030 class TH2F; 00031 00032 class PhysicsObjectsMonitor: public edm::EDAnalyzer { 00033 public: 00035 PhysicsObjectsMonitor(const edm::ParameterSet& pset); 00036 00038 virtual ~PhysicsObjectsMonitor(); 00039 00040 // Operations 00041 00042 void analyze(const edm::Event & event, const edm::EventSetup& eventSetup); 00043 00044 virtual void beginJob() ; 00045 virtual void endJob() ; 00046 protected: 00047 00048 private: 00049 std::string theRootFileName; 00050 bool saveRootFile; 00051 DQMStore * dbe; 00052 00053 00054 std::string theSTAMuonLabel; 00055 std::string theSeedCollectionLabel; 00056 00057 // Histograms Simulation 00058 MonitorElement *hPres; 00059 MonitorElement *h1_Pres; 00060 00061 // Histograms MTCC data 00062 MonitorElement *charge; 00063 MonitorElement *ptot; 00064 MonitorElement *pt; 00065 MonitorElement *px; 00066 MonitorElement *py; 00067 MonitorElement *pz; 00068 MonitorElement *Nmuon; 00069 MonitorElement *Nrechits; 00070 MonitorElement *NDThits; 00071 MonitorElement *NCSChits; 00072 MonitorElement *DTvsCSC; 00073 MonitorElement *DTvsRPC; 00074 MonitorElement *CSCvsRPC; 00075 MonitorElement *NRPChits; 00076 00077 00078 // Counters 00079 int numberOfSimTracks; 00080 int numberOfRecTracks; 00081 00082 std::string theDataType; 00083 00084 }; 00085 #endif 00086