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