Go to the documentation of this file.00001 #ifndef _SiPixelDataQuality_h_
00002 #define _SiPixelDataQuality_h_
00003
00004 #include "DQMServices/Core/interface/MonitorElement.h"
00005
00006 #include "DQM/SiPixelMonitorClient/interface/SiPixelConfigParser.h"
00007 #include "DQM/SiPixelMonitorClient/interface/SiPixelConfigWriter.h"
00008 #include "DQM/SiPixelMonitorClient/interface/SiPixelActionExecutor.h"
00009 #include "DQM/SiPixelMonitorClient/interface/SiPixelLayoutParser.h"
00010
00011 #include "FWCore/Framework/interface/Event.h"
00012 #include "FWCore/Framework/interface/EventSetup.h"
00013 #include "FWCore/Framework/interface/ESHandle.h"
00014 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00015
00016 #include "DataFormats/SiPixelDigi/interface/PixelDigi.h"
00017 #include "DataFormats/Common/interface/DetSetVector.h"
00018 #include "CondFormats/DataRecord/interface/SiPixelFedCablingMapRcd.h"
00019 #include "CondFormats/SiPixelObjects/interface/DetectorIndex.h"
00020 #include "CondFormats/SiPixelObjects/interface/SiPixelFedCablingMap.h"
00021 #include "CondFormats/SiPixelObjects/interface/SiPixelFrameConverter.h"
00022
00023 #include "xgi/Utils.h"
00024 #include "xgi/Method.h"
00025
00026 #include "TCanvas.h"
00027 #include "TPaveText.h"
00028 #include "TF1.h"
00029 #include "TH2F.h"
00030 #include "TGaxis.h"
00031
00032 #include <fstream>
00033 #include <sstream>
00034 #include <map>
00035 #include <vector>
00036 #include <string>
00037 #include <map>
00038 #include <boost/cstdint.hpp>
00039
00040 class DQMStore;
00041 class SiPixelEDAClient;
00042 class SiPixelWebInterface;
00043 class SiPixelHistoPlotter;
00044 class SiPixelDataQuality {
00045
00046 public:
00047
00048 SiPixelDataQuality( bool offlineXMLfile);
00049 ~SiPixelDataQuality();
00050
00051 int getDetId( MonitorElement * mE) ;
00052
00053 void bookGlobalQualityFlag (DQMStore * bei,
00054 bool Tier0Flag,
00055 int nFEDs);
00056
00057 void computeGlobalQualityFlag (DQMStore * bei,
00058 bool init,
00059 int nFEDs,
00060 bool Tier0Flag);
00061
00062 void computeGlobalQualityFlagByLumi (DQMStore * bei,
00063 bool init,
00064 int nFEDs,
00065 bool Tier0Flag,
00066 int nEvents_lastLS_,
00067 int nErrorsBarrel_lastLS_,
00068 int nErrorsEndcap_lastLS_);
00069
00070 void fillGlobalQualityPlot (DQMStore * bei,
00071 bool init,
00072 edm::EventSetup const & eSetup,
00073 int nFEDs,
00074 bool Tier0Flag,
00075 int lumisec);
00076
00077 private:
00078
00079 bool offlineXMLfile_;
00080
00081
00082 TH2F * allmodsMap;
00083 TH2F * errmodsMap;
00084 TH2F * goodmodsMap;
00085 TH1D * allmodsVec;
00086 TH1D * errmodsVec;
00087 TH1D * goodmodsVec;
00088 int count;
00089 int errcount;
00090 bool gotDigis;
00091
00092 int objectCount_;
00093 bool DONE_;
00094
00095
00096 ofstream myfile_;
00097 int nevents_;
00098 bool endOfModules_;
00099 edm::ESHandle<SiPixelFedCablingMap> theCablingMap;
00100
00101
00102 MonitorElement * SummaryReportMap;
00103 MonitorElement * SummaryPixel;
00104 MonitorElement * SummaryBarrel;
00105 MonitorElement * SummaryEndcap;
00106 float qflag_;
00107 int allMods_, errorMods_, barrelMods_, endcapMods_;
00108
00109
00110 MonitorElement * FEDErrReportMap;
00111 MonitorElement * NErrorsBarrel;
00112 MonitorElement * NErrorsEndcap;
00113 MonitorElement * NErrorsFEDs;
00114 int n_errors_barrel_, n_errors_endcap_, n_errors_pixel_;
00115 float barrel_error_flag_, endcap_error_flag_, pixel_error_flag_;
00116
00117 bool digiStatsBarrel, clusterStatsBarrel, trackStatsBarrel;
00118 int digiCounterBarrel, clusterCounterBarrel, trackCounterBarrel;
00119 bool digiStatsEndcap, clusterStatsEndcap, trackStatsEndcap;
00120 int digiCounterEndcap, clusterCounterEndcap, trackCounterEndcap;
00121
00122
00123 MonitorElement * NDigisBarrel;
00124 MonitorElement * NDigisEndcap;
00125 MonitorElement * DigiChargeBarrel;
00126 MonitorElement * DigiChargeEndcap;
00127
00128
00129 MonitorElement * ClusterSizeBarrel;
00130 MonitorElement * ClusterSizeEndcap;
00131 MonitorElement * ClusterChargeBarrel;
00132 MonitorElement * ClusterChargeEndcap;
00133 MonitorElement * NClustersBarrel;
00134 MonitorElement * NClustersEndcap;
00135
00136
00137 MonitorElement * NPixelTracks;
00138
00139 int count1;
00140 int count2;
00141 int count3;
00142 int count4;
00143 int count5;
00144 int count6;
00145
00146 int timeoutCounter_;
00147 int modCounter_;
00148 int lastLS_;
00149 float lasterrmods_[40];
00150 float lastallmods_[40];
00151
00152 };
00153 #endif