CMS 3D CMS Logo

RPCEfficiencySecond.h

Go to the documentation of this file.
00001 
00012 #include <FWCore/Framework/interface/Frameworkfwd.h>
00013 #include <FWCore/Framework/interface/EDAnalyzer.h>
00014 #include <FWCore/Framework/interface/Event.h>
00015 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00016 #include "FWCore/ServiceRegistry/interface/Service.h"
00017 
00018 #include "DQMServices/Core/interface/DQMStore.h"
00019 #include "DQMServices/Core/interface/MonitorElement.h"
00020 
00021 #include <DataFormats/MuonDetId/interface/RPCDetId.h>
00022 
00023 
00024 #include<string>
00025 #include<map>
00026 #include<fstream>
00027 
00028 class RPCDetId;
00029 class TFile;
00030 class TH1F;
00031 class TFile;
00032 class TCanvas;
00033 class TH2F;
00034 class TString;
00035 class TGaxis;
00036 
00037 
00038 class RPCEfficiencySecond : public edm::EDAnalyzer {
00039    public:
00040       explicit RPCEfficiencySecond(const edm::ParameterSet&);
00041       ~RPCEfficiencySecond();
00042   
00043   TFile * theFile;
00044   TFile * theFileout;
00045 
00046   MonitorElement * statistics;
00047   MonitorElement * statistics2;
00048 
00049   MonitorElement * hGlobalResClu1La1;
00050   MonitorElement * hGlobalResClu1La2;
00051   MonitorElement * hGlobalResClu1La3;
00052   MonitorElement * hGlobalResClu1La4;
00053   MonitorElement * hGlobalResClu1La5;
00054   MonitorElement * hGlobalResClu1La6;
00055 
00056   MonitorElement * hGlobalResClu2La1;
00057   MonitorElement * hGlobalResClu2La2;
00058   MonitorElement * hGlobalResClu2La3;
00059   MonitorElement * hGlobalResClu2La4;
00060   MonitorElement * hGlobalResClu2La5;
00061   MonitorElement * hGlobalResClu2La6;
00062 
00063   MonitorElement * hGlobalResClu3La1;
00064   MonitorElement * hGlobalResClu3La2;
00065   MonitorElement * hGlobalResClu3La3;
00066   MonitorElement * hGlobalResClu3La4;
00067   MonitorElement * hGlobalResClu3La5;
00068   MonitorElement * hGlobalResClu3La6;
00069 
00070   //Endcap  
00071   MonitorElement * hGlobalResClu1R3C;
00072   MonitorElement * hGlobalResClu1R3B;
00073   MonitorElement * hGlobalResClu1R3A;
00074   MonitorElement * hGlobalResClu1R2C;
00075   MonitorElement * hGlobalResClu1R2B; 
00076   MonitorElement * hGlobalResClu1R2A;
00077 
00078   MonitorElement * hGlobalResClu2R3C;
00079   MonitorElement * hGlobalResClu2R3B;
00080   MonitorElement * hGlobalResClu2R3A;
00081   MonitorElement * hGlobalResClu2R2C;
00082   MonitorElement * hGlobalResClu2R2B;
00083   MonitorElement * hGlobalResClu2R2A;
00084 
00085   MonitorElement * hGlobalResClu3R3C;
00086   MonitorElement * hGlobalResClu3R3B;
00087   MonitorElement * hGlobalResClu3R3A;
00088   MonitorElement * hGlobalResClu3R2C;
00089   MonitorElement * hGlobalResClu3R2B;
00090   MonitorElement * hGlobalResClu3R2A;
00091 
00092   MonitorElement * hGlobal2ResClu1La1;
00093   MonitorElement * hGlobal2ResClu1La2;
00094   MonitorElement * hGlobal2ResClu1La3;
00095   MonitorElement * hGlobal2ResClu1La4;
00096   MonitorElement * hGlobal2ResClu1La5;
00097   MonitorElement * hGlobal2ResClu1La6;
00098 
00099   //SecondHistograms
00100 
00101   MonitorElement * hGlobal2ResClu2La1;
00102   MonitorElement * hGlobal2ResClu2La2;
00103   MonitorElement * hGlobal2ResClu2La3;
00104   MonitorElement * hGlobal2ResClu2La4;
00105   MonitorElement * hGlobal2ResClu2La5;
00106   MonitorElement * hGlobal2ResClu2La6;
00107 
00108   MonitorElement * hGlobal2ResClu3La1;
00109   MonitorElement * hGlobal2ResClu3La2;
00110   MonitorElement * hGlobal2ResClu3La3;
00111   MonitorElement * hGlobal2ResClu3La4;
00112   MonitorElement * hGlobal2ResClu3La5;
00113   MonitorElement * hGlobal2ResClu3La6;
00114 
00115   //Endcap  
00116   MonitorElement * hGlobal2ResClu1R3C;
00117   MonitorElement * hGlobal2ResClu1R3B;
00118   MonitorElement * hGlobal2ResClu1R3A;
00119   MonitorElement * hGlobal2ResClu1R2C;
00120   MonitorElement * hGlobal2ResClu1R2B; 
00121   MonitorElement * hGlobal2ResClu1R2A;
00122 
00123   MonitorElement * hGlobal2ResClu2R3C;
00124   MonitorElement * hGlobal2ResClu2R3B;
00125   MonitorElement * hGlobal2ResClu2R3A;
00126   MonitorElement * hGlobal2ResClu2R2C;
00127   MonitorElement * hGlobal2ResClu2R2B;
00128   MonitorElement * hGlobal2ResClu2R2A;
00129 
00130   MonitorElement * hGlobal2ResClu3R3C;
00131   MonitorElement * hGlobal2ResClu3R3B;
00132   MonitorElement * hGlobal2ResClu3R3A;
00133   MonitorElement * hGlobal2ResClu3R2C;
00134   MonitorElement * hGlobal2ResClu3R2B;
00135   MonitorElement * hGlobal2ResClu3R2A;
00136 
00137   //Histograms to use
00138   MonitorElement * histoRPC;
00139   MonitorElement * histoDT;
00140   MonitorElement * histoRealRPC;
00141   MonitorElement * histoCSC;
00142   MonitorElement * BXDistribution;
00143 
00144   MonitorElement * histoPRO;
00145   MonitorElement * histoeffIdRPC_DT;
00146   MonitorElement * histoeffIdRPC_CSC;
00147 
00148 
00149   //For Duplication
00150   MonitorElement * histoRPC2;
00151   MonitorElement * histoDT2;
00152   MonitorElement * histoRealRPC2;
00153   MonitorElement * histoCSC2;
00154   MonitorElement * BXDistribution2;
00155 
00156 
00157   //Eff Global Barrel
00158   MonitorElement * EffGlobWm2;
00159   MonitorElement * EffGlobWm1;
00160   MonitorElement * EffGlobW0;
00161   MonitorElement * EffGlobW1;
00162   MonitorElement * EffGlobW2;
00163  
00164   MonitorElement * EffGlobWm2far;
00165   MonitorElement * EffGlobWm1far;
00166   MonitorElement * EffGlobW0far;
00167   MonitorElement * EffGlobW1far;
00168   MonitorElement * EffGlobW2far;
00169 
00170   //BX Barrel 
00171   MonitorElement * BXGlobWm2;
00172   MonitorElement * BXGlobWm1;
00173   MonitorElement * BXGlobW0;
00174   MonitorElement * BXGlobW1;
00175   MonitorElement * BXGlobW2;
00176   
00177   MonitorElement * BXGlobWm2far;
00178   MonitorElement * BXGlobWm1far;
00179   MonitorElement * BXGlobW0far;
00180   MonitorElement * BXGlobW1far;
00181   MonitorElement * BXGlobW2far;
00182   
00183   //Masked Barrel
00184   MonitorElement * MaskedGlobWm2;
00185   MonitorElement * MaskedGlobWm1;
00186   MonitorElement * MaskedGlobW0;
00187   MonitorElement * MaskedGlobW1;
00188   MonitorElement * MaskedGlobW2;
00189   
00190   MonitorElement * MaskedGlobWm2far;
00191   MonitorElement * MaskedGlobWm1far;
00192   MonitorElement * MaskedGlobW0far;
00193   MonitorElement * MaskedGlobW1far;
00194   MonitorElement * MaskedGlobW2far;
00195 
00196   //Average Eff Barrel 
00197   MonitorElement * AverageEffWm2;
00198   MonitorElement * AverageEffWm1;
00199   MonitorElement * AverageEffW0;
00200   MonitorElement * AverageEffW1;
00201   MonitorElement * AverageEffW2;
00202 
00203   MonitorElement * AverageEffWm2far;
00204   MonitorElement * AverageEffWm1far;
00205   MonitorElement * AverageEffW0far;
00206   MonitorElement * AverageEffW1far;
00207   MonitorElement * AverageEffW2far;
00208 
00209   //No Prediction Barrel 
00210   MonitorElement * NoPredictionWm2;
00211   MonitorElement * NoPredictionWm1;
00212   MonitorElement * NoPredictionW0;
00213   MonitorElement * NoPredictionW1;
00214   MonitorElement * NoPredictionW2;
00215 
00216   MonitorElement * NoPredictionWm2far;
00217   MonitorElement * NoPredictionWm1far;
00218   MonitorElement * NoPredictionW0far;
00219   MonitorElement * NoPredictionW1far;
00220   MonitorElement * NoPredictionW2far;
00221 
00222   //Eff Distro Barrel
00223   MonitorElement * EffDistroWm2;
00224   MonitorElement * EffDistroWm1;
00225   MonitorElement * EffDistroW0;
00226   MonitorElement * EffDistroW1;
00227   MonitorElement * EffDistroW2;
00228 
00229   MonitorElement * EffDistroWm2far;
00230   MonitorElement * EffDistroWm1far;
00231   MonitorElement * EffDistroW0far;
00232   MonitorElement * EffDistroW1far;
00233   MonitorElement * EffDistroW2far;
00234  
00235 
00236   //Eff Global EndCap
00237 
00238   MonitorElement * EffGlobDm3;
00239   MonitorElement * EffGlobDm2;
00240   MonitorElement * EffGlobDm1;
00241   MonitorElement * EffGlobD1;
00242   MonitorElement * EffGlobD2;
00243   MonitorElement * EffGlobD3;
00244 
00245   MonitorElement * EffGlobDm3far;
00246   MonitorElement * EffGlobDm2far;
00247   MonitorElement * EffGlobDm1far;
00248   MonitorElement * EffGlobD1far;
00249   MonitorElement * EffGlobD2far;
00250   MonitorElement * EffGlobD3far;
00251 
00252   //BX EndCap
00253   MonitorElement * BXGlobDm3;
00254   MonitorElement * BXGlobDm2;
00255   MonitorElement * BXGlobDm1;
00256   MonitorElement * BXGlobD1;
00257   MonitorElement * BXGlobD2;
00258   MonitorElement * BXGlobD3;
00259   
00260   MonitorElement * BXGlobDm3far;
00261   MonitorElement * BXGlobDm2far;
00262   MonitorElement * BXGlobDm1far;
00263   MonitorElement * BXGlobD1far;
00264   MonitorElement * BXGlobD2far;
00265   MonitorElement * BXGlobD3far;
00266 
00267   //Masked EndCap
00268   MonitorElement * MaskedGlobDm3;
00269   MonitorElement * MaskedGlobDm2;
00270   MonitorElement * MaskedGlobDm1;
00271   MonitorElement * MaskedGlobD1;
00272   MonitorElement * MaskedGlobD2;
00273   MonitorElement * MaskedGlobD3;
00274   
00275   MonitorElement * MaskedGlobDm3far;
00276   MonitorElement * MaskedGlobDm2far;
00277   MonitorElement * MaskedGlobDm1far;
00278   MonitorElement * MaskedGlobD1far;
00279   MonitorElement * MaskedGlobD2far;
00280   MonitorElement * MaskedGlobD3far;
00281 
00282   //Average Eff EndCap
00283   MonitorElement * AverageEffDm3;
00284   MonitorElement * AverageEffDm2;
00285   MonitorElement * AverageEffDm1;
00286   MonitorElement * AverageEffD1;
00287   MonitorElement * AverageEffD2;
00288   MonitorElement * AverageEffD3;
00289 
00290   MonitorElement * AverageEffDm3far;
00291   MonitorElement * AverageEffDm2far;
00292   MonitorElement * AverageEffDm1far;
00293   MonitorElement * AverageEffD1far;
00294   MonitorElement * AverageEffD2far;
00295   MonitorElement * AverageEffD3far;
00296 
00297   //No Prediction EndCap
00298   MonitorElement * NoPredictionDm3;
00299   MonitorElement * NoPredictionDm2;
00300   MonitorElement * NoPredictionDm1;
00301   MonitorElement * NoPredictionD1;
00302   MonitorElement * NoPredictionD2;
00303   MonitorElement * NoPredictionD3;
00304 
00305   MonitorElement * NoPredictionDm3far;
00306   MonitorElement * NoPredictionDm2far;
00307   MonitorElement * NoPredictionDm1far;
00308   MonitorElement * NoPredictionD1far;
00309   MonitorElement * NoPredictionD2far;
00310   MonitorElement * NoPredictionD3far;
00311 
00312   //EffDistro EndCap
00313   MonitorElement * EffDistroDm3;
00314   MonitorElement * EffDistroDm2;
00315   MonitorElement * EffDistroDm1;
00316   MonitorElement * EffDistroD1;
00317   MonitorElement * EffDistroD2;
00318   MonitorElement * EffDistroD3;
00319 
00320   MonitorElement * EffDistroDm3far;
00321   MonitorElement * EffDistroDm2far;
00322   MonitorElement * EffDistroDm1far;
00323   MonitorElement * EffDistroD1far;
00324   MonitorElement * EffDistroD2far;
00325   MonitorElement * EffDistroD3far;
00326 
00327   
00328  private:
00329   virtual void beginJob(const edm::EventSetup&) ;
00330   virtual void analyze(const edm::Event&, const edm::EventSetup&);
00331   virtual void endJob() ;
00332   virtual void endRun(const edm::Run& , const edm::EventSetup& );
00333 
00334   std::map<std::string, MonitorElement*> bookDetUnitSeg(RPCDetId & detId,int nstrips);
00335   std::map<std::string, std::map<std::string, MonitorElement*> >  meCollection;
00336   
00337   bool debug;
00338   bool endcap;
00339   bool barrel;
00340   bool SaveFile;
00341   std::string NameFile;
00342   
00343   DQMStore * dbe;
00344   
00345 };
00346 

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