CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/DQM/TrigXMonitor/interface/L1TScalersSCAL.h

Go to the documentation of this file.
00001 #ifndef L1TScalersSCAL_H
00002 #define L1TScalersSCAL_H
00003 
00004 #include<vector>
00005 
00006 #include "FWCore/Framework/interface/Frameworkfwd.h"
00007 #include "FWCore/Framework/interface/EDAnalyzer.h"
00008 
00009 #include "DQMServices/Core/interface/DQMStore.h"
00010 
00011 #include "DQMServices/Core/interface/MonitorElement.h"
00012 #include "FWCore/Utilities/interface/InputTag.h"
00013 
00014 class L1TScalersSCAL: public edm::EDAnalyzer
00015 {
00016 public:
00017 
00018   enum { N_LUMISECTION_TIME = 93 };
00019 
00021   L1TScalersSCAL(const edm::ParameterSet& ps);
00022       
00024   virtual ~L1TScalersSCAL();
00025             
00027   void beginJob(void);
00028                 
00030   void endJob(void);
00031                      
00033   void beginRun(const edm::Run& run, const edm::EventSetup& c);
00034                          
00036   void endRun(const edm::Run& run, const edm::EventSetup& c);
00037                                                             
00038 //   /// Begin LumiBlock
00039 //   void beginLuminosityBlock(const edm::LuminosityBlock& lumiSeg, 
00040 //                             const edm::EventSetup& c) ;
00041                                
00044   void endLuminosityBlock(const edm::LuminosityBlock& lumiSeg, 
00045                           const edm::EventSetup& c);
00046                                   
00047   void analyze(const edm::Event& e, const edm::EventSetup& c) ;
00048 
00049 
00050 private:
00051   DQMStore * dbe_;
00052   edm::InputTag scalersSource_;
00053                                                                      
00054   std::string outputFile_;      //file name for ROOT ouput
00055   bool verbose_, denomIsTech_, monitorDaemon_;
00056   unsigned int denomBit_, muonBit_,egammaBit_,jetBit_;
00057   int nev_; // Number of events processed
00058   long reftime_,buffertime_;
00059   std::vector<double> algorithmRates_;
00060   std::vector<double> bufferAlgoRates_;
00061   std::vector<double> technicalRates_;
00062   std::vector<double> bufferTechRates_;                                 
00063   std::vector<double> integral_algo_;                                 
00064   std::vector<double> integral_tech_;                                 
00065   double   integral_tech_42_OR_43_;
00066   unsigned int bufferLumi_;
00067 
00068   MonitorElement * orbitNum;
00069   MonitorElement * trigNum;
00070   MonitorElement * eventNum;
00071   MonitorElement * physTrig;
00072   MonitorElement * randTrig;
00073   MonitorElement * numberResets;
00074   MonitorElement * deadTime;
00075   MonitorElement * lostFinalTriggers;
00076   MonitorElement * algoRate[128];
00077   MonitorElement * techRate[64];
00078   MonitorElement * integralAlgo[128];
00079   MonitorElement * integralTech[64];
00080   MonitorElement * integralTech_42_OR_43;
00081   MonitorElement * techRateRatio_33_over_32;
00082   MonitorElement * techRateRatio_8;
00083   MonitorElement * techRateRatio_9;
00084   MonitorElement * techRateRatio_10;
00085   MonitorElement * techRateRatio_36;
00086   MonitorElement * techRateRatio_37;
00087   MonitorElement * techRateRatio_38;
00088   MonitorElement * techRateRatio_39;
00089   MonitorElement * techRateRatio_40;
00090   MonitorElement * techRateRatio_41;
00091   MonitorElement * techRateRatio_42;
00092   MonitorElement * techRateRatio_43;
00093   MonitorElement * rateRatio_mu;
00094   MonitorElement * rateRatio_egamma;
00095   MonitorElement * rateRatio_jet;
00096 
00097 
00098   MonitorElement * physRate;
00099   MonitorElement * randRate;
00100   MonitorElement * deadTimePercent;
00101   MonitorElement * lostPhysRate;
00102   MonitorElement * lostPhysRateBeamActive;
00103   MonitorElement * instTrigRate;
00104   MonitorElement * instEventRate;
00105   
00106 
00107   MonitorElement *  instLumi;
00108   MonitorElement *  instLumiErr; 
00109   MonitorElement *  instLumiQlty; 
00110   MonitorElement *  instEtLumi; 
00111   MonitorElement *  instEtLumiErr; 
00112   MonitorElement *  instEtLumiQlty; 
00113   MonitorElement *  sectionNum; 
00114   MonitorElement *  startOrbit; 
00115   MonitorElement *  numOrbits;   
00116 
00117  
00118   MonitorElement *  orbitNumL1A[4];
00119   MonitorElement *  bunchCrossingL1A[4];
00120   MonitorElement *  bunchCrossingCorr[3];
00121   MonitorElement *  bunchCrossingDiff[3];
00122   MonitorElement *  bunchCrossingDiff_small[3];
00123 
00124 
00125 };
00126 
00127 #endif // L1TScalersSCAL_H
00128