CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/src/DQM/RPCMonitorDigi/interface/RPCMonitorDigi.h

Go to the documentation of this file.
00001 #ifndef RPCMonitorDigi_h
00002 #define RPCMonitorDigi_h
00003 
00004 #include "FWCore/Framework/interface/Frameworkfwd.h"
00005 #include "FWCore/Framework/interface/EDAnalyzer.h"
00006 #include "FWCore/Framework/interface/ESHandle.h"
00007 #include "FWCore/Framework/interface/Event.h"
00008 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00009 #include "FWCore/ServiceRegistry/interface/Service.h"
00010 
00011 #include "DQMServices/Core/interface/DQMStore.h"
00012 #include "DQMServices/Core/interface/MonitorElement.h"
00013 
00014 #include "DataFormats/Common/interface/Handle.h"
00015 
00016 #include "Geometry/RPCGeometry/interface/RPCGeometry.h"
00017 
00018 #include<string>
00019 #include<map>
00020 
00021 class RPCDetId;
00022 
00023 class RPCMonitorDigi : public edm::EDAnalyzer {
00024    public:
00025         explicit RPCMonitorDigi( const edm::ParameterSet&);
00026         ~RPCMonitorDigi();
00027         
00028         virtual void analyze( const edm::Event&, const edm::EventSetup& );
00029 
00030         virtual void beginJob();
00031         virtual void endJob(void);
00032         void beginRun(const edm::Run& r, const edm::EventSetup& c);
00033 
00035         std::map<std::string, MonitorElement*> bookDetUnitME(RPCDetId& , const edm::EventSetup&);               
00036         
00038         std::map<std::string, MonitorElement*> bookRegionRing(int region, int ring);
00039 
00040       
00041    private:
00042         void makeDcsInfo(const edm::Event& ) ;
00043         int stripsInRoll(RPCDetId & ,const edm::EventSetup& );
00044         int counter;
00046         DQMStore * dbe;
00047         bool dcs_;
00048 
00049         MonitorElement * NumberOfDigis_for_Barrel;
00050         MonitorElement * NumberOfDigis_for_EndcapPositive;
00051         MonitorElement * NumberOfDigis_for_EndcapNegative;
00052 
00053         MonitorElement * NumberOfClusters_for_Barrel;
00054         MonitorElement * NumberOfClusters_for_EndcapPositive;
00055         MonitorElement * NumberOfClusters_for_EndcapNegative;
00056 
00057         MonitorElement * ClusterSize_for_Barrel;
00058         MonitorElement * ClusterSize_for_EndcapPositive;
00059         MonitorElement * ClusterSize_for_EndcapNegative;
00060         
00061         MonitorElement * ClusterSize_for_BarrelandEndcaps;
00062         MonitorElement * BarrelNumberOfDigis;
00063         MonitorElement * BarrelOccupancy;
00064         MonitorElement * EndcapPositiveOccupancy;
00065         MonitorElement * EndcapNegativeOccupancy;
00066         MonitorElement * RPCEvents;
00067 
00068         MonitorElement *        SameBxDigisMeBarrel_;
00069         MonitorElement *        SameBxDigisMeEndcapPositive_;
00070         MonitorElement *        SameBxDigisMeEndcapNegative_ ;
00071 
00072         std::map<uint32_t, std::map<std::string, MonitorElement*> >  meCollection;
00073         std::map<std::pair<int,int>, std::map<std::string, MonitorElement*> >  meWheelDisk;
00074         
00075         std::string RPCDataLabel;
00076         std::string digiLabel;
00077 
00078         bool mergeRuns_;
00079         std::string muonNoise_;
00080         std::string globalFolder_;
00081 
00082         std::string nameInLog;
00083         bool saveRootFile;
00084         //      int  saveRootFileEventsInterval;
00085         std::string RootFileName;
00086         bool dqmshifter;
00087         bool dqmexpert;
00088         bool dqmsuperexpert;
00089         std::string GlobalHistogramsFolder;
00090 
00091         edm::ESHandle<RPCGeometry> rpcGeo;
00092 
00093 
00094         edm::InputTag RPCRecHitLabel_;
00095         edm::InputTag RPCDigiLabel_;
00096 
00097 };
00098 
00099 #endif