CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/DQM/RPCMonitorClient/src/RPCEfficiencySecond.cc

Go to the documentation of this file.
00001 /***************************************
00002 Author: 
00003 Camilo Carrillo
00004 Universidad de los Andes Bogota Colombia
00005 camilo.carrilloATcern.ch
00006 ****************************************/
00007 
00008 #include "DQM/RPCMonitorDigi/interface/utils.h"
00009 #include "DQM/RPCMonitorClient/interface/RPCEfficiencySecond.h"
00010 #include "DQM/RPCMonitorDigi/interface/RPCBookFolderStructure.h"
00011 
00012 // #include <memory>
00013 // #include <string>
00014 // #include <fstream>
00015 // #include <iostream>
00016 
00017 #include "FWCore/Framework/interface/Frameworkfwd.h"
00018 #include "FWCore/Framework/interface/EDAnalyzer.h"
00019 #include "FWCore/Framework/interface/Event.h"
00020 #include "FWCore/Framework/interface/MakerMacros.h"
00021 #include "FWCore/Framework/interface/ESHandle.h"
00022 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00023 
00024 
00025 #include <Geometry/RPCGeometry/interface/RPCGeometry.h>
00026 #include <Geometry/RPCGeometry/interface/RPCGeomServ.h>
00027 #include <Geometry/CommonDetUnit/interface/GeomDet.h>
00028 #include <Geometry/Records/interface/MuonGeometryRecord.h>
00029 
00030 // #include <DataFormats/MuonDetId/interface/RPCDetId.h>
00031 
00032 // #include "DQMServices/Core/interface/MonitorElement.h"
00033 
00034 //#include "TH1F.h"
00035 
00036 
00037 RPCEfficiencySecond::RPCEfficiencySecond(const edm::ParameterSet& iConfig){
00038   SaveFile  = iConfig.getUntrackedParameter<bool>("SaveFile", false); 
00039   NameFile  = iConfig.getUntrackedParameter<std::string>("NameFile","RPCEfficiency.root"); 
00040   folderPath  = iConfig.getUntrackedParameter<std::string>("folderPath","RPC/RPCEfficiency/"); 
00041   debug = iConfig.getUntrackedParameter<bool>("debug",false); 
00042   barrel = iConfig.getUntrackedParameter<bool>("barrel"); 
00043   endcap = iConfig.getUntrackedParameter<bool>("endcap"); 
00044 }
00045  
00046 RPCEfficiencySecond::~RPCEfficiencySecond(){}
00047 
00048 void RPCEfficiencySecond::beginRun(const edm::Run&, const edm::EventSetup& iSetup){
00049   
00050   dbe = edm::Service<DQMStore>().operator->();
00051 
00052 //  if(debug) std::cout<<"Booking Residuals Barrel"<<std::endl;
00053 //  dbe->setCurrentFolder(folderPath+"ResidualsBarrel/");
00054  
00055   //Barrel
00056 //   hGlobal2ResClu1La1 = dbe->book1D("GlobalResidualsClu1La1","RPC Residuals Layer 1 Cluster Size 1",101,-10.,10.);
00057 //   hGlobal2ResClu1La2 = dbe->book1D("GlobalResidualsClu1La2","RPC Residuals Layer 2 Cluster Size 1",101,-10.,10.);
00058 //   hGlobal2ResClu1La3 = dbe->book1D("GlobalResidualsClu1La3","RPC Residuals Layer 3 Cluster Size 1",101,-10.,10.);
00059 //   hGlobal2ResClu1La4 = dbe->book1D("GlobalResidualsClu1La4","RPC Residuals Layer 4 Cluster Size 1",101,-10.,10.);
00060 //   hGlobal2ResClu1La5 = dbe->book1D("GlobalResidualsClu1La5","RPC Residuals Layer 5 Cluster Size 1",101,-10.,10.);
00061 //   hGlobal2ResClu1La6 = dbe->book1D("GlobalResidualsClu1La6","RPC Residuals Layer 6 Cluster Size 1",101,-10.,10.);
00062 
00063 //   hGlobal2ResClu2La1 = dbe->book1D("GlobalResidualsClu2La1","RPC Residuals Layer 1 Cluster Size 2",101,-10.,10.);
00064 //   hGlobal2ResClu2La2 = dbe->book1D("GlobalResidualsClu2La2","RPC Residuals Layer 2 Cluster Size 2",101,-10.,10.);
00065 //   hGlobal2ResClu2La3 = dbe->book1D("GlobalResidualsClu2La3","RPC Residuals Layer 3 Cluster Size 2",101,-10.,10.);
00066 //   hGlobal2ResClu2La4 = dbe->book1D("GlobalResidualsClu2La4","RPC Residuals Layer 4 Cluster Size 2",101,-10.,10.);
00067 //   hGlobal2ResClu2La5 = dbe->book1D("GlobalResidualsClu2La5","RPC Residuals Layer 5 Cluster Size 2",101,-10.,10.);
00068 //   hGlobal2ResClu2La6 = dbe->book1D("GlobalResidualsClu2La6","RPC Residuals Layer 6 Cluster Size 2",101,-10.,10.);
00069 
00070 //   hGlobal2ResClu3La1 = dbe->book1D("GlobalResidualsClu3La1","RPC Residuals Layer 1 Cluster Size 3",101,-10.,10.);
00071 //   hGlobal2ResClu3La2 = dbe->book1D("GlobalResidualsClu3La2","RPC Residuals Layer 2 Cluster Size 3",101,-10.,10.);
00072 //   hGlobal2ResClu3La3 = dbe->book1D("GlobalResidualsClu3La3","RPC Residuals Layer 3 Cluster Size 3",101,-10.,10.);
00073 //   hGlobal2ResClu3La4 = dbe->book1D("GlobalResidualsClu3La4","RPC Residuals Layer 4 Cluster Size 3",101,-10.,10.);
00074 //   hGlobal2ResClu3La5 = dbe->book1D("GlobalResidualsClu3La5","RPC Residuals Layer 5 Cluster Size 3",101,-10.,10.);
00075 //   hGlobal2ResClu3La6 = dbe->book1D("GlobalResidualsClu3La6","RPC Residuals Layer 6 Cluster Size 3",101,-10.,10.);
00076 
00077 //  if(debug) std::cout<<"Booking Residuals EndCaps"<<std::endl;
00078 //  dbe->setCurrentFolder(folderPath+"ResidualsEndCaps/");
00079 
00080   //Endcap  
00081 //   hGlobal2ResClu1R3C = dbe->book1D("GlobalResidualsClu1R3C","RPC Residuals Ring 3 Roll C Cluster Size 1",101,-10.,10.);
00082 //   hGlobal2ResClu1R3B = dbe->book1D("GlobalResidualsClu1R3B","RPC Residuals Ring 3 Roll B Cluster Size 1",101,-10.,10.);
00083 //   hGlobal2ResClu1R3A = dbe->book1D("GlobalResidualsClu1R3A","RPC Residuals Ring 3 Roll A Cluster Size 1",101,-10.,10.);
00084 //   hGlobal2ResClu1R2C = dbe->book1D("GlobalResidualsClu1R2C","RPC Residuals Ring 2 Roll C Cluster Size 1",101,-10.,10.);
00085 //   hGlobal2ResClu1R2B = dbe->book1D("GlobalResidualsClu1R2B","RPC Residuals Ring 2 Roll B Cluster Size 1",101,-10.,10.);
00086 //   hGlobal2ResClu1R2A = dbe->book1D("GlobalResidualsClu1R2A","RPC Residuals Ring 2 Roll A Cluster Size 1",101,-10.,10.);
00087   
00088 //   hGlobal2ResClu2R3C = dbe->book1D("GlobalResidualsClu2R3C","RPC Residuals Ring 3 Roll C Cluster Size 2",101,-10.,10.);
00089 //   hGlobal2ResClu2R3B = dbe->book1D("GlobalResidualsClu2R3B","RPC Residuals Ring 3 Roll B Cluster Size 2",101,-10.,10.);
00090 //   hGlobal2ResClu2R3A = dbe->book1D("GlobalResidualsClu2R3A","RPC Residuals Ring 3 Roll A Cluster Size 2",101,-10.,10.);
00091 //   hGlobal2ResClu2R2C = dbe->book1D("GlobalResidualsClu2R2C","RPC Residuals Ring 2 Roll C Cluster Size 2",101,-10.,10.);
00092 //   hGlobal2ResClu2R2B = dbe->book1D("GlobalResidualsClu2R2B","RPC Residuals Ring 2 Roll B Cluster Size 2",101,-10.,10.);
00093 //   hGlobal2ResClu2R2A = dbe->book1D("GlobalResidualsClu2R2A","RPC Residuals Ring 2 Roll A Cluster Size 2",101,-10.,10.);
00094   
00095 //   hGlobal2ResClu3R3C = dbe->book1D("GlobalResidualsClu3R3C","RPC Residuals Ring 3 Roll C Cluster Size 3",101,-10.,10.);
00096 //   hGlobal2ResClu3R3B = dbe->book1D("GlobalResidualsClu3R3B","RPC Residuals Ring 3 Roll B Cluster Size 3",101,-10.,10.);
00097 //   hGlobal2ResClu3R3A = dbe->book1D("GlobalResidualsClu3R3A","RPC Residuals Ring 3 Roll A Cluster Size 3",101,-10.,10.);
00098 //   hGlobal2ResClu3R2C = dbe->book1D("GlobalResidualsClu3R2C","RPC Residuals Ring 2 Roll C Cluster Size 3",101,-10.,10.);
00099 //   hGlobal2ResClu3R2B = dbe->book1D("GlobalResidualsClu3R2B","RPC Residuals Ring 2 Roll B Cluster Size 3",101,-10.,10.);
00100 //   hGlobal2ResClu3R2A = dbe->book1D("GlobalResidualsClu3R2A","RPC Residuals Ring 2 Roll A Cluster Size 3",101,-10.,10.);
00101 
00102 //  if(debug) std::cout<<"Booking EffDistros"<<std::endl;
00103 //  dbe->setCurrentFolder(folderPath);
00104 
00105 //   if(debug) std::cout<<"Booking statistics2"<<std::endl;
00106 //   dbe->setCurrentFolder(folderPath);
00107 //   statistics2 = dbe->book1D("AllStatistics","Analyzed Events DT and CSC Segments",33,0.5,33.5);
00108   
00109   //Barrel 
00110   
00111   dbe->setCurrentFolder(folderPath+"Wheel_-2");
00112   EffDistroWm2=dbe->book1D("EffDistroWheel_-2","Efficiency Distribution for Wheel -2 ",20,0.5,100.5);
00113   //EffDistroWm2far=dbe->book1D("EffDistroWheel_-2far","Efficiency Distribution for Far Side Wheel -2 ",20,0.5,100.5);
00114   EffGlobWm2=dbe->book1D("GlobEfficiencyWheel_-2","Efficiency Wheel -2 ",206,0.5,206.5);
00115   //EffGlobWm2far=dbe->book1D("GlobEfficiencyWheel_-2far","Efficiency Far Side Wheel -2",105,0.5,105.5);
00116   //BXGlobWm2= dbe->book1D("GlobBXWheel_-2near","BX Near Side Wheel -2",101,0.5,101.5);
00117   //BXGlobWm2far= dbe->book1D("GlobBXWheel_-2far","BX Far Side Wheel -2",105,0.5,105.5);
00118   //MaskedGlobWm2= dbe->book1D("GlobMaskedWheel_-2near","Masked Near Side Wheel -2",101,0.5,101.5);
00119   //MaskedGlobWm2far= dbe->book1D("GlobMaskedWheel_-2far","Masked Far Side Wheel -2",105,0.5,105.5);
00120   //AverageEffWm2=dbe->book1D("AverageEfficiencyWheel_-2near","Average Efficiency Near Side Wheel -2 ",101,0.5,101.5);
00121   //AverageEffWm2far =dbe->book1D("AverageEfficiencyWheel_-2far","Average Efficiency Far Side Wheel -2 ",105,0.5,105.5);
00122   //NoPredictionWm2=dbe->book1D("NoPredictionWheel_-2near","No Predictions Near Side Wheel -2 ",101,0.5,101.5);
00123   //NoPredictionWm2far=dbe->book1D("NoPredictionWheel_-2far","No Predictions Efficiency Far Side Wheel -2 ",105,0.5,105.5);
00124   
00125   dbe->setCurrentFolder(folderPath+"Wheel_-1");
00126   EffDistroWm1=dbe->book1D("EffDistroWheel_-1","Efficiency Distribution for Wheel -1 ",20,0.5,100.5);
00127   //EffDistroWm1far=dbe->book1D("EffDistroWheel_-1far","Efficiency Distribution for Far Side Wheel -1 ",20,0.5,100.5);
00128   EffGlobWm1= dbe->book1D("GlobEfficiencyWheel_-1","Efficiency Wheel -1",206,0.5,206.5);
00129   //EffGlobWm1far=dbe->book1D("GlobEfficiencyWheel_-1far","Efficiency Far Side Wheel -1",105,0.5,105.5);
00130   //BXGlobWm1= dbe->book1D("GlobBXWheel_-1near","BX Near Side Wheel -1",101,0.5,101.5);
00131   //BXGlobWm1far= dbe->book1D("GlobBXWheel_-1far","BX Far Side Wheel -1",105,0.5,105.5);
00132   //MaskedGlobWm1= dbe->book1D("GlobMaskedWheel_-1near","Masked Near Side Wheel -1",101,0.5,101.5);
00133   //MaskedGlobWm1far= dbe->book1D("GlobMaskedWheel_-1far","Masked Far Side Wheel -1",105,0.5,105.5);
00134   //AverageEffWm1=dbe->book1D("AverageEfficiencyWheel_-1near","Average Efficiency Near Side Wheel -1 ",101,0.5,101.5);
00135   //AverageEffWm1far=dbe->book1D("AverageEfficiencyWheel_-1far","Average Efficiency Far Side Wheel -1 ",105,0.5,105.5);
00136   //NoPredictionWm1=dbe->book1D("NoPredictionWheel_-1near","No Predictions Near Side Wheel -1 ",101,0.5,101.5);
00137   //NoPredictionWm1far=dbe->book1D("NoPredictionWheel_-1far","No Predictions Efficiency Far Side Wheel -1 ",105,0.5,105.5);
00138 
00139   dbe->setCurrentFolder(folderPath+"Wheel_0");
00140   EffDistroW0=dbe->book1D("EffDistroWheel_0","Efficiency Distribution for Wheel 0 ",20,0.5,100.5);
00141   //EffDistroW0far=dbe->book1D("EffDistroWheel_0far","Efficiency Distribution for Far Side Wheel 0 ",20,0.5,100.5);
00142   EffGlobW0 = dbe->book1D("GlobEfficiencyWheel_0","Efficiency Wheel 0",206,0.5,206.5);
00143   //EffGlobW0far =dbe->book1D("GlobEfficiencyWheel_0far","Efficiency Far Side Wheel 0",105,0.5,105.5);
00144   //BXGlobW0 = dbe->book1D("GlobBXWheel_0near","BX Near Side Wheel 0",101,0.5,101.5);
00145   //BXGlobW0far = dbe->book1D("GlobBXWheel_0far","BX Far Side Wheel 0",105,0.5,105.5);
00146   //MaskedGlobW0 = dbe->book1D("GlobMaskedWheel_0near","Masked Near Side Wheel 0",101,0.5,101.5);
00147   //MaskedGlobW0far = dbe->book1D("GlobMaskedWheel_0far","Masked Far Side Wheel 0",105,0.5,105.5);
00148   //AverageEffW0=dbe->book1D("AverageEfficiencyWheel_0near","Average Efficiency Near Side Wheel 0 ",101,0.5,101.5);
00149   //AverageEffW0far=dbe->book1D("AverageEfficiencyWheel_0far","Average Efficiency Far Side Wheel 0 ",105,0.5,105.5);
00150   //NoPredictionW0=dbe->book1D("NoPredictionWheel_0near","No Predictions Near Side Wheel 0 ",101,0.5,101.5);
00151   //NoPredictionW0far=dbe->book1D("NoPredictionWheel_0far","No Predictions Efficiency Far Side Wheel 0 ",105,0.5,105.5);
00152 
00153   dbe->setCurrentFolder(folderPath+"Wheel_1");
00154   EffDistroW1=dbe->book1D("EffDistroWheel_1","Efficiency Distribution for Wheel 1 ",20,0.5,100.5);
00155   //EffDistroW1far=dbe->book1D("EffDistroWheel_1far","Efficiency Distribution for Far Side Wheel 1 ",20,0.5,100.5);
00156   EffGlobW1 = dbe->book1D("GlobEfficiencyWheel_1","Efficiency Wheel 1",206,0.5,206.5);
00157   //EffGlobW1far =dbe->book1D("GlobEfficiencyWheel_1far","Efficiency Far Side Wheel 1",105,0.5,105.5);  
00158   //BXGlobW1 = dbe->book1D("GlobBXWheel_1near","BX Near Side Wheel 1",101,0.5,101.5);
00159   //BXGlobW1far = dbe->book1D("GlobBXWheel_1far","BX Far Side Wheel 1",105,0.5,105.5);
00160   //MaskedGlobW1 = dbe->book1D("GlobMaskedWheel_1near","Masked Near Side Wheel 1",101,0.5,101.5);
00161   //MaskedGlobW1far = dbe->book1D("GlobMaskedWheel_1far","Masked Far Side Wheel 1",105,0.5,105.5);
00162   //AverageEffW1=dbe->book1D("AverageEfficiencyWheel_1near","Average Efficiency Near Side Wheel 1 ",101,0.5,101.5);
00163   //AverageEffW1far=dbe->book1D("AverageEfficiencyWheel_1far","Average Efficiency Far Side Wheel 1 ",105,0.5,105.5);
00164   //NoPredictionW1=dbe->book1D("NoPredictionWheel_1near","No Predictions Near Side Wheel 1 ",101,0.5,101.5);
00165   //NoPredictionW1far=dbe->book1D("NoPredictionWheel_1far","No Predictions Efficiency Far Side Wheel 1 ",105,0.5,105.5);
00166 
00167   dbe->setCurrentFolder(folderPath+"Wheel_2");
00168   EffDistroW2=dbe->book1D("EffDistroWheel_2","Efficiency Distribution for Wheel 2 ",20,0.5,100.5);
00169   //EffDistroW2far=dbe->book1D("EffDistroWheel_2far","Efficiency Distribution for Far Side Wheel 2 ",20,0.5,100.5);
00170   EffGlobW2 = dbe->book1D("GlobEfficiencyWheel_2","Efficiency Wheel 2",206,0.5,206.5);
00171   //EffGlobW2far =dbe->book1D("GlobEfficiencyWheel_2far","Efficiency Far Side Wheel 2",105,0.5,105.5);
00172   //BXGlobW2 = dbe->book1D("GlobBXWheel_2near","BX Near Side Wheel 2",101,0.5,101.5);
00173   //BXGlobW2far = dbe->book1D("GlobBXWheel_2far","BX Far Side Wheel 2",105,0.5,105.5);
00174   //MaskedGlobW2 = dbe->book1D("GlobMaskedWheel_2near","Masked Near Side Wheel 2",101,0.5,101.5);
00175   //MaskedGlobW2far = dbe->book1D("GlobMaskedWheel_2far","Masked Far Side Wheel 2",105,0.5,105.5);
00176   //AverageEffW2=dbe->book1D("AverageEfficiencyWheel_2near","Average Efficiency Near Side Wheel 2 ",101,0.5,101.5);
00177   //AverageEffW2far=dbe->book1D("AverageEfficiencyWheel_2far","Average Efficiency Far Side Wheel 2 ",105,0.5,105.5);
00178   //NoPredictionW2=dbe->book1D("NoPredictionWheel_2near","No Predictions Near Side Wheel 2 ",101,0.5,101.5);
00179   //NoPredictionW2far=dbe->book1D("NoPredictionWheel_2far","No Predictions Efficiency Far Side Wheel 2 ",105,0.5,105.5);
00180 
00181   //EndCap
00182 
00183   dbe->setCurrentFolder(folderPath+"Disk_3");
00184   EffDistroD3=dbe->book1D("EffDistroDisk_3","Efficiency Distribution Disk 3 ",20,0.5,100.5);
00185   //EffDistroD3far=dbe->book1D("EffDistroDisk_3far","Efficiency Distribution Far Side Disk 3 ",20,0.5,100.5);
00186   EffGlobD3 = dbe->book1D("GlobEfficiencyDisk_3","Efficiency Disk 3",218,0.5,218.5);
00187   //EffGlobD3far =dbe->book1D("GlobEfficiencyDisk_3far","Efficiency Far Side Disk 3",109,0.5,109.5);
00188   //BXGlobD3 = dbe->book1D("GlobBXDisk_3near","BX Near Side Disk 3",109,0.5,109.5);
00189   //BXGlobD3far = dbe->book1D("GlobBXDisk_3far","BX Far Side Disk 3",109,0.5,109.5);
00190   //MaskedGlobD3 = dbe->book1D("GlobMaskedDisk_3near","Masked Near Side Disk 3",109,0.5,109.5);
00191   //MaskedGlobD3far = dbe->book1D("GlobMaskedDisk_3far","Masked Far Side Disk 3",109,0.5,109.5);
00192   //AverageEffD3=dbe->book1D("AverageEfficiencyDisk_3near","Average Efficiency Near Side Disk 3 ",109,0.5,109.5);
00193   //AverageEffD3far=dbe->book1D("AverageEfficiencyDisk_3far","Average Efficiency Far Side Disk 3 ",109,0.5,109.5);
00194   //NoPredictionD3=dbe->book1D("NoPredictionDisk_3near","No Predictions Near Side Disk 3 ",109,0.5,109.5);
00195   //NoPredictionD3far=dbe->book1D("NoPredictionDisk_3far","No Predictions Efficiency Far Side Disk 3 ",109,0.5,109.5);
00196 
00197   dbe->setCurrentFolder(folderPath+"Disk_2");
00198   EffDistroD2=dbe->book1D("EffDistroDisk_2","Efficiency Distribution Disk 2 ",20,0.5,100.5);
00199   //EffDistroD2far=dbe->book1D("EffDistroDisk_2far","Efficiency Distribution Far Side Disk 2 ",20,0.5,100.5);
00200   EffGlobD2 = dbe->book1D("GlobEfficiencyDisk_2","Efficiency Disk 2",218,0.5,218.5);
00201   //EffGlobD2far =dbe->book1D("GlobEfficiencyDisk_2far","Efficiency Far Side Disk 2",109,0.5,109.5);
00202   //BXGlobD2 = dbe->book1D("GlobBXDisk_2near","BX Near Side Disk 2",109,0.5,109.5);
00203   //BXGlobD2far = dbe->book1D("GlobBXDisk_2far","BX Far Side Disk 2",109,0.5,109.5);
00204   //MaskedGlobD2 = dbe->book1D("GlobMaskedDisk_2near","Masked Near Side Disk 2",109,0.5,109.5);
00205   //MaskedGlobD2far = dbe->book1D("GlobMaskedDisk_2far","Masked Far Side Disk 2",109,0.5,109.5);
00206   //AverageEffD2=dbe->book1D("AverageEfficiencyDisk_2near","Average Efficiency Near Side Disk 2 ",109,0.5,109.5);
00207   //AverageEffD2far=dbe->book1D("AverageEfficiencyDisk_2far","Average Efficiency Far Side Disk 2 ",109,0.5,109.5);
00208   //NoPredictionD2=dbe->book1D("NoPredictionDisk_2near","No Predictions Near Side Disk 2 ",109,0.5,109.5);
00209   //NoPredictionD2far=dbe->book1D("NoPredictionDisk_2far","No Predictions Efficiency Far Side Disk 2 ",109,0.5,109.5);
00210 
00211   dbe->setCurrentFolder(folderPath+"Disk_1");
00212   EffDistroD1=dbe->book1D("EffDistroDisk_1","Efficiency Distribution Disk 1 ",20,0.5,100.5);
00213   //EffDistroD1far=dbe->book1D("EffDistroDisk_1far","Efficiency Distribution Far Side Disk 1 ",20,0.5,100.5);
00214   EffGlobD1 = dbe->book1D("GlobEfficiencyDisk_1","Efficiency Disk 1",218,0.5,218.5);
00215   //EffGlobD1far =dbe->book1D("GlobEfficiencyDisk_1far","Efficiency Far Side Disk 1",109,0.5,109.5);
00216   //BXGlobD1 = dbe->book1D("GlobBXDisk_1near","BX Near Side Disk 1",109,0.5,109.5);
00217   //BXGlobD1far = dbe->book1D("GlobBXDisk_1far","BX Far Side Disk 1",109,0.5,109.5);
00218   //MaskedGlobD1 = dbe->book1D("GlobMaskedDisk_1near","Masked Near Side Disk 1",109,0.5,109.5);
00219   //MaskedGlobD1far = dbe->book1D("GlobMaskedDisk_1far","Masked Far Side Disk 1",109,0.5,109.5);
00220   //AverageEffD1=dbe->book1D("AverageEfficiencyDisk_1near","Average Efficiency Near Side Disk 1 ",109,0.5,109.5);
00221   //AverageEffD1far=dbe->book1D("AverageEfficiencyDisk_1far","Average Efficiency Far Side Disk 1 ",109,0.5,109.5);
00222   //NoPredictionD1=dbe->book1D("NoPredictionDisk_1near","No Predictions Near Side Disk 1 ",109,0.5,109.5);
00223   //NoPredictionD1far=dbe->book1D("NoPredictionDisk_1far","No Predictions Efficiency Far Side Disk 1 ",109,0.5,109.5);
00224 
00225   dbe->setCurrentFolder(folderPath+"Disk_-1");
00226   EffDistroDm1=dbe->book1D("EffDistroDisk_m1","Efficiency Distribution Disk - 1 ",20,0.5,100.5);
00227   //EffDistroDm1far=dbe->book1D("EffDistroDisk_m1far","Efficiency Distribution Far Side Disk - 1 ",20,0.5,100.5);
00228   EffGlobDm1 = dbe->book1D("GlobEfficiencyDisk_m1","Efficiency Disk -1",218,0.5,218.5);
00229   //EffGlobDm1far =dbe->book1D("GlobEfficiencyDisk_m1far","Efficiency Far Side Disk -1",109,0.5,109.5);
00230   //BXGlobDm1 = dbe->book1D("GlobBXDisk_m1near","BX Near Side Disk -1",109,0.5,109.5);
00231   //BXGlobDm1far = dbe->book1D("GlobBXDisk_m1far","BX Far Side Disk -1",109,0.5,109.5);
00232   //MaskedGlobDm1 = dbe->book1D("GlobMaskedDisk_m1near","Masked Near Side Disk -1",109,0.5,109.5);
00233   //MaskedGlobDm1far = dbe->book1D("GlobMaskedDisk_m1far","Masked Far Side Disk -1",109,0.5,109.5);
00234   //AverageEffDm1=dbe->book1D("AverageEfficiencyDisk_m1near","Average Efficiency Near Side Disk -1 ",109,0.5,109.5);
00235   //AverageEffDm1far=dbe->book1D("AverageEfficiencyDisk_m1far","Average Efficiency Far Side Disk -1 ",109,0.5,109.5);
00236   //NoPredictionDm1=dbe->book1D("NoPredictionDisk_m1near","No Predictions Near Side Disk -1 ",109,0.5,109.5);
00237   //NoPredictionDm1far=dbe->book1D("NoPredictionDisk_m1far","No Predictions Efficiency Far Side Disk -1 ",109,0.5,109.5);
00238 
00239   dbe->setCurrentFolder(folderPath+"Disk_-2");
00240   EffDistroDm2=dbe->book1D("EffDistroDisk_m2","Efficiency Distribution Disk - 2 ",20,0.5,100.5);
00241   //EffDistroDm2far=dbe->book1D("EffDistroDisk_m2far","Efficiency Distribution Far Side Disk - 2 ",20,0.5,100.5);
00242   EffGlobDm2 = dbe->book1D("GlobEfficiencyDisk_m2","Efficiency Disk -2",218,0.5,218.5);
00243   //EffGlobDm2far =dbe->book1D("GlobEfficiencyDisk_m2far","Efficiency Far Side Disk -2",109,0.5,109.5);
00244   //BXGlobDm2 = dbe->book1D("GlobBXDisk_m2near","BX Near Side Disk -2",109,0.5,109.5);
00245   //BXGlobDm2far = dbe->book1D("GlobBXDisk_m2far","BX Far Side Disk -2",109,0.5,109.5);
00246   //MaskedGlobDm2 = dbe->book1D("GlobMaskedDisk_m2near","Masked Near Side Disk -2",109,0.5,109.5);
00247   //MaskedGlobDm2far = dbe->book1D("GlobMaskedDisk_m2far","Masked Far Side Disk -2",109,0.5,109.5);
00248   //AverageEffDm2=dbe->book1D("AverageEfficiencyDisk_m2near","Average Efficiency Near Side Disk -2 ",109,0.5,109.5);
00249   //AverageEffDm2far=dbe->book1D("AverageEfficiencyDisk_m2far","Average Efficiency Far Side Disk -2 ",109,0.5,109.5);
00250   //NoPredictionDm2=dbe->book1D("NoPredictionDisk_m2near","No Predictions Near Side Disk -2 ",109,0.5,109.5);
00251   //NoPredictionDm2far=dbe->book1D("NoPredictionDisk_m2far","No Predictions Efficiency Far Side Disk -2 ",109,0.5,109.5);
00252 
00253   dbe->setCurrentFolder(folderPath+"Disk_-3");
00254   EffDistroDm3=dbe->book1D("EffDistroDisk_m3","Efficiency Distribution Disk - 3 ",20,0.5,100.5);
00255   //EffDistroDm3far=dbe->book1D("EffDistroDisk_m3far","Efficiency Distribution Far Side Disk - 3 ",20,0.5,100.5);
00256   EffGlobDm3 = dbe->book1D("GlobEfficiencyDisk_m3","Efficiency Disk -3",218,0.5,218.5);
00257   //EffGlobDm3far =dbe->book1D("GlobEfficiencyDisk_m3far","Efficiency Far Side Disk -3",109,0.5,109.5);
00258   //BXGlobDm3 = dbe->book1D("GlobBXDisk_m3near","BX Near Side Disk -3",109,0.5,109.5);
00259   //BXGlobDm3far = dbe->book1D("GlobBXDisk_m3far","BX Far Side Disk -3",109,0.5,109.5);
00260   //MaskedGlobDm3 = dbe->book1D("GlobMaskedDisk_m3near","Masked Near Side Disk -3",109,0.5,109.5);
00261   //MaskedGlobDm3far = dbe->book1D("GlobMaskedDisk_m3far","Masked Far Side Disk -3",109,0.5,109.5);
00262   //AverageEffDm3=dbe->book1D("AverageEfficiencyDisk_m3near","Average Efficiency Near Side Disk -3 ",109,0.5,109.5);
00263   //AverageEffDm3far=dbe->book1D("AverageEfficiencyDisk_m3far","Average Efficiency Far Side Disk -3 ",109,0.5,109.5);
00264   //NoPredictionDm3=dbe->book1D("NoPredictionDisk_m3near","No Predictions Near Side Disk -3 ",109,0.5,109.5);
00265   //NoPredictionDm3far=dbe->book1D("NoPredictionDisk_m3far","No Predictions Efficiency Far Side Disk -3 ",109,0.5,109.5);
00266 
00267   //Summary Histograms
00268   
00269 
00270   dbe->setCurrentFolder(folderPath);
00271   std::string os;
00272   os="Efficiency_Roll_vs_Sector_Wheel_-2";                               
00273   Wheelm2Summary = dbe->book2D(os, os, 12, 0.5,12.5, 21, 0.5, 21.5);
00274   os="Efficiency_Roll_vs_Sector_Wheel_-1";                                      
00275   Wheelm1Summary = dbe->book2D(os, os, 12, 0.5,12.5, 21, 0.5, 21.5);
00276   os="Efficiency_Roll_vs_Sector_Wheel_0";                                      
00277   Wheel0Summary = dbe->book2D(os, os, 12, 0.5,12.5, 21, 0.5, 21.5);
00278   os="Efficiency_Roll_vs_Sector_Wheel_+1";                                      
00279   Wheel1Summary = dbe->book2D(os, os, 12, 0.5,12.5, 21, 0.5, 21.5);
00280   os="Efficiency_Roll_vs_Sector_Wheel_+2";                                      
00281   Wheel2Summary = dbe->book2D(os, os, 12, 0.5,12.5, 21, 0.5, 21.5);
00282 
00283   rpcdqm::utils rpcUtils;
00284   rpcUtils.labelXAxisSector( Wheel2Summary );
00285   rpcUtils.labelYAxisRoll( Wheel2Summary, 0, 2);
00286 
00287   rpcUtils.labelXAxisSector( Wheel1Summary );
00288   rpcUtils.labelYAxisRoll( Wheel1Summary, 0, 1);
00289 
00290   rpcUtils.labelXAxisSector( Wheel0Summary );
00291   rpcUtils.labelYAxisRoll( Wheel0Summary, 0, 0);
00292 
00293   rpcUtils.labelXAxisSector( Wheelm1Summary );
00294   rpcUtils.labelYAxisRoll( Wheelm1Summary, 0, -1);
00295 
00296   rpcUtils.labelXAxisSector( Wheelm2Summary );
00297   rpcUtils.labelYAxisRoll( Wheelm2Summary, 0, -2);
00298 
00299   os="Efficiency_Roll_vs_Segment_Disk_-3";
00300   Diskm3Summary = dbe->book2D(os,os,36,0.5,36.5,6,0.5,6.5);
00301   os="Efficiency_Roll_vs_Segment_Disk_-2";
00302   Diskm2Summary = dbe->book2D(os,os,36,0.5,36.5,6,0.5,6.5);
00303   os="Efficiency_Roll_vs_Segment_Disk_-1";
00304   Diskm1Summary = dbe->book2D(os,os,36,0.5,36.5,6,0.5,6.5);
00305   os="Efficiency_Roll_vs_Segment_Disk_1";
00306   Disk1Summary = dbe->book2D(os,os,36,0.5,36.5,6,0.5,6.5);
00307   os="Efficiency_Roll_vs_Segment_Disk_2";
00308   Disk2Summary = dbe->book2D(os,os,36,0.5,36.5,6,0.5,6.5);
00309   os="Efficiency_Roll_vs_Segment_Disk_3";
00310   Disk3Summary = dbe->book2D(os,os,36,0.5,36.5,6,0.5,6.5);
00311 
00312   rpcUtils.labelXAxisSegment(Diskm3Summary);
00313   rpcUtils.labelYAxisRing(Diskm3Summary, 2);
00314 
00315   rpcUtils.labelXAxisSegment(Diskm2Summary);
00316   rpcUtils.labelYAxisRing(Diskm2Summary, 2);
00317 
00318   rpcUtils.labelXAxisSegment(Diskm1Summary);
00319   rpcUtils.labelYAxisRing(Diskm1Summary, 2);
00320 
00321   rpcUtils.labelXAxisSegment(Disk1Summary);
00322   rpcUtils.labelYAxisRing(Disk1Summary, 2);
00323 
00324   rpcUtils.labelXAxisSegment(Disk2Summary);
00325   rpcUtils.labelYAxisRing(Disk2Summary, 2);
00326 
00327   rpcUtils.labelXAxisSegment(Disk3Summary);
00328   rpcUtils.labelYAxisRing(Disk3Summary, 2);
00329   
00330   //Azimutal Histograms
00331 
00332   dbe->setCurrentFolder(folderPath+"Azimutal/");
00333   sectorEffWm2= dbe->book1D("AzimutalDistroWm2","Efficiency per Sector Wheel -2",12,0.5,12.5);
00334   sectorEffWm1= dbe->book1D("AzimutalDistroWm1","Efficiency per Sector Wheel -1",12,0.5,12.5);
00335   sectorEffW0= dbe->book1D("AzimutalDistroW0","Efficiency per Sector Wheel 0",12,0.5,12.5);
00336   sectorEffW1= dbe->book1D("AzimutalDistroW1","Efficiency per Sector Wheel 1",12,0.5,12.5);
00337   sectorEffW2= dbe->book1D("AzimutalDistroW2","Efficiency per Sector Wheel 2",12,0.5,12.5);
00338 
00339   OcsectorEffWm2= dbe->book1D("AzimutalDistroWm2Oc","Occupancy per Sector Wheel -2",12,0.5,12.5);
00340   OcsectorEffWm1= dbe->book1D("AzimutalDistroWm1Oc","Occupancy per Sector Wheel -1",12,0.5,12.5);
00341   OcsectorEffW0= dbe->book1D("AzimutalDistroW0Oc","Ocuppancy per Sector Wheel 0",12,0.5,12.5);
00342   OcsectorEffW1= dbe->book1D("AzimutalDistroW1Oc","Ocuppancy per Sector Wheel 1",12,0.5,12.5);
00343   OcsectorEffW2= dbe->book1D("AzimutalDistroW2Oc","Ocupancy per Sector Wheel 2",12,0.5,12.5);
00344 
00345   ExsectorEffWm2= dbe->book1D("AzimutalDistroWm2Ex","Expected per Sector Wheel -2",12,0.5,12.5);
00346   ExsectorEffWm1= dbe->book1D("AzimutalDistroWm1Ex","Expected per Sector Wheel -1",12,0.5,12.5);
00347   ExsectorEffW0= dbe->book1D("AzimutalDistroW0Ex","Expected per Sector Wheel 0",12,0.5,12.5);
00348   ExsectorEffW1= dbe->book1D("AzimutalDistroW1Ex","Expected per Sector Wheel 1",12,0.5,12.5);
00349   ExsectorEffW2= dbe->book1D("AzimutalDistroW2Ex","Expected per Sector Wheel 2",12,0.5,12.5);
00350   
00351   GregD1R2= dbe->book1D("GregDistroD1R2","Efficiency for Station 1 Ring 2",36,0.5,36.5);
00352   GregD1R3= dbe->book1D("GregDistroD1R3","Efficiency for Station 1 Ring 3",36,0.5,36.5);
00353   GregD2R2= dbe->book1D("GregDistroD2R2","Efficiency for Station 2 Ring 2",36,0.5,36.5);
00354   GregD2R3= dbe->book1D("GregDistroD2R3","Efficiency for Station 2 Ring 3",36,0.5,36.5);
00355   GregD3R2= dbe->book1D("GregDistroD3R2","Efficiency for Station 3 Ring 2",36,0.5,36.5);
00356   GregD3R3= dbe->book1D("GregDistroD3R3","Efficiency for Station 3 Ring 3",36,0.5,36.5);
00357   GregDm1R2= dbe->book1D("GregDistroDm1R2","Efficiency for Station -1 Ring 2",36,0.5,36.5);
00358   GregDm1R3= dbe->book1D("GregDistroDm1R3","Efficiency for Station -1 Ring 3",36,0.5,36.5);
00359   GregDm2R2= dbe->book1D("GregDistroDm2R2","Efficiency for Station -2 Ring 2",36,0.5,36.5);
00360   GregDm2R3= dbe->book1D("GregDistroDm2R3","Efficiency for Station -2 Ring 3",36,0.5,36.5);
00361   GregDm3R2= dbe->book1D("GregDistroDm3R2","Efficiency for Station -3 Ring 2",36,0.5,36.5);
00362   GregDm3R3= dbe->book1D("GregDistroDm3R3","Efficiency for Station -3 Ring 3",36,0.5,36.5);
00363 
00364   OcGregD1R2= dbe->book1D("OcGregDistroD1R2","Occupancy Distribution for Station 1 Ring 2",36,0.5,36.5);
00365   OcGregD1R3= dbe->book1D("OcGregDistroD1R3","Occupancy Distribution for Station 1 Ring 3",36,0.5,36.5);
00366   OcGregD2R2= dbe->book1D("OcGregDistroD2R2","Occupancy Distribution for Station 2 Ring 2",36,0.5,36.5);
00367   OcGregD2R3= dbe->book1D("OcGregDistroD2R3","Occupancy Distribution for Station 2 Ring 3",36,0.5,36.5);
00368   OcGregD3R2= dbe->book1D("OcGregDistroD3R2","Occupancy Distribution for Station 3 Ring 2",36,0.5,36.5);
00369   OcGregD3R3= dbe->book1D("OcGregDistroD3R3","Occupancy Distribution for Station 3 Ring 3",36,0.5,36.5);
00370   OcGregDm1R2= dbe->book1D("OcGregDistroDm1R2","Occupancy Distribution for Station -1 Ring 2",36,0.5,36.5);
00371   OcGregDm1R3= dbe->book1D("OcGregDistroDm1R3","Occupancy Distribution for Station -1 Ring 3",36,0.5,36.5);
00372   OcGregDm2R2= dbe->book1D("OcGregDistroDm2R2","Occupancy Distribution for Station -2 Ring 2",36,0.5,36.5);
00373   OcGregDm2R3= dbe->book1D("OcGregDistroDm2R3","Occupancy Distribution for Station -2 Ring 3",36,0.5,36.5);
00374   OcGregDm3R2= dbe->book1D("OcGregDistroDm3R2","Occupancy Distribution for Station -3 Ring 2",36,0.5,36.5);
00375   OcGregDm3R3= dbe->book1D("OcGregDistroDm3R3","Occupancy Distribution for Station -3 Ring 3",36,0.5,36.5);
00376 
00377   ExGregD1R2= dbe->book1D("ExGregDistroD1R2","Expected Distribution for Station 1 Ring 2",36,0.5,36.5);
00378   ExGregD1R3= dbe->book1D("ExGregDistroD1R3","Expected Distribution for Station 1 Ring 3",36,0.5,36.5);
00379   ExGregD2R2= dbe->book1D("ExGregDistroD2R2","Expected Distribution for Station 2 Ring 2",36,0.5,36.5);
00380   ExGregD2R3= dbe->book1D("ExGregDistroD2R3","Expected Distribution for Station 2 Ring 3",36,0.5,36.5);
00381   ExGregD3R2= dbe->book1D("ExGregDistroD3R2","Expected Distribution for Station 3 Ring 2",36,0.5,36.5);
00382   ExGregD3R3= dbe->book1D("ExGregDistroD3R3","Expected Distribution for Station 3 Ring 3",36,0.5,36.5);
00383   ExGregDm1R2= dbe->book1D("ExGregDistroDm1R2","Expected Distribution for Station -1 Ring 2",36,0.5,36.5);
00384   ExGregDm1R3= dbe->book1D("ExGregDistroDm1R3","Expected Distribution for Station -1 Ring 3",36,0.5,36.5);
00385   ExGregDm2R2= dbe->book1D("ExGregDistroDm2R2","Expected Distribution for Station -2 Ring 2",36,0.5,36.5);
00386   ExGregDm2R3= dbe->book1D("ExGregDistroDm2R3","Expected Distribution for Station -2 Ring 3",36,0.5,36.5);
00387   ExGregDm3R2= dbe->book1D("ExGregDistroDm3R2","Expected Distribution for Station -3 Ring 2",36,0.5,36.5);
00388   ExGregDm3R3= dbe->book1D("ExGregDistroDm3R3","Expected Distribution for Station -3 Ring 3",36,0.5,36.5);
00389 
00390   dbe->setCurrentFolder(folderPath+"BarrelPerLayer/");
00391   ExpLayerWm2= dbe->book1D("ExpLayerWm2","Expected Wheel - 2",6,0.5,6.5);
00392   ExpLayerWm1= dbe->book1D("ExpLayerWm1","Expected Wheel - 1",6,0.5,6.5);
00393   ExpLayerW0= dbe->book1D("ExpLayerW0","Expected Wheel 0",6,0.5,6.5);
00394   ExpLayerW1= dbe->book1D("ExpLayerW1","Expected Wheel 1",6,0.5,6.5);
00395   ExpLayerW2= dbe->book1D("ExpLayerW2","Expected Wheel 2",6,0.5,6.5);
00396 
00397   ObsLayerWm2= dbe->book1D("ObsLayerWm2","Observed Wheel - 2",6,0.5,6.5);
00398   ObsLayerWm1= dbe->book1D("ObsLayerWm1","Observed Wheel - 1",6,0.5,6.5);
00399   ObsLayerW0= dbe->book1D("ObsLayerW0","Observed Wheel 0",6,0.5,6.5);
00400   ObsLayerW1= dbe->book1D("ObsLayerW1","Observed Wheel 1",6,0.5,6.5);
00401   ObsLayerW2= dbe->book1D("ObsLayerW2","Observed Wheel 2",6,0.5,6.5);
00402 }
00403 
00404 void RPCEfficiencySecond::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup){ }
00405 
00406 void RPCEfficiencySecond::endRun(const edm::Run& r, const edm::EventSetup& iSetup){
00407   
00408   if(debug) std::cout <<"\t Getting the RPC Geometry"<<std::endl;
00409 
00410   edm::ESHandle<RPCGeometry> rpcGeo;
00411   iSetup.get<MuonGeometryRecord>().get(rpcGeo);
00412    
00413   // std::string label,folder;
00414  //  folder = folderPath;
00415 //   label = folder + "MuonSegEff/Statistics";
00416 //   if(debug) std::cout<<"Getting statistcs="<<label<<std::endl;
00417 //   statistics = dbe->get(label);
00418 //   if(debug && !statistics){
00419  
00420 //     std::cout<<"Statistics Doesn't exist Not access to a monitor element"<<std::endl;
00421 //     std::cout<<label<<std::endl;
00422 //     edm::LogWarning("Missing rpcSource in the sequence") << " Statistics Doesn't exist.";
00423 //     return;
00424 //   }
00425 //   if(debug) std::cout<<"Cloning statistcs"<<std::endl;
00426 //   for(int i=1;i<=33;i++){
00427 //     if(debug) std::cout<<statistics->getBinContent(i)<<std::endl;
00428 //     statistics2->setBinContent(i,statistics->getBinContent(i));
00429 //   }
00430    
00431 
00432    
00433   //Cloning Residuals.
00434  
00435 //   folder = folderPath+"MuonSegEff/Residuals/Barrel/";
00436    
00437 //   label = folder + "GlobalResidualsClu1La1"; hGlobalResClu1La1 = dbe->get(label);
00438 //   label = folder + "GlobalResidualsClu1La2"; hGlobalResClu1La2 = dbe->get(label);
00439 //   label = folder + "GlobalResidualsClu1La3"; hGlobalResClu1La3 = dbe->get(label);
00440 //   label = folder + "GlobalResidualsClu1La4"; hGlobalResClu1La4 = dbe->get(label);
00441 //   label = folder + "GlobalResidualsClu1La5"; hGlobalResClu1La5 = dbe->get(label);
00442 //   label = folder + "GlobalResidualsClu1La6"; hGlobalResClu1La6 = dbe->get(label);
00443 
00444 //   label = folder + "GlobalResidualsClu2La1"; hGlobalResClu2La1 = dbe->get(label);
00445 //   label = folder + "GlobalResidualsClu2La2"; hGlobalResClu2La2 = dbe->get(label);
00446 //   label = folder + "GlobalResidualsClu2La3"; hGlobalResClu2La3 = dbe->get(label);
00447 //   label = folder + "GlobalResidualsClu2La4"; hGlobalResClu2La4 = dbe->get(label);
00448 //   label = folder + "GlobalResidualsClu2La5"; hGlobalResClu2La5 = dbe->get(label);
00449 //   label = folder + "GlobalResidualsClu2La6"; hGlobalResClu2La6 = dbe->get(label);
00450 
00451 //   label = folder + "GlobalResidualsClu3La1"; hGlobalResClu3La1 = dbe->get(label);
00452 //   label = folder + "GlobalResidualsClu3La2"; hGlobalResClu3La2 = dbe->get(label);
00453 //   label = folder + "GlobalResidualsClu3La3"; hGlobalResClu3La3 = dbe->get(label);
00454 //   label = folder + "GlobalResidualsClu3La4"; hGlobalResClu3La4 = dbe->get(label);
00455 //   label = folder + "GlobalResidualsClu3La5"; hGlobalResClu3La5 = dbe->get(label);
00456 //   label = folder + "GlobalResidualsClu3La6"; hGlobalResClu3La6 = dbe->get(label);
00457   
00458   //  if(debug) std::cout<<"Clonning for Barrel"<<std::endl;
00459    
00460  //  for(int i=1;i<=101;i++){
00461 //     if(debug) std::cout<<"Global Residual"<<hGlobalResClu1La1->getBinContent(i)<<std::endl;
00462 //     hGlobal2ResClu1La1->setBinContent(i,hGlobalResClu1La1->getBinContent(i));
00463 //     hGlobal2ResClu1La2->setBinContent(i,hGlobalResClu1La2->getBinContent(i));
00464 //     hGlobal2ResClu1La3->setBinContent(i,hGlobalResClu1La3->getBinContent(i));
00465 //     hGlobal2ResClu1La4->setBinContent(i,hGlobalResClu1La4->getBinContent(i));
00466 //     hGlobal2ResClu1La5->setBinContent(i,hGlobalResClu1La5->getBinContent(i));
00467 //     hGlobal2ResClu1La6->setBinContent(i,hGlobalResClu1La6->getBinContent(i));
00468 
00469 //     hGlobal2ResClu2La1->setBinContent(i,hGlobalResClu2La1->getBinContent(i));
00470 //     hGlobal2ResClu2La2->setBinContent(i,hGlobalResClu2La2->getBinContent(i));
00471 //     hGlobal2ResClu2La3->setBinContent(i,hGlobalResClu2La3->getBinContent(i));
00472 //     hGlobal2ResClu2La4->setBinContent(i,hGlobalResClu2La4->getBinContent(i));
00473 //     hGlobal2ResClu2La5->setBinContent(i,hGlobalResClu2La5->getBinContent(i));
00474 //     hGlobal2ResClu2La6->setBinContent(i,hGlobalResClu2La6->getBinContent(i));
00475 
00476 //     hGlobal2ResClu3La1->setBinContent(i,hGlobalResClu3La1->getBinContent(i));
00477 //     hGlobal2ResClu3La2->setBinContent(i,hGlobalResClu3La2->getBinContent(i));
00478 //     hGlobal2ResClu3La3->setBinContent(i,hGlobalResClu3La3->getBinContent(i));
00479 //     hGlobal2ResClu3La4->setBinContent(i,hGlobalResClu3La4->getBinContent(i));
00480 //     hGlobal2ResClu3La5->setBinContent(i,hGlobalResClu3La5->getBinContent(i));
00481 //     hGlobal2ResClu3La6->setBinContent(i,hGlobalResClu3La6->getBinContent(i));
00482 //   }
00483  
00484 //   if(debug) std::cout<<"Clonning the EndCap"<<std::endl;
00485 //   folder = folderPath+"MuonSegEff/Residuals/EndCap/";
00486 //   if(debug) std::cout<<folder<<std::endl;
00487    
00488 //   label = folder + "GlobalResidualsClu1R3C"; hGlobalResClu1R3C = dbe->get(label); 
00489 //   //if(!hGlobalResClu1R3C)std::cout<<"hGlobal2ResClu1R3C dont exist"<<std::endl;
00490 //   //std::cout<<label<<std::endl;
00491 //   label = folder + "GlobalResidualsClu1R3B"; hGlobalResClu1R3B = dbe->get(label);
00492 //   //if(!hGlobalResClu1R3B)std::cout<<"hGlobal2ResClu1R3B dont exist"<<std::endl;
00493 //   //std::cout<<label<<std::endl;
00494 //   label = folder + "GlobalResidualsClu1R3A"; hGlobalResClu1R3A = dbe->get(label); 
00495 //   label = folder + "GlobalResidualsClu1R2C"; hGlobalResClu1R2C = dbe->get(label); 
00496 //   label = folder + "GlobalResidualsClu1R2B"; hGlobalResClu1R2B = dbe->get(label); 
00497 //   label = folder + "GlobalResidualsClu1R2A"; hGlobalResClu1R2A = dbe->get(label); 
00498                                                                                            
00499 //   label = folder + "GlobalResidualsClu2R3C"; hGlobalResClu2R3C = dbe->get(label); 
00500 //   label = folder + "GlobalResidualsClu2R3B"; hGlobalResClu2R3B = dbe->get(label); 
00501 //   label = folder + "GlobalResidualsClu2R3A"; hGlobalResClu2R3A = dbe->get(label); 
00502 //   label = folder + "GlobalResidualsClu2R2C"; hGlobalResClu2R2C = dbe->get(label); 
00503 //   label = folder + "GlobalResidualsClu2R2B"; hGlobalResClu2R2B = dbe->get(label); 
00504 //   label = folder + "GlobalResidualsClu2R2A"; hGlobalResClu2R2A = dbe->get(label); 
00505                                                                                            
00506 //   label = folder + "GlobalResidualsClu3R3C"; hGlobalResClu3R3C = dbe->get(label); 
00507 //   label = folder + "GlobalResidualsClu3R3B"; hGlobalResClu3R3B = dbe->get(label); 
00508 //   label = folder + "GlobalResidualsClu3R3A"; hGlobalResClu3R3A = dbe->get(label); 
00509 //   label = folder + "GlobalResidualsClu3R2C"; hGlobalResClu3R2C = dbe->get(label); 
00510 //   label = folder + "GlobalResidualsClu3R2B"; hGlobalResClu3R2B = dbe->get(label); 
00511 //   label = folder + "GlobalResidualsClu3R2A"; hGlobalResClu3R2A = dbe->get(label); 
00512  
00513 
00514   // if(debug) std::cout<<"Going for!"<<std::endl;
00515   /*for(int i=1;i<=101;i++){
00516     if(debug) std::cout<<i<<std::endl;
00517     hGlobal2ResClu1R3C->setBinContent(i,hGlobalResClu1R3C->getBinContent(i)); std::cout<<"hGlobal2ResClu1R3C"<<std::endl;
00518     hGlobal2ResClu1R3B->setBinContent(i,hGlobalResClu1R3B->getBinContent(i)); std::cout<<"hGlobal2ResClu1R3B"<<std::endl;
00519     hGlobal2ResClu1R3A->setBinContent(i,hGlobalResClu1R3A->getBinContent(i)); std::cout<<"hGlobal2ResClu1R3A"<<std::endl;
00520     hGlobal2ResClu1R2C->setBinContent(i,hGlobalResClu1R2C->getBinContent(i)); std::cout<<"hGlobal2ResClu1R2C"<<std::endl;
00521     hGlobal2ResClu1R2B->setBinContent(i,hGlobalResClu1R2B->getBinContent(i)); std::cout<<"hGlobal2ResClu1R2B"<<std::endl;
00522     hGlobal2ResClu1R2A->setBinContent(i,hGlobalResClu1R2A->getBinContent(i)); std::cout<<"hGlobal2ResClu1R2A"<<std::endl;
00523                                                                                                                        
00524     hGlobal2ResClu2R3C->setBinContent(i,hGlobalResClu2R3C->getBinContent(i)); std::cout<<"hGlobal2ResClu2R3C"<<std::endl;
00525     hGlobal2ResClu2R3B->setBinContent(i,hGlobalResClu2R3B->getBinContent(i)); std::cout<<"hGlobal2ResClu2R3B"<<std::endl;
00526     hGlobal2ResClu2R3A->setBinContent(i,hGlobalResClu2R3A->getBinContent(i)); std::cout<<"hGlobal2ResClu2R3A"<<std::endl;
00527     hGlobal2ResClu2R2C->setBinContent(i,hGlobalResClu2R2C->getBinContent(i)); std::cout<<"hGlobal2ResClu2R2C"<<std::endl;
00528     hGlobal2ResClu2R2B->setBinContent(i,hGlobalResClu2R2B->getBinContent(i)); std::cout<<"hGlobal2ResClu2R2B"<<std::endl;
00529     hGlobal2ResClu2R2A->setBinContent(i,hGlobalResClu2R2A->getBinContent(i)); std::cout<<"hGlobal2ResClu2R2A"<<std::endl;
00530                                                                                                                        
00531     hGlobal2ResClu3R3C->setBinContent(i,hGlobalResClu3R3C->getBinContent(i)); std::cout<<"hGlobal2ResClu3R3C"<<std::endl;
00532     hGlobal2ResClu3R3B->setBinContent(i,hGlobalResClu3R3B->getBinContent(i)); std::cout<<"hGlobal2ResClu3R3B"<<std::endl;
00533     hGlobal2ResClu3R3A->setBinContent(i,hGlobalResClu3R3A->getBinContent(i)); std::cout<<"hGlobal2ResClu3R3A"<<std::endl;
00534     hGlobal2ResClu3R2C->setBinContent(i,hGlobalResClu3R2C->getBinContent(i)); std::cout<<"hGlobal2ResClu3R2C"<<std::endl;
00535     hGlobal2ResClu3R2B->setBinContent(i,hGlobalResClu3R2B->getBinContent(i)); std::cout<<"hGlobal2ResClu3R2B"<<std::endl;
00536     hGlobal2ResClu3R2A->setBinContent(i,hGlobalResClu3R2A->getBinContent(i)); std::cout<<"hGlobal2ResClu3R2A"<<std::endl;
00537     }*/
00538    
00539   //Setting Labels in Summary Label.
00540   std::stringstream binLabel;
00541  
00542   if(debug) std::cout<<"Default -1 for Barrel GUI"<<std::endl;
00543   
00544   for(int x = 1;x<=12;x++){
00545     for(int y = 1;y<=21;y++){
00546       Wheelm2Summary->setBinContent(x,y,-1);
00547       Wheelm1Summary->setBinContent(x,y,-1);
00548       Wheel0Summary->setBinContent(x,y,-1);
00549       Wheel1Summary->setBinContent(x,y,-1);
00550       Wheel2Summary->setBinContent(x,y,-1);
00551     }
00552   }
00553  
00554   if(debug) std::cout<<"Default -1 for EndCap GUI"<<std::endl;
00555  
00556   for(int x = 1;x<=36;x++){
00557     for(int y = 1;y<=6;y++){
00558       Diskm3Summary->setBinContent(x,y,-1);
00559       Diskm2Summary->setBinContent(x,y,-1);
00560       Diskm1Summary->setBinContent(x,y,-1);
00561       Disk1Summary->setBinContent(x,y,-1);
00562       Disk2Summary->setBinContent(x,y,-1);
00563       Disk3Summary->setBinContent(x,y,-1);
00564     }
00565   }
00566  
00567   binLabel.str("");
00568  
00569   int indexWheel[5];
00570   for(int j=0;j<5;j++){
00571     indexWheel[j]=0;
00572   }
00573    
00574   int indexWheelf[5];
00575   for(int j=0;j<5;j++){
00576     indexWheelf[j]=0;
00577   }
00578  
00579   int indexDisk[6];
00580   for(int j=0;j<6;j++){
00581     indexDisk[j]=0;
00582   }
00583    
00584   int indexDiskf[6];
00585   for(int j=0;j<6;j++){
00586     indexDiskf[j]=0;
00587   }
00588 
00589 //   for(TrackingGeometry::DetContainer::const_iterator it=rpcGeo->dets().begin();it<rpcGeo->dets().end();it++){
00590 //     if(dynamic_cast< RPCChamber* >( *it ) != 0 ){
00591 //       RPCChamber* ch = dynamic_cast< RPCChamber* >( *it ); 
00592 //       std::vector< const RPCRoll*> roles = (ch->rolls());
00593 //       for(std::vector<const RPCRoll*>::const_iterator r = roles.begin();r != roles.end(); ++r){
00594 //      RPCDetId rpcId = (*r)->id();
00595 //      RPCGeomServ rpcsrv(rpcId);
00596 //      std::string nameRoll = rpcsrv.name();
00597 //      if(debug) std::cout<<"Booking for "<<nameRoll<<std::endl;
00598 //      meCollection[rpcId.rawId()] = bookDetUnitSeg(rpcId,(*r)->nstrips(),folderPath);
00599 //       }
00600 //     }
00601 //   }
00602 
00603   //if(debug) dbe->showDirStructure();
00604 
00605   for(TrackingGeometry::DetContainer::const_iterator it=rpcGeo->dets().begin();it<rpcGeo->dets().end();it++){
00606     if(dynamic_cast< RPCChamber* >( *it ) != 0 ){
00607       RPCChamber* ch = dynamic_cast< RPCChamber* >( *it ); 
00608       std::vector< const RPCRoll*> roles = (ch->rolls());
00609       for(std::vector<const RPCRoll*>::const_iterator r = roles.begin();r != roles.end(); ++r){
00610         RPCDetId rpcId = (*r)->id();
00611         RPCGeomServ rpcsrv(rpcId);
00612 //      int sector = rpcId.sector();    
00613         std::string nameRoll = rpcsrv.name();
00614         // std::map<std::string, MonitorElement*> meMap=meCollection[rpcId.rawId()];
00615 //      if(debug){
00616 //        std::map<std::string, MonitorElement*>::const_iterator it;
00617 //        for (it = meMap.begin(); it != meMap.end(); ++it){
00618 //          std::cout<<"Histo name:" <<it->first<<std::endl;
00619 //        }
00620 //      }
00621          
00622 
00623         if(debug){
00624           if(meCollection.find(rpcId.rawId())==meCollection.end()){
00625             std::cout<<"WARNING!!! Empty RecHit collection map"<<std::endl;
00626           }
00627           std::cout<<rpcId<<std::endl;
00628           //printing indexes
00629           std::cout<<"indexWheel=";
00630           for(int j=0;j<5;j++){
00631             std::cout<<indexWheel[j]<<" ";
00632           }
00633           std::cout<<std::endl;
00634           std::cout<<"indexWheelf=";
00635           for(int j=0;j<5;j++){
00636             std::cout<<indexWheelf[j]<<" ";
00637           }
00638           std::cout<<std::endl;
00639           std::cout<<"indexDisk=";
00640           for(int j=0;j<6;j++){
00641             std::cout<<indexDisk[j]<<" ";
00642           }
00643           std::cout<<std::endl;
00644           std::cout<<"indexDiskf=";
00645           for(int j=0;j<6;j++){
00646             std::cout<<indexDiskf[j]<<" ";
00647           }
00648           std::cout<<std::endl;
00649         }
00650         
00651         if(rpcId.region()==0){
00652           std::stringstream meIdRPC,  meIdDT; //,  bxDistroId;
00653           // std::string      meIdPRO, 
00654           // std::string meIdRPC2, meIdDT2; //, bxDistroId2;
00655           
00656           //  RPCBookFolderStructure *  folderStr = new RPCBookFolderStructure();
00657           
00658           // std::string folder = folderPath+"MuonSegEff";
00659 
00660           //if(debug) std::cout<<"Setting the folder "<<folder<<std::endl;
00661 
00662           meIdRPC<<folderPath<<"MuonSegEff/RPCDataOccupancyFromDT_"<<rpcId.rawId();
00663           meIdDT<<folderPath<<"MuonSegEff/ExpectedOccupancyFromDT_"<<rpcId.rawId();
00664           //      bxDistroId<<folder<<"/BXDistribution_"<<rpcId.rawId();
00665       
00666           // std::string folder2 = folderPath+"RollByRoll/" +  folderStr->folderStructure(rpcId); 
00667 
00668           // delete folderStr;
00669 
00670          //  meIdRPC2 = "RPCDataOccupancyFromDT_" + rpcsrv.name();      
00671 //        meIdDT2 =  "ExpectedOccupancyFromDT_"+ rpcsrv.name();
00672           
00673           // meIdPRO = "Profile_"+ rpcsrv.name();
00674           
00675           histoRPC = dbe->get(meIdRPC.str());
00676           histoDT = dbe->get(meIdDT.str());
00677           //  histoPRO = dbe->get(meIdPRO);
00678          
00679           int NumberWithOutPrediction=0;
00680           double p = 0.;
00681           double o = 0.;
00682 //        float mybxhisto = 0.;
00683 //        float mybxerror = 0.;
00684           float ef = 0.;
00685           float er = 0.;
00686           float buffef = 0.;
00687           float buffer = 0.;
00688           float sumbuffef = 0.;
00689           float sumbuffer = 0.;
00690           float averageeff = 0.;
00691           float averageerr = 0.;
00692           int NumberStripsPointed = 0;
00693          
00694           
00695           if(histoRPC && histoDT){ // && BXDistribution){
00696             if(debug) std::cout <<rpcsrv.name()<<std::endl;
00697             
00698             for(int i=1;i<=int((*r)->nstrips());++i){
00699           
00700               if(histoDT->getBinContent(i)!=0){
00701                 if(debug) std::cout<<"Inside the If"<<std::endl;
00702                 buffef = float(histoRPC->getBinContent(i))/float(histoDT->getBinContent(i));
00703                 //      meMap[meIdPRO]->setBinContent(i,buffef); 
00704                 buffer = sqrt(buffef*(1.-buffef)/float(histoDT->getBinContent(i)));
00705                 //      meMap[meIdPRO]->setBinError(i,buffer);
00706                 sumbuffef=sumbuffef+buffef;
00707                 sumbuffer = sumbuffer + buffer*buffer;
00708                 NumberStripsPointed++;
00709               }else{
00710                 NumberWithOutPrediction++;
00711               }
00712               if(debug) std::cout<<"\t Strip="<<i<<" RPC="<<histoRPC->getBinContent(i)<<" DT="<<histoDT->getBinContent(i)<<" buffef="<<buffef<<" buffer="<<buffer<<" sumbuffef="<<sumbuffef<<" sumbuffer="<<sumbuffer<<" NumberStripsPointed="<<NumberStripsPointed<<" NumberWithOutPrediction"<<NumberWithOutPrediction<<std::endl;
00713             }
00714             
00715             p=histoDT->getTH1F()->Integral();
00716             o=histoRPC->getTH1F()->Integral();
00717             
00718             if(NumberStripsPointed!=0){
00719               averageeff = (sumbuffef/float(NumberStripsPointed))*100.;
00720               averageerr = sqrt(sumbuffer/float(NumberStripsPointed))*100.;
00721             }
00722             
00723           } 
00724           
00725           int Ring = rpcId.ring();
00726           
00727           if(p!=0){
00728             ef = float(o)/float(p); 
00729             er = sqrt(ef*(1.-ef)/float(p));
00730           }
00731             
00732           ef=ef*100;
00733           er=er*100;
00734 
00735 
00736            //Filling azimutal Wheel Histograms
00737 
00738           int wheel = rpcId.ring();
00739           int sector = rpcId.sector();
00740           int region = rpcId.region();
00741           
00742           
00743           if(region ==0){
00744 
00745             int layer = 0;
00746                     
00747             if(rpcId.station()==1&&rpcId.layer()==1) layer = 1;
00748             else if(rpcId.station()==1&&rpcId.layer()==2) layer = 2;
00749             else if(rpcId.station()==2&&rpcId.layer()==1) layer = 3;
00750             else if(rpcId.station()==2&&rpcId.layer()==2)  layer = 4;
00751             else if(rpcId.station()==3) layer = 5;
00752             else if(rpcId.station()==4) layer = 6;
00753 
00754             if(wheel==-2){ExsectorEffWm2->Fill(sector,p); OcsectorEffWm2->Fill(sector,o); ExpLayerWm2->Fill(layer, p); ObsLayerWm2->Fill(layer, o);}
00755             else if(wheel==-1){ExsectorEffWm1->Fill(sector,p); OcsectorEffWm1->Fill(sector,o); ExpLayerWm1->Fill(layer, p); ObsLayerWm1->Fill(layer, o);}
00756             else if(wheel==0){ExsectorEffW0->Fill(sector,p); OcsectorEffW0->Fill(sector,o); ExpLayerW0->Fill(layer, p); ObsLayerW0->Fill(layer, o);}
00757             else if(wheel==1){ExsectorEffW1->Fill(sector,p); OcsectorEffW1->Fill(sector,o); ExpLayerW1->Fill(layer, p); ObsLayerW1->Fill(layer, o);}
00758             else if(wheel==2){ExsectorEffW2->Fill(sector,p); OcsectorEffW2->Fill(sector,o); ExpLayerW2->Fill(layer, p); ObsLayerW2->Fill(layer, o);}
00759           }
00760 
00761             
00762           std::string camera = rpcsrv.name();
00763             
00764           //float nopredictionsratio = (float(NumberWithOutPrediction)/float((*r)->nstrips()))*100.;
00765 
00766           //Efficiency for Pigis Histos
00767 
00768           if(debug) std::cout<<"Pigi "<<camera<<" "<<rpcsrv.shortname()<<" "
00769                              <<(*r)->id()<<std::endl;
00770           
00771           if(p > 100){//We need at least 100 predictions to fill the summary plot
00772 
00773                         int xBin,yBin;
00774                         xBin= (*r)->id().sector();
00775                         rpcdqm::utils rollNumber;
00776                         yBin = rollNumber.detId2RollNr((*r)->id());
00777 
00778                         if((*r)->id().ring()==2) Wheel2Summary->setBinContent(xBin,yBin,averageeff);
00779                         else if((*r)->id().ring()==1) Wheel1Summary->setBinContent(xBin,yBin,averageeff);
00780                         else if((*r)->id().ring()==0) Wheel0Summary->setBinContent(xBin,yBin,averageeff);
00781                         else if((*r)->id().ring()==-1) Wheelm1Summary->setBinContent(xBin,yBin,averageeff);
00782                         else if((*r)->id().ring()==-2) Wheelm2Summary->setBinContent(xBin,yBin,averageeff);
00783 
00784           }
00785           
00786           //Near Side
00787 
00788           //float maskedratio =0;
00789 
00790 //        if((sector==1||sector==2||sector==3||sector==10||sector==11||sector==12)){
00791             if(Ring==-2){
00792               EffDistroWm2->Fill(averageeff);
00793               indexWheel[0]++;  
00794               EffGlobWm2->setBinContent(indexWheel[0],ef);  
00795               EffGlobWm2->setBinError(indexWheel[0],er);  
00796               EffGlobWm2->setBinLabel(indexWheel[0],camera,1);
00797 
00798 //            BXGlobWm2->setBinContent(indexWheel[0],mybxhisto);  
00799 //            BXGlobWm2->setBinError(indexWheel[0],mybxerror);  
00800 //            BXGlobWm2->setBinLabel(indexWheel[0],camera,1);
00801               
00802 //            MaskedGlobWm2->setBinContent(indexWheel[0],maskedratio);  
00803 //            MaskedGlobWm2->setBinLabel(indexWheel[0],camera,1);
00804 
00805 //            AverageEffWm2->setBinContent(indexWheel[0],averageeff);
00806 //            AverageEffWm2->setBinError(indexWheel[0],averageerr);  
00807 //            AverageEffWm2->setBinLabel(indexWheel[0],camera,1);
00808               
00809 //            NoPredictionWm2->setBinContent(indexWheel[0],nopredictionsratio);
00810 //            NoPredictionWm2->setBinLabel(indexWheel[0],camera,1);
00811             }else if(Ring==-1){
00812               EffDistroWm1->Fill(averageeff);
00813               indexWheel[1]++;  
00814               EffGlobWm1->setBinContent(indexWheel[1],ef);  
00815               EffGlobWm1->setBinError(indexWheel[1],er);  
00816               EffGlobWm1->setBinLabel(indexWheel[1],camera,1);  
00817               
00818 //            BXGlobWm1->setBinContent(indexWheel[1],mybxhisto);  
00819 //            BXGlobWm1->setBinError(indexWheel[1],mybxerror);  
00820 //            BXGlobWm1->setBinLabel(indexWheel[1],camera,1);
00821               
00822 //            MaskedGlobWm1->setBinContent(indexWheel[1],maskedratio);  
00823 //            MaskedGlobWm1->setBinLabel(indexWheel[1],camera,1);
00824 
00825 //            AverageEffWm1->setBinContent(indexWheel[1],averageeff);
00826 //            AverageEffWm1->setBinError(indexWheel[1],averageerr);  
00827 //            AverageEffWm1->setBinLabel(indexWheel[1],camera,1);
00828               
00829 //            NoPredictionWm1->setBinContent(indexWheel[1],nopredictionsratio);
00830 //            NoPredictionWm1->setBinLabel(indexWheel[1],camera,1);
00831 
00832             }else if(Ring==0){
00833               EffDistroW0->Fill(averageeff);
00834               indexWheel[2]++;  
00835               EffGlobW0->setBinContent(indexWheel[2],ef);  
00836               EffGlobW0->setBinError(indexWheel[2],er);  
00837               EffGlobW0->setBinLabel(indexWheel[2],camera,1);  
00838               
00839 //            BXGlobW0->setBinContent(indexWheel[2],mybxhisto);  
00840 //            BXGlobW0->setBinError(indexWheel[2],mybxerror);  
00841 //            BXGlobW0->setBinLabel(indexWheel[2],camera,1);
00842 
00843 //            MaskedGlobW0->setBinContent(indexWheel[2],maskedratio);  
00844 //            MaskedGlobW0->setBinLabel(indexWheel[2],camera,1);
00845               
00846 //            AverageEffW0->setBinContent(indexWheel[2],averageeff);
00847 //            AverageEffW0->setBinError(indexWheel[2],averageerr);  
00848 //            AverageEffW0->setBinLabel(indexWheel[2],camera,1);
00849               
00850 //            NoPredictionW0->setBinContent(indexWheel[2],nopredictionsratio);
00851 //            NoPredictionW0->setBinLabel(indexWheel[2],camera,1);            
00852             }else if(Ring==1){
00853               EffDistroW1->Fill(averageeff);
00854               indexWheel[3]++;  
00855               EffGlobW1->setBinContent(indexWheel[3],ef);  
00856               EffGlobW1->setBinError(indexWheel[3],er);  
00857               EffGlobW1->setBinLabel(indexWheel[3],camera,1);  
00858               
00859 //            BXGlobW1->setBinContent(indexWheel[3],mybxhisto);  
00860 //            BXGlobW1->setBinError(indexWheel[3],mybxerror);  
00861 //            BXGlobW1->setBinLabel(indexWheel[3],camera,1);
00862 
00863 //            MaskedGlobW1->setBinContent(indexWheel[3],maskedratio);  
00864 //            MaskedGlobW1->setBinLabel(indexWheel[3],camera,1);
00865 
00866 //            AverageEffW1->setBinContent(indexWheel[3],averageeff);
00867 //            AverageEffW1->setBinError(indexWheel[3],averageerr);  
00868 //            AverageEffW1->setBinLabel(indexWheel[3],camera,1);
00869               
00870 //            NoPredictionW1->setBinContent(indexWheel[3],nopredictionsratio);
00871 //            NoPredictionW1->setBinLabel(indexWheel[3],camera,1);            
00872             }else if(Ring==2){
00873               EffDistroW2->Fill(averageeff);
00874               indexWheel[4]++;
00875               EffGlobW2->setBinContent(indexWheel[4],ef);
00876               EffGlobW2->setBinError(indexWheel[4],er);
00877               EffGlobW2->setBinLabel(indexWheel[4],camera,1);
00878 
00879 //            BXGlobW2->setBinContent(indexWheel[4],mybxhisto);  
00880 //            BXGlobW2->setBinError(indexWheel[4],mybxerror);  
00881 //            BXGlobW2->setBinLabel(indexWheel[4],camera,1);
00882               
00883 //            MaskedGlobW2->setBinContent(indexWheel[4],maskedratio);  
00884 //            MaskedGlobW2->setBinLabel(indexWheel[4],camera,1);
00885 
00886 //            AverageEffW2->setBinContent(indexWheel[4],averageeff);
00887 //            AverageEffW2->setBinError(indexWheel[4],averageerr);  
00888 //            AverageEffW2->setBinLabel(indexWheel[4],camera,1);
00889               
00890 //            NoPredictionW2->setBinContent(indexWheel[4],nopredictionsratio);
00891 //              NoPredictionW2->setBinLabel(indexWheel[4],camera,1);          
00892             }
00893 /*        }else{//Far Side 
00894             if(Ring==-2){
00895               EffDistroWm2far->Fill(averageeff);
00896               indexWheelf[0]++;  
00897               EffGlobWm2far->setBinContent(indexWheelf[0],ef);  
00898               EffGlobWm2far->setBinError(indexWheelf[0],er);  
00899               EffGlobWm2far->setBinLabel(indexWheelf[0],camera,1);
00900 
00901 //            BXGlobWm2far->setBinContent(indexWheelf[0],mybxhisto);  
00902 //            BXGlobWm2far->setBinError(indexWheelf[0],mybxerror);  
00903 //            BXGlobWm2far->setBinLabel(indexWheelf[0],camera);
00904               
00905               MaskedGlobWm2far->setBinContent(indexWheelf[0],maskedratio);
00906               MaskedGlobWm2far->setBinLabel(indexWheelf[0],camera,1);
00907               
00908               AverageEffWm2far->setBinContent(indexWheelf[0],averageeff);
00909               AverageEffWm2far->setBinError(indexWheelf[0],averageerr);
00910               AverageEffWm2far->setBinLabel(indexWheelf[0],camera,1);
00911 
00912               NoPredictionWm2->setBinContent(indexWheel[0],nopredictionsratio);
00913               NoPredictionWm2->setBinLabel(indexWheel[0],camera,1);
00914 
00915             }else if(Ring==-1){
00916               EffDistroWm1far->Fill(averageeff);
00917               indexWheelf[1]++;  
00918               EffGlobWm1far->setBinContent(indexWheelf[1],ef);  
00919               EffGlobWm1far->setBinError(indexWheelf[1],er);  
00920               EffGlobWm1far->setBinLabel(indexWheelf[1],camera,1);  
00921               
00922           //     BXGlobWm1far->setBinContent(indexWheelf[1],mybxhisto);  
00923 //            BXGlobWm1far->setBinError(indexWheelf[1],mybxerror);  
00924 //            BXGlobWm1far->setBinLabel(indexWheelf[1],camera,1);
00925               
00926               MaskedGlobWm1far->setBinContent(indexWheelf[1],maskedratio);
00927               MaskedGlobWm1far->setBinLabel(indexWheelf[1],camera,1);
00928 
00929               AverageEffWm1far->setBinContent(indexWheelf[1],averageeff);
00930               AverageEffWm1far->setBinError(indexWheelf[1],averageerr);
00931               AverageEffWm1far->setBinLabel(indexWheelf[1],camera,1);
00932 
00933               NoPredictionWm1far->setBinContent(indexWheelf[1],nopredictionsratio);
00934               NoPredictionWm1far->setBinLabel(indexWheelf[1],camera,1);
00935 
00936             }else  if(Ring==0){
00937               EffDistroW0far->Fill(averageeff);
00938               indexWheelf[2]++;  
00939               EffGlobW0far->setBinContent(indexWheelf[2],ef);  
00940               EffGlobW0far->setBinError(indexWheelf[2],er);  
00941               EffGlobW0far->setBinLabel(indexWheelf[2],camera,1);  
00942               
00943 //            BXGlobW0far->setBinContent(indexWheelf[2],mybxhisto);  
00944 //            BXGlobW0far->setBinError(indexWheelf[2],mybxerror);  
00945 //            BXGlobW0far->setBinLabel(indexWheelf[2],camera,1);
00946 
00947               MaskedGlobW0far->setBinContent(indexWheelf[2],maskedratio);
00948               MaskedGlobW0far->setBinLabel(indexWheelf[2],camera,1);
00949 
00950               AverageEffW0far->setBinContent(indexWheelf[2],averageeff);
00951               AverageEffW0far->setBinError(indexWheelf[2],averageerr);
00952               AverageEffW0far->setBinLabel(indexWheelf[2],camera,1);
00953 
00954               NoPredictionW0far->setBinContent(indexWheelf[2],nopredictionsratio);
00955               NoPredictionW0far->setBinLabel(indexWheelf[2],camera,1);
00956             }else if(Ring==1){
00957               EffDistroW1far->Fill(averageeff);
00958               indexWheelf[3]++;  
00959               EffGlobW1far->setBinContent(indexWheelf[3],ef);  
00960               EffGlobW1far->setBinError(indexWheelf[3],er);  
00961               EffGlobW1far->setBinLabel(indexWheelf[3],camera,1);  
00962               
00963         //       BXGlobW1far->setBinContent(indexWheelf[3],mybxhisto);  
00964 //            BXGlobW1far->setBinError(indexWheelf[3],mybxerror);  
00965 //            BXGlobW1far->setBinLabel(indexWheelf[3],camera,1);
00966 
00967               MaskedGlobW1far->setBinContent(indexWheelf[3],maskedratio);
00968               MaskedGlobW1far->setBinLabel(indexWheelf[3],camera,1);
00969               
00970               AverageEffW1far->setBinContent(indexWheelf[3],averageeff);
00971               AverageEffW1far->setBinError(indexWheelf[3],averageerr);
00972               AverageEffW1far->setBinLabel(indexWheelf[3],camera,1);
00973 
00974               NoPredictionW1far->setBinContent(indexWheelf[3],nopredictionsratio);
00975               NoPredictionW1far->setBinLabel(indexWheelf[3],camera,1);
00976 
00977             }else if(Ring==2){
00978               EffDistroW2far->Fill(averageeff);
00979               indexWheelf[4]++;
00980               EffGlobW2far->setBinContent(indexWheelf[4],ef);
00981               EffGlobW2far->setBinError(indexWheelf[4],er);
00982               EffGlobW2far->setBinLabel(indexWheelf[4],camera,1);
00983 
00984          //      BXGlobW2far->setBinContent(indexWheelf[4],mybxhisto);  
00985 //            BXGlobW2far->setBinError(indexWheelf[4],mybxerror);  
00986 //            BXGlobW2far->setBinLabel(indexWheelf[4],camera,1);
00987               
00988               MaskedGlobW2far->setBinContent(indexWheelf[4],maskedratio);
00989               MaskedGlobW2far->setBinLabel(indexWheelf[4],camera,1);
00990 
00991               AverageEffW2far->setBinContent(indexWheelf[4],averageeff);
00992               AverageEffW2far->setBinError(indexWheelf[4],averageerr);
00993               AverageEffW2far->setBinLabel(indexWheelf[4],camera,1);
00994 
00995               NoPredictionW2far->setBinContent(indexWheelf[4],nopredictionsratio);
00996               NoPredictionW2far->setBinLabel(indexWheelf[4],camera,1);
00997             }
00998           }*/
00999         }else{//EndCap
01000 
01001           std::stringstream meIdRPC,meIdCSC; //, bxDistroId;
01002           std::string      meIdPRO;
01003           // std::string   meIdRPC2, meIdCSC2; //, bxDistroId2;
01004           
01005           // RPCBookFolderStructure *  folderStr = new RPCBookFolderStructure();
01006          
01007           //  std::string folder = folderPath+"MuonSegEff";
01008           
01009           meIdRPC<<folderPath<<"MuonSegEff/RPCDataOccupancyFromCSC_"<<rpcId.rawId();
01010           meIdCSC<<folderPath<<"MuonSegEff/ExpectedOccupancyFromCSC_"<<rpcId.rawId();
01011           //  bxDistroId<<folder<<"/BXDistribution_"<<rpcId.rawId();
01012                 
01013           // std::string folder2 = folderPath+"RollByRoll/" +  folderStr->folderStructure(rpcId); 
01014           
01015           // delete folderStr;
01016 
01017 //        meIdRPC2 = "RPCDataOccupancyFromCSC_" + rpcsrv.name();        
01018 //        meIdCSC2 =  "ExpectedOccupancyFromCSC_"+ rpcsrv.name();
01019           //      bxDistroId2 = "BXDistribution_"+ rpcsrv.name();
01020 
01021           meIdPRO = "Profile_"+ rpcsrv.name();
01022 
01023           histoRPC= dbe->get(meIdRPC.str());
01024           histoCSC= dbe->get(meIdCSC.str());
01025           //BXDistribution = dbe->get(bxDistroId.str());
01026                           
01027           int NumberWithOutPrediction=0;
01028           double p = 0;
01029           double o = 0;
01030           //      float mybxhisto = 0;
01031           //float mybxerror = 0;
01032           float ef =0;
01033           float er =0;
01034           float buffef = 0;
01035           float buffer = 0;
01036           float sumbuffef = 0;
01037           float sumbuffer = 0;
01038           float averageeff = 0;
01039           float averageerr = 0;
01040           int NumberStripsPointed = 0;
01041 
01042           //      if(debug) std::cout<<"Cloning BX"<<std::endl;
01043 
01044 //        for(int i=1;i<=11;i++){
01045 //          if(debug) std::cout<<i<<"-"<<BXDistribution->getBinContent(i)<<std::endl;
01046 //          meMap[bxDistroId2]->setBinContent(i,BXDistribution->getBinContent(i));
01047 //        }
01048 
01049           if(histoRPC && histoCSC) {// && BXDistribution){
01050             if(debug) std::cout <<rpcsrv.name()<<std::endl;
01051             
01052             for(int i=1;i<=int((*r)->nstrips());++i){
01053 //            if(debug) std::cout<<"Cloning histoCSC "<<meIdCSC2<<std::endl;
01054 //            meMap[meIdCSC2]->setBinContent(i,histoCSC->getBinContent(i));
01055 //            if(debug) std::cout<<"Cloning histoRPC:"<<meIdRPC2<<std::endl;
01056 //            meMap[meIdRPC2]->setBinContent(i,histoRPC->getBinContent(i));
01057               
01058 //            if(meMap.find(meIdPRO)==meMap.end()){
01059 //              std::cout<<"Empty Map"<<std::endl;
01060 //            }
01061 
01062               if(histoCSC->getBinContent(i)!=0){
01063                 if(debug) std::cout<<"Inside the If"<<std::endl;
01064                 buffef = float(histoRPC->getBinContent(i))/float(histoCSC->getBinContent(i));
01065                 //      meMap[meIdPRO]->setBinContent(i,buffef); 
01066                 buffer = sqrt(buffef*(1.-buffef)/float(histoCSC->getBinContent(i)));
01067                 //      meMap[meIdPRO]->setBinError(i,buffer);
01068                 sumbuffef=sumbuffef+buffef;
01069                 sumbuffer = sumbuffer + buffer*buffer;
01070                 NumberStripsPointed++;
01071               }else{
01072                 NumberWithOutPrediction++;
01073               }
01074               
01075               if(debug) std::cout<<"\t Strip="<<i<<" RPC="<<histoRPC->getBinContent(i)<<" CSC="<<histoCSC->getBinContent(i)<<" buffef="<<buffef<<" buffer="<<buffer<<" sumbuffef="<<sumbuffef<<" sumbuffer="<<sumbuffer<<" NumberStripsPointed="<<NumberStripsPointed<<" NumberWithOutPrediction"<<NumberWithOutPrediction<<std::endl;
01076             }
01077             p=histoCSC->getTH1F()->Integral();
01078             o=histoRPC->getTH1F()->Integral();
01079             
01080             if(NumberStripsPointed!=0){
01081               averageeff = (sumbuffef/float(NumberStripsPointed))*100.;
01082               averageerr = sqrt(sumbuffer/float(NumberStripsPointed))*100.;
01083             }
01084             
01085            //  mybxhisto = 50.+BXDistribution->getMean()*10;
01086 //          mybxerror = BXDistribution->getRMS()*10;
01087           }
01088           
01089           int Disk = rpcId.station()*rpcId.region();
01090 
01091           if(p!=0){
01092             ef = float(o)/float(p); 
01093             er = sqrt(ef*(1.-ef)/float(p));
01094           }
01095             
01096           ef=ef*100;
01097           er=er*100;
01098 
01099            //Filling azimutal GregHistograms
01100           
01101           if(rpcId.region()==1){
01102             if(rpcId.station()==1 && rpcId.ring()==2){ ExGregD1R2->Fill(rpcsrv.segment(),p);OcGregD1R2->Fill(rpcsrv.segment(),o);} 
01103             else if(rpcId.station()==1 && rpcId.ring()==3){ ExGregD1R3->Fill(rpcsrv.segment(),p);OcGregD1R3->Fill(rpcsrv.segment(),o);}
01104             else if(rpcId.station()==2 && rpcId.ring()==2){ ExGregD2R2->Fill(rpcsrv.segment(),p);OcGregD2R2->Fill(rpcsrv.segment(),o);}
01105             else if(rpcId.station()==2 && rpcId.ring()==3){ ExGregD2R3->Fill(rpcsrv.segment(),p);OcGregD2R3->Fill(rpcsrv.segment(),o);}
01106             else if(rpcId.station()==3 && rpcId.ring()==2){ ExGregD3R2->Fill(rpcsrv.segment(),p);OcGregD3R2->Fill(rpcsrv.segment(),o);}
01107             else if(rpcId.station()==3 && rpcId.ring()==3){ ExGregD3R3->Fill(rpcsrv.segment(),p);OcGregD3R3->Fill(rpcsrv.segment(),o);}
01108           }else if(rpcId.region()==-1){
01109             if(rpcId.station()==1 && rpcId.ring()==2){ ExGregDm1R2->Fill(rpcsrv.segment(),p);OcGregDm1R2->Fill(rpcsrv.segment(),o);} 
01110             else if(rpcId.station()==1 && rpcId.ring()==3){ ExGregDm1R3->Fill(rpcsrv.segment(),p);OcGregDm1R3->Fill(rpcsrv.segment(),o);}
01111             else if(rpcId.station()==2 && rpcId.ring()==2){ ExGregDm2R2->Fill(rpcsrv.segment(),p);OcGregDm2R2->Fill(rpcsrv.segment(),o);}
01112             else if(rpcId.station()==2 && rpcId.ring()==3){ ExGregDm2R3->Fill(rpcsrv.segment(),p);OcGregDm2R3->Fill(rpcsrv.segment(),o);}
01113             else if(rpcId.station()==3 && rpcId.ring()==2){ ExGregDm3R2->Fill(rpcsrv.segment(),p);OcGregDm3R2->Fill(rpcsrv.segment(),o);}
01114             else if(rpcId.station()==3 && rpcId.ring()==3){ ExGregDm3R3->Fill(rpcsrv.segment(),p);OcGregDm3R3->Fill(rpcsrv.segment(),o);}
01115           }
01116             
01117           std::string camera = rpcsrv.name();
01118             
01119           //float nopredictionsratio = (float(NumberWithOutPrediction)/float((*r)->nstrips()))*100.;
01120           
01121 
01122           //Efficiency for Pigis Histos
01123 
01124           if(debug) std::cout<<"Pigi "<<camera<<" "<<rpcsrv.shortname()<<" "
01125                              <<(*r)->id()<<std::endl;
01126 
01127 
01128 
01129           if(p > 100){ //We need at least 100 predictions to fill the summary plot
01130             RPCGeomServ RPCServ((*r)->id());
01131             int xBin = RPCServ.segment();
01132             int yBin= ((*r)->id().ring()-1)*3-(*r)->id().roll()+1;
01133             if(Disk==-3) Diskm3Summary->setBinContent(xBin, yBin, averageeff);
01134             else if(Disk==-2) Diskm2Summary->setBinContent(xBin, yBin, averageeff);
01135             else if(Disk==-1) Diskm1Summary->setBinContent(xBin, yBin, averageeff);
01136             else if(Disk==1) Disk1Summary->setBinContent(xBin, yBin, averageeff);
01137             else if(Disk==2) Disk2Summary->setBinContent(xBin, yBin, averageeff);
01138             else if(Disk==3) Disk3Summary->setBinContent(xBin, yBin, averageeff);
01139           }
01140 
01141           //Near Side
01142 
01143           //float maskedratio =0;
01144 
01145 //        if(sector==1||sector==2||sector==6){
01146 
01147             if(Disk==-3){
01148               EffDistroDm3->Fill(averageeff);
01149               indexDisk[0]++;  
01150               EffGlobDm3->setBinContent(indexDisk[0],ef);  
01151               EffGlobDm3->setBinError(indexDisk[0],er);  
01152               EffGlobDm3->setBinLabel(indexDisk[0],camera,1);
01153 
01154 //            BXGlobDm3->setBinContent(indexDisk[0],mybxhisto);  
01155 //            BXGlobDm3->setBinError(indexDisk[0],mybxerror);  
01156 //            BXGlobDm3->setBinLabel(indexDisk[0],camera,1);
01157               
01158 //            MaskedGlobDm3->setBinContent(indexDisk[0],maskedratio);  
01159 //            MaskedGlobDm3->setBinLabel(indexDisk[0],camera,1);
01160 
01161 //            AverageEffDm3->setBinContent(indexDisk[0],averageeff);
01162 //            AverageEffDm3->setBinError(indexDisk[0],averageerr);  
01163 //            AverageEffDm3->setBinLabel(indexDisk[0],camera,1);
01164               
01165 //            NoPredictionDm3->setBinContent(indexDisk[0],nopredictionsratio);
01166 //            NoPredictionDm3->setBinLabel(indexDisk[0],camera,1);
01167             }else if(Disk==-2){
01168               EffDistroDm2->Fill(averageeff);
01169               indexDisk[1]++;  
01170               EffGlobDm2->setBinContent(indexDisk[1],ef);  
01171               EffGlobDm2->setBinError(indexDisk[1],er);  
01172               EffGlobDm2->setBinLabel(indexDisk[1],camera,1);
01173 
01174 //            BXGlobDm2->setBinContent(indexDisk[1],mybxhisto);  
01175 //            BXGlobDm2->setBinError(indexDisk[1],mybxerror);  
01176 //            BXGlobDm2->setBinLabel(indexDisk[1],camera,1);
01177               
01178 //            MaskedGlobDm2->setBinContent(indexDisk[1],maskedratio);  
01179 //            MaskedGlobDm2->setBinLabel(indexDisk[1],camera,1);
01180 
01181 //            AverageEffDm2->setBinContent(indexDisk[1],averageeff);
01182 //            AverageEffDm2->setBinError(indexDisk[1],averageerr);  
01183 //            AverageEffDm2->setBinLabel(indexDisk[1],camera,1);
01184               
01185 //            NoPredictionDm2->setBinContent(indexDisk[1],nopredictionsratio);
01186 //            NoPredictionDm2->setBinLabel(indexDisk[1],camera,1);
01187             }else if(Disk==-1){
01188               EffDistroDm1->Fill(averageeff);
01189               indexDisk[2]++;  
01190               EffGlobDm1->setBinContent(indexDisk[2],ef);  
01191               EffGlobDm1->setBinError(indexDisk[2],er);  
01192               EffGlobDm1->setBinLabel(indexDisk[2],camera,1);  
01193               
01194 //            BXGlobDm1->setBinContent(indexDisk[2],mybxhisto);  
01195 //            BXGlobDm1->setBinError(indexDisk[2],mybxerror);  
01196 //            BXGlobDm1->setBinLabel(indexDisk[2],camera,1);
01197               
01198 //            MaskedGlobDm1->setBinContent(indexDisk[2],maskedratio);  
01199 //            MaskedGlobDm1->setBinLabel(indexDisk[2],camera,1);
01200 
01201 //            AverageEffDm1->setBinContent(indexDisk[2],averageeff);
01202 //            AverageEffDm1->setBinError(indexDisk[2],averageerr);  
01203 //            AverageEffDm1->setBinLabel(indexDisk[2],camera,1);
01204               
01205 //            NoPredictionDm1->setBinContent(indexDisk[2],nopredictionsratio);
01206 //            NoPredictionDm1->setBinLabel(indexDisk[2],camera,1);
01207 
01208             }else if(Disk==1){
01209               EffDistroD1->Fill(averageeff);
01210               indexDisk[3]++;  
01211               EffGlobD1->setBinContent(indexDisk[3],ef);  
01212               EffGlobD1->setBinError(indexDisk[3],er);  
01213               EffGlobD1->setBinLabel(indexDisk[3],camera,1);  
01214               
01215 //            BXGlobD1->setBinContent(indexDisk[3],mybxhisto);  
01216 //            BXGlobD1->setBinError(indexDisk[3],mybxerror);  
01217 //            BXGlobD1->setBinLabel(indexDisk[3],camera,1);
01218 
01219 //            MaskedGlobD1->setBinContent(indexDisk[3],maskedratio);  
01220 //            MaskedGlobD1->setBinLabel(indexDisk[3],camera,1);
01221 
01222 //            AverageEffD1->setBinContent(indexDisk[3],averageeff);
01223 //            AverageEffD1->setBinError(indexDisk[3],averageerr);  
01224 //            AverageEffD1->setBinLabel(indexDisk[3],camera,1);
01225               
01226 //            NoPredictionD1->setBinContent(indexDisk[3],nopredictionsratio);
01227 //            NoPredictionD1->setBinLabel(indexDisk[3],camera,1);             
01228             }else if(Disk==2){
01229               EffDistroD2->Fill(averageeff);
01230               indexDisk[4]++;
01231               EffGlobD2->setBinContent(indexDisk[4],ef);
01232               EffGlobD2->setBinError(indexDisk[4],er);
01233               EffGlobD2->setBinLabel(indexDisk[4],camera,1);
01234 
01235 //            BXGlobD2->setBinContent(indexDisk[4],mybxhisto);  
01236 //            BXGlobD2->setBinError(indexDisk[4],mybxerror);  
01237 //            BXGlobD2->setBinLabel(indexDisk[4],camera,1);
01238               
01239 //            MaskedGlobD2->setBinContent(indexDisk[4],maskedratio);  
01240 //            MaskedGlobD2->setBinLabel(indexDisk[4],camera,1);
01241 
01242 //            AverageEffD2->setBinContent(indexDisk[4],averageeff);
01243 //            AverageEffD2->setBinError(indexDisk[4],averageerr);  
01244 //            AverageEffD2->setBinLabel(indexDisk[4],camera,1);
01245               
01246 //            NoPredictionD2->setBinContent(indexDisk[4],nopredictionsratio);
01247 //            NoPredictionD2->setBinLabel(indexDisk[4],camera,1);             
01248             }else if(Disk==3){
01249               EffDistroD3->Fill(averageeff);
01250               indexDisk[5]++;
01251               EffGlobD3->setBinContent(indexDisk[5],ef);
01252               EffGlobD3->setBinError(indexDisk[5],er);
01253               EffGlobD3->setBinLabel(indexDisk[5],camera,1);
01254 
01255 //            BXGlobD3->setBinContent(indexDisk[5],mybxhisto);  
01256 //            BXGlobD3->setBinError(indexDisk[5],mybxerror);  
01257 //            BXGlobD3->setBinLabel(indexDisk[5],camera,1);
01258               
01259 //            MaskedGlobD3->setBinContent(indexDisk[5],maskedratio);  
01260 //            MaskedGlobD3->setBinLabel(indexDisk[5],camera,1);
01261 
01262 //            AverageEffD3->setBinContent(indexDisk[5],averageeff);
01263 //            AverageEffD3->setBinError(indexDisk[5],averageerr);  
01264 //            AverageEffD3->setBinLabel(indexDisk[5],camera,1);
01265               
01266 //            NoPredictionD3->setBinContent(indexDisk[5],nopredictionsratio);
01267 //            NoPredictionD3->setBinLabel(indexDisk[5],camera,1);             
01268             }
01269 /*        }else{//Far Side 
01270             
01271             if(Disk==-3){
01272               EffDistroDm3far->Fill(averageeff);
01273               indexDiskf[0]++;  
01274               EffGlobDm3far->setBinContent(indexDiskf[0],ef);  
01275               EffGlobDm3far->setBinError(indexDiskf[0],er);  
01276               EffGlobDm3far->setBinLabel(indexDiskf[0],camera,1);
01277 
01278          //      BXGlobDm3far->setBinContent(indexDiskf[0],mybxhisto);  
01279 //            BXGlobDm3far->setBinError(indexDiskf[0],mybxerror);  
01280 //            BXGlobDm3far->setBinLabel(indexDiskf[0],camera);
01281               
01282               MaskedGlobDm3far->setBinContent(indexDiskf[0],maskedratio);
01283               MaskedGlobDm3far->setBinLabel(indexDiskf[0],camera,1);
01284               
01285               AverageEffDm3far->setBinContent(indexDiskf[0],averageeff);
01286               AverageEffDm3far->setBinError(indexDiskf[0],averageerr);
01287               AverageEffDm3far->setBinLabel(indexDiskf[0],camera,1);
01288 
01289               NoPredictionDm3->setBinContent(indexDisk[0],nopredictionsratio);
01290               NoPredictionDm3->setBinLabel(indexDisk[0],camera,1);
01291 
01292             }
01293             else if(Disk==-2){
01294               EffDistroDm2far->Fill(averageeff);
01295               indexDiskf[1]++;  
01296               EffGlobDm2far->setBinContent(indexDiskf[1],ef);  
01297               EffGlobDm2far->setBinError(indexDiskf[1],er);  
01298               EffGlobDm2far->setBinLabel(indexDiskf[1],camera,1);
01299 
01300              //  BXGlobDm2far->setBinContent(indexDiskf[1],mybxhisto);  
01301 //            BXGlobDm2far->setBinError(indexDiskf[1],mybxerror);  
01302 //            BXGlobDm2far->setBinLabel(indexDiskf[1],camera);
01303               
01304               MaskedGlobDm2far->setBinContent(indexDiskf[1],maskedratio);
01305               MaskedGlobDm2far->setBinLabel(indexDiskf[1],camera,1);
01306               
01307               AverageEffDm2far->setBinContent(indexDiskf[1],averageeff);
01308               AverageEffDm2far->setBinError(indexDiskf[1],averageerr);
01309               AverageEffDm2far->setBinLabel(indexDiskf[1],camera,1);
01310 
01311               NoPredictionDm2->setBinContent(indexDisk[1],nopredictionsratio);
01312               NoPredictionDm2->setBinLabel(indexDisk[1],camera,1);
01313 
01314             }else if(Disk==-1){
01315               EffDistroDm1far->Fill(averageeff);
01316               indexDiskf[2]++;  
01317               EffGlobDm1far->setBinContent(indexDiskf[2],ef);  
01318               EffGlobDm1far->setBinError(indexDiskf[2],er);  
01319               EffGlobDm1far->setBinLabel(indexDiskf[2],camera,1);  
01320               
01321 //            BXGlobDm1far->setBinContent(indexDiskf[2],mybxhisto);  
01322 //            BXGlobDm1far->setBinError(indexDiskf[2],mybxerror);  
01323 //            BXGlobDm1far->setBinLabel(indexDiskf[2],camera,1);
01324               
01325               MaskedGlobDm1far->setBinContent(indexDiskf[2],maskedratio);
01326               MaskedGlobDm1far->setBinLabel(indexDiskf[2],camera,1);
01327 
01328               AverageEffDm1far->setBinContent(indexDiskf[2],averageeff);
01329               AverageEffDm1far->setBinError(indexDiskf[2],averageerr);
01330               AverageEffDm1far->setBinLabel(indexDiskf[2],camera,1);
01331 
01332               NoPredictionDm1far->setBinContent(indexDiskf[2],nopredictionsratio);
01333               NoPredictionDm1far->setBinLabel(indexDiskf[2],camera,1);
01334 
01335             }else if(Disk==1){
01336               EffDistroD1far->Fill(averageeff);
01337               indexDiskf[3]++;  
01338               EffGlobD1far->setBinContent(indexDiskf[3],ef);  
01339               EffGlobD1far->setBinError(indexDiskf[3],er);  
01340               EffGlobD1far->setBinLabel(indexDiskf[3],camera,1);  
01341               
01342 //            BXGlobD1far->setBinContent(indexDiskf[3],mybxhisto);  
01343 //            BXGlobD1far->setBinError(indexDiskf[3],mybxerror);  
01344 //            BXGlobD1far->setBinLabel(indexDiskf[3],camera,1);
01345 
01346               MaskedGlobD1far->setBinContent(indexDiskf[3],maskedratio);
01347               MaskedGlobD1far->setBinLabel(indexDiskf[3],camera,1);
01348               
01349               AverageEffD1far->setBinContent(indexDiskf[3],averageeff);
01350               AverageEffD1far->setBinError(indexDiskf[3],averageerr);
01351               AverageEffD1far->setBinLabel(indexDiskf[3],camera,1);
01352 
01353               NoPredictionD1far->setBinContent(indexDiskf[3],nopredictionsratio);
01354               NoPredictionD1far->setBinLabel(indexDiskf[3],camera,1);
01355 
01356             }else if(Disk==2){
01357               EffDistroD2far->Fill(averageeff);
01358               indexDiskf[4]++;
01359               EffGlobD2far->setBinContent(indexDiskf[4],ef);
01360               EffGlobD2far->setBinError(indexDiskf[4],er);
01361               EffGlobD2far->setBinLabel(indexDiskf[4],camera,1);
01362 
01363 //            BXGlobD2far->setBinContent(indexDiskf[4],mybxhisto);  
01364 //            BXGlobD2far->setBinError(indexDiskf[4],mybxerror);  
01365 //            BXGlobD2far->setBinLabel(indexDiskf[4],camera,1);
01366               
01367               MaskedGlobD2far->setBinContent(indexDiskf[4],maskedratio);
01368               MaskedGlobD2far->setBinLabel(indexDiskf[4],camera,1);
01369 
01370               AverageEffD2far->setBinContent(indexDiskf[4],averageeff);
01371               AverageEffD2far->setBinError(indexDiskf[4],averageerr);
01372               AverageEffD2far->setBinLabel(indexDiskf[4],camera,1);
01373 
01374               NoPredictionD2far->setBinContent(indexDiskf[4],nopredictionsratio);
01375               NoPredictionD2far->setBinLabel(indexDiskf[4],camera,1);
01376             }else if(Disk==3){
01377               EffDistroD3far->Fill(averageeff);
01378               indexDiskf[5]++;
01379               EffGlobD3far->setBinContent(indexDiskf[5],ef);
01380               EffGlobD3far->setBinError(indexDiskf[5],er);
01381               EffGlobD3far->setBinLabel(indexDiskf[5],camera,1);
01382 
01383 //            BXGlobD3far->setBinContent(indexDiskf[5],mybxhisto);  
01384 //            BXGlobD3far->setBinError(indexDiskf[5],mybxerror);  
01385 //            BXGlobD3far->setBinLabel(indexDiskf[5],camera,1);
01386               
01387               MaskedGlobD3far->setBinContent(indexDiskf[5],maskedratio);
01388               MaskedGlobD3far->setBinLabel(indexDiskf[5],camera,1);
01389 
01390               AverageEffD3far->setBinContent(indexDiskf[5],averageeff);
01391               AverageEffD3far->setBinError(indexDiskf[5],averageerr);
01392               AverageEffD3far->setBinLabel(indexDiskf[5],camera,1);
01393 
01394               NoPredictionD3far->setBinContent(indexDiskf[5],nopredictionsratio);
01395               NoPredictionD3far->setBinLabel(indexDiskf[5],camera,1);
01396             }
01397           }//Finishing EndCap*/
01398         }
01399       }
01400     }
01401   }
01402 
01403  float eff,N,err;
01404  int k;
01405  for(k=1;k<=36;k++){
01406    err=0; eff=0; N=ExGregD1R2->getBinContent(k);
01407    if(N!=0.){ eff = OcGregD1R2->getBinContent(k)/N; err=sqrt(eff*(1-eff)/N);}
01408    GregD1R2->setBinContent(k,eff); GregD1R2->setBinError(k,err);
01409    
01410    err=0; eff=0; N=ExGregD1R3->getBinContent(k);
01411    if(N!=0.){eff = OcGregD1R3->getBinContent(k)/N;err=sqrt(eff*(1-eff)/N);}
01412    GregD1R3->setBinContent(k,eff); GregD1R3->setBinError(k,err);
01413    
01414    err=0; eff=0; N=ExGregD2R2->getBinContent(k);
01415    if(N!=0.){ eff = OcGregD2R2->getBinContent(k)/N;err=sqrt(eff*(1-eff)/N);}
01416    GregD2R2->setBinContent(k,eff); GregD2R2->setBinError(k,err);
01417    
01418    err=0; eff=0; N=ExGregD2R3->getBinContent(k);
01419    if(N!=0.){ eff = OcGregD2R3->getBinContent(k)/N;err=sqrt(eff*(1-eff)/N);}
01420    GregD2R3->setBinContent(k,eff); GregD2R3->setBinError(k,err);
01421    
01422    err=0; eff=0; N=ExGregD3R2->getBinContent(k);
01423    if(N!=0.){ eff = OcGregD3R2->getBinContent(k)/N;err=sqrt(eff*(1-eff)/N);}
01424    GregD3R2->setBinContent(k,eff); GregD3R2->setBinError(k,err);
01425    
01426    err=0; eff=0; N=ExGregD3R3->getBinContent(k);
01427    if(N!=0.){ eff = OcGregD3R3->getBinContent(k)/N;err=sqrt(eff*(1-eff)/N);}
01428    GregD3R3->setBinContent(k,eff); GregD3R3->setBinError(k,err);
01429 
01430    err=0; eff=0; N=ExGregDm1R2->getBinContent(k);
01431    if(N!=0.){ eff = OcGregDm1R2->getBinContent(k)/N; err=sqrt(eff*(1-eff)/N);}
01432    GregDm1R2->setBinContent(k,eff); GregDm1R2->setBinError(k,err);
01433    
01434    err=0; eff=0; N=ExGregDm1R3->getBinContent(k);
01435    if(N!=0.){eff = OcGregDm1R3->getBinContent(k)/N;err=sqrt(eff*(1-eff)/N);}
01436    GregDm1R3->setBinContent(k,eff); GregDm1R3->setBinError(k,err);
01437    
01438    err=0; eff=0; N=ExGregDm2R2->getBinContent(k);
01439    if(N!=0.){ eff = OcGregDm2R2->getBinContent(k)/N;err=sqrt(eff*(1-eff)/N);}
01440    GregDm2R2->setBinContent(k,eff); GregDm2R2->setBinError(k,err);
01441    
01442    err=0; eff=0; N=ExGregDm2R3->getBinContent(k);
01443    if(N!=0.){ eff = OcGregDm2R3->getBinContent(k)/N;err=sqrt(eff*(1-eff)/N);}
01444    GregDm2R3->setBinContent(k,eff); GregDm2R3->setBinError(k,err);
01445    
01446    err=0; eff=0; N=ExGregDm3R2->getBinContent(k);
01447    if(N!=0.){ eff = OcGregDm3R2->getBinContent(k)/N;err=sqrt(eff*(1-eff)/N);}
01448    GregDm3R2->setBinContent(k,eff); GregDm3R2->setBinError(k,err);
01449    
01450    err=0; eff=0; N=ExGregDm3R3->getBinContent(k);
01451    if(N!=0.){ eff = OcGregDm3R3->getBinContent(k)/N;err=sqrt(eff*(1-eff)/N);}
01452    GregDm3R3->setBinContent(k,eff); GregDm3R3->setBinError(k,err);
01453  }
01454 
01455   for(k=1;k<=12;k++){
01456     err=0; eff=0; N=ExsectorEffWm2->getBinContent(k);
01457     if(N!=0.){ eff = OcsectorEffWm2->getBinContent(k)/N;err=sqrt(eff*(1-eff)/N);}
01458     sectorEffWm2->setBinContent(k,eff); sectorEffWm2->setBinError(k,err);
01459     //std::cout<<N<<" "<<OcsectorEffWm2->getBinContent(k)<<" "<<eff<<" "<<err<<std::endl;
01460 
01461     err=0; eff=0; N=ExsectorEffWm1->getBinContent(k);
01462     if(N!=0.){ eff = OcsectorEffWm1->getBinContent(k)/N;err=sqrt(eff*(1-eff)/N);}
01463     sectorEffWm1->setBinContent(k,eff); sectorEffWm1->setBinError(k,err);
01464     //std::cout<<N<<" "<<OcsectorEffWm1->getBinContent(k)<<" "<<eff<<" "<<err<<std::endl;
01465 
01466     err=0; eff=0; N=ExsectorEffW0->getBinContent(k);
01467     if(N!=0.){ eff = OcsectorEffW0->getBinContent(k)/N;err=sqrt(eff*(1-eff)/N);}
01468     sectorEffW0->setBinContent(k,eff); sectorEffW0->setBinError(k,err);
01469     //std::cout<<N<<" "<<OcsectorEffW0->getBinContent(k)<<" "<<eff<<" "<<err<<std::endl;
01470 
01471     err=0; eff=0; N=ExsectorEffW1->getBinContent(k);
01472     if(N!=0.){ eff = OcsectorEffW1->getBinContent(k)/N;err=sqrt(eff*(1-eff)/N);}
01473     sectorEffW1->setBinContent(k,eff); sectorEffW1->setBinError(k,err);
01474     //std::cout<<N<<" "<<OcsectorEffW1->getBinContent(k)<<" "<<eff<<" "<<err<<std::endl;
01475 
01476     err=0; eff=0; N=ExsectorEffW2->getBinContent(k);
01477     if(N!=0.){ eff = OcsectorEffW2->getBinContent(k)/N;err=sqrt(eff*(1-eff)/N);}
01478     sectorEffW2->setBinContent(k,eff); sectorEffW2->setBinError(k,err);
01479     //std::cout<<N<<" "<<OcsectorEffW2->getBinContent(k)<<" "<<eff<<" "<<err<<std::endl;
01480   }
01481 
01482   //Ranges for Both
01483   //Barrel
01484 
01485   if(barrel){
01486     EffGlobWm2->setAxisRange(-4.,100.,2);
01487     EffGlobWm1->setAxisRange(-4.,100.,2);
01488     EffGlobW0->setAxisRange(-4.,100.,2);
01489     EffGlobW1->setAxisRange(-4.,100.,2);
01490     EffGlobW2->setAxisRange(-4.,100.,2);
01491   
01492 //    EffGlobWm2far->setAxisRange(-4.,100.,2);
01493 //    EffGlobWm1far->setAxisRange(-4.,100.,2);
01494 //    EffGlobW0far->setAxisRange(-4.,100.,2);
01495 //    EffGlobW1far->setAxisRange(-4.,100.,2);
01496 //    EffGlobW2far->setAxisRange(-4.,100.,2);
01497 
01498 //    AverageEffWm2->setAxisRange(-4.,100.,2);
01499 //    AverageEffWm1->setAxisRange(-4.,100.,2);
01500 //    AverageEffW0->setAxisRange(-4.,100.,2);
01501 //    AverageEffW1->setAxisRange(-4.,100.,2);
01502 //    AverageEffW2->setAxisRange(-4.,100.,2);
01503   
01504 //    AverageEffWm2far->setAxisRange(-4.,100.,2);
01505 //    AverageEffWm1far->setAxisRange(-4.,100.,2);
01506 //    AverageEffW0far->setAxisRange(-4.,100.,2);
01507 //    AverageEffW1far->setAxisRange(-4.,100.,2);
01508 //    AverageEffW2far->setAxisRange(-4.,100.,2);
01509 
01510 //    MaskedGlobWm2->setAxisRange(-4.,100.,2);
01511 //    MaskedGlobWm1->setAxisRange(-4.,100.,2);
01512 //    MaskedGlobW0->setAxisRange(-4.,100.,2);
01513 //    MaskedGlobW1->setAxisRange(-4.,100.,2);
01514 //    MaskedGlobW2->setAxisRange(-4.,100.,2);
01515   
01516 //    MaskedGlobWm2far->setAxisRange(-4.,100.,2);
01517 //    MaskedGlobWm1far->setAxisRange(-4.,100.,2);
01518 //    MaskedGlobW0far->setAxisRange(-4.,100.,2);
01519 //    MaskedGlobW1far->setAxisRange(-4.,100.,2);
01520 //    MaskedGlobW2far->setAxisRange(-4.,100.,2);
01521 
01522 //    NoPredictionWm2->setAxisRange(-4.,100.,2);
01523 //    NoPredictionWm1->setAxisRange(-4.,100.,2);
01524 //    NoPredictionW0->setAxisRange(-4.,100.,2);
01525 //    NoPredictionW1->setAxisRange(-4.,100.,2);
01526 //    NoPredictionW2->setAxisRange(-4.,100.,2);
01527   
01528 //    NoPredictionWm2far->setAxisRange(-4.,100.,2);
01529 //    NoPredictionWm1far->setAxisRange(-4.,100.,2);
01530 //    NoPredictionW0far->setAxisRange(-4.,100.,2);
01531 //    NoPredictionW1far->setAxisRange(-4.,100.,2);
01532 //    NoPredictionW2far->setAxisRange(-4.,100.,2);
01533   }
01534   //EndCap
01535 
01536   if(endcap){
01537     EffGlobDm3->setAxisRange(-4.,100.,2);
01538     EffGlobDm2->setAxisRange(-4.,100.,2);
01539     EffGlobDm1->setAxisRange(-4.,100.,2);
01540     EffGlobD1->setAxisRange(-4.,100.,2);
01541     EffGlobD2->setAxisRange(-4.,100.,2);
01542     EffGlobD3->setAxisRange(-4.,100.,2);
01543 
01544 //    EffGlobDm3far->setAxisRange(-4.,100.,2);
01545 //    EffGlobDm2far->setAxisRange(-4.,100.,2);
01546 //    EffGlobDm1far->setAxisRange(-4.,100.,2);
01547 //    EffGlobD1far->setAxisRange(-4.,100.,2);
01548 //    EffGlobD2far->setAxisRange(-4.,100.,2);
01549 //    EffGlobD3far->setAxisRange(-4.,100.,2);
01550 
01551 //     BXGlobDm3->setAxisRange(-4.,100.,2);
01552 //     BXGlobDm2->setAxisRange(-4.,100.,2);
01553 //     BXGlobDm1->setAxisRange(-4.,100.,2);
01554 //     BXGlobD1->setAxisRange(-4.,100.,2);
01555 //     BXGlobD2->setAxisRange(-4.,100.,2);
01556 //     BXGlobD3->setAxisRange(-4.,100.,2);
01557   
01558 //     BXGlobDm3far->setAxisRange(-4.,100.,2);
01559 //     BXGlobDm2far->setAxisRange(-4.,100.,2);
01560 //     BXGlobDm1far->setAxisRange(-4.,100.,2);
01561 //     BXGlobD1far->setAxisRange(-4.,100.,2);
01562 //     BXGlobD2far->setAxisRange(-4.,100.,2);
01563 //     BXGlobD3far->setAxisRange(-4.,100.,2);
01564 
01565 //    MaskedGlobDm3->setAxisRange(-4.,100.,2);
01566 //    MaskedGlobDm2->setAxisRange(-4.,100.,2);
01567 //    MaskedGlobDm1->setAxisRange(-4.,100.,2);
01568 //    MaskedGlobD1->setAxisRange(-4.,100.,2);
01569 //    MaskedGlobD2->setAxisRange(-4.,100.,2);
01570 //    MaskedGlobD3->setAxisRange(-4.,100.,2);
01571   
01572 //    MaskedGlobDm3far->setAxisRange(-4.,100.,2);
01573 //    MaskedGlobDm2far->setAxisRange(-4.,100.,2);
01574 //    MaskedGlobDm1far->setAxisRange(-4.,100.,2);
01575 //    MaskedGlobD1far->setAxisRange(-4.,100.,2);
01576 //    MaskedGlobD2far->setAxisRange(-4.,100.,2);
01577 //    MaskedGlobD3far->setAxisRange(-4.,100.,2);
01578 
01579 //    AverageEffDm3->setAxisRange(-4.,100.,2);
01580 //    AverageEffDm2->setAxisRange(-4.,100.,2);
01581 //    AverageEffDm1->setAxisRange(-4.,100.,2);
01582 //    AverageEffD1->setAxisRange(-4.,100.,2);
01583 //    AverageEffD2->setAxisRange(-4.,100.,2);
01584 //    AverageEffD3->setAxisRange(-4.,100.,2);
01585 
01586 //    AverageEffDm3far->setAxisRange(-4.,100.,2);
01587 //    AverageEffDm2far->setAxisRange(-4.,100.,2);
01588 //    AverageEffDm1far->setAxisRange(-4.,100.,2);
01589 //    AverageEffD1far->setAxisRange(-4.,100.,2);
01590 //    AverageEffD2far->setAxisRange(-4.,100.,2);
01591 //    AverageEffD3far->setAxisRange(-4.,100.,2);
01592 
01593 //    NoPredictionDm3->setAxisRange(-4.,100.,2);
01594 //    NoPredictionDm2->setAxisRange(-4.,100.,2);
01595 //    NoPredictionDm1->setAxisRange(-4.,100.,2);
01596 //    NoPredictionD1->setAxisRange(-4.,100.,2);
01597 //    NoPredictionD2->setAxisRange(-4.,100.,2);
01598 //    NoPredictionD3->setAxisRange(-4.,100.,2);
01599 
01600 //    NoPredictionDm3far->setAxisRange(-4.,100.,2);
01601 //    NoPredictionDm2far->setAxisRange(-4.,100.,2);
01602 //    NoPredictionDm1far->setAxisRange(-4.,100.,2);
01603 //    NoPredictionD1far->setAxisRange(-4.,100.,2);
01604 //    NoPredictionD2far->setAxisRange(-4.,100.,2);
01605 //    NoPredictionD3far->setAxisRange(-4.,100.,2);
01606   }
01607 
01608   //Title for Both
01609 
01610   //Barrel
01611   if(barrel){
01612     EffGlobWm2->setAxisTitle("%",2);
01613     EffGlobWm1->setAxisTitle("%",2);
01614     EffGlobW0->setAxisTitle("%",2);
01615     EffGlobW1->setAxisTitle("%",2);
01616     EffGlobW2->setAxisTitle("%",2);
01617   
01618 //    EffGlobWm2far->setAxisTitle("%",2);
01619 //    EffGlobWm1far->setAxisTitle("%",2);
01620 //    EffGlobW0far->setAxisTitle("%",2);
01621 //    EffGlobW1far->setAxisTitle("%",2);
01622 //    EffGlobW2far->setAxisTitle("%",2);
01623 
01624 //    AverageEffWm2->setAxisTitle("%",2);
01625 //    AverageEffWm1->setAxisTitle("%",2);
01626 //    AverageEffW0->setAxisTitle("%",2);
01627 //    AverageEffW1->setAxisTitle("%",2);
01628 //    AverageEffW2->setAxisTitle("%",2);
01629   
01630 //    AverageEffWm2far->setAxisTitle("%",2);
01631 //    AverageEffWm1far->setAxisTitle("%",2);
01632 //    AverageEffW0far->setAxisTitle("%",2);
01633 //    AverageEffW1far->setAxisTitle("%",2);
01634 //    AverageEffW2far->setAxisTitle("%",2);
01635 
01636 //    MaskedGlobWm2->setAxisTitle("%",2);
01637 //    MaskedGlobWm1->setAxisTitle("%",2);
01638 //    MaskedGlobW0->setAxisTitle("%",2);
01639 //    MaskedGlobW1->setAxisTitle("%",2);
01640 //    MaskedGlobW2->setAxisTitle("%",2);
01641   
01642 //    MaskedGlobWm2far->setAxisTitle("%",2);
01643 //    MaskedGlobWm1far->setAxisTitle("%",2);
01644 //    MaskedGlobW0far->setAxisTitle("%",2);
01645 //    MaskedGlobW1far->setAxisTitle("%",2);
01646 //    MaskedGlobW2far->setAxisTitle("%",2);
01647 
01648 //    NoPredictionWm2->setAxisTitle("%",2);
01649 //    NoPredictionWm1->setAxisTitle("%",2);
01650 //    NoPredictionW0->setAxisTitle("%",2);
01651 //    NoPredictionW1->setAxisTitle("%",2);
01652 //    NoPredictionW2->setAxisTitle("%",2);
01653   
01654 //    NoPredictionWm2far->setAxisTitle("%",2);
01655 //    NoPredictionWm1far->setAxisTitle("%",2);
01656 //    NoPredictionW0far->setAxisTitle("%",2);
01657 //    NoPredictionW1far->setAxisTitle("%",2);
01658 //    NoPredictionW2far->setAxisTitle("%",2);
01659   }
01660   //EndCap
01661 
01662   if(endcap){
01663     EffGlobDm3->setAxisTitle("%",2);
01664     EffGlobDm2->setAxisTitle("%",2);
01665     EffGlobDm1->setAxisTitle("%",2);
01666     EffGlobD1->setAxisTitle("%",2);
01667     EffGlobD2->setAxisTitle("%",2);
01668     EffGlobD3->setAxisTitle("%",2);
01669 
01670 //    EffGlobDm3far->setAxisTitle("%",2);
01671 //    EffGlobDm2far->setAxisTitle("%",2);
01672 //    EffGlobDm1far->setAxisTitle("%",2);
01673 //    EffGlobD1far->setAxisTitle("%",2);
01674 //    EffGlobD2far->setAxisTitle("%",2);
01675 //    EffGlobD3far->setAxisTitle("%",2);
01676 
01677 //     BXGlobDm3->setAxisTitle("%",2);
01678 //     BXGlobDm2->setAxisTitle("%",2);
01679 //     BXGlobDm1->setAxisTitle("%",2);
01680 //     BXGlobD1->setAxisTitle("%",2);
01681 //     BXGlobD2->setAxisTitle("%",2);
01682 //     BXGlobD3->setAxisTitle("%",2);
01683   
01684 //     BXGlobDm3far->setAxisTitle("%",2);
01685 //     BXGlobDm2far->setAxisTitle("%",2);
01686 //     BXGlobDm1far->setAxisTitle("%",2);
01687 //     BXGlobD1far->setAxisTitle("%",2);
01688 //     BXGlobD2far->setAxisTitle("%",2);
01689 //     BXGlobD3far->setAxisTitle("%",2);
01690 
01691 //    MaskedGlobDm3->setAxisTitle("%",2);
01692 //    MaskedGlobDm2->setAxisTitle("%",2);
01693 //    MaskedGlobDm1->setAxisTitle("%",2);
01694 //    MaskedGlobD1->setAxisTitle("%",2);
01695 //    MaskedGlobD2->setAxisTitle("%",2);
01696 //    MaskedGlobD3->setAxisTitle("%",2);
01697   
01698 //    MaskedGlobDm3far->setAxisTitle("%",2);
01699 //    MaskedGlobDm2far->setAxisTitle("%",2);
01700 //    MaskedGlobDm1far->setAxisTitle("%",2);
01701 //    MaskedGlobD1far->setAxisTitle("%",2);
01702 //    MaskedGlobD2far->setAxisTitle("%",2);
01703 //    MaskedGlobD3far->setAxisTitle("%",2);
01704 
01705 //    AverageEffDm3->setAxisTitle("%",2);
01706 //    AverageEffDm2->setAxisTitle("%",2);
01707 //    AverageEffDm1->setAxisTitle("%",2);
01708 //    AverageEffD1->setAxisTitle("%",2);
01709 //    AverageEffD2->setAxisTitle("%",2);
01710 //    AverageEffD3->setAxisTitle("%",2);
01711 
01712 //    AverageEffDm3far->setAxisTitle("%",2);
01713 //    AverageEffDm2far->setAxisTitle("%",2);
01714 //    AverageEffDm1far->setAxisTitle("%",2);
01715 //    AverageEffD1far->setAxisTitle("%",2);
01716 //    AverageEffD2far->setAxisTitle("%",2);
01717 //    AverageEffD3far->setAxisTitle("%",2);
01718 
01719 //    NoPredictionDm3->setAxisTitle("%",2);
01720 //    NoPredictionDm2->setAxisTitle("%",2);
01721 //    NoPredictionDm1->setAxisTitle("%",2);
01722 //    NoPredictionD1->setAxisTitle("%",2);
01723 //    NoPredictionD2->setAxisTitle("%",2);
01724 //    NoPredictionD3->setAxisTitle("%",2);
01725   
01726 //    NoPredictionDm3far->setAxisTitle("%",2);
01727 //    NoPredictionDm2far->setAxisTitle("%",2);
01728 //    NoPredictionDm1far->setAxisTitle("%",2);
01729 //    NoPredictionD1far->setAxisTitle("%",2);
01730 //    NoPredictionD2far->setAxisTitle("%",2);
01731 //    NoPredictionD3far->setAxisTitle("%",2);
01732   }
01733   
01734 
01735   if(SaveFile){
01736     std::cout<<"Saving RootFile"<<std::endl;
01737     dbe->save(NameFile);
01738   }
01739   
01740   if(debug) std::cout<<"RPCEFFICIENCY SECOND DONE"<<std::endl;
01741   
01742 }
01743 
01744 void RPCEfficiencySecond::endJob(){}
01745