00001 #include <iostream>
00002 #include <iomanip>
00003
00004
00005 #include "DQMOffline/EGamma/plugins/ZToMuMuGammaAnalyzer.h"
00006 #include "CommonTools/UtilAlgos/interface/DeltaR.h"
00007
00008
00020 using namespace std;
00021
00022
00023 ZToMuMuGammaAnalyzer::ZToMuMuGammaAnalyzer( const edm::ParameterSet& pset )
00024 {
00025
00026 fName_ = pset.getUntrackedParameter<string>("Name");
00027 verbosity_ = pset.getUntrackedParameter<int>("Verbosity");
00028 prescaleFactor_ = pset.getUntrackedParameter<int>("prescaleFactor",1);
00029 standAlone_ = pset.getParameter<bool>("standAlone");
00030 outputFileName_ = pset.getParameter<string>("OutputFileName");
00031 isHeavyIon_ = pset.getUntrackedParameter<bool>("isHeavyIon",false);
00032 triggerEvent_ = pset.getParameter<edm::InputTag>("triggerEvent");
00033 useTriggerFiltering_ = pset.getParameter<bool>("useTriggerFiltering");
00034 splitHistosEBEE_ = pset.getParameter<bool>("splitHistosEBEE");
00035 use2DHistos_ = pset.getParameter<bool>("use2DHistos");
00036
00037 photonProducer_ = pset.getParameter<string>("phoProducer");
00038 photonCollection_ = pset.getParameter<string>("photonCollection");
00039
00040 barrelRecHitProducer_ = pset.getParameter<string>("barrelRecHitProducer");
00041 barrelRecHitCollection_ = pset.getParameter<string>("barrelRecHitCollection");
00042
00043 endcapRecHitProducer_ = pset.getParameter<string>("endcapRecHitProducer");
00044 endcapRecHitCollection_ = pset.getParameter<string>("endcapRecHitCollection");
00045
00046 muonProducer_ = pset.getParameter<string>("muonProducer");
00047 muonCollection_ = pset.getParameter<string>("muonCollection");
00048
00049 muonMinPt_ = pset.getParameter<double>("muonMinPt");
00050 minPixStripHits_ = pset.getParameter<int>("minPixStripHits");
00051 muonMaxChi2_ = pset.getParameter<double>("muonMaxChi2");
00052 muonMaxDxy_ = pset.getParameter<double>("muonMaxDxy");
00053 muonMatches_ = pset.getParameter<int>("muonMatches");
00054 validPixHits_ = pset.getParameter<int>("validPixHits");
00055 validMuonHits_ = pset.getParameter<int>("validMuonHits");
00056 muonTrackIso_ = pset.getParameter<double>("muonTrackIso");
00057 muonTightEta_ = pset.getParameter<double>("muonTightEta");
00058
00059 minMumuInvMass_ = pset.getParameter<double>("minMumuInvMass");
00060 maxMumuInvMass_ = pset.getParameter<double>("maxMumuInvMass");
00061
00062 photonMinEt_ = pset.getParameter<double>("photonMinEt");
00063 photonMaxEta_ = pset.getParameter<double>("photonMaxEta");
00064 photonTrackIso_ = pset.getParameter<double>("photonTrackIso");
00065
00066 nearMuonDr_ = pset.getParameter<double>("nearMuonDr");
00067 nearMuonHcalIso_ = pset.getParameter<double>("nearMuonHcalIso");
00068 farMuonEcalIso_ = pset.getParameter<double>("farMuonEcalIso");
00069 farMuonTrackIso_ = pset.getParameter<double>("farMuonTrackIso");
00070 farMuonMinPt_ = pset.getParameter<double>("farMuonMinPt");
00071 minMumuGammaInvMass_ = pset.getParameter<double>("minMumuGammaInvMass");
00072 maxMumuGammaInvMass_ = pset.getParameter<double>("maxMumuGammaInvMass");
00073
00074 parameters_ = pset;
00075
00076 }
00077
00078 ZToMuMuGammaAnalyzer::~ZToMuMuGammaAnalyzer() {}
00079
00080 void ZToMuMuGammaAnalyzer::beginJob()
00081 {
00082 nEvt_=0;
00083 nEntry_=0;
00084
00085 dbe_ = 0;
00086 dbe_ = edm::Service<DQMStore>().operator->();
00087
00088 double eMin = parameters_.getParameter<double>("eMin");
00089 double eMax = parameters_.getParameter<double>("eMax");
00090 int eBin = parameters_.getParameter<int>("eBin");
00091
00092 double etMin = parameters_.getParameter<double>("etMin");
00093 double etMax = parameters_.getParameter<double>("etMax");
00094 int etBin = parameters_.getParameter<int>("etBin");
00095
00096 double sumMin = parameters_.getParameter<double>("sumMin");
00097 double sumMax = parameters_.getParameter<double>("sumMax");
00098 int sumBin = parameters_.getParameter<int>("sumBin");
00099
00100 double etaMin = parameters_.getParameter<double>("etaMin");
00101 double etaMax = parameters_.getParameter<double>("etaMax");
00102 int etaBin = parameters_.getParameter<int>("etaBin");
00103
00104 double phiMin = parameters_.getParameter<double>("phiMin");
00105 double phiMax = parameters_.getParameter<double>("phiMax");
00106 int phiBin = parameters_.getParameter<int>("phiBin");
00107
00108 double r9Min = parameters_.getParameter<double>("r9Min");
00109 double r9Max = parameters_.getParameter<double>("r9Max");
00110 int r9Bin = parameters_.getParameter<int>("r9Bin");
00111
00112 double hOverEMin = parameters_.getParameter<double>("hOverEMin");
00113 double hOverEMax = parameters_.getParameter<double>("hOverEMax");
00114 int hOverEBin = parameters_.getParameter<int>("hOverEBin");
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124 double numberMin = parameters_.getParameter<double>("numberMin");
00125 double numberMax = parameters_.getParameter<double>("numberMax");
00126 int numberBin = parameters_.getParameter<int>("numberBin");
00127
00128
00129
00130
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144 double sigmaIetaMin = parameters_.getParameter<double>("sigmaIetaMin");
00145 double sigmaIetaMax = parameters_.getParameter<double>("sigmaIetaMax");
00146 int sigmaIetaBin = parameters_.getParameter<int>("sigmaIetaBin");
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157 int reducedEtBin = etBin/4;
00158 int reducedEtaBin = etaBin/4;
00159 int reducedSumBin = sumBin/4;
00160 int reducedR9Bin = r9Bin/4;
00161
00163
00164 if (dbe_) {
00165
00166
00167 dbe_->setCurrentFolder("Egamma/PhotonAnalyzer/ZToMuMuGamma");
00168
00169 h1_mumuInvMass_ = dbe_->book1D("mumuInvMass","Two muon invariant mass: M (GeV)",etBin,etMin,etMax);
00170 h1_mumuGammaInvMass_ = dbe_->book1D("mumuGammaInvMass","Two-muon plus gamma invariant mass: M (GeV)",etBin,etMin,etMax);
00171
00173
00175
00176
00177 h_phoE_ = dbe_->book1D("phoE","Energy;E (GeV)",eBin,eMin,eMax);
00178 h_phoEt_ = dbe_->book1D("phoEt","E_{T};E_{T} (GeV)", etBin,etMin,etMax);
00179
00180
00181 h_nPho_ = dbe_->book1D("nPho", "Number of Photons per Event;# #gamma", numberBin,numberMin,numberMax);
00182
00183
00184 h_phoEta_ = dbe_->book1D("phoEta", "#eta;#eta",etaBin,etaMin,etaMax);
00185 h_phoPhi_ = dbe_->book1D("phoPhi", "#phi;#phi",phiBin,phiMin,phiMax);
00186
00187 h_scEta_ = dbe_->book1D("scEta", "SuperCluster #eta;#eta",etaBin,etaMin,etaMax);
00188 h_scPhi_ = dbe_->book1D("scPhi", "SuperCluster #phi;#phi",phiBin,phiMin,phiMax);
00189
00190
00191
00192 h_r9_ = dbe_->book1D("r9","R9;R9",r9Bin,r9Min, r9Max);
00193
00194
00195 h_phoSigmaIetaIeta_ = dbe_->book1D("phoSigmaIetaIeta","#sigma_{i#etai#eta};#sigma_{i#etai#eta}",sigmaIetaBin,sigmaIetaMin,sigmaIetaMax);
00196
00197
00198
00199
00200 h_nTrackIsolSolid_ = dbe_->book1D("nIsoTracksSolid","Number Of Tracks in the Solid Iso Cone;# tracks",numberBin,numberMin,numberMax);
00201
00202
00203 h_nTrackIsolHollow_ = dbe_->book1D("nIsoTracksHollow","Number Of Tracks in the Hollow Iso Cone;# tracks",numberBin,numberMin,numberMax);
00204
00205
00206 h_trackPtSumSolid_ = dbe_->book1D("isoPtSumSolid","Track P_{T} Sum in the Solid Iso Cone;P_{T} (GeV)",sumBin,sumMin,sumMax);
00207
00208
00209 h_trackPtSumHollow_ = dbe_->book1D("isoPtSumHollow","Track P_{T} Sum in the Hollow Iso Cone;P_{T} (GeV)",sumBin,sumMin,sumMax);
00210
00211
00212
00213
00214 h_ecalSum_ = dbe_->book1D("ecalSum","Ecal Sum in the Iso Cone;E (GeV)",sumBin,sumMin,sumMax);
00215
00216
00217 h_hcalSum_ = dbe_->book1D("hcalSum","Hcal Sum in the Iso Cone;E (GeV)",sumBin,sumMin,sumMax);
00218
00219
00220 h_hOverE_ = dbe_->book1D("hOverE","H/E;H/E",hOverEBin,hOverEMin,hOverEMax);
00221 h_h1OverE_ = dbe_->book1D("h1OverE","H/E for Depth 1;H/E",hOverEBin,hOverEMin,hOverEMax);
00222 h_h2OverE_ = dbe_->book1D("h2OverE","H/E for Depth 2;H/E",hOverEBin,hOverEMin,hOverEMax);
00223
00224
00226
00227 if(use2DHistos_){
00228
00229
00230
00231 h_r9VsEt_ = dbe_->book2D("r9VsEt2D","R9 vs E_{T};E_{T} (GeV);R9",reducedEtBin,etMin,etMax,reducedR9Bin,r9Min,r9Max);
00232 p_r9VsEt_ = dbe_->bookProfile("r9VsEt","Avg R9 vs E_{T};E_{T} (GeV);R9",etBin,etMin,etMax,r9Bin,r9Min,r9Max);
00233 h_r9VsEta_ = dbe_->book2D("r9VsEta2D","R9 vs #eta;#eta;R9",reducedEtaBin,etaMin,etaMax,reducedR9Bin,r9Min,r9Max);
00234 p_r9VsEta_ = dbe_->bookProfile("r9VsEta","Avg R9 vs #eta;#eta;R9",etaBin,etaMin,etaMax,r9Bin,r9Min,r9Max);
00235
00236
00237 h_sigmaIetaIetaVsEta_ = dbe_->book2D("sigmaIetaIetaVsEta2D","#sigma_{i#etai#eta} vs #eta;#eta;#sigma_{i#etai#eta}",reducedEtaBin,etaMin,etaMax,sigmaIetaBin,sigmaIetaMin,sigmaIetaMax);
00238 p_sigmaIetaIetaVsEta_ = dbe_->bookProfile("sigmaIetaIetaVsEta","Avg #sigma_{i#etai#eta} vs #eta;#eta;#sigma_{i#etai#eta}",etaBin,etaMin,etaMax,sigmaIetaBin,sigmaIetaMin,sigmaIetaMax);
00239
00240
00241 h_e1x5VsEt_ = dbe_->book2D("e1x5VsEt2D","E1x5 vs E_{T};E_{T} (GeV);E1X5 (GeV)",reducedEtBin,etMin,etMax,reducedEtBin,etMin,etMax);
00242 p_e1x5VsEt_ = dbe_->bookProfile("e1x5VsEt","Avg E1x5 vs E_{T};E_{T} (GeV);E1X5 (GeV)",etBin,etMin,etMax,etBin,etMin,etMax);
00243 h_e1x5VsEta_ = dbe_->book2D("e1x5VsEta2D","E1x5 vs #eta;#eta;E1X5 (GeV)",reducedEtaBin,etaMin,etaMax,reducedEtBin,etMin,etMax);
00244 p_e1x5VsEta_ = dbe_->bookProfile("e1x5VsEta","Avg E1x5 vs #eta;#eta;E1X5 (GeV)",etaBin,etaMin,etaMax,etBin,etMin,etMax);
00245
00246
00247 h_e2x5VsEt_ = dbe_->book2D("e2x5VsEt2D","E2x5 vs E_{T};E_{T} (GeV);E2X5 (GeV)",reducedEtBin,etMin,etMax,reducedEtBin,etMin,etMax);
00248 p_e2x5VsEt_ = dbe_->bookProfile("e2x5VsEt","Avg E2x5 vs E_{T};E_{T} (GeV);E2X5 (GeV)",etBin,etMin,etMax,etBin,etMin,etMax);
00249 h_e2x5VsEta_ = dbe_->book2D("e2x5VsEta2D","E2x5 vs #eta;#eta;E2X5 (GeV)",reducedEtaBin,etaMin,etaMax,reducedEtBin,etMin,etMax);
00250 p_e2x5VsEta_ = dbe_->bookProfile("e2x5VsEta","Avg E2x5 vs #eta;#eta;E2X5 (GeV)",etaBin,etaMin,etaMax,etBin,etMin,etMax);
00251
00252
00253 h_r1x5VsEt_ = dbe_->book2D("r1x5VsEt2D","R1x5 vs E_{T};E_{T} (GeV);R1X5",reducedEtBin,etMin,etMax,reducedR9Bin,r9Min,r9Max);
00254 p_r1x5VsEt_ = dbe_->bookProfile("r1x5VsEt","Avg R1x5 vs E_{T};E_{T} (GeV);R1X5",etBin,etMin,etMax,r9Bin,r9Min,r9Max);
00255 h_r1x5VsEta_ = dbe_->book2D("r1x5VsEta2D","R1x5 vs #eta;#eta;R1X5",reducedEtaBin,etaMin,etaMax,reducedR9Bin,r9Min,r9Max);
00256 p_r1x5VsEta_ = dbe_->bookProfile("r1x5VsEta","Avg R1x5 vs #eta;#eta;R1X5",etaBin,etaMin,etaMax,r9Bin,r9Min,r9Max);
00257
00258
00259 h_r2x5VsEt_ = dbe_->book2D("r2x5VsEt2D","R2x5 vs E_{T};E_{T} (GeV);R2X5",reducedEtBin,etMin,etMax,reducedR9Bin,r9Min,r9Max);
00260 p_r2x5VsEt_ = dbe_->bookProfile("r2x5VsEt","Avg R2x5 vs E_{T};E_{T} (GeV);R2X5",etBin,etMin,etMax,r9Bin,r9Min,r9Max);
00261 h_r2x5VsEta_ = dbe_->book2D("r2x5VsEta2D","R2x5 vs #eta;#eta;R2X5",reducedEtaBin,etaMin,etaMax,reducedR9Bin,r9Min,r9Max);
00262 p_r2x5VsEta_ = dbe_->bookProfile("r2x5VsEta","Avg R2x5 vs #eta;#eta;R2X5",etaBin,etaMin,etaMax,r9Bin,r9Min,r9Max);
00263
00264
00265 h_maxEXtalOver3x3VsEt_ = dbe_->book2D("maxEXtalOver3x3VsEt2D","(Max Xtal E)/E3x3 vs E_{T};E_{T} (GeV);(Max Xtal E)/E3x3",reducedEtBin,etMin,etMax,r9Bin,r9Min,r9Max);
00266 p_maxEXtalOver3x3VsEt_ = dbe_->bookProfile("maxEXtalOver3x3VsEt","Avg (Max Xtal E)/E3x3 vs E_{T};E_{T} (GeV);(Max Xtal E)/E3x3",etBin,etMin,etMax,r9Bin,r9Min,r9Max);
00267 h_maxEXtalOver3x3VsEta_ = dbe_->book2D("maxEXtalOver3x3VsEta2D","(Max Xtal E)/E3x3 vs #eta;#eta;(Max Xtal E)/E3x3",reducedEtaBin,etaMin,etaMax,r9Bin,r9Min,r9Max);
00268 p_maxEXtalOver3x3VsEta_ = dbe_->bookProfile("maxEXtalOver3x3VsEta","Avg (Max Xtal E)/E3x3 vs #eta;#eta;(Max Xtal E)/E3x3",etaBin,etaMin,etaMax,r9Bin,r9Min,r9Max);
00269
00270
00271
00272
00273 h_nTrackIsolSolidVsEt_ = dbe_->book2D("nIsoTracksSolidVsEt2D","Number Of Tracks in the Solid Iso Cone vs E_{T};E_{T};# tracks",reducedEtBin,etMin, etMax,numberBin,numberMin,numberMax);
00274 p_nTrackIsolSolidVsEt_ = dbe_->bookProfile("nIsoTracksSolidVsEt","Avg Number Of Tracks in the Solid Iso Cone vs E_{T};E_{T};# tracks",etBin,etMin,etMax,numberBin,numberMin,numberMax);
00275 h_nTrackIsolSolidVsEta_ = dbe_->book2D("nIsoTracksSolidVsEta2D","Number Of Tracks in the Solid Iso Cone vs #eta;#eta;# tracks",reducedEtaBin,etaMin, etaMax,numberBin,numberMin,numberMax);
00276 p_nTrackIsolSolidVsEta_ = dbe_->bookProfile("nIsoTracksSolidVsEta","Avg Number Of Tracks in the Solid Iso Cone vs #eta;#eta;# tracks",etaBin,etaMin, etaMax,numberBin,numberMin,numberMax);
00277
00278
00279 h_nTrackIsolHollowVsEt_ = dbe_->book2D("nIsoTracksHollowVsEt2D","Number Of Tracks in the Hollow Iso Cone vs E_{T};E_{T};# tracks",reducedEtBin,etMin, etMax,numberBin,numberMin,numberMax);
00280 p_nTrackIsolHollowVsEt_ = dbe_->bookProfile("nIsoTracksHollowVsEt","Avg Number Of Tracks in the Hollow Iso Cone vs E_{T};E_{T};# tracks",etBin,etMin,etMax,numberBin,numberMin,numberMax);
00281 h_nTrackIsolHollowVsEta_ = dbe_->book2D("nIsoTracksHollowVsEta2D","Number Of Tracks in the Hollow Iso Cone vs #eta;#eta;# tracks",reducedEtaBin,etaMin, etaMax,numberBin,numberMin,numberMax);
00282 p_nTrackIsolHollowVsEta_ = dbe_->bookProfile("nIsoTracksHollowVsEta","Avg Number Of Tracks in the Hollow Iso Cone vs #eta;#eta;# tracks",etaBin,etaMin, etaMax,numberBin,numberMin,numberMax);
00283
00284
00285 h_trackPtSumSolidVsEt_ = dbe_->book2D("isoPtSumSolidVsEt2D","Track P_{T} Sum in the Solid Iso Cone;E_{T} (GeV);P_{T} (GeV)",reducedEtBin,etMin, etMax,reducedSumBin,sumMin,sumMax);
00286 p_trackPtSumSolidVsEt_ = dbe_->bookProfile("isoPtSumSolidVsEt","Avg Track P_{T} Sum in the Solid Iso Cone vs E_{T};E_{T} (GeV);P_{T} (GeV)",etBin,etMin,etMax,sumBin,sumMin,sumMax);
00287 h_trackPtSumSolidVsEta_ = dbe_->book2D("isoPtSumSolidVsEta2D","Track P_{T} Sum in the Solid Iso Cone;#eta;P_{T} (GeV)",reducedEtaBin,etaMin, etaMax,reducedSumBin,sumMin,sumMax);
00288 p_trackPtSumSolidVsEta_ = dbe_->bookProfile("isoPtSumSolidVsEta","Avg Track P_{T} Sum in the Solid Iso Cone vs #eta;#eta;P_{T} (GeV)",etaBin,etaMin, etaMax,sumBin,sumMin,sumMax);
00289
00290
00291 h_trackPtSumHollowVsEt_ = dbe_->book2D("isoPtSumHollowVsEt2D","Track P_{T} Sum in the Hollow Iso Cone;E_{T} (GeV);P_{T} (GeV)",reducedEtBin,etMin, etMax,reducedSumBin,sumMin,sumMax);
00292 p_trackPtSumHollowVsEt_ = dbe_->bookProfile("isoPtSumHollowVsEt","Avg Track P_{T} Sum in the Hollow Iso Cone vs E_{T};E_{T} (GeV);P_{T} (GeV)",etBin,etMin,etMax,sumBin,sumMin,sumMax);
00293 h_trackPtSumHollowVsEta_ = dbe_->book2D("isoPtSumHollowVsEta2D","Track P_{T} Sum in the Hollow Iso Cone;#eta;P_{T} (GeV)",reducedEtaBin,etaMin, etaMax,reducedSumBin,sumMin,sumMax);
00294 p_trackPtSumHollowVsEta_ = dbe_->bookProfile("isoPtSumHollowVsEta","Avg Track P_{T} Sum in the Hollow Iso Cone vs #eta;#eta;P_{T} (GeV)",etaBin,etaMin, etaMax,sumBin,sumMin,sumMax);
00295
00296
00297
00298
00299 h_ecalSumVsEt_ = dbe_->book2D("ecalSumVsEt2D","Ecal Sum in the Iso Cone;E_{T} (GeV);E (GeV)",reducedEtBin,etMin, etMax,reducedSumBin,sumMin,sumMax);
00300 p_ecalSumVsEt_ = dbe_->bookProfile("ecalSumVsEt","Avg Ecal Sum in the Iso Cone vs E_{T};E_{T} (GeV);E (GeV)",etBin,etMin, etMax,sumBin,sumMin,sumMax);
00301 h_ecalSumVsEta_ = dbe_->book2D("ecalSumVsEta2D","Ecal Sum in the Iso Cone;#eta;E (GeV)",reducedEtaBin,etaMin, etaMax,reducedSumBin,sumMin,sumMax);
00302 p_ecalSumVsEta_ = dbe_->bookProfile("ecalSumVsEta","Avg Ecal Sum in the Iso Cone vs #eta;#eta;E (GeV)",etaBin,etaMin, etaMax,sumBin,sumMin,sumMax);
00303
00304
00305 h_hcalSumVsEt_ = dbe_->book2D("hcalSumVsEt2D","Hcal Sum in the Iso Cone;E_{T} (GeV);E (GeV)",reducedEtBin,etMin, etMax,reducedSumBin,sumMin,sumMax);
00306 p_hcalSumVsEt_ = dbe_->bookProfile("hcalSumVsEt","Avg Hcal Sum in the Iso Cone vs E_{T};E_{T} (GeV);E (GeV)",etBin,etMin, etMax,sumBin,sumMin,sumMax);
00307 h_hcalSumVsEta_ = dbe_->book2D("hcalSumVsEta2D","Hcal Sum in the Iso Cone;#eta;E (GeV)",reducedEtaBin,etaMin, etaMax,reducedSumBin,sumMin,sumMax);
00308 p_hcalSumVsEta_ = dbe_->bookProfile("hcalSumVsEta","Avg Hcal Sum in the Iso Cone vs #eta;#eta;E (GeV)",etaBin,etaMin, etaMax,sumBin,sumMin,sumMax);
00309
00310
00311 p_hOverEVsEt_ = dbe_->bookProfile("hOverEVsEt","Avg H/E vs Et;E_{T} (GeV);H/E",etBin,etMin,etMax,hOverEBin,hOverEMin,hOverEMax);
00312 p_hOverEVsEta_ = dbe_->bookProfile("hOverEVsEta","Avg H/E vs #eta;#eta;H/E",etaBin,etaMin,etaMax,hOverEBin,hOverEMin,hOverEMax);
00313
00314 }
00315
00317
00318 if(splitHistosEBEE_){
00319
00320
00321 h_phoEBarrel_ = dbe_->book1D("phoEBarrel","Energy for Barrel;E (GeV)",eBin,eMin,eMax);
00322 h_phoEtBarrel_ = dbe_->book1D("phoEtBarrel","E_{T};E_{T} (GeV)", etBin,etMin,etMax);
00323
00324
00325 h_nPhoBarrel_ = dbe_->book1D("nPhoBarrel","Number of Photons per Event;# #gamma", numberBin,numberMin,numberMax);
00326
00327
00328 h_phoEtaBarrel_ = dbe_->book1D("phoEtaBarrel","#eta;#eta",etaBin,etaMin,etaMax);
00329 h_phoPhiBarrel_ = dbe_->book1D("phoPhiBarrel","#phi;#phi",phiBin,phiMin,phiMax);
00330
00331 h_scEtaBarrel_ = dbe_->book1D("scEtaBarrel","SuperCluster #eta;#eta",etaBin,etaMin,etaMax);
00332 h_scPhiBarrel_ = dbe_->book1D("scPhiBarrel","SuperCluster #phi;#phi",phiBin,phiMin,phiMax);
00333
00334
00335
00336 h_r9Barrel_ = dbe_->book1D("r9Barrel","R9;R9",r9Bin,r9Min, r9Max);
00337 h_r9VsEtBarrel_ = dbe_->book2D("r9VsEt2DBarrel","R9 vs E_{T};E_{T} (GeV);R9",reducedEtBin,etMin,etMax,reducedR9Bin,r9Min,r9Max);
00338 p_r9VsEtBarrel_ = dbe_->bookProfile("r9VsEtBarrel","Avg R9 vs E_{T};E_{T} (GeV);R9",etBin,etMin,etMax,r9Bin,r9Min,r9Max);
00339 h_r9VsEtaBarrel_ = dbe_->book2D("r9VsEta2DBarrel","R9 vs #eta;#eta;R9",reducedEtaBin,etaMin,etaMax,reducedR9Bin,r9Min,r9Max);
00340 p_r9VsEtaBarrel_ = dbe_->bookProfile("r9VsEtaBarrel","Avg R9 vs #eta;#eta;R9",etaBin,etaMin,etaMax,r9Bin,r9Min,r9Max);
00341
00342
00343 h_phoSigmaIetaIetaBarrel_ = dbe_->book1D("phoSigmaIetaIetaBarrel","#sigma_{i#etai#eta};#sigma_{i#etai#eta}",sigmaIetaBin,sigmaIetaMin,sigmaIetaMax);
00344 h_sigmaIetaIetaVsEtaBarrel_ = dbe_->book2D("sigmaIetaIetaVsEta2DBarrel","#sigma_{i#etai#eta} vs #eta;#eta;#sigma_{i#etai#eta}",reducedEtaBin,etaMin,etaMax,sigmaIetaBin,sigmaIetaMin,sigmaIetaMax);
00345 p_sigmaIetaIetaVsEtaBarrel_ = dbe_->bookProfile("sigmaIetaIetaVsEtaBarrel","Avg #sigma_{i#etai#eta} vs #eta;#eta;#sigma_{i#etai#eta}",etaBin,etaMin,etaMax,sigmaIetaBin,sigmaIetaMin,sigmaIetaMax);
00346
00347
00348 h_e1x5VsEtBarrel_ = dbe_->book2D("e1x5VsEt2DBarrel","E1x5 vs E_{T};E_{T} (GeV);E1X5 (GeV)",reducedEtBin,etMin,etMax,reducedEtBin,etMin,etMax);
00349 p_e1x5VsEtBarrel_ = dbe_->bookProfile("e1x5VsEtBarrel","Avg E1x5 vs E_{T};E_{T} (GeV);E1X5 (GeV)",etBin,etMin,etMax,etBin,etMin,etMax);
00350 h_e1x5VsEtaBarrel_ = dbe_->book2D("e1x5VsEta2DBarrel","E1x5 vs #eta;#eta;E1X5 (GeV)",reducedEtaBin,etaMin,etaMax,reducedEtBin,etMin,etMax);
00351 p_e1x5VsEtaBarrel_ = dbe_->bookProfile("e1x5VsEtaBarrel","Avg E1x5 vs #eta;#eta;E1X5 (GeV)",etaBin,etaMin,etaMax,etBin,etMin,etMax);
00352
00353
00354 h_e2x5VsEtBarrel_ = dbe_->book2D("e2x5VsEt2DBarrel","E2x5 vs E_{T};E_{T} (GeV);E2X5 (GeV)",reducedEtBin,etMin,etMax,reducedEtBin,etMin,etMax);
00355 p_e2x5VsEtBarrel_ = dbe_->bookProfile("e2x5VsEtBarrel","Avg E2x5 vs E_{T};E_{T} (GeV);E2X5 (GeV)",etBin,etMin,etMax,etBin,etMin,etMax);
00356 h_e2x5VsEtaBarrel_ = dbe_->book2D("e2x5VsEta2DBarrel","E2x5 vs #eta;#eta;E2X5 (GeV)",reducedEtaBin,etaMin,etaMax,reducedEtBin,etMin,etMax);
00357 p_e2x5VsEtaBarrel_ = dbe_->bookProfile("e2x5VsEtaBarrel","Avg E2x5 vs #eta;#eta;E2X5 (GeV)",etaBin,etaMin,etaMax,etBin,etMin,etMax);
00358
00359
00360 h_r1x5VsEtBarrel_ = dbe_->book2D("r1x5VsEt2DBarrel","R1x5 vs E_{T};E_{T} (GeV);R1X5",reducedEtBin,etMin,etMax,reducedR9Bin,r9Min,r9Max);
00361 p_r1x5VsEtBarrel_ = dbe_->bookProfile("r1x5VsEtBarrel","Avg R1x5 vs E_{T};E_{T} (GeV);R1X5",etBin,etMin,etMax,r9Bin,r9Min,r9Max);
00362 h_r1x5VsEtaBarrel_ = dbe_->book2D("r1x5VsEta2DBarrel","R1x5 vs #eta;#eta;R1X5",reducedEtaBin,etaMin,etaMax,reducedR9Bin,r9Min,r9Max);
00363 p_r1x5VsEtaBarrel_ = dbe_->bookProfile("r1x5VsEtaBarrel","Avg R1x5 vs #eta;#eta;R1X5",etaBin,etaMin,etaMax,r9Bin,r9Min,r9Max);
00364
00365
00366 h_r2x5VsEtBarrel_ = dbe_->book2D("r2x5VsEt2DBarrel","R2x5 vs E_{T};E_{T} (GeV);R2X5",reducedEtBin,etMin,etMax,reducedR9Bin,r9Min,r9Max);
00367 p_r2x5VsEtBarrel_ = dbe_->bookProfile("r2x5VsEtBarrel","Avg R2x5 vs E_{T};E_{T} (GeV);R2X5",etBin,etMin,etMax,r9Bin,r9Min,r9Max);
00368 h_r2x5VsEtaBarrel_ = dbe_->book2D("r2x5VsEta2DBarrel","R2x5 vs #eta;#eta;R2X5",reducedEtaBin,etaMin,etaMax,reducedR9Bin,r9Min,r9Max);
00369 p_r2x5VsEtaBarrel_ = dbe_->bookProfile("r2x5VsEtaBarrel","Avg R2x5 vs #eta;#eta;R2X5",etaBin,etaMin,etaMax,r9Bin,r9Min,r9Max);
00370
00371
00372 h_maxEXtalOver3x3VsEtBarrel_ = dbe_->book2D("maxEXtalOver3x3VsEt2DBarrel","(Max Xtal E)/E3x3 vs E_{T};E_{T} (GeV);(Max Xtal E)/E3x3",reducedEtBin,etMin,etMax,r9Bin,r9Min,r9Max);
00373 p_maxEXtalOver3x3VsEtBarrel_ = dbe_->bookProfile("maxEXtalOver3x3VsEtBarrel","Avg (Max Xtal E)/E3x3 vs E_{T};E_{T} (GeV);(Max Xtal E)/E3x3",etBin,etMin,etMax,r9Bin,r9Min,r9Max);
00374 h_maxEXtalOver3x3VsEtaBarrel_ = dbe_->book2D("maxEXtalOver3x3VsEta2DBarrel","(Max Xtal E)/E3x3 vs #eta;#eta;(Max Xtal E)/E3x3",reducedEtaBin,etaMin,etaMax,r9Bin,r9Min,r9Max);
00375 p_maxEXtalOver3x3VsEtaBarrel_ = dbe_->bookProfile("maxEXtalOver3x3VsEtaBarrel","Avg (Max Xtal E)/E3x3 vs #eta;#eta;(Max Xtal E)/E3x3",etaBin,etaMin,etaMax,r9Bin,r9Min,r9Max);
00376
00377
00378
00379
00380 h_nTrackIsolSolidBarrel_ = dbe_->book1D("nIsoTracksSolidBarrel","Number Of Tracks in the Solid Iso Cone;# tracks",numberBin,numberMin,numberMax);
00381 h_nTrackIsolSolidVsEtBarrel_ = dbe_->book2D("nIsoTracksSolidVsEt2DBarrel","Number Of Tracks in the Solid Iso Cone vs E_{T};E_{T};# tracks",reducedEtBin,etMin, etMax,numberBin,numberMin,numberMax);
00382 p_nTrackIsolSolidVsEtBarrel_ = dbe_->bookProfile("nIsoTracksSolidVsEtBarrel","Avg Number Of Tracks in the Solid Iso Cone vs E_{T};E_{T};# tracks",etBin,etMin,etMax,numberBin,numberMin,numberMax);
00383 h_nTrackIsolSolidVsEtaBarrel_ = dbe_->book2D("nIsoTracksSolidVsEta2DBarrel","Number Of Tracks in the Solid Iso Cone vs #eta;#eta;# tracks",reducedEtaBin,etaMin, etaMax,numberBin,numberMin,numberMax);
00384 p_nTrackIsolSolidVsEtaBarrel_ = dbe_->bookProfile("nIsoTracksSolidVsEtaBarrel","Avg Number Of Tracks in the Solid Iso Cone vs #eta;#eta;# tracks",etaBin,etaMin, etaMax,numberBin,numberMin,numberMax);
00385
00386
00387 h_nTrackIsolHollowBarrel_ = dbe_->book1D("nIsoTracksHollowBarrel","Number Of Tracks in the Hollow Iso Cone;# tracks",numberBin,numberMin,numberMax);
00388 h_nTrackIsolHollowVsEtBarrel_ = dbe_->book2D("nIsoTracksHollowVsEt2DBarrel","Number Of Tracks in the Hollow Iso Cone vs E_{T};E_{T};# tracks",reducedEtBin,etMin, etMax,numberBin,numberMin,numberMax);
00389 p_nTrackIsolHollowVsEtBarrel_ = dbe_->bookProfile("nIsoTracksHollowVsEtBarrel","Avg Number Of Tracks in the Hollow Iso Cone vs E_{T};E_{T};# tracks",etBin,etMin,etMax,numberBin,numberMin,numberMax);
00390 h_nTrackIsolHollowVsEtaBarrel_ = dbe_->book2D("nIsoTracksHollowVsEta2DBarrel","Number Of Tracks in the Hollow Iso Cone vs #eta;#eta;# tracks",reducedEtaBin,etaMin, etaMax,numberBin,numberMin,numberMax);
00391 p_nTrackIsolHollowVsEtaBarrel_ = dbe_->bookProfile("nIsoTracksHollowVsEtaBarrel","Avg Number Of Tracks in the Hollow Iso Cone vs #eta;#eta;# tracks",etaBin,etaMin, etaMax,numberBin,numberMin,numberMax);
00392
00393
00394 h_trackPtSumSolidBarrel_ = dbe_->book1D("isoPtSumSolidBarrel","Track P_{T} Sum in the Solid Iso Cone;P_{T} (GeV)",sumBin,sumMin,sumMax);
00395 h_trackPtSumSolidVsEtBarrel_ = dbe_->book2D("isoPtSumSolidVsEt2DBarrel","Track P_{T} Sum in the Solid Iso Cone;E_{T} (GeV);P_{T} (GeV)",reducedEtBin,etMin, etMax,reducedSumBin,sumMin,sumMax);
00396 p_trackPtSumSolidVsEtBarrel_ = dbe_->bookProfile("isoPtSumSolidVsEtBarrel","Avg Track P_{T} Sum in the Solid Iso Cone vs E_{T};E_{T} (GeV);P_{T} (GeV)",etBin,etMin,etMax,sumBin,sumMin,sumMax);
00397 h_trackPtSumSolidVsEtaBarrel_ = dbe_->book2D("isoPtSumSolidVsEta2DBarrel","Track P_{T} Sum in the Solid Iso Cone;#eta;P_{T} (GeV)",reducedEtaBin,etaMin, etaMax,reducedSumBin,sumMin,sumMax);
00398 p_trackPtSumSolidVsEtaBarrel_ = dbe_->bookProfile("isoPtSumSolidVsEtaBarrel","Avg Track P_{T} Sum in the Solid Iso Cone vs #eta;#eta;P_{T} (GeV)",etaBin,etaMin, etaMax,sumBin,sumMin,sumMax);
00399
00400
00401 h_trackPtSumHollowBarrel_ = dbe_->book1D("isoPtSumHollowBarrel","Track P_{T} Sum in the Hollow Iso Cone;P_{T} (GeV)",sumBin,sumMin,sumMax);
00402 h_trackPtSumHollowVsEtBarrel_ = dbe_->book2D("isoPtSumHollowVsEt2DBarrel","Track P_{T} Sum in the Hollow Iso Cone;E_{T} (GeV);P_{T} (GeV)",reducedEtBin,etMin, etMax,reducedSumBin,sumMin,sumMax);
00403 p_trackPtSumHollowVsEtBarrel_ = dbe_->bookProfile("isoPtSumHollowVsEtBarrel","Avg Track P_{T} Sum in the Hollow Iso Cone vs E_{T};E_{T} (GeV);P_{T} (GeV)",etBin,etMin,etMax,sumBin,sumMin,sumMax);
00404 h_trackPtSumHollowVsEtaBarrel_ = dbe_->book2D("isoPtSumHollowVsEta2DBarrel","Track P_{T} Sum in the Hollow Iso Cone;#eta;P_{T} (GeV)",reducedEtaBin,etaMin, etaMax,reducedSumBin,sumMin,sumMax);
00405 p_trackPtSumHollowVsEtaBarrel_ = dbe_->bookProfile("isoPtSumHollowVsEtaBarrel","Avg Track P_{T} Sum in the Hollow Iso Cone vs #eta;#eta;P_{T} (GeV)",etaBin,etaMin, etaMax,sumBin,sumMin,sumMax);
00406
00407
00408
00409
00410 h_ecalSumBarrel_ = dbe_->book1D("ecalSumBarrel","Ecal Sum in the Iso Cone;E (GeV)",sumBin,sumMin,sumMax);
00411 h_ecalSumVsEtBarrel_ = dbe_->book2D("ecalSumVsEt2DBarrel","Ecal Sum in the Iso Cone;E_{T} (GeV);E (GeV)",reducedEtBin,etMin, etMax,reducedSumBin,sumMin,sumMax);
00412 p_ecalSumVsEtBarrel_ = dbe_->bookProfile("ecalSumVsEtBarrel","Avg Ecal Sum in the Iso Cone vs E_{T};E_{T} (GeV);E (GeV)",etBin,etMin, etMax,sumBin,sumMin,sumMax);
00413 h_ecalSumVsEtaBarrel_ = dbe_->book2D("ecalSumVsEta2DBarrel","Ecal Sum in the Iso Cone;#eta;E (GeV)",reducedEtaBin,etaMin, etaMax,reducedSumBin,sumMin,sumMax);
00414 p_ecalSumVsEtaBarrel_ = dbe_->bookProfile("ecalSumVsEtaBarrel","Avg Ecal Sum in the Iso Cone vs #eta;#eta;E (GeV)",etaBin,etaMin, etaMax,sumBin,sumMin,sumMax);
00415
00416
00417 h_hcalSumBarrel_ = dbe_->book1D("hcalSumBarrel","Hcal Sum in the Iso Cone;E (GeV)",sumBin,sumMin,sumMax);
00418 h_hcalSumVsEtBarrel_ = dbe_->book2D("hcalSumVsEt2DBarrel","Hcal Sum in the Iso Cone;E_{T} (GeV);E (GeV)",reducedEtBin,etMin, etMax,reducedSumBin,sumMin,sumMax);
00419 p_hcalSumVsEtBarrel_ = dbe_->bookProfile("hcalSumVsEtBarrel","Avg Hcal Sum in the Iso Cone vs E_{T};E_{T} (GeV);E (GeV)",etBin,etMin, etMax,sumBin,sumMin,sumMax);
00420 h_hcalSumVsEtaBarrel_ = dbe_->book2D("hcalSumVsEta2DBarrel","Hcal Sum in the Iso Cone;#eta;E (GeV)",reducedEtaBin,etaMin, etaMax,reducedSumBin,sumMin,sumMax);
00421 p_hcalSumVsEtaBarrel_ = dbe_->bookProfile("hcalSumVsEtaBarrel","Avg Hcal Sum in the Iso Cone vs #eta;#eta;E (GeV)",etaBin,etaMin, etaMax,sumBin,sumMin,sumMax);
00422
00423
00424 h_hOverEBarrel_ = dbe_->book1D("hOverEBarrel","H/E;H/E",hOverEBin,hOverEMin,hOverEMax);
00425 p_hOverEVsEtBarrel_ = dbe_->bookProfile("hOverEVsEtBarrel","Avg H/E vs Et;E_{T} (GeV);H/E",etBin,etMin,etMax,hOverEBin,hOverEMin,hOverEMax);
00426 p_hOverEVsEtaBarrel_ = dbe_->bookProfile("hOverEVsEtaBarrel","Avg H/E vs #eta;#eta;H/E",etaBin,etaMin,etaMax,hOverEBin,hOverEMin,hOverEMax);
00427 h_h1OverEBarrel_ = dbe_->book1D("h1OverEBarrel","H/E for Depth 1;H/E",hOverEBin,hOverEMin,hOverEMax);
00428 h_h2OverEBarrel_ = dbe_->book1D("h2OverEBarrel","H/E for Depth 2;H/E",hOverEBin,hOverEMin,hOverEMax);
00429
00430
00432
00433
00434 h_phoEtEndcap_ = dbe_->book1D("phoEtEndcap","E_{T};E_{T} (GeV)", etBin,etMin,etMax);
00435 h_phoEEndcap_ = dbe_->book1D("phoEEndcap","Energy for Endcap;E (GeV)",eBin,eMin,eMax);
00436
00437
00438 h_nPhoEndcap_ = dbe_->book1D("nPhoEndcap","Number of Photons per Event;# #gamma", numberBin,numberMin,numberMax);
00439
00440
00441 h_phoEtaEndcap_ = dbe_->book1D("phoEtaEndcap","#eta;#eta",etaBin,etaMin,etaMax);
00442 h_phoPhiEndcap_ = dbe_->book1D("phoPhiEndcap","#phi;#phi",phiBin,phiMin,phiMax);
00443
00444 h_scEtaEndcap_ = dbe_->book1D("scEtaEndcap","SuperCluster #eta;#eta",etaBin,etaMin,etaMax);
00445 h_scPhiEndcap_ = dbe_->book1D("scPhiEndcap","SuperCluster #phi;#phi",phiBin,phiMin,phiMax);
00446
00447
00448
00449 h_r9Endcap_ = dbe_->book1D("r9Endcap","R9;R9",r9Bin,r9Min, r9Max);
00450 h_r9VsEtEndcap_ = dbe_->book2D("r9VsEt2DEndcap","R9 vs E_{T};E_{T} (GeV);R9",reducedEtBin,etMin,etMax,reducedR9Bin,r9Min,r9Max);
00451 p_r9VsEtEndcap_ = dbe_->bookProfile("r9VsEtEndcap","Avg R9 vs E_{T};E_{T} (GeV);R9",etBin,etMin,etMax,r9Bin,r9Min,r9Max);
00452 h_r9VsEtaEndcap_ = dbe_->book2D("r9VsEta2DEndcap","R9 vs #eta;#eta;R9",reducedEtaBin,etaMin,etaMax,reducedR9Bin,r9Min,r9Max);
00453 p_r9VsEtaEndcap_ = dbe_->bookProfile("r9VsEtaEndcap","Avg R9 vs #eta;#eta;R9",etaBin,etaMin,etaMax,r9Bin,r9Min,r9Max);
00454
00455
00456 h_phoSigmaIetaIetaEndcap_ = dbe_->book1D("phoSigmaIetaIetaEndcap","#sigma_{i#etai#eta};#sigma_{i#etai#eta}",sigmaIetaBin,sigmaIetaMin,sigmaIetaMax);
00457 h_sigmaIetaIetaVsEtaEndcap_ = dbe_->book2D("sigmaIetaIetaVsEta2DEndcap","#sigma_{i#etai#eta} vs #eta;#eta;#sigma_{i#etai#eta}",reducedEtaBin,etaMin,etaMax,sigmaIetaBin,sigmaIetaMin,sigmaIetaMax);
00458 p_sigmaIetaIetaVsEtaEndcap_ = dbe_->bookProfile("sigmaIetaIetaVsEtaEndcap","Avg #sigma_{i#etai#eta} vs #eta;#eta;#sigma_{i#etai#eta}",etaBin,etaMin,etaMax,sigmaIetaBin,sigmaIetaMin,sigmaIetaMax);
00459
00460
00461 h_e1x5VsEtEndcap_ = dbe_->book2D("e1x5VsEt2DEndcap","E1x5 vs E_{T};E_{T} (GeV);E1X5 (GeV)",reducedEtBin,etMin,etMax,reducedEtBin,etMin,etMax);
00462 p_e1x5VsEtEndcap_ = dbe_->bookProfile("e1x5VsEtEndcap","Avg E1x5 vs E_{T};E_{T} (GeV);E1X5 (GeV)",etBin,etMin,etMax,etBin,etMin,etMax);
00463 h_e1x5VsEtaEndcap_ = dbe_->book2D("e1x5VsEta2DEndcap","E1x5 vs #eta;#eta;E1X5 (GeV)",reducedEtaBin,etaMin,etaMax,reducedEtBin,etMin,etMax);
00464 p_e1x5VsEtaEndcap_ = dbe_->bookProfile("e1x5VsEtaEndcap","Avg E1x5 vs #eta;#eta;E1X5 (GeV)",etaBin,etaMin,etaMax,etBin,etMin,etMax);
00465
00466
00467 h_e2x5VsEtEndcap_ = dbe_->book2D("e2x5VsEt2DEndcap","E2x5 vs E_{T};E_{T} (GeV);E2X5 (GeV)",reducedEtBin,etMin,etMax,reducedEtBin,etMin,etMax);
00468 p_e2x5VsEtEndcap_ = dbe_->bookProfile("e2x5VsEtEndcap","Avg E2x5 vs E_{T};E_{T} (GeV);E2X5 (GeV)",etBin,etMin,etMax,etBin,etMin,etMax);
00469 h_e2x5VsEtaEndcap_ = dbe_->book2D("e2x5VsEta2DEndcap","E2x5 vs #eta;#eta;E2X5 (GeV)",reducedEtaBin,etaMin,etaMax,reducedEtBin,etMin,etMax);
00470 p_e2x5VsEtaEndcap_ = dbe_->bookProfile("e2x5VsEtaEndcap","Avg E2x5 vs #eta;#eta;E2X5 (GeV)",etaBin,etaMin,etaMax,etBin,etMin,etMax);
00471
00472
00473 h_r1x5VsEtEndcap_ = dbe_->book2D("r1x5VsEt2DEndcap","R1x5 vs E_{T};E_{T} (GeV);R1X5",reducedEtBin,etMin,etMax,reducedR9Bin,r9Min,r9Max);
00474 p_r1x5VsEtEndcap_ = dbe_->bookProfile("r1x5VsEtEndcap","Avg R1x5 vs E_{T};E_{T} (GeV);R1X5",etBin,etMin,etMax,r9Bin,r9Min,r9Max);
00475 h_r1x5VsEtaEndcap_ = dbe_->book2D("r1x5VsEta2DEndcap","R1x5 vs #eta;#eta;R1X5",reducedEtaBin,etaMin,etaMax,reducedR9Bin,r9Min,r9Max);
00476 p_r1x5VsEtaEndcap_ = dbe_->bookProfile("r1x5VsEtaEndcap","Avg R1x5 vs #eta;#eta;R1X5",etaBin,etaMin,etaMax,r9Bin,r9Min,r9Max);
00477
00478
00479 h_r2x5VsEtEndcap_ = dbe_->book2D("r2x5VsEt2DEndcap","R2x5 vs E_{T};E_{T} (GeV);R2X5",reducedEtBin,etMin,etMax,reducedR9Bin,r9Min,r9Max);
00480 p_r2x5VsEtEndcap_ = dbe_->bookProfile("r2x5VsEtEndcap","Avg R2x5 vs E_{T};E_{T} (GeV);R2X5",etBin,etMin,etMax,r9Bin,r9Min,r9Max);
00481 h_r2x5VsEtaEndcap_ = dbe_->book2D("r2x5VsEta2DEndcap","R2x5 vs #eta;#eta;R2X5",reducedEtaBin,etaMin,etaMax,reducedR9Bin,r9Min,r9Max);
00482 p_r2x5VsEtaEndcap_ = dbe_->bookProfile("r2x5VsEtaEndcap","Avg R2x5 vs #eta;#eta;R2X5",etaBin,etaMin,etaMax,r9Bin,r9Min,r9Max);
00483
00484
00485 h_maxEXtalOver3x3VsEtEndcap_ = dbe_->book2D("maxEXtalOver3x3VsEt2DEndcap","(Max Xtal E)/E3x3 vs E_{T};E_{T} (GeV);(Max Xtal E)/E3x3",reducedEtBin,etMin,etMax,r9Bin,r9Min,r9Max);
00486 p_maxEXtalOver3x3VsEtEndcap_ = dbe_->bookProfile("maxEXtalOver3x3VsEtEndcap","Avg (Max Xtal E)/E3x3 vs E_{T};E_{T} (GeV);(Max Xtal E)/E3x3",etBin,etMin,etMax,r9Bin,r9Min,r9Max);
00487 h_maxEXtalOver3x3VsEtaEndcap_ = dbe_->book2D("maxEXtalOver3x3VsEta2DEndcap","(Max Xtal E)/E3x3 vs #eta;#eta;(Max Xtal E)/E3x3",reducedEtaBin,etaMin,etaMax,r9Bin,r9Min,r9Max);
00488 p_maxEXtalOver3x3VsEtaEndcap_ = dbe_->bookProfile("maxEXtalOver3x3VsEtaEndcap","Avg (Max Xtal E)/E3x3 vs #eta;#eta;(Max Xtal E)/E3x3",etaBin,etaMin,etaMax,r9Bin,r9Min,r9Max);
00489
00490
00491
00492
00493 h_nTrackIsolSolidEndcap_ = dbe_->book1D("nIsoTracksSolidEndcap","Number Of Tracks in the Solid Iso Cone;# tracks",numberBin,numberMin,numberMax);
00494 h_nTrackIsolSolidVsEtEndcap_ = dbe_->book2D("nIsoTracksSolidVsEt2DEndcap","Number Of Tracks in the Solid Iso Cone vs E_{T};E_{T};# tracks",reducedEtBin,etMin, etMax,numberBin,numberMin,numberMax);
00495 p_nTrackIsolSolidVsEtEndcap_ = dbe_->bookProfile("nIsoTracksSolidVsEtEndcap","Avg Number Of Tracks in the Solid Iso Cone vs E_{T};E_{T};# tracks",etBin,etMin,etMax,numberBin,numberMin,numberMax);
00496 h_nTrackIsolSolidVsEtaEndcap_ = dbe_->book2D("nIsoTracksSolidVsEta2DEndcap","Number Of Tracks in the Solid Iso Cone vs #eta;#eta;# tracks",reducedEtaBin,etaMin, etaMax,numberBin,numberMin,numberMax);
00497 p_nTrackIsolSolidVsEtaEndcap_ = dbe_->bookProfile("nIsoTracksSolidVsEtaEndcap","Avg Number Of Tracks in the Solid Iso Cone vs #eta;#eta;# tracks",etaBin,etaMin, etaMax,numberBin,numberMin,numberMax);
00498
00499
00500 h_nTrackIsolHollowEndcap_ = dbe_->book1D("nIsoTracksHollowEndcap","Number Of Tracks in the Hollow Iso Cone;# tracks",numberBin,numberMin,numberMax);
00501 h_nTrackIsolHollowVsEtEndcap_ = dbe_->book2D("nIsoTracksHollowVsEt2DEndcap","Number Of Tracks in the Hollow Iso Cone vs E_{T};E_{T};# tracks",reducedEtBin,etMin, etMax,numberBin,numberMin,numberMax);
00502 p_nTrackIsolHollowVsEtEndcap_ = dbe_->bookProfile("nIsoTracksHollowVsEtEndcap","Avg Number Of Tracks in the Hollow Iso Cone vs E_{T};E_{T};# tracks",etBin,etMin,etMax,numberBin,numberMin,numberMax);
00503 h_nTrackIsolHollowVsEtaEndcap_ = dbe_->book2D("nIsoTracksHollowVsEta2DEndcap","Number Of Tracks in the Hollow Iso Cone vs #eta;#eta;# tracks",reducedEtaBin,etaMin, etaMax,numberBin,numberMin,numberMax);
00504 p_nTrackIsolHollowVsEtaEndcap_ = dbe_->bookProfile("nIsoTracksHollowVsEtaEndcap","Avg Number Of Tracks in the Hollow Iso Cone vs #eta;#eta;# tracks",etaBin,etaMin, etaMax,numberBin,numberMin,numberMax);
00505
00506
00507 h_trackPtSumSolidEndcap_ = dbe_->book1D("isoPtSumSolidEndcap","Track P_{T} Sum in the Solid Iso Cone;P_{T} (GeV)",sumBin,sumMin,sumMax);
00508 h_trackPtSumSolidVsEtEndcap_ = dbe_->book2D("isoPtSumSolidVsEt2DEndcap","Track P_{T} Sum in the Solid Iso Cone;E_{T} (GeV);P_{T} (GeV)",reducedEtBin,etMin, etMax,reducedSumBin,sumMin,sumMax);
00509 p_trackPtSumSolidVsEtEndcap_ = dbe_->bookProfile("isoPtSumSolidVsEtEndcap","Avg Track P_{T} Sum in the Solid Iso Cone vs E_{T};E_{T} (GeV);P_{T} (GeV)",etBin,etMin,etMax,sumBin,sumMin,sumMax);
00510 h_trackPtSumSolidVsEtaEndcap_ = dbe_->book2D("isoPtSumSolidVsEta2DEndcap","Track P_{T} Sum in the Solid Iso Cone;#eta;P_{T} (GeV)",reducedEtaBin,etaMin, etaMax,reducedSumBin,sumMin,sumMax);
00511 p_trackPtSumSolidVsEtaEndcap_ = dbe_->bookProfile("isoPtSumSolidVsEtaEndcap","Avg Track P_{T} Sum in the Solid Iso Cone vs #eta;#eta;P_{T} (GeV)",etaBin,etaMin, etaMax,sumBin,sumMin,sumMax);
00512
00513
00514 h_trackPtSumHollowEndcap_ = dbe_->book1D("isoPtSumHollowEndcap","Track P_{T} Sum in the Hollow Iso Cone;P_{T} (GeV)",sumBin,sumMin,sumMax);
00515 h_trackPtSumHollowVsEtEndcap_ = dbe_->book2D("isoPtSumHollowVsEt2DEndcap","Track P_{T} Sum in the Hollow Iso Cone;E_{T} (GeV);P_{T} (GeV)",reducedEtBin,etMin, etMax,reducedSumBin,sumMin,sumMax);
00516 p_trackPtSumHollowVsEtEndcap_ = dbe_->bookProfile("isoPtSumHollowVsEtEndcap","Avg Track P_{T} Sum in the Hollow Iso Cone vs E_{T};E_{T} (GeV);P_{T} (GeV)",etBin,etMin,etMax,sumBin,sumMin,sumMax);
00517 h_trackPtSumHollowVsEtaEndcap_ = dbe_->book2D("isoPtSumHollowVsEta2DEndcap","Track P_{T} Sum in the Hollow Iso Cone;#eta;P_{T} (GeV)",reducedEtaBin,etaMin, etaMax,reducedSumBin,sumMin,sumMax);
00518 p_trackPtSumHollowVsEtaEndcap_ = dbe_->bookProfile("isoPtSumHollowVsEtaEndcap","Avg Track P_{T} Sum in the Hollow Iso Cone vs #eta;#eta;P_{T} (GeV)",etaBin,etaMin, etaMax,sumBin,sumMin,sumMax);
00519
00520
00521
00522
00523 h_ecalSumEndcap_ = dbe_->book1D("ecalSumEndcap","Ecal Sum in the Iso Cone;E (GeV)",sumBin,sumMin,sumMax);
00524 h_ecalSumVsEtEndcap_ = dbe_->book2D("ecalSumVsEt2DEndcap","Ecal Sum in the Iso Cone;E_{T} (GeV);E (GeV)",reducedEtBin,etMin, etMax,reducedSumBin,sumMin,sumMax);
00525 p_ecalSumVsEtEndcap_ = dbe_->bookProfile("ecalSumVsEtEndcap","Avg Ecal Sum in the Iso Cone vs E_{T};E_{T} (GeV);E (GeV)",etBin,etMin, etMax,sumBin,sumMin,sumMax);
00526 h_ecalSumVsEtaEndcap_ = dbe_->book2D("ecalSumVsEta2DEndcap","Ecal Sum in the Iso Cone;#eta;E (GeV)",reducedEtaBin,etaMin, etaMax,reducedSumBin,sumMin,sumMax);
00527 p_ecalSumVsEtaEndcap_ = dbe_->bookProfile("ecalSumVsEtaEndcap","Avg Ecal Sum in the Iso Cone vs #eta;#eta;E (GeV)",etaBin,etaMin, etaMax,sumBin,sumMin,sumMax);
00528
00529
00530 h_hcalSumEndcap_ = dbe_->book1D("hcalSumEndcap","Hcal Sum in the Iso Cone;E (GeV)",sumBin,sumMin,sumMax);
00531 h_hcalSumVsEtEndcap_ = dbe_->book2D("hcalSumVsEt2DEndcap","Hcal Sum in the Iso Cone;E_{T} (GeV);E (GeV)",reducedEtBin,etMin, etMax,reducedSumBin,sumMin,sumMax);
00532 p_hcalSumVsEtEndcap_ = dbe_->bookProfile("hcalSumVsEtEndcap","Avg Hcal Sum in the Iso Cone vs E_{T};E_{T} (GeV);E (GeV)",etBin,etMin, etMax,sumBin,sumMin,sumMax);
00533 h_hcalSumVsEtaEndcap_ = dbe_->book2D("hcalSumVsEta2DEndcap","Hcal Sum in the Iso Cone;#eta;E (GeV)",reducedEtaBin,etaMin, etaMax,reducedSumBin,sumMin,sumMax);
00534 p_hcalSumVsEtaEndcap_ = dbe_->bookProfile("hcalSumVsEtaEndcap","Avg Hcal Sum in the Iso Cone vs #eta;#eta;E (GeV)",etaBin,etaMin, etaMax,sumBin,sumMin,sumMax);
00535
00536
00537 h_hOverEEndcap_ = dbe_->book1D("hOverEEndcap","H/E;H/E",hOverEBin,hOverEMin,hOverEMax);
00538 p_hOverEVsEtEndcap_ = dbe_->bookProfile("hOverEVsEtEndcap","Avg H/E vs Et;E_{T} (GeV);H/E",etBin,etMin,etMax,hOverEBin,hOverEMin,hOverEMax);
00539 p_hOverEVsEtaEndcap_ = dbe_->bookProfile("hOverEVsEtaEndcap","Avg H/E vs #eta;#eta;H/E",etaBin,etaMin,etaMax,hOverEBin,hOverEMin,hOverEMax);
00540 h_h1OverEEndcap_ = dbe_->book1D("h1OverEEndcap","H/E for Depth 1;H/E",hOverEBin,hOverEMin,hOverEMax);
00541 h_h2OverEEndcap_ = dbe_->book1D("h2OverEEndcap","H/E for Depth 2;H/E",hOverEBin,hOverEMin,hOverEMax);
00542
00543 }
00544
00545 }
00546
00547 }
00548
00549 void ZToMuMuGammaAnalyzer::analyze( const edm::Event& e, const edm::EventSetup& esup )
00550 {
00551 using namespace edm;
00552
00553 if (nEvt_% prescaleFactor_ ) return;
00554 nEvt_++;
00555 LogInfo("ZToMuMuGammaAnalyzer") << "ZToMuMuGammaAnalyzer Analyzing event number: " << e.id() << " Global Counter " << nEvt_ <<"\n";
00556
00557
00558 bool validTriggerEvent=true;
00559 edm::Handle<trigger::TriggerEvent> triggerEventHandle;
00560 trigger::TriggerEvent triggerEvent;
00561 e.getByLabel(triggerEvent_,triggerEventHandle);
00562 if(!triggerEventHandle.isValid()) {
00563 edm::LogInfo("PhotonAnalyzer") << "Error! Can't get the product "<< triggerEvent_.label() << endl;
00564 validTriggerEvent=false;
00565 }
00566 if(validTriggerEvent) triggerEvent = *(triggerEventHandle.product());
00567
00568
00569 bool validPhotons=true;
00570 Handle<reco::PhotonCollection> photonHandle;
00571 reco::PhotonCollection photonCollection;
00572 e.getByLabel(photonProducer_, photonCollection_ , photonHandle);
00573 if ( !photonHandle.isValid()) {
00574 edm::LogInfo("ZToMuMuGammaAnalyzer") << "Error! Can't get the product "<< photonCollection_ << endl;
00575 validPhotons=false;
00576 }
00577 if(validPhotons) photonCollection = *(photonHandle.product());
00578
00579
00580 bool validloosePhotonID=true;
00581 Handle<edm::ValueMap<bool> > loosePhotonFlag;
00582 edm::ValueMap<bool> loosePhotonID;
00583 e.getByLabel("PhotonIDProd", "PhotonCutBasedIDLoose", loosePhotonFlag);
00584 if ( !loosePhotonFlag.isValid()) {
00585 edm::LogInfo("ZToMuMuGammaAnalyzer") << "Error! Can't get the product "<< "PhotonCutBasedIDLoose" << endl;
00586 validloosePhotonID=false;
00587 }
00588 if (validloosePhotonID) loosePhotonID = *(loosePhotonFlag.product());
00589
00590 bool validtightPhotonID=true;
00591 Handle<edm::ValueMap<bool> > tightPhotonFlag;
00592 edm::ValueMap<bool> tightPhotonID;
00593 e.getByLabel("PhotonIDProd", "PhotonCutBasedIDTight", tightPhotonFlag);
00594 if ( !tightPhotonFlag.isValid()) {
00595 edm::LogInfo("ZToMuMuGammaAnalyzer") << "Error! Can't get the product "<< "PhotonCutBasedIDTight" << endl;
00596 validtightPhotonID=false;
00597 }
00598 if (validtightPhotonID) tightPhotonID = *(tightPhotonFlag.product());
00599
00600
00601 bool validMuons=true;
00602 Handle<reco::MuonCollection> muonHandle;
00603 reco::MuonCollection muonCollection;
00604 e.getByLabel(muonProducer_, muonCollection_ , muonHandle);
00605 if ( !muonHandle.isValid()) {
00606 edm::LogInfo("ZToMuMuGammaAnalyzer") << "Error! Can't get the product "<< muonCollection_ << endl;
00607 validMuons=false;
00608 }
00609 if(validMuons) muonCollection = *(muonHandle.product());
00610
00611
00612 edm::Handle<reco::BeamSpot> bsHandle;
00613 e.getByLabel("offlineBeamSpot", bsHandle);
00614 if (!bsHandle.isValid()) {
00615 edm::LogError("TrackerOnlyConversionProducer") << "Error! Can't get the product primary Vertex Collection "<< "\n";
00616 return;
00617 }
00618 const reco::BeamSpot &thebs = *bsHandle.product();
00619
00620
00621 vector<int> Keys;
00622 for(uint filterIndex=0;filterIndex<triggerEvent.sizeFilters();++filterIndex){
00623 string label = triggerEvent.filterTag(filterIndex).label();
00624 if(label.find( "Photon" ) != string::npos ) {
00625 for(uint filterKeyIndex=0;filterKeyIndex<triggerEvent.filterKeys(filterIndex).size();++filterKeyIndex){
00626 Keys.push_back(triggerEvent.filterKeys(filterIndex)[filterKeyIndex]);
00627 }
00628 }
00629 }
00630
00631
00632
00633 sort(Keys.begin(),Keys.end());
00634 for ( uint i=0 ; i<Keys.size() ; )
00635 {
00636 if (i!=(Keys.size()-1))
00637 {
00638 if (Keys[i]==Keys[i+1]) Keys.erase(Keys.begin()+i+1) ;
00639 else ++i ;
00640 }
00641 else ++i ;
00642 }
00643
00644
00645 int nPho = 0;
00646 int nPhoBarrel = 0;
00647 int nPhoEndcap = 0;
00648
00650 if ( muonCollection.size() < 2 ) return;
00651
00652 for( reco::MuonCollection::const_iterator iMu = muonCollection.begin(); iMu != muonCollection.end(); iMu++) {
00653 if ( !basicMuonSelection (*iMu) ) continue;
00654
00655 for( reco::MuonCollection::const_iterator iMu2 = iMu+1; iMu2 != muonCollection.end(); iMu2++) {
00656 if ( !basicMuonSelection (*iMu2) ) continue;
00657 if ( iMu->charge()*iMu2->charge() > 0) continue;
00658
00659 if ( !muonSelection(*iMu,thebs) && !muonSelection(*iMu2,thebs) ) continue;
00660
00661 float mumuMass = mumuInvMass(*iMu,*iMu2) ;
00662 if ( mumuMass < minMumuInvMass_ || mumuMass > maxMumuInvMass_ ) continue;
00663
00664 h1_mumuInvMass_ -> Fill (mumuMass);
00665
00666 if ( photonCollection.size() < 1 ) continue;
00667
00668 reco::Muon nearMuon;
00669 reco::Muon farMuon;
00670 for( reco::PhotonCollection::const_iterator iPho = photonCollection.begin(); iPho != photonCollection.end(); iPho++) {
00671 if ( !photonSelection (*iPho) ) continue;
00672
00673 DeltaR<reco::Muon, reco::Photon> deltaR;
00674 double dr1 = deltaR(*iMu, *iPho);
00675 double dr2 = deltaR(*iMu2,*iPho);
00676 double drNear = dr1;
00677 if (dr1 < dr2) {
00678 nearMuon =*iMu ; farMuon = *iMu2; drNear = dr1;
00679 } else {
00680 nearMuon = *iMu2; farMuon = *iMu; drNear = dr2;
00681 }
00682
00683 if ( nearMuon.isolationR03().hadEt > nearMuonHcalIso_ ) continue;
00684 if ( farMuon.isolationR03().sumPt > farMuonTrackIso_ ) continue;
00685 if ( farMuon.isolationR03().emEt > farMuonEcalIso_ ) continue;
00686 if ( farMuon.pt() < farMuonMinPt_ ) continue;
00687 if ( drNear > nearMuonDr_) continue;
00688
00689 float mumuGammaMass = mumuGammaInvMass(*iMu,*iMu2,*iPho) ;
00690 if ( mumuGammaMass < minMumuGammaInvMass_ || mumuGammaMass > maxMumuGammaInvMass_ ) continue;
00691
00692
00693 nPho++;
00694
00695
00696 h1_mumuGammaInvMass_ ->Fill (mumuGammaMass);
00697
00698
00699 h_phoE_ ->Fill ((*iPho).energy());
00700 h_phoEt_ ->Fill ((*iPho).et());
00701
00702
00703 h_phoEta_ ->Fill ((*iPho).eta());
00704 h_phoPhi_ ->Fill ((*iPho).phi());
00705
00706 h_scEta_ ->Fill ((*iPho).superCluster()->eta());
00707 h_scPhi_ ->Fill ((*iPho).superCluster()->phi());
00708
00709
00710 h_r9_ ->Fill ((*iPho).r9());
00711
00712 h_phoSigmaIetaIeta_ ->Fill((*iPho).sigmaIetaIeta());
00713
00714
00715
00716 h_nTrackIsolSolid_ ->Fill((*iPho).nTrkSolidConeDR04());
00717
00718 h_nTrackIsolHollow_ ->Fill((*iPho).nTrkHollowConeDR04());
00719
00720 h_trackPtSumSolid_ ->Fill((*iPho).trkSumPtSolidConeDR04());
00721
00722 h_trackPtSumHollow_ ->Fill((*iPho).trkSumPtSolidConeDR04());
00723
00724
00725
00726 h_ecalSum_ ->Fill((*iPho).ecalRecHitSumEtConeDR04());
00727
00728 h_hcalSum_ ->Fill((*iPho).hcalTowerSumEtConeDR04());
00729
00730 h_hOverE_ ->Fill((*iPho).hadTowOverEm());
00731 h_h1OverE_ ->Fill((*iPho).hadTowDepth1OverEm());
00732 h_h2OverE_ ->Fill((*iPho).hadTowDepth2OverEm());
00733
00734
00736
00737 if(use2DHistos_){
00738
00739
00740 h_r9VsEt_ ->Fill ((*iPho).et(),(*iPho).r9());
00741 p_r9VsEt_ ->Fill ((*iPho).et(),(*iPho).r9());
00742 h_r9VsEta_->Fill ((*iPho).eta(),(*iPho).r9());
00743 p_r9VsEta_->Fill ((*iPho).eta(),(*iPho).r9());
00744
00745 h_e1x5VsEta_->Fill((*iPho).eta(),(*iPho).e1x5());
00746 p_e1x5VsEta_->Fill((*iPho).eta(),(*iPho).e1x5());
00747 h_e1x5VsEt_ ->Fill((*iPho).et(), (*iPho).e1x5());
00748 p_e1x5VsEt_ ->Fill((*iPho).et(), (*iPho).e1x5());
00749
00750 h_e2x5VsEta_->Fill((*iPho).eta(),(*iPho).e2x5());
00751 p_e2x5VsEta_->Fill((*iPho).eta(),(*iPho).e2x5());
00752 h_e2x5VsEt_ ->Fill((*iPho).et(), (*iPho).e2x5());
00753 p_e2x5VsEt_ ->Fill((*iPho).et(), (*iPho).e2x5());
00754
00755 h_r1x5VsEta_->Fill((*iPho).eta(),(*iPho).r1x5());
00756 p_r1x5VsEta_->Fill((*iPho).eta(),(*iPho).r1x5());
00757 h_r1x5VsEt_ ->Fill((*iPho).et(), (*iPho).r1x5());
00758 p_r1x5VsEt_ ->Fill((*iPho).et(), (*iPho).r1x5());
00759
00760 h_r2x5VsEta_->Fill((*iPho).eta(),(*iPho).r2x5());
00761 p_r2x5VsEta_->Fill((*iPho).eta(),(*iPho).r2x5());
00762 h_r2x5VsEt_ ->Fill((*iPho).et(), (*iPho).r2x5());
00763 p_r2x5VsEt_ ->Fill((*iPho).et(), (*iPho).r2x5());
00764
00765 h_maxEXtalOver3x3VsEta_->Fill((*iPho).eta(),(*iPho).maxEnergyXtal()/(*iPho).e3x3());
00766 p_maxEXtalOver3x3VsEta_->Fill((*iPho).eta(),(*iPho).maxEnergyXtal()/(*iPho).e3x3());
00767 h_maxEXtalOver3x3VsEt_ ->Fill((*iPho).et(), (*iPho).maxEnergyXtal()/(*iPho).e3x3());
00768 p_maxEXtalOver3x3VsEt_ ->Fill((*iPho).et(), (*iPho).maxEnergyXtal()/(*iPho).e3x3());
00769
00770 h_sigmaIetaIetaVsEta_ ->Fill((*iPho).eta(),(*iPho).sigmaIetaIeta());
00771 p_sigmaIetaIetaVsEta_ ->Fill((*iPho).eta(),(*iPho).sigmaIetaIeta());
00772
00773
00774 h_nTrackIsolSolidVsEt_ ->Fill((*iPho).et(), (*iPho).nTrkSolidConeDR04());
00775 p_nTrackIsolSolidVsEt_ ->Fill((*iPho).et(), (*iPho).nTrkSolidConeDR04());
00776 h_nTrackIsolSolidVsEta_ ->Fill((*iPho).eta(),(*iPho).nTrkSolidConeDR04());
00777 p_nTrackIsolSolidVsEta_ ->Fill((*iPho).eta(),(*iPho).nTrkSolidConeDR04());
00778
00779 h_nTrackIsolHollowVsEt_ ->Fill((*iPho).et(), (*iPho).nTrkHollowConeDR04());
00780 p_nTrackIsolHollowVsEt_ ->Fill((*iPho).et(), (*iPho).nTrkHollowConeDR04());
00781 h_nTrackIsolHollowVsEta_ ->Fill((*iPho).eta(),(*iPho).nTrkHollowConeDR04());
00782 p_nTrackIsolHollowVsEta_ ->Fill((*iPho).eta(),(*iPho).nTrkHollowConeDR04());
00783
00784 h_trackPtSumSolidVsEt_ ->Fill((*iPho).et(), (*iPho).trkSumPtSolidConeDR04());
00785 p_trackPtSumSolidVsEt_ ->Fill((*iPho).et(), (*iPho).trkSumPtSolidConeDR04());
00786 h_trackPtSumSolidVsEta_ ->Fill((*iPho).eta(),(*iPho).trkSumPtSolidConeDR04());
00787 p_trackPtSumSolidVsEta_ ->Fill((*iPho).eta(),(*iPho).trkSumPtSolidConeDR04());
00788
00789 h_trackPtSumHollowVsEt_ ->Fill((*iPho).et(), (*iPho).trkSumPtHollowConeDR04());
00790 p_trackPtSumHollowVsEt_ ->Fill((*iPho).et(), (*iPho).trkSumPtHollowConeDR04());
00791 h_trackPtSumHollowVsEta_ ->Fill((*iPho).eta(),(*iPho).trkSumPtHollowConeDR04());
00792 p_trackPtSumHollowVsEta_ ->Fill((*iPho).eta(),(*iPho).trkSumPtHollowConeDR04());
00793
00794
00795 h_ecalSumVsEt_ ->Fill((*iPho).et(), (*iPho).ecalRecHitSumEtConeDR04());
00796 p_ecalSumVsEt_ ->Fill((*iPho).et(), (*iPho).ecalRecHitSumEtConeDR04());
00797 h_ecalSumVsEta_ ->Fill((*iPho).eta(),(*iPho).ecalRecHitSumEtConeDR04());
00798 p_ecalSumVsEta_ ->Fill((*iPho).eta(),(*iPho).ecalRecHitSumEtConeDR04());
00799
00800 h_hcalSumVsEt_ ->Fill((*iPho).et(), (*iPho).hcalTowerSumEtConeDR04());
00801 p_hcalSumVsEt_ ->Fill((*iPho).et(), (*iPho).hcalTowerSumEtConeDR04());
00802 h_hcalSumVsEta_ ->Fill((*iPho).eta(),(*iPho).hcalTowerSumEtConeDR04());
00803 p_hcalSumVsEta_ ->Fill((*iPho).eta(),(*iPho).hcalTowerSumEtConeDR04());
00804
00805 p_hOverEVsEt_ ->Fill((*iPho).et(), (*iPho).hadTowOverEm());
00806 p_hOverEVsEta_ ->Fill((*iPho).eta(),(*iPho).hadTowOverEm());
00807
00808 }
00809
00810
00812
00813 if(iPho->isEB() && splitHistosEBEE_){
00814
00815 nPhoBarrel++;
00816
00817
00818 h_phoEBarrel_ ->Fill ((*iPho).energy());
00819 h_phoEtBarrel_ ->Fill ((*iPho).et());
00820
00821
00822 h_phoEtaBarrel_ ->Fill ((*iPho).eta());
00823 h_phoPhiBarrel_ ->Fill ((*iPho).phi());
00824
00825 h_scEtaBarrel_ ->Fill ((*iPho).superCluster()->eta());
00826 h_scPhiBarrel_ ->Fill ((*iPho).superCluster()->phi());
00827
00828
00829 h_r9Barrel_ ->Fill ((*iPho).r9());
00830 h_r9VsEtBarrel_ ->Fill ((*iPho).et(),(*iPho).r9());
00831 p_r9VsEtBarrel_ ->Fill ((*iPho).et(),(*iPho).r9());
00832 h_r9VsEtaBarrel_ ->Fill ((*iPho).eta(),(*iPho).r9());
00833 p_r9VsEtaBarrel_ ->Fill ((*iPho).eta(),(*iPho).r9());
00834
00835 h_e1x5VsEtaBarrel_ ->Fill((*iPho).eta(),(*iPho).e1x5());
00836 p_e1x5VsEtaBarrel_ ->Fill((*iPho).eta(),(*iPho).e1x5());
00837 h_e1x5VsEtBarrel_ ->Fill((*iPho).et(), (*iPho).e1x5());
00838 p_e1x5VsEtBarrel_ ->Fill((*iPho).et(), (*iPho).e1x5());
00839
00840 h_e2x5VsEtaBarrel_ ->Fill((*iPho).eta(),(*iPho).e2x5());
00841 p_e2x5VsEtaBarrel_ ->Fill((*iPho).eta(),(*iPho).e2x5());
00842 h_e2x5VsEtBarrel_ ->Fill((*iPho).et(), (*iPho).e2x5());
00843 p_e2x5VsEtBarrel_ ->Fill((*iPho).et(), (*iPho).e2x5());
00844
00845 h_r1x5VsEtaBarrel_ ->Fill((*iPho).eta(),(*iPho).r1x5());
00846 p_r1x5VsEtaBarrel_ ->Fill((*iPho).eta(),(*iPho).r1x5());
00847 h_r1x5VsEtBarrel_ ->Fill((*iPho).et(), (*iPho).r1x5());
00848 p_r1x5VsEtBarrel_ ->Fill((*iPho).et(), (*iPho).r1x5());
00849
00850 h_r2x5VsEtaBarrel_ ->Fill((*iPho).eta(),(*iPho).r2x5());
00851 p_r2x5VsEtaBarrel_ ->Fill((*iPho).eta(),(*iPho).r2x5());
00852 h_r2x5VsEtBarrel_ ->Fill((*iPho).et(), (*iPho).r2x5());
00853 p_r2x5VsEtBarrel_ ->Fill((*iPho).et(), (*iPho).r2x5());
00854
00855 h_maxEXtalOver3x3VsEtaBarrel_ ->Fill((*iPho).eta(),(*iPho).maxEnergyXtal()/(*iPho).e3x3());
00856 p_maxEXtalOver3x3VsEtaBarrel_ ->Fill((*iPho).eta(),(*iPho).maxEnergyXtal()/(*iPho).e3x3());
00857 h_maxEXtalOver3x3VsEtBarrel_ ->Fill((*iPho).et(), (*iPho).maxEnergyXtal()/(*iPho).e3x3());
00858 p_maxEXtalOver3x3VsEtBarrel_ ->Fill((*iPho).et(), (*iPho).maxEnergyXtal()/(*iPho).e3x3());
00859
00860 h_phoSigmaIetaIetaBarrel_ ->Fill((*iPho).sigmaIetaIeta());
00861 h_sigmaIetaIetaVsEtaBarrel_ ->Fill((*iPho).eta(),(*iPho).sigmaIetaIeta());
00862 p_sigmaIetaIetaVsEtaBarrel_ ->Fill((*iPho).eta(),(*iPho).sigmaIetaIeta());
00863
00864
00865
00866 h_nTrackIsolSolidBarrel_ ->Fill((*iPho).nTrkSolidConeDR04());
00867 h_nTrackIsolSolidVsEtBarrel_ ->Fill((*iPho).et(), (*iPho).nTrkSolidConeDR04());
00868 p_nTrackIsolSolidVsEtBarrel_ ->Fill((*iPho).et(), (*iPho).nTrkSolidConeDR04());
00869 h_nTrackIsolSolidVsEtaBarrel_ ->Fill((*iPho).eta(),(*iPho).nTrkSolidConeDR04());
00870 p_nTrackIsolSolidVsEtaBarrel_ ->Fill((*iPho).eta(),(*iPho).nTrkSolidConeDR04());
00871
00872 h_nTrackIsolHollowBarrel_ ->Fill((*iPho).nTrkHollowConeDR04());
00873 h_nTrackIsolHollowVsEtBarrel_ ->Fill((*iPho).et(), (*iPho).nTrkHollowConeDR04());
00874 p_nTrackIsolHollowVsEtBarrel_ ->Fill((*iPho).et(), (*iPho).nTrkHollowConeDR04());
00875 h_nTrackIsolHollowVsEtaBarrel_ ->Fill((*iPho).eta(),(*iPho).nTrkHollowConeDR04());
00876 p_nTrackIsolHollowVsEtaBarrel_ ->Fill((*iPho).eta(),(*iPho).nTrkHollowConeDR04());
00877
00878 h_trackPtSumSolidBarrel_ ->Fill((*iPho).trkSumPtSolidConeDR04());
00879 h_trackPtSumSolidVsEtBarrel_ ->Fill((*iPho).et(), (*iPho).trkSumPtSolidConeDR04());
00880 p_trackPtSumSolidVsEtBarrel_ ->Fill((*iPho).et(), (*iPho).trkSumPtSolidConeDR04());
00881 h_trackPtSumSolidVsEtaBarrel_ ->Fill((*iPho).eta(),(*iPho).trkSumPtSolidConeDR04());
00882 p_trackPtSumSolidVsEtaBarrel_ ->Fill((*iPho).eta(),(*iPho).trkSumPtSolidConeDR04());
00883
00884 h_trackPtSumHollowBarrel_ ->Fill((*iPho).trkSumPtSolidConeDR04());
00885 h_trackPtSumHollowVsEtBarrel_ ->Fill((*iPho).et(), (*iPho).trkSumPtHollowConeDR04());
00886 p_trackPtSumHollowVsEtBarrel_ ->Fill((*iPho).et(), (*iPho).trkSumPtHollowConeDR04());
00887 h_trackPtSumHollowVsEtaBarrel_ ->Fill((*iPho).eta(),(*iPho).trkSumPtHollowConeDR04());
00888 p_trackPtSumHollowVsEtaBarrel_ ->Fill((*iPho).eta(),(*iPho).trkSumPtHollowConeDR04());
00889
00890
00891
00892 h_ecalSumBarrel_ ->Fill((*iPho).ecalRecHitSumEtConeDR04());
00893 h_ecalSumVsEtBarrel_ ->Fill((*iPho).et(), (*iPho).ecalRecHitSumEtConeDR04());
00894 p_ecalSumVsEtBarrel_ ->Fill((*iPho).et(), (*iPho).ecalRecHitSumEtConeDR04());
00895 h_ecalSumVsEtaBarrel_ ->Fill((*iPho).eta(),(*iPho).ecalRecHitSumEtConeDR04());
00896 p_ecalSumVsEtaBarrel_ ->Fill((*iPho).eta(),(*iPho).ecalRecHitSumEtConeDR04());
00897
00898 h_hcalSumBarrel_ ->Fill((*iPho).hcalTowerSumEtConeDR04());
00899 h_hcalSumVsEtBarrel_ ->Fill((*iPho).et(), (*iPho).hcalTowerSumEtConeDR04());
00900 p_hcalSumVsEtBarrel_ ->Fill((*iPho).et(), (*iPho).hcalTowerSumEtConeDR04());
00901 h_hcalSumVsEtaBarrel_ ->Fill((*iPho).eta(),(*iPho).hcalTowerSumEtConeDR04());
00902 p_hcalSumVsEtaBarrel_ ->Fill((*iPho).eta(),(*iPho).hcalTowerSumEtConeDR04());
00903
00904 h_hOverEBarrel_ ->Fill((*iPho).hadTowOverEm());
00905 p_hOverEVsEtBarrel_ ->Fill((*iPho).et(), (*iPho).hadTowOverEm());
00906 p_hOverEVsEtaBarrel_ ->Fill((*iPho).eta(),(*iPho).hadTowOverEm());
00907 h_h1OverEBarrel_ ->Fill((*iPho).hadTowDepth1OverEm());
00908 h_h2OverEBarrel_ ->Fill((*iPho).hadTowDepth2OverEm());
00909
00910 }
00911
00913
00914 if(iPho->isEE() && splitHistosEBEE_){
00915
00916 nPhoEndcap++;
00917
00918
00919 h_phoEEndcap_ ->Fill ((*iPho).energy());
00920 h_phoEtEndcap_ ->Fill ((*iPho).et());
00921
00922
00923 h_phoEtaEndcap_ ->Fill ((*iPho).eta());
00924 h_phoPhiEndcap_ ->Fill ((*iPho).phi());
00925
00926 h_scEtaEndcap_ ->Fill ((*iPho).superCluster()->eta());
00927 h_scPhiEndcap_ ->Fill ((*iPho).superCluster()->phi());
00928
00929
00930 h_r9Endcap_ ->Fill ((*iPho).r9());
00931 h_r9VsEtEndcap_ ->Fill ((*iPho).et(),(*iPho).r9());
00932 p_r9VsEtEndcap_ ->Fill ((*iPho).et(),(*iPho).r9());
00933 h_r9VsEtaEndcap_ ->Fill ((*iPho).eta(),(*iPho).r9());
00934 p_r9VsEtaEndcap_ ->Fill ((*iPho).eta(),(*iPho).r9());
00935
00936 h_e1x5VsEtaEndcap_ ->Fill((*iPho).eta(),(*iPho).e1x5());
00937 p_e1x5VsEtaEndcap_ ->Fill((*iPho).eta(),(*iPho).e1x5());
00938 h_e1x5VsEtEndcap_ ->Fill((*iPho).et(), (*iPho).e1x5());
00939 p_e1x5VsEtEndcap_ ->Fill((*iPho).et(), (*iPho).e1x5());
00940
00941 h_e2x5VsEtaEndcap_ ->Fill((*iPho).eta(),(*iPho).e2x5());
00942 p_e2x5VsEtaEndcap_ ->Fill((*iPho).eta(),(*iPho).e2x5());
00943 h_e2x5VsEtEndcap_ ->Fill((*iPho).et(), (*iPho).e2x5());
00944 p_e2x5VsEtEndcap_ ->Fill((*iPho).et(), (*iPho).e2x5());
00945
00946 h_r1x5VsEtaEndcap_ ->Fill((*iPho).eta(),(*iPho).r1x5());
00947 p_r1x5VsEtaEndcap_ ->Fill((*iPho).eta(),(*iPho).r1x5());
00948 h_r1x5VsEtEndcap_ ->Fill((*iPho).et(), (*iPho).r1x5());
00949 p_r1x5VsEtEndcap_ ->Fill((*iPho).et(), (*iPho).r1x5());
00950
00951 h_r2x5VsEtaEndcap_ ->Fill((*iPho).eta(),(*iPho).r2x5());
00952 p_r2x5VsEtaEndcap_ ->Fill((*iPho).eta(),(*iPho).r2x5());
00953 h_r2x5VsEtEndcap_ ->Fill((*iPho).et(), (*iPho).r2x5());
00954 p_r2x5VsEtEndcap_ ->Fill((*iPho).et(), (*iPho).r2x5());
00955
00956 h_maxEXtalOver3x3VsEtaEndcap_ ->Fill((*iPho).eta(),(*iPho).maxEnergyXtal()/(*iPho).e3x3());
00957 p_maxEXtalOver3x3VsEtaEndcap_ ->Fill((*iPho).eta(),(*iPho).maxEnergyXtal()/(*iPho).e3x3());
00958 h_maxEXtalOver3x3VsEtEndcap_ ->Fill((*iPho).et(), (*iPho).maxEnergyXtal()/(*iPho).e3x3());
00959 p_maxEXtalOver3x3VsEtEndcap_ ->Fill((*iPho).et(), (*iPho).maxEnergyXtal()/(*iPho).e3x3());
00960
00961 h_phoSigmaIetaIetaEndcap_ ->Fill((*iPho).sigmaIetaIeta());
00962 h_sigmaIetaIetaVsEtaEndcap_ ->Fill((*iPho).eta(),(*iPho).sigmaIetaIeta());
00963 p_sigmaIetaIetaVsEtaEndcap_ ->Fill((*iPho).eta(),(*iPho).sigmaIetaIeta());
00964
00965
00966
00967 h_nTrackIsolSolidEndcap_ ->Fill((*iPho).nTrkSolidConeDR04());
00968 h_nTrackIsolSolidVsEtEndcap_ ->Fill((*iPho).et(), (*iPho).nTrkSolidConeDR04());
00969 p_nTrackIsolSolidVsEtEndcap_ ->Fill((*iPho).et(), (*iPho).nTrkSolidConeDR04());
00970 h_nTrackIsolSolidVsEtaEndcap_ ->Fill((*iPho).eta(),(*iPho).nTrkSolidConeDR04());
00971 p_nTrackIsolSolidVsEtaEndcap_ ->Fill((*iPho).eta(),(*iPho).nTrkSolidConeDR04());
00972
00973 h_nTrackIsolHollowEndcap_ ->Fill((*iPho).nTrkHollowConeDR04());
00974 h_nTrackIsolHollowVsEtEndcap_ ->Fill((*iPho).et(), (*iPho).nTrkHollowConeDR04());
00975 p_nTrackIsolHollowVsEtEndcap_ ->Fill((*iPho).et(), (*iPho).nTrkHollowConeDR04());
00976 h_nTrackIsolHollowVsEtaEndcap_ ->Fill((*iPho).eta(),(*iPho).nTrkHollowConeDR04());
00977 p_nTrackIsolHollowVsEtaEndcap_ ->Fill((*iPho).eta(),(*iPho).nTrkHollowConeDR04());
00978
00979 h_trackPtSumSolidEndcap_ ->Fill((*iPho).trkSumPtSolidConeDR04());
00980 h_trackPtSumSolidVsEtEndcap_ ->Fill((*iPho).et(), (*iPho).trkSumPtSolidConeDR04());
00981 p_trackPtSumSolidVsEtEndcap_ ->Fill((*iPho).et(), (*iPho).trkSumPtSolidConeDR04());
00982 h_trackPtSumSolidVsEtaEndcap_ ->Fill((*iPho).eta(),(*iPho).trkSumPtSolidConeDR04());
00983 p_trackPtSumSolidVsEtaEndcap_ ->Fill((*iPho).eta(),(*iPho).trkSumPtSolidConeDR04());
00984
00985 h_trackPtSumHollowEndcap_ ->Fill((*iPho).trkSumPtSolidConeDR04());
00986 h_trackPtSumHollowVsEtEndcap_ ->Fill((*iPho).et(), (*iPho).trkSumPtHollowConeDR04());
00987 p_trackPtSumHollowVsEtEndcap_ ->Fill((*iPho).et(), (*iPho).trkSumPtHollowConeDR04());
00988 h_trackPtSumHollowVsEtaEndcap_ ->Fill((*iPho).eta(),(*iPho).trkSumPtHollowConeDR04());
00989 p_trackPtSumHollowVsEtaEndcap_ ->Fill((*iPho).eta(),(*iPho).trkSumPtHollowConeDR04());
00990
00991
00992
00993 h_ecalSumEndcap_ ->Fill((*iPho).ecalRecHitSumEtConeDR04());
00994 h_ecalSumVsEtEndcap_ ->Fill((*iPho).et(), (*iPho).ecalRecHitSumEtConeDR04());
00995 p_ecalSumVsEtEndcap_ ->Fill((*iPho).et(), (*iPho).ecalRecHitSumEtConeDR04());
00996 h_ecalSumVsEtaEndcap_ ->Fill((*iPho).eta(),(*iPho).ecalRecHitSumEtConeDR04());
00997 p_ecalSumVsEtaEndcap_ ->Fill((*iPho).eta(),(*iPho).ecalRecHitSumEtConeDR04());
00998
00999 h_hcalSumEndcap_ ->Fill((*iPho).hcalTowerSumEtConeDR04());
01000 h_hcalSumVsEtEndcap_ ->Fill((*iPho).et(), (*iPho).hcalTowerSumEtConeDR04());
01001 p_hcalSumVsEtEndcap_ ->Fill((*iPho).et(), (*iPho).hcalTowerSumEtConeDR04());
01002 h_hcalSumVsEtaEndcap_ ->Fill((*iPho).eta(),(*iPho).hcalTowerSumEtConeDR04());
01003 p_hcalSumVsEtaEndcap_ ->Fill((*iPho).eta(),(*iPho).hcalTowerSumEtConeDR04());
01004
01005 h_hOverEEndcap_ ->Fill((*iPho).hadTowOverEm());
01006 p_hOverEVsEtEndcap_ ->Fill((*iPho).et(), (*iPho).hadTowOverEm());
01007 p_hOverEVsEtaEndcap_ ->Fill((*iPho).eta(),(*iPho).hadTowOverEm());
01008 h_h1OverEEndcap_ ->Fill((*iPho).hadTowDepth1OverEm());
01009 h_h2OverEEndcap_ ->Fill((*iPho).hadTowDepth2OverEm());
01010
01011 }
01012
01013
01014 }
01015
01016 h_nPho_ ->Fill (float(nPho));
01017
01018 if(splitHistosEBEE_){
01019 h_nPhoBarrel_ ->Fill (float(nPhoBarrel));
01020 h_nPhoEndcap_ ->Fill (float(nPhoEndcap));
01021 }
01022 }
01023
01024 }
01025
01026 }
01027
01028 void ZToMuMuGammaAnalyzer::endRun(const edm::Run& run, const edm::EventSetup& setup)
01029 {
01030 if(!standAlone_){dbe_->setCurrentFolder("Egamma/PhotonAnalyzer/ZToMuMuGamma");}
01031 }
01032
01033 void ZToMuMuGammaAnalyzer::endJob()
01034 {
01035
01036 if(standAlone_){
01037 dbe_->setCurrentFolder("Egamma/PhotonAnalyzer/ZToMuMuGamma");
01038 dbe_->save(outputFileName_);
01039 }
01040 }
01041
01042 bool ZToMuMuGammaAnalyzer::basicMuonSelection ( const reco::Muon & mu) {
01043 bool result=true;
01044 if (!mu.innerTrack().isNonnull()) result=false;
01045 if (!mu.globalTrack().isNonnull()) result=false;
01046 if ( !mu.isGlobalMuon() ) result=false;
01047 if ( mu.pt() < muonMinPt_ ) result=false;
01048 if ( fabs(mu.eta())>2.4 ) result=false;
01049
01050 int pixHits=0;
01051 int tkHits=0;
01052 if ( mu.innerTrack().isNonnull() ) {
01053 pixHits=mu.innerTrack()->hitPattern().numberOfValidPixelHits();
01054 tkHits=mu.innerTrack()->hitPattern().numberOfValidStripHits();
01055 }
01056
01057 if ( pixHits+tkHits < minPixStripHits_ ) result=false;
01058
01059 return result;
01060 }
01061
01062 bool ZToMuMuGammaAnalyzer::muonSelection ( const reco::Muon & mu, const reco::BeamSpot& beamSpot) {
01063 bool result=true;
01064 if ( mu.globalTrack()->normalizedChi2() > muonMaxChi2_ ) result=false;
01065 if ( fabs( mu.globalTrack()->dxy(beamSpot)) > muonMaxDxy_ ) result=false;
01066 if ( mu.numberOfMatches() < muonMatches_ ) result=false;
01067
01068 if ( mu.track()-> hitPattern().numberOfValidPixelHits() < validPixHits_ ) result=false;
01069 if ( mu.globalTrack()->hitPattern().numberOfValidMuonHits() < validMuonHits_ ) result=false;
01070 if ( !mu.isTrackerMuon() ) result=false;
01071
01072 if ( mu.isolationR03().sumPt > muonTrackIso_ ) result=false;
01073 if ( fabs(mu.eta())> muonTightEta_ ) result=false;
01074
01075 return result;
01076 }
01077
01078 bool ZToMuMuGammaAnalyzer::photonSelection ( const reco::Photon & pho) {
01079 bool result=true;
01080 if ( pho.pt() < photonMinEt_ ) result=false;
01081 if ( fabs(pho.eta())> photonMaxEta_ ) result=false;
01082 if ( pho.isEBEEGap() ) result=false;
01083
01084
01085 return result;
01086 }
01087
01088 float ZToMuMuGammaAnalyzer::mumuInvMass(const reco::Muon & mu1,const reco::Muon & mu2 )
01089 {
01090 math::XYZTLorentzVector p12 = mu1.p4()+mu2.p4() ;
01091 float mumuMass2 = p12.Dot(p12) ;
01092 float invMass = sqrt(mumuMass2) ;
01093 return invMass ;
01094 }
01095
01096 float ZToMuMuGammaAnalyzer::mumuGammaInvMass(const reco::Muon & mu1,const reco::Muon & mu2, const reco::Photon& pho )
01097 {
01098 math::XYZTLorentzVector p12 = mu1.p4()+mu2.p4()+pho.p4() ;
01099 float Mass2 = p12.Dot(p12) ;
01100 float invMass = sqrt(Mass2) ;
01101 return invMass ;
01102 }
01103