CMS 3D CMS Logo

SiPixelActionExecutor.h

Go to the documentation of this file.
00001 #ifndef _SiPixelActionExecutor_h_
00002 #define _SiPixelActionExecutor_h_
00003 
00004 #include "DQMServices/Core/interface/DQMOldReceiver.h"
00005 #include "DQMServices/Core/interface/MonitorElement.h"
00006 #include "DQMServices/Core/interface/DQMStore.h"
00007 #include "DQM/SiPixelMonitorClient/interface/SiPixelConfigParser.h"
00008 #include "DQM/SiPixelMonitorClient/interface/SiPixelConfigWriter.h"
00009 #include "DQMServices/ClientConfig/interface/QTestHandle.h"
00010 #include <fstream>
00011 #include <map>
00012 #include <vector>
00013 #include <string>
00014 
00015 class SiPixelActionExecutor {
00016 
00017  public:
00018 
00019   SiPixelActionExecutor(            bool                           offlineXMLfile);
00020  ~SiPixelActionExecutor();
00021 
00022  void createSummary(                DQMStore                     * bei);
00023  void bookOccupancyPlots(           DQMStore                     * bei,
00024                                     bool                           hiRes,
00025                                                                         bool                            isbarrel);
00026  void bookOccupancyPlots(           DQMStore                     * bei,
00027                                     bool                           hiRes);
00028  void createOccupancy(              DQMStore                     * bei);
00029  void setupQTests(                  DQMStore                     * bei);
00030  void checkQTestResults(            DQMStore                     * bei);
00031  void createTkMap(                  DQMStore                     * bei, 
00032                                     std::string                    mEName,
00033                                     std::string                    theTKType);
00034  bool readConfiguration(            int                          & tkmap_freq, 
00035                                     int                          & sum_barrel_freq, 
00036                                     int                          & sum_endcap_freq, 
00037                                     int                          & sum_grandbarrel_freq, 
00038                                     int                          & sum_grandendcap_freq,
00039                                     int                          & message_limit,
00040                                     int                          & source_type,
00041                                     int                          & calib_type);
00042  bool readConfiguration(            int                          & tkmap_freq, 
00043                                     int                          & summary_freq);
00044  void readConfiguration(            );
00045  void createLayout(                 DQMStore                     * bei);
00046  void fillLayout(                   DQMStore                     * bei);
00047  int getTkMapMENames(               std::vector<std::string>     & names);
00048  void dumpModIds(                   DQMStore                     * bei);
00049  void dumpBarrelModIds(             DQMStore                     * bei);
00050  void dumpEndcapModIds(             DQMStore                     * bei);
00051  
00052 
00053 
00054 private:
00055   
00056   
00057   MonitorElement* getSummaryME(     DQMStore                     * bei, 
00058                                     std::string                    me_name);
00059   MonitorElement* getFEDSummaryME(  DQMStore                     * bei, 
00060                                     std::string                    me_name);
00061   void fillSummary(                 DQMStore                     * bei, 
00062                                     std::string                    dir_name,
00063                                     std::vector<std::string>     & me_names,
00064                                     bool isbarrel);
00065   void fillFEDErrorSummary(         DQMStore                     * bei, 
00066                                     std::string                    dir_name,
00067                                     std::vector<std::string>     & me_names);
00068   void fillGrandBarrelSummaryHistos(DQMStore                     * bei, 
00069                                     std::vector<std::string>     & me_names);
00070   void fillGrandEndcapSummaryHistos(DQMStore                     * bei, 
00071                                     std::vector<std::string>     & me_names);
00072   void getGrandSummaryME(           DQMStore                     * bei,
00073                                     int                            nbin, 
00074                                     std::string                  & me_name, 
00075                                     std::vector<MonitorElement*> & mes);
00076  
00077   void fillOccupancy(               DQMStore                     * bei,
00078                                     bool isbarrel);
00079 
00080   SiPixelConfigParser* configParser_;
00081   SiPixelConfigWriter* configWriter_;
00082   
00083   std::vector<std::string> summaryMENames;
00084   std::vector<std::string> tkMapMENames;
00085   
00086   int message_limit_;
00087   int source_type_;
00088   int calib_type_;  
00089   int ndet_;
00090   bool offlineXMLfile_;
00091   
00092   QTestHandle* qtHandler_;
00093   
00094   MonitorElement * OccupancyMap;
00095   MonitorElement * PixelOccupancyMap;
00096   
00097   
00098 };
00099 #endif

Generated on Tue Jun 9 17:33:19 2009 for CMSSW by  doxygen 1.5.4