36 #include "CLHEP/Units/GlobalPhysicalConstants.h"
116 photonCollectionProducer_ = pset.
getParameter<std::string>(
"phoProducer");
117 photonCollection_ = pset.
getParameter<std::string>(
"photonCollection");
119 conversionCollectionProducer_ = pset.
getParameter<std::string>(
"convProducer");
120 conversionCollection_ = pset.
getParameter<std::string>(
"conversionCollection");
123 minPhoEtCut_ = pset.
getParameter<
double>(
"minPhoEtCut");
124 generalTracksOnly_ = pset.
getParameter<
bool>(
"generalTracksOnly");
125 arbitratedMerged_ = pset.
getParameter<
bool>(
"arbitratedMerged");
126 arbitratedEcalSeeded_ = pset.
getParameter<
bool>(
"arbitratedEcalSeeded");
127 ecalalgotracks_ = pset.
getParameter<
bool>(
"ecalalgotracks");
130 maxHitsBeforeVtx_ = pset.
getParameter<uint>(
"maxHitsBeforeVtx");
132 isRunCentrally_= pset.
getParameter<
bool>(
"isRunCentrally");
150 nRecConvAssWithEcal_=0;
158 double etMin = parameters_.getParameter<
double>(
"etMin");
159 double etMax = parameters_.getParameter<
double>(
"etMax");
160 int etBin = parameters_.getParameter<
int>(
"etBin");
163 double resMin = parameters_.getParameter<
double>(
"resMin");
164 double resMax = parameters_.getParameter<
double>(
"resMax");
165 int resBin = parameters_.getParameter<
int>(
"resBin");
167 double etaMin = parameters_.getParameter<
double>(
"etaMin");
168 double etaMax = parameters_.getParameter<
double>(
"etaMax");
169 int etaBin = parameters_.getParameter<
int>(
"etaBin");
170 int etaBin2 = parameters_.getParameter<
int>(
"etaBin2");
173 double phiMin = parameters_.getParameter<
double>(
"phiMin");
174 double phiMax = parameters_.getParameter<
double>(
"phiMax");
175 int phiBin = parameters_.getParameter<
int>(
"phiBin");
178 double rMin = parameters_.getParameter<
double>(
"rMin");
179 double rMax = parameters_.getParameter<
double>(
"rMax");
180 int rBin = parameters_.getParameter<
int>(
"rBin");
182 double zMin = parameters_.getParameter<
double>(
"zMin");
183 double zMax = parameters_.getParameter<
double>(
"zMax");
184 int zBin = parameters_.getParameter<
int>(
"zBin");
186 double dPhiTracksMin = parameters_.getParameter<
double>(
"dPhiTracksMin");
187 double dPhiTracksMax = parameters_.getParameter<
double>(
"dPhiTracksMax");
188 int dPhiTracksBin = parameters_.getParameter<
int>(
"dPhiTracksBin");
190 double eoverpMin = parameters_.getParameter<
double>(
"eoverpMin");
191 double eoverpMax = parameters_.getParameter<
double>(
"eoverpMax");
192 int eoverpBin = parameters_.getParameter<
int>(
"eoverpBin");
199 double dCotTracksMin = parameters_.getParameter<
double>(
"dCotTracksMin");
200 double dCotTracksMax = parameters_.getParameter<
double>(
"dCotTracksMax");
201 int dCotTracksBin = parameters_.getParameter<
int>(
"dCotTracksBin");
204 double chi2Min = parameters_.getParameter<
double>(
"chi2Min");
205 double chi2Max = parameters_.getParameter<
double>(
"chi2Max");
208 double rMinForXray = parameters_.getParameter<
double>(
"rMinForXray");
209 double rMaxForXray = parameters_.getParameter<
double>(
"rMaxForXray");
210 int rBinForXray = parameters_.getParameter<
int>(
"rBinForXray");
211 double zMinForXray = parameters_.getParameter<
double>(
"zMinForXray");
212 double zMaxForXray = parameters_.getParameter<
double>(
"zMaxForXray");
213 int zBinForXray = parameters_.getParameter<
int>(
"zBinForXray");
214 int zBin2ForXray = parameters_.getParameter<
int>(
"zBin2ForXray");
216 minPhoPtForEffic = parameters_.getParameter<
double>(
"minPhoPtForEffic");
217 maxPhoEtaForEffic = parameters_.getParameter<
double>(
"maxPhoEtaForEffic");
218 maxPhoZForEffic = parameters_.getParameter<
double>(
"maxPhoZForEffic");
219 maxPhoRForEffic = parameters_.getParameter<
double>(
"maxPhoRForEffic");
220 minPhoPtForPurity = parameters_.getParameter<
double>(
"minPhoPtForPurity");
221 maxPhoEtaForPurity = parameters_.getParameter<
double>(
"maxPhoEtaForPurity");
222 maxPhoZForPurity = parameters_.getParameter<
double>(
"maxPhoZForPurity");
223 maxPhoRForPurity = parameters_.getParameter<
double>(
"maxPhoRForPurity");
231 std::string simpath = dqmpath_ +
"SimulationInfo";
236 std::string histname =
"nOfSimConversions";
237 h_nSimConv_[0] =
dbe_->
book1D(histname,
"# of Sim conversions per event ",20,-0.5,19.5);
239 histname =
"h_AllSimConvEta";
240 h_AllSimConv_[0] =
dbe_->
book1D(histname,
" All conversions: simulated #eta",etaBin2,etaMin,etaMax);
241 histname =
"h_AllSimConvPhi";
242 h_AllSimConv_[1] =
dbe_->
book1D(histname,
" All conversions: simulated #phi",phiBin,phiMin,phiMax);
243 histname =
"h_AllSimConvR";
244 h_AllSimConv_[2] =
dbe_->
book1D(histname,
" All conversions: simulated R",rBin,rMin,rMax);
245 histname =
"h_AllSimConvZ";
246 h_AllSimConv_[3] =
dbe_->
book1D(histname,
" All conversions: simulated Z",zBin,zMin,zMax);
247 histname =
"h_AllSimConvEt";
248 h_AllSimConv_[4] =
dbe_->
book1D(histname,
" All conversions: simulated Et",etBin,etMin,etMax);
250 histname =
"nOfVisSimConversions";
251 h_nSimConv_[1] =
dbe_->
book1D(histname,
"# of Sim conversions per event ",20,-0.5,19.5);
252 histname =
"h_VisSimConvEta";
253 h_VisSimConv_[0] =
dbe_->
book1D(histname,
" All vis conversions: simulated #eta",etaBin2,etaMin, etaMax);
254 histname =
"h_VisSimConvPhi";
255 h_VisSimConv_[1] =
dbe_->
book1D(histname,
" All vis conversions: simulated #phi",phiBin,phiMin, phiMax);
256 histname =
"h_VisSimConvR";
257 h_VisSimConv_[2] =
dbe_->
book1D(histname,
" All vis conversions: simulated R",rBin,rMin,rMax);
258 histname =
"h_VisSimConvZ";
259 h_VisSimConv_[3] =
dbe_->
book1D(histname,
" All vis conversions: simulated Z",zBin,zMin, zMax);
260 histname =
"h_VisSimConvEt";
261 h_VisSimConv_[4] =
dbe_->
book1D(histname,
" All vis conversions: simulated Et",etBin,etMin, etMax);
264 histname =
"h_SimConvTwoMTracksEta";
265 h_SimConvTwoMTracks_[0] =
dbe_->
book1D(histname,
" All vis conversions with 2 reco-matching tracks: simulated #eta",etaBin2,etaMin, etaMax);
266 histname =
"h_SimConvTwoMTracksPhi";
267 h_SimConvTwoMTracks_[1] =
dbe_->
book1D(histname,
" All vis conversions with 2 reco-matching tracks: simulated #phi",phiBin,phiMin, phiMax);
268 histname =
"h_SimConvTwoMTracksR";
269 h_SimConvTwoMTracks_[2] =
dbe_->
book1D(histname,
" All vis conversions with 2 reco-matching tracks: simulated R",rBin,rMin, rMax);
270 histname =
"h_SimConvTwoMTracksZ";
271 h_SimConvTwoMTracks_[3] =
dbe_->
book1D(histname,
" All vis conversions with 2 reco-matching tracks: simulated Z",zBin,zMin, zMax);
272 histname =
"h_SimConvTwoMTracksEt";
273 h_SimConvTwoMTracks_[4] =
dbe_->
book1D(histname,
" All vis conversions with 2 reco-matching tracks: simulated Et",etBin,etMin, etMax);
275 histname =
"h_SimConvTwoTracksEta";
276 h_SimConvTwoTracks_[0] =
dbe_->
book1D(histname,
" All vis conversions with 2 reco tracks: simulated #eta",etaBin2,etaMin, etaMax);
277 histname =
"h_SimConvTwoTracksPhi";
278 h_SimConvTwoTracks_[1] =
dbe_->
book1D(histname,
" All vis conversions with 2 reco tracks: simulated #phi",phiBin,phiMin, phiMax);
279 histname =
"h_SimConvTwoTracksR";
280 h_SimConvTwoTracks_[2] =
dbe_->
book1D(histname,
" All vis conversions with 2 reco tracks: simulated R",rBin,rMin, rMax);
281 histname =
"h_SimConvTwoTracksZ";
282 h_SimConvTwoTracks_[3] =
dbe_->
book1D(histname,
" All vis conversions with 2 reco tracks: simulated Z",zBin,zMin, zMax);
283 histname =
"h_SimConvTwoTracksEt";
284 h_SimConvTwoTracks_[4] =
dbe_->
book1D(histname,
" All vis conversions with 2 reco tracks: simulated Et",etBin,etMin, etMax);
286 histname =
"h_SimConvTwoMTracksEtaAndVtxPGT0";
287 h_SimConvTwoMTracksAndVtxPGT0_[0] =
dbe_->
book1D(histname,
" All vis conversions with 2 reco-matching tracks + vertex: simulated #eta",etaBin2,etaMin, etaMax);
288 histname =
"h_SimConvTwoMTracksPhiAndVtxPGT0";
289 h_SimConvTwoMTracksAndVtxPGT0_[1] =
dbe_->
book1D(histname,
" All vis conversions with 2 reco-matching tracks + vertex: simulated #phi",phiBin,phiMin, phiMax);
290 histname =
"h_SimConvTwoMTracksRAndVtxPGT0";
291 h_SimConvTwoMTracksAndVtxPGT0_[2] =
dbe_->
book1D(histname,
" All vis conversions with 2 reco-matching tracks + vertex: simulated R",rBin,rMin, rMax);
292 histname =
"h_SimConvTwoMTracksZAndVtxPGT0";
293 h_SimConvTwoMTracksAndVtxPGT0_[3] =
dbe_->
book1D(histname,
" All vis conversions with 2 reco-matching tracks + vertex: simulated Z",zBin,zMin, zMax);
294 histname =
"h_SimConvTwoMTracksEtAndVtxPGT0";
295 h_SimConvTwoMTracksAndVtxPGT0_[4] =
dbe_->
book1D(histname,
" All vis conversions with 2 reco-matching tracks + vertex: simulated Et",etBin,etMin, etMax);
298 histname =
"h_SimConvTwoMTracksEtaAndVtxPGT0005";
299 h_SimConvTwoMTracksAndVtxPGT0005_[0] =
dbe_->
book1D(histname,
" All vis conversions with 2 reco-matching tracks + vertex: simulated #eta",etaBin2,etaMin, etaMax);
300 histname =
"h_SimConvTwoMTracksPhiAndVtxPGT0005";
301 h_SimConvTwoMTracksAndVtxPGT0005_[1] =
dbe_->
book1D(histname,
" All vis conversions with 2 reco-matching tracks + vertex: simulated #phi",phiBin,phiMin, phiMax);
302 histname =
"h_SimConvTwoMTracksRAndVtxPGT0005";
303 h_SimConvTwoMTracksAndVtxPGT0005_[2] =
dbe_->
book1D(histname,
" All vis conversions with 2 reco-matching tracks + vertex: simulated R",rBin,rMin, rMax);
304 histname =
"h_SimConvTwoMTracksZAndVtxPGT0005";
305 h_SimConvTwoMTracksAndVtxPGT0005_[3] =
dbe_->
book1D(histname,
" All vis conversions with 2 reco-matching tracks + vertex: simulated Z",zBin,zMin, zMax);
306 histname =
"h_SimConvTwoMTracksEtAndVtxPGT0005";
307 h_SimConvTwoMTracksAndVtxPGT0005_[4] =
dbe_->
book1D(histname,
" All vis conversions with 2 reco-matching tracks + vertex: simulated Et",etBin,etMin, etMax);
309 histname =
"h_SimRecConvTwoMTracksEta";
310 h_SimRecConvTwoMTracks_[0] =
dbe_->
book1D(histname,
" All vis conversions with 2 reco-matching tracks: simulated #eta",etaBin2,etaMin, etaMax);
311 histname =
"h_SimRecConvTwoMTracksPhi";
312 h_SimRecConvTwoMTracks_[1] =
dbe_->
book1D(histname,
" All vis conversions with 2 reco-matching tracks: simulated #phi",phiBin,phiMin, phiMax);
313 histname =
"h_SimRecConvTwoMTracksR";
314 h_SimRecConvTwoMTracks_[2] =
dbe_->
book1D(histname,
" All vis conversions with 2 reco-matching tracks: simulated R",rBin,rMin, rMax);
315 histname =
"h_SimRecConvTwoMTracksZ";
316 h_SimRecConvTwoMTracks_[3] =
dbe_->
book1D(histname,
" All vis conversions with 2 reco-matching tracks: simulated Z",zBin,zMin, zMax);
317 histname =
"h_SimRecConvTwoMTracksEt";
318 h_SimRecConvTwoMTracks_[4] =
dbe_->
book1D(histname,
" All vis conversions with 2 reco-matching tracks: simulated Et",etBin,etMin, etMax);
322 h_SimConvEtaPix_[0] =
dbe_->
book1D(
"simConvEtaPix",
" sim converted Photon Eta: Pix ",etaBin,etaMin, etaMax) ;
323 h_simTkPt_ =
dbe_->
book1D(
"simTkPt",
"Sim conversion tracks pt ",etBin*3,0.,etMax);
324 h_simTkEta_ =
dbe_->
book1D(
"simTkEta",
"Sim conversion tracks eta ",etaBin,etaMin,etaMax);
326 h_simConvVtxRvsZ_[0] =
dbe_->
book2D(
"simConvVtxRvsZAll",
" Photon Sim conversion vtx position",zBinForXray, zMinForXray, zMaxForXray, rBinForXray, rMinForXray, rMaxForXray);
327 h_simConvVtxRvsZ_[1] =
dbe_->
book2D(
"simConvVtxRvsZBarrel",
" Photon Sim conversion vtx position",zBinForXray, zMinForXray, zMaxForXray, rBinForXray, rMinForXray, rMaxForXray);
328 h_simConvVtxRvsZ_[2] =
dbe_->
book2D(
"simConvVtxRvsZEndcap",
" Photon Sim conversion vtx position",zBin2ForXray, zMinForXray, zMaxForXray, rBinForXray, rMinForXray, rMaxForXray);
329 h_simConvVtxRvsZ_[3] =
dbe_->
book2D(
"simConvVtxRvsZBarrel2",
" Photon Sim conversion vtx position when reco R<4cm",zBinForXray, zMinForXray, zMaxForXray, rBinForXray, rMinForXray, rMaxForXray);
330 h_simConvVtxYvsX_ =
dbe_->
book2D(
"simConvVtxYvsXTrkBarrel",
" Photon Sim conversion vtx position, (x,y) eta<1 ",100, -80., 80., 100, -80., 80.);
332 std::string convpath = dqmpath_ +
"ConversionInfo";
336 h_nConv_[0][0] =
dbe_->
book1D(histname+
"All",
"Number Of Conversions per isolated candidates per events: All Ecal ",10,-0.5, 9.5);
337 h_nConv_[0][1] =
dbe_->
book1D(histname+
"Barrel",
"Number Of Conversions per isolated candidates per events: Ecal Barrel ",10,-0.5, 9.5);
338 h_nConv_[0][2] =
dbe_->
book1D(histname+
"Endcap",
"Number Of Conversions per isolated candidates per events: Ecal Endcap ",10,-0.5, 9.5);
339 h_nConv_[1][0] =
dbe_->
book1D(histname+
"All_Ass",
"Number Of associated Conversions per isolated candidates per events: All Ecal ",10,-0.5, 9.5);
341 h_convEta_[0][0] =
dbe_->
book1D(
"convEta",
" converted Photon Eta ",etaBin,etaMin, etaMax) ;
342 h_convEtaMatchSC_[0][0] =
dbe_->
book1D(
"convEtaMatchSC",
" converted Photon Eta when SC is matched ",etaBin,etaMin, etaMax) ;
343 h_convEta2_[0][0] =
dbe_->
book1D(
"convEta2",
" converted Photon Eta ",etaBin2,etaMin, etaMax) ;
344 h_convPhi_[0][0] =
dbe_->
book1D(
"convPhi",
" converted Photon Phi ",phiBin,phiMin,phiMax) ;
345 h_convR_[0][0] =
dbe_->
book1D(
"convR",
" converted photon R",rBin,rMin, rMax);
346 h_convZ_[0][0] =
dbe_->
book1D(
"convZ",
" converted photon Z",zBin,zMin, zMax);
347 h_convPt_[0][0] =
dbe_->
book1D(
"convPt",
" conversions Transverse Energy: all eta ", etBin,etMin, etMax);
349 h_convEta_[1][0] =
dbe_->
book1D(
"convEtaAss2",
" Matched converted Photon Eta ",etaBin2,etaMin, etaMax) ;
350 h_convEta_[1][1] =
dbe_->
book1D(
"convEtaAss",
" Matched converted Photon Eta ",etaBin,etaMin, etaMax) ;
351 h_convEtaMatchSC_[1][0] =
dbe_->
book1D(
"convEtaMatchSCAss",
" converted Photon Eta when SC is matched ",etaBin,etaMin, etaMax) ;
352 h_convPhi_[1][0] =
dbe_->
book1D(
"convPhiAss",
" Matched converted Photon Phi ",phiBin,phiMin,phiMax) ;
353 h_convR_[1][0] =
dbe_->
book1D(
"convRAss",
" Matched converted photon R",rBin,rMin, rMax);
354 h_convZ_[1][0] =
dbe_->
book1D(
"convZAss",
" Matched converted photon Z",zBin,zMin, zMax);
355 h_convPt_[1][0] =
dbe_->
book1D(
"convPtAss",
"Matched conversions Transverse Energy: all eta ", etBin,etMin, etMax);
357 h_convEta_[2][0] =
dbe_->
book1D(
"convEtaFake2",
" Fake converted Photon Eta ",etaBin2,etaMin, etaMax) ;
358 h_convEta_[2][1] =
dbe_->
book1D(
"convEtaFake",
" Fake converted Photon Eta ",etaBin,etaMin, etaMax) ;
359 h_convEtaMatchSC_[2][0] =
dbe_->
book1D(
"convEtaMatchSCFake",
" converted Photon Eta when SC is matched ",etaBin,etaMin, etaMax) ;
360 h_convPhi_[2][0] =
dbe_->
book1D(
"convPhiFake",
" Fake converted Photon Phi ",phiBin,phiMin,phiMax) ;
361 h_convR_[2][0] =
dbe_->
book1D(
"convRFake",
" Fake converted photon R",rBin,rMin, rMax);
362 h_convZ_[2][0] =
dbe_->
book1D(
"convZFake",
" Fake converted photon Z",zBin,zMin, zMax);
363 h_convPt_[2][0] =
dbe_->
book1D(
"convPtFake",
"Fake conversions Transverse Energy: all eta ", etBin,etMin, etMax);
365 h_convRplot_ =
dbe_->
book1D(
"convRplot",
" converted photon R",600, 0.,120.);
366 h_convZplot_ =
dbe_->
book1D(
"convZplot",
" converted photon Z",320,-160.,160.);
368 histname =
"convSCdPhi";
369 h_convSCdPhi_[0][0] =
dbe_->
book1D(histname+
"All",
"dPhi between SC and conversion",100, -0.1,0.1);
370 h_convSCdPhi_[0][1] =
dbe_->
book1D(histname+
"Barrel",
" dPhi between SC and conversion: Barrel",100, -0.1,0.1);
371 h_convSCdPhi_[0][2] =
dbe_->
book1D(histname+
"Endcap",
" dPhi between SC and conversion: Endcap",100, -0.1,0.1);
372 h_convSCdPhi_[1][0] =
dbe_->
book1D(histname+
"All_Ass",
"dPhi between SC and conversion",100, -0.1,0.1);
373 h_convSCdPhi_[1][1] =
dbe_->
book1D(histname+
"Barrel_Ass",
" dPhi between SC and conversion: Barrel",100, -0.1,0.1);
374 h_convSCdPhi_[1][2] =
dbe_->
book1D(histname+
"Endcap_Ass",
" dPhi between SC and conversion: Endcap",100, -0.1,0.1);
375 h_convSCdPhi_[2][0] =
dbe_->
book1D(histname+
"All_Fakes",
"dPhi between SC and conversion",100, -0.1,0.1);
376 h_convSCdPhi_[2][1] =
dbe_->
book1D(histname+
"Barrel_Fakes",
" dPhi between SC and conversion: Barrel",100, -0.1,0.1);
377 h_convSCdPhi_[2][2] =
dbe_->
book1D(histname+
"Endcap_Fakes",
" dPhi between SC and conversion: Endcap",100, -0.1,0.1);
378 histname =
"convSCdEta";
379 h_convSCdEta_[0][0] =
dbe_->
book1D(histname+
"All",
" dEta between SC and conversion",100, -0.1,0.1);
380 h_convSCdEta_[0][1] =
dbe_->
book1D(histname+
"Barrel",
" dEta between SC and conversion: Barrel",100, -0.1,0.1);
381 h_convSCdEta_[0][2] =
dbe_->
book1D(histname+
"Endcap",
" dEta between SC and conversion: Endcap",100, -0.1,0.1);
382 h_convSCdEta_[1][0] =
dbe_->
book1D(histname+
"All_Ass",
" dEta between SC and conversion",100, -0.1,0.1);
383 h_convSCdEta_[1][1] =
dbe_->
book1D(histname+
"Barrel_Ass",
" dEta between SC and conversion: Barrel",100, -0.1,0.1);
384 h_convSCdEta_[1][2] =
dbe_->
book1D(histname+
"Endcap_Ass",
" dEta between SC and conversion: Endcap",100, -0.1,0.1);
385 h_convSCdEta_[2][0] =
dbe_->
book1D(histname+
"All_Fakes",
" dEta between SC and conversion",100, -0.1,0.1);
386 h_convSCdEta_[2][1] =
dbe_->
book1D(histname+
"Barrel_Fakes",
" dEta between SC and conversion: Barrel",100, -0.1,0.1);
387 h_convSCdEta_[2][2] =
dbe_->
book1D(histname+
"Endcap_Fakes",
" dEta between SC and conversion: Endcap",100, -0.1,0.1);
389 histname =
"convPtRes";
390 h_convPtRes_[0] =
dbe_->
book1D(histname+
"All",
" Conversion Pt rec/true : All ecal ", resBin,resMin, resMax);
391 h_convPtRes_[1] =
dbe_->
book1D(histname+
"Barrel",
" Conversion Pt rec/true : Barrel ",resBin,resMin, resMax);
392 h_convPtRes_[2] =
dbe_->
book1D(histname+
"Endcap",
" Conversion Pt rec/true : Endcap ",resBin,resMin, resMax);
396 h_invMass_[0][0]=
dbe_->
book1D(histname+
"All_AllTracks",
" Photons:Tracks from conversion: Pair invariant mass: all Ecal ",100, 0., 1.5);
397 h_invMass_[0][1]=
dbe_->
book1D(histname+
"Barrel_AllTracks",
" Photons:Tracks from conversion: Pair invariant mass: Barrel Ecal ",100, 0., 1.5);
398 h_invMass_[0][2]=
dbe_->
book1D(histname+
"Endcap_AllTracks",
" Photons:Tracks from conversion: Pair invariant mass: Endcap Ecal ",100, 0., 1.5);
400 h_invMass_[1][0]=
dbe_->
book1D(histname+
"All_AssTracks",
" Photons:Tracks from conversion: Pair invariant mass: all Ecal ",100, 0., 1.5);
401 h_invMass_[1][1]=
dbe_->
book1D(histname+
"Barrel_AssTracks",
" Photons:Tracks from conversion: Pair invariant mass: Barrel Ecal ",100, 0., 1.5);
402 h_invMass_[1][2]=
dbe_->
book1D(histname+
"Endcap_AssTracks",
" Photons:Tracks from conversion: Pair invariant mass: Endcap Ecal ",100, 0., 1.5);
404 h_invMass_[2][0]=
dbe_->
book1D(histname+
"All_FakeTracks",
" Photons:Tracks from conversion: Pair invariant mass: all Ecal ",100, 0., 1.5);
405 h_invMass_[2][1]=
dbe_->
book1D(histname+
"Barrel_FakeTracks",
" Photons:Tracks from conversion: Pair invariant mass: Barrel Ecal ",100, 0., 1.5);
406 h_invMass_[2][2]=
dbe_->
book1D(histname+
"Endcap_FaleTracks",
" Photons:Tracks from conversion: Pair invariant mass: Endcap Ecal ",100, 0., 1.5);
410 histname=
"hDPhiTracksAtVtx";
411 h_DPhiTracksAtVtx_[0][0] =
dbe_->
book1D(histname+
"All",
" Photons:Tracks from conversions: #delta#phi Tracks at vertex: all Ecal",dPhiTracksBin,dPhiTracksMin,dPhiTracksMax);
412 h_DPhiTracksAtVtx_[0][1] =
dbe_->
book1D(histname+
"Barrel",
" Photons:Tracks from conversions: #delta#phi Tracks at vertex: Barrel Ecal",dPhiTracksBin,dPhiTracksMin,dPhiTracksMax);
413 h_DPhiTracksAtVtx_[0][2] =
dbe_->
book1D(histname+
"Endcap",
" Photons:Tracks from conversions: #delta#phi Tracks at vertex: Endcap Ecal",dPhiTracksBin,dPhiTracksMin,dPhiTracksMax);
414 h_DPhiTracksAtVtx_[1][0] =
dbe_->
book1D(histname+
"All_Ass",
" Photons:Tracks from conversions: #delta#phi Tracks at vertex: all Ecal",dPhiTracksBin,dPhiTracksMin,dPhiTracksMax);
415 h_DPhiTracksAtVtx_[1][1] =
dbe_->
book1D(histname+
"Barrel_Ass",
" Photons:Tracks from conversions: #delta#phi Tracks at vertex: Barrel Ecal",dPhiTracksBin,dPhiTracksMin,dPhiTracksMax);
416 h_DPhiTracksAtVtx_[1][2] =
dbe_->
book1D(histname+
"Endcap_Ass",
" Photons:Tracks from conversions: #delta#phi Tracks at vertex: Endcap Ecal",dPhiTracksBin,dPhiTracksMin,dPhiTracksMax);
417 h_DPhiTracksAtVtx_[2][0] =
dbe_->
book1D(histname+
"All_Fakes",
" Photons:Tracks from conversions: #delta#phi Tracks at vertex: all Ecal",dPhiTracksBin,dPhiTracksMin,dPhiTracksMax);
418 h_DPhiTracksAtVtx_[2][1] =
dbe_->
book1D(histname+
"Barrel_Fakes",
" Photons:Tracks from conversions: #delta#phi Tracks at vertex: Barrel Ecal",dPhiTracksBin,dPhiTracksMin,dPhiTracksMax);
419 h_DPhiTracksAtVtx_[2][2] =
dbe_->
book1D(histname+
"Endcap_Fakes",
" Photons:Tracks from conversions: #delta#phi Tracks at vertex: Endcap Ecal",dPhiTracksBin,dPhiTracksMin,dPhiTracksMax);
423 histname=
"hDPhiTracksAtVtxVsEta";
424 h2_DPhiTracksAtVtxVsEta_ =
dbe_->
book2D(histname+
"All",
" Photons:Tracks from conversions: #delta#phi Tracks at vertex vs #eta",etaBin2,etaMin, etaMax,100, -0.5, 0.5);
425 histname=
"pDPhiTracksAtVtxVsEta";
426 p_DPhiTracksAtVtxVsEta_ =
dbe_->
bookProfile(histname+
"All",
" Photons:Tracks from conversions: #delta#phi Tracks at vertex vs #eta ",etaBin2,etaMin, etaMax, 100, -0.5, 0.5,
"");
428 histname=
"hDPhiTracksAtVtxVsR";
429 h2_DPhiTracksAtVtxVsR_ =
dbe_->
book2D(histname+
"All",
" Photons:Tracks from conversions: #delta#phi Tracks at vertex vs R",rBin,rMin, rMax,100, -0.5, 0.5);
430 histname=
"pDPhiTracksAtVtxVsR";
431 p_DPhiTracksAtVtxVsR_ =
dbe_->
bookProfile(histname+
"All",
" Photons:Tracks from conversions: #delta#phi Tracks at vertex vs R ",rBin,rMin, rMax,100, -0.5, 0.5,
"");
434 histname=
"hDCotTracks";
435 h_DCotTracks_[0][0]=
dbe_->
book1D(histname+
"All",
" Photons:Tracks from conversions #delta cotg(#Theta) Tracks: all Ecal ",dCotTracksBin,dCotTracksMin,dCotTracksMax);
436 h_DCotTracks_[0][1]=
dbe_->
book1D(histname+
"Barrel",
" Photons:Tracks from conversions #delta cotg(#Theta) Tracks: Barrel Ecal ",dCotTracksBin,dCotTracksMin,dCotTracksMax);
437 h_DCotTracks_[0][2]=
dbe_->
book1D(histname+
"Endcap",
" Photons:Tracks from conversions #delta cotg(#Theta) Tracks: Endcap Ecal ",dCotTracksBin,dCotTracksMin,dCotTracksMax);
438 h_DCotTracks_[1][0]=
dbe_->
book1D(histname+
"All_Ass",
" Photons:Tracks from conversions #delta cotg(#Theta) Tracks: all Ecal ",dCotTracksBin,dCotTracksMin,dCotTracksMax);
439 h_DCotTracks_[1][1]=
dbe_->
book1D(histname+
"Barrel_Ass",
" Photons:Tracks from conversions #delta cotg(#Theta) Tracks: Barrel Ecal ",dCotTracksBin,dCotTracksMin,dCotTracksMax);
440 h_DCotTracks_[1][2]=
dbe_->
book1D(histname+
"Endcap_Ass",
" Photons:Tracks from conversions #delta cotg(#Theta) Tracks: Endcap Ecal ",dCotTracksBin,dCotTracksMin,dCotTracksMax);
441 h_DCotTracks_[2][0]=
dbe_->
book1D(histname+
"All_Fakes",
" Photons:Tracks from conversions #delta cotg(#Theta) Tracks: all Ecal ",dCotTracksBin,dCotTracksMin,dCotTracksMax);
442 h_DCotTracks_[2][1]=
dbe_->
book1D(histname+
"Barrel_Fakes",
" Photons:Tracks from conversions #delta cotg(#Theta) Tracks: Barrel Ecal ",dCotTracksBin,dCotTracksMin,dCotTracksMax);
443 h_DCotTracks_[2][2]=
dbe_->
book1D(histname+
"Endcap_Fakes",
" Photons:Tracks from conversions #delta cotg(#Theta) Tracks: Endcap Ecal ",dCotTracksBin,dCotTracksMin,dCotTracksMax);
446 histname=
"hDCotTracksVsEta";
447 h2_DCotTracksVsEta_ =
dbe_->
book2D(histname+
"All",
" Photons:Tracks from conversions: #delta cotg(#Theta) Tracks vs #eta",etaBin2,etaMin, etaMax,100, -0.2, 0.2);
448 histname=
"pDCotTracksVsEta";
449 p_DCotTracksVsEta_ =
dbe_->
bookProfile(histname+
"All",
" Photons:Tracks from conversions: #delta cotg(#Theta) Tracks vs #eta ",etaBin2,etaMin, etaMax, 100, -0.2, 0.2,
"");
451 histname=
"hDCotTracksVsR";
452 h2_DCotTracksVsR_ =
dbe_->
book2D(histname+
"All",
" Photons:Tracks from conversions: #delta cotg(#Theta) Tracks at vertex vs R",rBin,rMin, rMax,100, -0.2, 0.2);
453 histname=
"pDCotTracksVsR";
454 p_DCotTracksVsR_ =
dbe_->
bookProfile(histname+
"All",
" Photons:Tracks from conversions: #delta cotg(#Theta) Tracks at vertex vs R ",rBin,rMin, rMax,100, -0.2, 0.2,
"");
457 histname=
"hDistMinAppTracks";
458 h_distMinAppTracks_[0][0]=
dbe_->
book1D(histname+
"All",
" Photons:Tracks from conversions Min Approach Dist Tracks: all Ecal ",120, -0.5, 1.0);
459 h_distMinAppTracks_[0][1]=
dbe_->
book1D(histname+
"Barrel",
" Photons:Tracks from conversions Min Approach Dist Tracks: Barrel Ecal ",120, -0.5, 1.0);
460 h_distMinAppTracks_[0][2]=
dbe_->
book1D(histname+
"Endcap",
" Photons:Tracks from conversions Min Approach Dist Tracks: Endcap Ecal ",120, -0.5, 1.0);
461 h_distMinAppTracks_[1][0]=
dbe_->
book1D(histname+
"All_Ass",
" Photons:Tracks from conversions Min Approach Dist Tracks: all Ecal ",120, -0.5, 1.0);
462 h_distMinAppTracks_[1][1]=
dbe_->
book1D(histname+
"Barrel_Ass",
" Photons:Tracks from conversions Min Approach Dist Tracks: Barrel Ecal ",120, -0.5, 1.0);
463 h_distMinAppTracks_[1][2]=
dbe_->
book1D(histname+
"Endcap_Ass",
" Photons:Tracks from conversions Min Approach Dist Tracks: Endcap Ecal ",120, -0.5, 1.0);
464 h_distMinAppTracks_[2][0]=
dbe_->
book1D(histname+
"All_Fakes",
" Photons:Tracks from conversions Min Approach Dist Tracks: all Ecal ",120, -0.5, 1.0);
465 h_distMinAppTracks_[2][1]=
dbe_->
book1D(histname+
"Barrel_Fakes",
" Photons:Tracks from conversions Min Approach Dist Tracks: Barrel Ecal ",120, -0.5, 1.0);
466 h_distMinAppTracks_[2][2]=
dbe_->
book1D(histname+
"Endcap_Fakes",
" Photons:Tracks from conversions Min Approach Dist Tracks: Endcap Ecal ",120, -0.5, 1.0);
469 h_convVtxRvsZ_[0] =
dbe_->
book2D(
"convVtxRvsZAll",
" Photon Reco conversion vtx position",zBinForXray, zMinForXray, zMaxForXray, rBinForXray, rMinForXray, rMaxForXray);
470 h_convVtxRvsZ_[1] =
dbe_->
book2D(
"convVtxRvsZBarrel",
" Photon Reco conversion vtx position",zBinForXray, zMinForXray, zMaxForXray, rBinForXray, rMinForXray, rMaxForXray);
471 h_convVtxRvsZ_[2] =
dbe_->
book2D(
"convVtxRvsZEndcap",
" Photon Reco conversion vtx position",zBin2ForXray, zMinForXray, zMaxForXray, rBinForXray, rMinForXray, rMaxForXray);
472 h_convVtxYvsX_ =
dbe_->
book2D(
"convVtxYvsXTrkBarrel",
" Photon Reco conversion vtx position, (x,y) eta<1 ", 1000, -60., 60., 1000, -60., 60.);
474 h_convVtxRvsZ_zoom_[0] =
dbe_->
book2D(
"convVtxRvsZBarrelZoom1",
" Photon Reco conversion vtx position",zBinForXray, zMinForXray, zMaxForXray, rBinForXray, -10., 40.);
475 h_convVtxRvsZ_zoom_[1] =
dbe_->
book2D(
"convVtxRvsZBarrelZoom2",
" Photon Reco conversion vtx position",zBinForXray, zMinForXray, zMaxForXray, rBinForXray, -10., 20.);
476 h_convVtxYvsX_zoom_[0] =
dbe_->
book2D(
"convVtxYvsXTrkBarrelZoom1",
" Photon Reco conversion vtx position, (x,y) eta<1 ",100, -40., 40., 100, -40., 40.);
477 h_convVtxYvsX_zoom_[1] =
dbe_->
book2D(
"convVtxYvsXTrkBarrelZoom2",
" Photon Reco conversion vtx position, (x,y) eta<1 ",100, -20., 20., 100, -20., 20.);
479 h_convVtxdR_ =
dbe_->
book1D(
"convVtxdR",
" Photon Reco conversion vtx dR",100, -10.,10.);
480 h_convVtxdX_ =
dbe_->
book1D(
"convVtxdX",
" Photon Reco conversion vtx dX",100, -10.,10.);
481 h_convVtxdY_ =
dbe_->
book1D(
"convVtxdY",
" Photon Reco conversion vtx dY",100, -10.,10.);
482 h_convVtxdZ_ =
dbe_->
book1D(
"convVtxdZ",
" Photon Reco conversion vtx dZ",100, -20.,20.);
484 h_convVtxdPhi_ =
dbe_->
book1D(
"convVtxdPhi",
" Photon Reco conversion vtx dPhi",100, -0.01,0.01);
485 h_convVtxdEta_ =
dbe_->
book1D(
"convVtxdEta",
" Photon Reco conversion vtx dEta",100, -0.5,0.5);
487 h_convVtxdR_barrel_ =
dbe_->
book1D(
"convVtxdR_barrel",
" Photon Reco conversion vtx dR, |eta|<=1.2",100, -10.,10.);
488 h_convVtxdX_barrel_ =
dbe_->
book1D(
"convVtxdX_barrel",
" Photon Reco conversion vtx dX, |eta|<=1.2",100, -10.,10.);
489 h_convVtxdY_barrel_ =
dbe_->
book1D(
"convVtxdY_barrel",
" Photon Reco conversion vtx dY, |eta|<=1.2 ",100, -10.,10.);
490 h_convVtxdZ_barrel_ =
dbe_->
book1D(
"convVtxdZ_barrel",
" Photon Reco conversion vtx dZ, |eta|<=1.2,",100, -20.,20.);
492 h_convVtxdR_endcap_ =
dbe_->
book1D(
"convVtxdR_endcap",
" Photon Reco conversion vtx dR, |eta|>1.2 ",100, -10.,10.);
493 h_convVtxdX_endcap_ =
dbe_->
book1D(
"convVtxdX_endcap",
" Photon Reco conversion vtx dX, |eta|>1.2",100, -10.,10.);
494 h_convVtxdY_endcap_ =
dbe_->
book1D(
"convVtxdY_endcap",
" Photon Reco conversion vtx dY, |eta|>1.2",100, -10.,10.);
495 h_convVtxdZ_endcap_ =
dbe_->
book1D(
"convVtxdZ_endcap",
" Photon Reco conversion vtx dZ, |eta|>1.2",100, -20.,20.);
499 h2_convVtxdRVsR_ =
dbe_->
book2D(
"h2ConvVtxdRVsR",
" Conversion vtx dR vsR" ,rBin,rMin, rMax,100, -20.,20.);
500 h2_convVtxdRVsEta_ =
dbe_->
book2D(
"h2ConvVtxdRVsEta",
"Conversion vtx dR vs Eta" ,etaBin2,etaMin, etaMax,100, -20.,20.);
502 p_convVtxdRVsR_ =
dbe_->
bookProfile(
"pConvVtxdRVsR",
" Conversion vtx dR vsR" ,rBin,rMin, rMax ,100, -20.,20.,
"");
503 p_convVtxdRVsEta_ =
dbe_->
bookProfile(
"pConvVtxdRVsEta",
"Conversion vtx dR vs Eta" ,etaBin2,etaMin, etaMax, 100, -20.,20.,
"");
504 p_convVtxdXVsX_ =
dbe_->
bookProfile(
"pConvVtxdXVsX",
"Conversion vtx dX vs X" ,120,-60, 60 ,100, -20.,20.,
"");
505 p_convVtxdYVsY_ =
dbe_->
bookProfile(
"pConvVtxdYVsY",
"Conversion vtx dY vs Y" ,120,-60, 60 ,100, -20.,20.,
"");
506 p_convVtxdZVsZ_ =
dbe_->
bookProfile(
"pConvVtxdZVsZ",
"Conversion vtx dZ vs Z" ,zBin,zMin,zMax ,100, -20.,20.,
"");
508 p_convVtxdZVsR_ =
dbe_->
bookProfile(
"pConvVtxdZVsR",
"Conversion vtx dZ vs R" ,rBin,rMin,rMax ,100, -20.,20.,
"");
509 p2_convVtxdRVsRZ_ =
dbe_->
bookProfile2D(
"p2ConvVtxdRVsRZ",
"Conversion vtx dR vs RZ" ,zBin,zMin, zMax,rBin,rMin,rMax,100, 0.,20.,
"s");
510 p2_convVtxdZVsRZ_ =
dbe_->
bookProfile2D(
"p2ConvVtxdZVsRZ",
"Conversion vtx dZ vs RZ" ,zBin,zMin, zMax,rBin,rMin,rMax,100, 0.,20.,
"s");
513 histname=
"EoverPtracks";
514 h_EoverPTracks_[0][0] =
dbe_->
book1D(histname+
"All",
" photons conversion E/p: all Ecal ", eoverpBin, eoverpMin, eoverpMax );
515 h_EoverPTracks_[0][1] =
dbe_->
book1D(histname+
"Barrel",
" photons conversion E/p: Barrel Ecal", eoverpBin, eoverpMin, eoverpMax);
516 h_EoverPTracks_[0][2] =
dbe_->
book1D(histname+
"Endcap",
" photons conversion E/p: Endcap Ecal ", eoverpBin, eoverpMin, eoverpMax);
517 h_EoverPTracks_[1][0] =
dbe_->
book1D(histname+
"All_Ass",
" photons conversion E/p: all Ecal ", eoverpBin, eoverpMin, eoverpMax);
518 h_EoverPTracks_[1][1] =
dbe_->
book1D(histname+
"Barrel_Ass",
" photons conversion E/p: Barrel Ecal", eoverpBin, eoverpMin, eoverpMax);
519 h_EoverPTracks_[1][2] =
dbe_->
book1D(histname+
"Endcap_Ass",
" photons conversion E/p: Endcap Ecal ", eoverpBin, eoverpMin, eoverpMax);
520 h_EoverPTracks_[2][0] =
dbe_->
book1D(histname+
"All_Fakes",
" photons conversion E/p: all Ecal ", eoverpBin, eoverpMin, eoverpMax);
521 h_EoverPTracks_[2][1] =
dbe_->
book1D(histname+
"Barrel_Fakes",
" photons conversion E/p: Barrel Ecal", eoverpBin, eoverpMin, eoverpMax);
522 h_EoverPTracks_[2][2] =
dbe_->
book1D(histname+
"Endcap_Fakes",
" photons conversion E/p: Endcap Ecal ", eoverpBin, eoverpMin, eoverpMax);
525 h2_convVtxRrecVsTrue_ =
dbe_->
book2D(
"h2ConvVtxRrecVsTrue",
"Photon Reco conversion vtx R rec vs true" ,rBin,rMin, rMax,rBin,rMin, rMax);
527 histname=
"vtxChi2Prob";
528 h_vtxChi2Prob_[0][0] =
dbe_->
book1D(histname+
"All",
"vertex #chi^{2} all", 100, 0., 1.);
529 h_vtxChi2Prob_[0][1] =
dbe_->
book1D(histname+
"Barrel",
"vertex #chi^{2} barrel", 100, 0., 1.);
530 h_vtxChi2Prob_[0][2] =
dbe_->
book1D(histname+
"Endcap",
"vertex #chi^{2} endcap", 100, 0., 1.);
531 h_vtxChi2Prob_[1][0] =
dbe_->
book1D(histname+
"All_Ass",
"vertex #chi^{2} all", 100, 0., 1.);
532 h_vtxChi2Prob_[1][1] =
dbe_->
book1D(histname+
"Barrel_Ass",
"vertex #chi^{2} barrel", 100, 0., 1.);
533 h_vtxChi2Prob_[1][2] =
dbe_->
book1D(histname+
"Endcap_Ass",
"vertex #chi^{2} endcap", 100, 0., 1.);
534 h_vtxChi2Prob_[2][0] =
dbe_->
book1D(histname+
"All_Fakes",
"vertex #chi^{2} all", 100, 0., 1.);
535 h_vtxChi2Prob_[2][1] =
dbe_->
book1D(histname+
"Barrel_Fakes",
"vertex #chi^{2} barrel", 100, 0., 1.);
536 h_vtxChi2Prob_[2][2] =
dbe_->
book1D(histname+
"Endcap_Fakes",
"vertex #chi^{2} endcap", 100, 0., 1.);
539 h_zPVFromTracks_[1] =
dbe_->
book1D(
"zPVFromTracks",
" Photons: PV z from conversion tracks",100, -25., 25.);
540 h_dzPVFromTracks_[1] =
dbe_->
book1D(
"dzPVFromTracks",
" Photons: PV Z_rec - Z_true from conversion tracks",100, -5., 5.);
541 h2_dzPVVsR_ =
dbe_->
book2D(
"h2dzPVVsR",
"Photon Reco conversions: dz(PV) vs R" ,rBin,rMin, rMax,100, -3.,3.);
542 p_dzPVVsR_ =
dbe_->
bookProfile(
"pdzPVVsR",
"Photon Reco conversions: dz(PV) vs R" ,rBin,rMin, rMax, 100, -3.,3.,
"");
546 h_lxybs_[0][0] =
dbe_->
book1D(histname+
"All",
"vertex #chi^{2} all", 200, -100., 100.);
547 h_lxybs_[0][1] =
dbe_->
book1D(histname+
"Barrel",
"vertex #chi^{2} barrel", 200, -100., 100.);
548 h_lxybs_[0][2] =
dbe_->
book1D(histname+
"Endcap",
"vertex #chi^{2} endcap", 200, -100., 100.);
549 h_lxybs_[1][0] =
dbe_->
book1D(histname+
"All_Ass",
"vertex #chi^{2} all", 200, -100., 100.);
550 h_lxybs_[1][1] =
dbe_->
book1D(histname+
"Barrel_Ass",
"vertex #chi^{2} barrel", 200, -100., 100.);
551 h_lxybs_[1][2] =
dbe_->
book1D(histname+
"Endcap_Ass",
"vertex #chi^{2} endcap", 200, -100., 100.);
552 h_lxybs_[2][0] =
dbe_->
book1D(histname+
"All_Fakes",
"vertex #chi^{2} all", 200, -100., 100.);
553 h_lxybs_[2][1] =
dbe_->
book1D(histname+
"Barrel_Fakes",
"vertex #chi^{2} barrel", 200, -100., 100.);
554 h_lxybs_[2][2] =
dbe_->
book1D(histname+
"Endcap_Fakes",
"vertex #chi^{2} endcap", 200, -100., 100.);
556 histname=
"maxNHitsBeforeVtx";
557 h_maxNHitsBeforeVtx_[0][0] =
dbe_->
book1D(histname+
"All",
"vertex #chi^{2} all", 16, -0.5, 15.5);
558 h_maxNHitsBeforeVtx_[0][1] =
dbe_->
book1D(histname+
"Barrel",
"vertex #chi^{2} barrel", 16, -0.5, 15.5);
559 h_maxNHitsBeforeVtx_[0][2] =
dbe_->
book1D(histname+
"Endcap",
"vertex #chi^{2} endcap", 16, -0.5, 15.5);
560 h_maxNHitsBeforeVtx_[1][0] =
dbe_->
book1D(histname+
"All_Ass",
"vertex #chi^{2} all", 16, -0.5, 15.5);
561 h_maxNHitsBeforeVtx_[1][1] =
dbe_->
book1D(histname+
"Barrel_Ass",
"vertex #chi^{2} barrel", 16, -0.5, 15.5);
562 h_maxNHitsBeforeVtx_[1][2] =
dbe_->
book1D(histname+
"Endcap_Ass",
"vertex #chi^{2} endcap", 16, -0.5, 15.5);
563 h_maxNHitsBeforeVtx_[2][0] =
dbe_->
book1D(histname+
"All_Fakes",
"vertex #chi^{2} all", 16, -0.5, 15.5);
564 h_maxNHitsBeforeVtx_[2][1] =
dbe_->
book1D(histname+
"Barrel_Fakes",
"vertex #chi^{2} barrel", 16, -0.5, 15.5);
565 h_maxNHitsBeforeVtx_[2][2] =
dbe_->
book1D(histname+
"Endcap_Fakes",
"vertex #chi^{2} endcap", 16, -0.5, 15.5);
567 histname=
"leadNHitsBeforeVtx";
568 h_leadNHitsBeforeVtx_[0][0] =
dbe_->
book1D(histname+
"All",
"vertex #chi^{2} all", 16, -0.5, 15.5);
569 h_leadNHitsBeforeVtx_[0][1] =
dbe_->
book1D(histname+
"Barrel",
"vertex #chi^{2} barrel", 16, -0.5, 15.5);
570 h_leadNHitsBeforeVtx_[0][2] =
dbe_->
book1D(histname+
"Endcap",
"vertex #chi^{2} endcap", 16, -0.5, 15.5);
571 h_leadNHitsBeforeVtx_[1][0] =
dbe_->
book1D(histname+
"All_Ass",
"vertex #chi^{2} all", 16, -0.5, 15.5);
572 h_leadNHitsBeforeVtx_[1][1] =
dbe_->
book1D(histname+
"Barrel_Ass",
"vertex #chi^{2} barrel", 16, -0.5, 15.5);
573 h_leadNHitsBeforeVtx_[1][2] =
dbe_->
book1D(histname+
"Endcap_Ass",
"vertex #chi^{2} endcap", 16, -0.5, 15.5);
574 h_leadNHitsBeforeVtx_[2][0] =
dbe_->
book1D(histname+
"All_Fakes",
"vertex #chi^{2} all", 16, -0.5, 15.5);
575 h_leadNHitsBeforeVtx_[2][1] =
dbe_->
book1D(histname+
"Barrel_Fakes",
"vertex #chi^{2} barrel", 16, -0.5, 15.5);
576 h_leadNHitsBeforeVtx_[2][2] =
dbe_->
book1D(histname+
"Endcap_Fakes",
"vertex #chi^{2} endcap", 16, -0.5, 15.5);
578 histname=
"trailNHitsBeforeVtx";
579 h_trailNHitsBeforeVtx_[0][0] =
dbe_->
book1D(histname+
"All",
"vertex #chi^{2} all", 16, -0.5, 15.5);
580 h_trailNHitsBeforeVtx_[0][1] =
dbe_->
book1D(histname+
"Barrel",
"vertex #chi^{2} barrel", 16, -0.5, 15.5);
581 h_trailNHitsBeforeVtx_[0][2] =
dbe_->
book1D(histname+
"Endcap",
"vertex #chi^{2} endcap", 16, -0.5, 15.5);
582 h_trailNHitsBeforeVtx_[1][0] =
dbe_->
book1D(histname+
"All_Ass",
"vertex #chi^{2} all", 16, -0.5, 15.5);
583 h_trailNHitsBeforeVtx_[1][1] =
dbe_->
book1D(histname+
"Barrel_Ass",
"vertex #chi^{2} barrel", 16, -0.5, 15.5);
584 h_trailNHitsBeforeVtx_[1][2] =
dbe_->
book1D(histname+
"Endcap_Ass",
"vertex #chi^{2} endcap", 16, -0.5, 15.5);
585 h_trailNHitsBeforeVtx_[2][0] =
dbe_->
book1D(histname+
"All_Fakes",
"vertex #chi^{2} all", 16, -0.5, 15.5);
586 h_trailNHitsBeforeVtx_[2][1] =
dbe_->
book1D(histname+
"Barrel_Fakes",
"vertex #chi^{2} barrel", 16, -0.5, 15.5);
587 h_trailNHitsBeforeVtx_[2][2] =
dbe_->
book1D(histname+
"Endcap_Fakes",
"vertex #chi^{2} endcap", 16, -0.5, 15.5);
589 histname=
"sumNHitsBeforeVtx";
590 h_sumNHitsBeforeVtx_[0][0] =
dbe_->
book1D(histname+
"All",
"vertex #chi^{2} all", 16, -0.5, 15.5);
591 h_sumNHitsBeforeVtx_[0][1] =
dbe_->
book1D(histname+
"Barrel",
"vertex #chi^{2} barrel", 16, -0.5, 15.5);
592 h_sumNHitsBeforeVtx_[0][2] =
dbe_->
book1D(histname+
"Endcap",
"vertex #chi^{2} endcap", 16, -0.5, 15.5);
593 h_sumNHitsBeforeVtx_[1][0] =
dbe_->
book1D(histname+
"All_Ass",
"vertex #chi^{2} all", 16, -0.5, 15.5);
594 h_sumNHitsBeforeVtx_[1][1] =
dbe_->
book1D(histname+
"Barrel_Ass",
"vertex #chi^{2} barrel", 16, -0.5, 15.5);
595 h_sumNHitsBeforeVtx_[1][2] =
dbe_->
book1D(histname+
"Endcap_Ass",
"vertex #chi^{2} endcap", 16, -0.5, 15.5);
596 h_sumNHitsBeforeVtx_[2][0] =
dbe_->
book1D(histname+
"All_Fakes",
"vertex #chi^{2} all", 16, -0.5, 15.5);
597 h_sumNHitsBeforeVtx_[2][1] =
dbe_->
book1D(histname+
"Barrel_Fakes",
"vertex #chi^{2} barrel", 16, -0.5, 15.5);
598 h_sumNHitsBeforeVtx_[2][2] =
dbe_->
book1D(histname+
"Endcap_Fakes",
"vertex #chi^{2} endcap", 16, -0.5, 15.5);
600 histname=
"maxDlClosestHitToVtx";
601 h_maxDlClosestHitToVtx_[0][0] =
dbe_->
book1D(histname+
"All",
"vertex #chi^{2} all", 100, -10., 10.);
602 h_maxDlClosestHitToVtx_[0][1] =
dbe_->
book1D(histname+
"Barrel",
"vertex #chi^{2} barrel", 100, -10., 10.);
603 h_maxDlClosestHitToVtx_[0][2] =
dbe_->
book1D(histname+
"Endcap",
"vertex #chi^{2} endcap", 100, -10., 10.);
604 h_maxDlClosestHitToVtx_[1][0] =
dbe_->
book1D(histname+
"All_Ass",
"vertex #chi^{2} all", 100, -10., 10.);
605 h_maxDlClosestHitToVtx_[1][1] =
dbe_->
book1D(histname+
"Barrel_Ass",
"vertex #chi^{2} barrel", 100, -10., 10.);
606 h_maxDlClosestHitToVtx_[1][2] =
dbe_->
book1D(histname+
"Endcap_Ass",
"vertex #chi^{2} endcap", 100, -10., 10.);
607 h_maxDlClosestHitToVtx_[2][0] =
dbe_->
book1D(histname+
"All_Fakes",
"vertex #chi^{2} all", 100, -10., 10.);
608 h_maxDlClosestHitToVtx_[2][1] =
dbe_->
book1D(histname+
"Barrel_Fakes",
"vertex #chi^{2} barrel", 100, -10., 10.);
609 h_maxDlClosestHitToVtx_[2][2] =
dbe_->
book1D(histname+
"Endcap_Fakes",
"vertex #chi^{2} endcap", 100, -10., 10.);
611 histname=
"maxDlClosestHitToVtxSig";
612 h_maxDlClosestHitToVtxSig_[0][0] =
dbe_->
book1D(histname+
"All",
"vertex #chi^{2} all", 100, -8., 8.);
613 h_maxDlClosestHitToVtxSig_[0][1] =
dbe_->
book1D(histname+
"Barrel",
"vertex #chi^{2} barrel", 100, -8., 8.);
614 h_maxDlClosestHitToVtxSig_[0][2] =
dbe_->
book1D(histname+
"Endcap",
"vertex #chi^{2} endcap", 100, -8., 8.);
615 h_maxDlClosestHitToVtxSig_[1][0] =
dbe_->
book1D(histname+
"All_Ass",
"vertex #chi^{2} all", 100, -8., 8.);
616 h_maxDlClosestHitToVtxSig_[1][1] =
dbe_->
book1D(histname+
"Barrel_Ass",
"vertex #chi^{2} barrel", 100, -8., 8.);
617 h_maxDlClosestHitToVtxSig_[1][2] =
dbe_->
book1D(histname+
"Endcap_Ass",
"vertex #chi^{2} endcap", 100, -8., 8.);
618 h_maxDlClosestHitToVtxSig_[2][0] =
dbe_->
book1D(histname+
"All_Fakes",
"vertex #chi^{2} all", 100, -8., 8.);
619 h_maxDlClosestHitToVtxSig_[2][1] =
dbe_->
book1D(histname+
"Barrel_Fakes",
"vertex #chi^{2} barrel", 100, -8., 8.);
620 h_maxDlClosestHitToVtxSig_[2][2] =
dbe_->
book1D(histname+
"Endcap_Fakes",
"vertex #chi^{2} endcap", 100, -8., 8.);
622 histname=
"deltaExpectedHitsInner";
623 h_deltaExpectedHitsInner_[0][0] =
dbe_->
book1D(histname+
"All",
"vertex #chi^{2} all", 31, -15.5, 15.5);
624 h_deltaExpectedHitsInner_[0][1] =
dbe_->
book1D(histname+
"Barrel",
"vertex #chi^{2} barrel", 31, -15.5, 15.5);
625 h_deltaExpectedHitsInner_[0][2] =
dbe_->
book1D(histname+
"Endcap",
"vertex #chi^{2} endcap", 31, -15.5, 15.5);
626 h_deltaExpectedHitsInner_[1][0] =
dbe_->
book1D(histname+
"All_Ass",
"vertex #chi^{2} all", 31, -15.5, 15.5);
627 h_deltaExpectedHitsInner_[1][1] =
dbe_->
book1D(histname+
"Barrel_Ass",
"vertex #chi^{2} barrel", 31, -15.5, 15.5);
628 h_deltaExpectedHitsInner_[1][2] =
dbe_->
book1D(histname+
"Endcap_Ass",
"vertex #chi^{2} endcap", 31, -15.5, 15.5);
629 h_deltaExpectedHitsInner_[2][0] =
dbe_->
book1D(histname+
"All_Fakes",
"vertex #chi^{2} all", 31, -15.5, 15.5);
630 h_deltaExpectedHitsInner_[2][1] =
dbe_->
book1D(histname+
"Barrel_Fakes",
"vertex #chi^{2} barrel", 31, -15.5, 15.5);
631 h_deltaExpectedHitsInner_[2][2] =
dbe_->
book1D(histname+
"Endcap_Fakes",
"vertex #chi^{2} endcap", 31, -15.5, 15.5);
633 histname=
"leadExpectedHitsInner";
634 h_leadExpectedHitsInner_[0][0] =
dbe_->
book1D(histname+
"All",
"vertex #chi^{2} all", 16, -0.5, 15.5);
635 h_leadExpectedHitsInner_[0][1] =
dbe_->
book1D(histname+
"Barrel",
"vertex #chi^{2} barrel", 16, -0.5, 15.5);
636 h_leadExpectedHitsInner_[0][2] =
dbe_->
book1D(histname+
"Endcap",
"vertex #chi^{2} endcap", 16, -0.5, 15.5);
637 h_leadExpectedHitsInner_[1][0] =
dbe_->
book1D(histname+
"All_Ass",
"vertex #chi^{2} all", 16, -0.5, 15.5);
638 h_leadExpectedHitsInner_[1][1] =
dbe_->
book1D(histname+
"Barrel_Ass",
"vertex #chi^{2} barrel", 16, -0.5, 15.5);
639 h_leadExpectedHitsInner_[1][2] =
dbe_->
book1D(histname+
"Endcap_Ass",
"vertex #chi^{2} endcap", 16, -0.5, 15.5);
640 h_leadExpectedHitsInner_[2][0] =
dbe_->
book1D(histname+
"All_Fakes",
"vertex #chi^{2} all", 16, -0.5, 15.5);
641 h_leadExpectedHitsInner_[2][1] =
dbe_->
book1D(histname+
"Barrel_Fakes",
"vertex #chi^{2} barrel", 16, -0.5, 15.5);
642 h_leadExpectedHitsInner_[2][2] =
dbe_->
book1D(histname+
"Endcap_Fakes",
"vertex #chi^{2} endcap", 16, -0.5, 15.5);
644 histname=
"nSharedHits";
645 h_nSharedHits_[0][0] =
dbe_->
book1D(histname+
"All",
"vertex #chi^{2} all", 16, -0.5, 15.5);
646 h_nSharedHits_[0][1] =
dbe_->
book1D(histname+
"Barrel",
"vertex #chi^{2} barrel", 16, -0.5, 15.5);
647 h_nSharedHits_[0][2] =
dbe_->
book1D(histname+
"Endcap",
"vertex #chi^{2} endcap", 16, -0.5, 15.5);
648 h_nSharedHits_[1][0] =
dbe_->
book1D(histname+
"All_Ass",
"vertex #chi^{2} all", 16, -0.5, 15.5);
649 h_nSharedHits_[1][1] =
dbe_->
book1D(histname+
"Barrel_Ass",
"vertex #chi^{2} barrel", 16, -0.5, 15.5);
650 h_nSharedHits_[1][2] =
dbe_->
book1D(histname+
"Endcap_Ass",
"vertex #chi^{2} endcap", 16, -0.5, 15.5);
651 h_nSharedHits_[2][0] =
dbe_->
book1D(histname+
"All_Fakes",
"vertex #chi^{2} all", 16, -0.5, 15.5);
652 h_nSharedHits_[2][1] =
dbe_->
book1D(histname+
"Barrel_Fakes",
"vertex #chi^{2} barrel", 16, -0.5, 15.5);
653 h_nSharedHits_[2][2] =
dbe_->
book1D(histname+
"Endcap_Fakes",
"vertex #chi^{2} endcap", 16, -0.5, 15.5);
657 nHits_[0] =
dbe_->
book2D(histname+
"AllTracks",
"Photons:Tracks from conversions: # of hits all tracks",etaBin,etaMin, etaMax,30,0., 30.);
658 nHits_[1] =
dbe_->
book2D(histname+
"AllTracks_Ass",
"Photons:Tracks from conversions: # of hits all tracks ass",etaBin,etaMin, etaMax,30,0., 30.);
659 nHits_[2] =
dbe_->
book2D(histname+
"AllTracks_Fakes",
"Photons:Tracks from conversions: # of hits all tracks fakes",etaBin,etaMin, etaMax,30,0., 30.);
662 histname=
"nHitsVsEta";
663 nHitsVsEta_[0] =
dbe_->
book2D(histname+
"AllTracks",
"Photons:Tracks from conversions: # of hits vs #eta all tracks",etaBin,etaMin, etaMax,30,0., 30.);
664 nHitsVsEta_[1] =
dbe_->
book2D(histname+
"AllTracks_Ass",
"Photons:Tracks from conversions: # of hits vs #eta all tracks",etaBin,etaMin, etaMax,30,0., 30.);
665 nHitsVsEta_[2] =
dbe_->
book2D(histname+
"AllTracks_Fakes",
"Photons:Tracks from conversions: # of hits vs #eta all tracks",etaBin,etaMin, etaMax,30,0., 30.);
666 histname=
"h_nHitsVsEta";
667 p_nHitsVsEta_[0] =
dbe_->
bookProfile(histname+
"AllTracks",
"Photons:Tracks from conversions: # of hits vs #eta all tracks",etaBin,etaMin, etaMax, 30,-0.5, 29.5,
"");
668 p_nHitsVsEta_[1] =
dbe_->
bookProfile(histname+
"AllTracks_Ass",
"Photons:Tracks from conversions: # of hits vs #eta all tracks",etaBin,etaMin, etaMax, 30,-0.5, 29.5,
"");
669 p_nHitsVsEta_[2] =
dbe_->
bookProfile(histname+
"AllTracks_Fakes",
"Photons:Tracks from conversions: # of hits vs #eta all tracks",etaBin,etaMin, etaMax, 30,-0.5, 29.5,
"");
673 nHitsVsR_[0] =
dbe_->
book2D(histname+
"AllTracks",
"Photons:Tracks from conversions: # of hits vs radius all tracks" ,rBin,rMin, rMax,30,0., 30.);
674 nHitsVsR_[1] =
dbe_->
book2D(histname+
"AllTracks_Ass",
"Photons:Tracks from conversions: # of hits vs radius all tracks" ,rBin,rMin, rMax,30,0., 30.);
675 nHitsVsR_[2] =
dbe_->
book2D(histname+
"AllTracks_Fakes",
"Photons:Tracks from conversions: # of hits vs radius all tracks" ,rBin,rMin, rMax,30,0., 30.);
677 histname=
"h_nHitsVsR";
678 p_nHitsVsR_[0] =
dbe_->
bookProfile(histname+
"AllTracks",
"Photons:Tracks from conversions: # of hits vs radius all tracks",rBin,rMin, rMax, 30,-0.5, 29.5,
"");
679 p_nHitsVsR_[1] =
dbe_->
bookProfile(histname+
"AllTracks_Ass",
"Photons:Tracks from conversions: # of hits vs radius all tracks",rBin,rMin, rMax, 30,-0.5, 29.5,
"");
680 p_nHitsVsR_[2] =
dbe_->
bookProfile(histname+
"AllTracks_Fakes",
"Photons:Tracks from conversions: # of hits vs radius all tracks",rBin,rMin, rMax, 30,-0.5, 29.5,
"");
683 h_tkChi2_[0] =
dbe_->
book1D(histname+
"AllTracks",
"Photons:Tracks from conversions: #chi^{2} of all tracks", 100, chi2Min, chi2Max);
684 h_tkChi2_[1] =
dbe_->
book1D(histname+
"AllTracks_Ass",
"Photons:Tracks from conversions: #chi^{2} of all tracks", 100, chi2Min, chi2Max);
685 h_tkChi2_[2] =
dbe_->
book1D(histname+
"AllTracks_Fakes",
"Photons:Tracks from conversions: #chi^{2} of all tracks", 100, chi2Min, chi2Max);
687 histname=
"tkChi2Large";
688 h_tkChi2Large_[0] =
dbe_->
book1D(histname+
"AllTracks",
"Photons:Tracks from conversions: #chi^{2} of all tracks", 1000, 0., 5000.0);
689 h_tkChi2Large_[1] =
dbe_->
book1D(histname+
"AllTracks_Ass",
"Photons:Tracks from conversions: #chi^{2} of all tracks", 1000, 0., 5000.0);
690 h_tkChi2Large_[2] =
dbe_->
book1D(histname+
"AllTracks_Fakes",
"Photons:Tracks from conversions: #chi^{2} of all tracks", 1000, 0., 5000.0);
693 histname=
"h2Chi2VsEta";
694 h2_Chi2VsEta_[0]=
dbe_->
book2D(histname+
"All",
" Reco Track #chi^{2} vs #eta: All ",etaBin2,etaMin, etaMax,100, chi2Min, chi2Max);
695 h2_Chi2VsEta_[1]=
dbe_->
book2D(histname+
"All_Ass",
" Reco Track #chi^{2} vs #eta: All ",etaBin2,etaMin, etaMax,100, chi2Min, chi2Max);
696 h2_Chi2VsEta_[2]=
dbe_->
book2D(histname+
"All_Fakes",
" Reco Track #chi^{2} vs #eta: All ",etaBin2,etaMin, etaMax,100, chi2Min, chi2Max);
697 histname=
"pChi2VsEta";
698 p_Chi2VsEta_[0]=
dbe_->
bookProfile(histname+
"All",
" Reco Track #chi^{2} vs #eta : All ",etaBin2,etaMin, etaMax, 100, chi2Min, chi2Max,
"");
699 p_Chi2VsEta_[1]=
dbe_->
bookProfile(histname+
"All_Ass",
" Reco Track #chi^{2} vs #eta : All ",etaBin2,etaMin, etaMax, 100, chi2Min, chi2Max,
"");
700 p_Chi2VsEta_[2]=
dbe_->
bookProfile(histname+
"All_Fakes",
" Reco Track #chi^{2} vs #eta : All ",etaBin2,etaMin, etaMax, 100, chi2Min, chi2Max,
"");
702 histname=
"h2Chi2VsR";
703 h2_Chi2VsR_[0]=
dbe_->
book2D(histname+
"All",
" Reco Track #chi^{2} vs R: All ",rBin,rMin, rMax,100,chi2Min, chi2Max);
704 h2_Chi2VsR_[1]=
dbe_->
book2D(histname+
"All_Ass",
" Reco Track #chi^{2} vs R: All ",rBin,rMin, rMax,100,chi2Min, chi2Max);
705 h2_Chi2VsR_[2]=
dbe_->
book2D(histname+
"All_Fakes",
" Reco Track #chi^{2} vs R: All ",rBin,rMin, rMax,100,chi2Min, chi2Max);
707 p_Chi2VsR_[0]=
dbe_->
bookProfile(histname+
"All",
" Reco Track #chi^{2} vas R : All ",rBin,rMin,rMax, 100,chi2Min, chi2Max,
"");
708 p_Chi2VsR_[1]=
dbe_->
bookProfile(histname+
"All_Ass",
" Reco Track #chi^{2} vas R : All ",rBin,rMin,rMax, 100,chi2Min, chi2Max,
"");
709 p_Chi2VsR_[2]=
dbe_->
bookProfile(histname+
"All_Fakes",
" Reco Track #chi^{2} vas R : All ",rBin,rMin,rMax, 100,chi2Min, chi2Max,
"");
712 h_TkD0_[0]=
dbe_->
book1D(histname+
"All",
" Reco Track D0*q: All ",200,-0.1,60);
713 h_TkD0_[1]=
dbe_->
book1D(histname+
"All_Ass",
" Reco Track D0*q: Barrel ",200,-0.1,60);
714 h_TkD0_[2]=
dbe_->
book1D(histname+
"All_Fakes",
" Reco Track D0*q: Endcap ",200,-0.1,60);
718 histname=
"hTkPtPull";
719 h_TkPtPull_[0]=
dbe_->
book1D(histname+
"All",
" Reco Track Pt pull: All ",100, -20., 10.);
720 histname=
"hTkPtPull";
721 h_TkPtPull_[1]=
dbe_->
book1D(histname+
"Barrel",
" Reco Track Pt pull: Barrel ",100, -20., 10.);
722 histname=
"hTkPtPull";
723 h_TkPtPull_[2]=
dbe_->
book1D(histname+
"Endcap",
" Reco Track Pt pull: Endcap ",100, -20., 10.);
725 histname=
"h2TkPtPullEta";
726 h2_TkPtPull_[0]=
dbe_->
book2D(histname+
"All",
" Reco Track Pt pull: All ",etaBin2,etaMin, etaMax,100, -20., 10.);
727 histname=
"pTkPtPullEta";
728 p_TkPtPull_[0]=
dbe_->
bookProfile(histname+
"All",
" Reco Track Pt pull: All ",etaBin2,etaMin, etaMax, 100, -20., 10.,
" ");
731 histname=
"PtRecVsPtSim";
732 h2_PtRecVsPtSim_[0]=
dbe_->
book2D(histname+
"All",
"Pt Rec vs Pt sim: All ", etBin,etMin,etMax,etBin,etMin, etMax);
733 h2_PtRecVsPtSim_[1]=
dbe_->
book2D(histname+
"Barrel",
"Pt Rec vs Pt sim: Barrel ", etBin,etMin,etMax,etBin,etMin, etMax);
734 h2_PtRecVsPtSim_[2]=
dbe_->
book2D(histname+
"Endcap",
"Pt Rec vs Pt sim: Endcap ", etBin,etMin,etMax,etBin,etMin, etMax);
736 histname=
"photonPtRecVsPtSim";
737 h2_photonPtRecVsPtSim_=
dbe_->
book2D(histname+
"All",
"Pt Rec vs Pt sim: All ", etBin,etMin,etMax,etBin,etMin, etMax);
739 histname=
"nHitsBeforeVtx";
740 h_nHitsBeforeVtx_[0]=
dbe_->
book1D(histname+
"All",
"Pt Rec vs Pt sim: All ", 16, -0.5, 15.5);
741 h_nHitsBeforeVtx_[1]=
dbe_->
book1D(histname+
"Barrel",
"Pt Rec vs Pt sim: Barrel ", 16, -0.5, 15.5);
742 h_nHitsBeforeVtx_[2]=
dbe_->
book1D(histname+
"Endcap",
"Pt Rec vs Pt sim: Endcap ", 16, -0.5, 15.5);
744 histname=
"dlClosestHitToVtx";
745 h_dlClosestHitToVtx_[0]=
dbe_->
book1D(histname+
"All",
"Pt Rec vs Pt sim: All ", 100, -10., 10.);
746 h_dlClosestHitToVtx_[1]=
dbe_->
book1D(histname+
"Barrel",
"Pt Rec vs Pt sim: Barrel ", 100, -10., 10.);
747 h_dlClosestHitToVtx_[2]=
dbe_->
book1D(histname+
"Endcap",
"Pt Rec vs Pt sim: Endcap ", 100, -10., 10.);
749 histname=
"dlClosestHitToVtxSig";
750 h_dlClosestHitToVtxSig_[0]=
dbe_->
book1D(histname+
"All",
"Pt Rec vs Pt sim: All ", 100, -8., 8.);
751 h_dlClosestHitToVtxSig_[1]=
dbe_->
book1D(histname+
"Barrel",
"Pt Rec vs Pt sim: Barrel ", 100, -8., 8.);
752 h_dlClosestHitToVtxSig_[2]=
dbe_->
book1D(histname+
"Endcap",
"Pt Rec vs Pt sim: Endcap ", 100, -8., 8.);
754 h_match_=
dbe_->
book1D(
"h_match",
" ", 3, -0.5,2.5);
768 edm::LogInfo(
"ConvertedPhotonProducer") <<
" get magnetic field" <<
"\n";
785 delete thePhotonMCTruthFinder_;
797 const float BARL = 1.4442;
799 const float END_HI = 2.5;
805 LogInfo(
"TkConvValidator") <<
"TkConvValidator Analyzing event number: " << e.
id() <<
" Global Counter " << nEvt_ <<
"\n";
820 e.
getByLabel(conversionCollectionProducer_, conversionCollection_ , convHandle);
822 if (!convHandle.isValid()) {
823 edm::LogError(
"ConversionsProducer") <<
"Error! Can't get the collection "<< std::endl;
829 e.
getByLabel(photonCollectionProducer_, photonCollection_ , photonHandle);
831 if (!photonHandle.isValid()) {
832 edm::LogError(
"PhotonProducer") <<
"Error! Can't get the Photon collection "<< std::endl;
840 e.
getByLabel(
"offlinePrimaryVertices", vertexHandle);
841 if (!vertexHandle.isValid()) {
842 edm::LogError(
"TrackerOnlyConversionProducer") <<
"Error! Can't get the product primary Vertex Collection "<<
"\n";
847 bool valid_pvtx =
false;
851 if (the_pvtx.isValid() && fabs(the_pvtx.position().z())<=15 && the_pvtx.position().Rho()<=2){
858 if (!bsHandle.isValid()) {
859 edm::LogError(
"TrackerOnlyConversionProducer") <<
"Error! Can't get the product primary Vertex Collection "<<
"\n";
873 std::vector<SimTrack> theSimTracks;
874 std::vector<SimVertex> theSimVertices;
881 bool useTP= parameters_.getParameter<
bool>(
"useTP");
887 e.
getByLabel(
"tpSelecForEfficiency",TPHandleForEff);
888 tpForEfficiency = *(TPHandleForEff.product());
889 e.
getByLabel(
"tpSelecForFakeRate",TPHandleForFakeRate);
890 tpForFakeRate = *(TPHandleForFakeRate.product());
895 theSimTracks.insert(theSimTracks.end(),SimTk->begin(),SimTk->end());
896 theSimVertices.insert(theSimVertices.end(),SimVtx->begin(),SimVtx->end());
897 std::vector<PhotonMCTruth> mcPhotons=thePhotonMCTruthFinder_->find (theSimTracks, theSimVertices);
906 e.
getByLabel(
"iterativeCone5GenJets",
"",GenJetsHandle);
912 std::map<const reco::Track*,TrackingParticleRef> myAss;
913 std::map<const reco::Track*,TrackingParticleRef>::const_iterator itAss;
915 for ( std::vector<PhotonMCTruth>::const_iterator mcPho=mcPhotons.begin(); mcPho !=mcPhotons.end(); mcPho++) {
917 mcConvPt_= (*mcPho).fourMomentum().et();
918 float mcPhi= (*mcPho).fourMomentum().phi();
919 mcPhi_= phiNormalization(mcPhi);
920 mcEta_= (*mcPho).fourMomentum().pseudoRapidity();
921 mcEta_ = etaTransformation(mcEta_, (*mcPho).primaryVertex().z() );
922 mcConvR_= (*mcPho).vertex().perp();
923 mcConvX_= (*mcPho).vertex().x();
924 mcConvY_= (*mcPho).vertex().y();
925 mcConvZ_= (*mcPho).vertex().z();
926 mcConvEta_= (*mcPho).vertex().eta();
927 mcConvPhi_= (*mcPho).vertex().phi();
929 if ( fabs(mcEta_) > END_HI )
continue;
931 if (mcConvPt_<minPhoPtForEffic)
continue;
932 if (fabs(mcEta_)>maxPhoEtaForEffic)
continue;
933 if (fabs(mcConvZ_)>maxPhoZForEffic)
continue;
934 if (mcConvR_>maxPhoRForEffic)
continue;
937 bool goodSimConversion=
false;
938 bool visibleConversion=
false;
939 bool visibleConversionsWithTwoSimTracks=
false;
940 if ( (*mcPho).isAConversion() == 1 ) {
942 h_AllSimConv_[0]->Fill( mcEta_ ) ;
943 h_AllSimConv_[1]->Fill( mcPhi_ );
944 h_AllSimConv_[2]->Fill( mcConvR_ );
945 h_AllSimConv_[3]->Fill( mcConvZ_ );
946 h_AllSimConv_[4]->Fill( (*mcPho).fourMomentum().et());
948 if ( mcConvR_ <15) h_SimConvEtaPix_[0]->Fill( mcEta_ ) ;
950 if ( ( fabs(mcEta_) <= BARL && mcConvR_ <85 ) ||
951 ( fabs(mcEta_) > BARL && fabs(mcEta_) <=END_HI && fabs( (*mcPho).vertex().z() ) < 210 ) ) visibleConversion=
true;
956 for(
size_t i = 0;
i < tpForEfficiency.size(); ++
i){
958 if ( fabs( tp->vx() - (*mcPho).vertex().x() ) < 0.0001 &&
959 fabs( tp->vy() - (*mcPho).vertex().y() ) < 0.0001 &&
960 fabs( tp->vz() - (*mcPho).vertex().z() ) < 0.0001) {
961 theConvTP_.push_back( tp );
966 if ( theConvTP_.size() == 2 ) visibleConversionsWithTwoSimTracks=
true;
967 goodSimConversion=
false;
969 if ( visibleConversion && visibleConversionsWithTwoSimTracks ) goodSimConversion=
true;
970 if ( goodSimConversion ) {
972 h_VisSimConv_[0]->Fill( mcEta_ ) ;
973 h_VisSimConv_[1]->Fill( mcPhi_ );
974 h_VisSimConv_[2]->Fill( mcConvR_ );
975 h_VisSimConv_[3]->Fill( mcConvZ_ );
976 h_VisSimConv_[4]->Fill( (*mcPho).fourMomentum().et());
981 h_simTkPt_ ->
Fill ( (*iTrk)->pt() );
982 h_simTkEta_ ->
Fill ( (*iTrk)->eta() );
988 if ( ! (visibleConversion && visibleConversionsWithTwoSimTracks ) )
continue;
990 h_simConvVtxRvsZ_[0] ->Fill ( fabs (mcConvZ_), mcConvR_ ) ;
991 if ( fabs(mcEta_) <=1.) {
992 h_simConvVtxRvsZ_[1] ->Fill ( fabs (mcConvZ_), mcConvR_ ) ;
993 h_simConvVtxYvsX_ ->Fill ( mcConvX_, mcConvY_ ) ;
996 h_simConvVtxRvsZ_[2] ->Fill ( fabs (mcConvZ_), mcConvR_ ) ;
1004 bool recomatch =
false;
1005 float chi2Prob = 0.;
1008 for (reco::ConversionCollection::const_iterator
conv = convHandle->begin();
conv!=convHandle->end();++
conv) {
1019 std::vector<edm::RefToBase<reco::Track> >
tracks = aConv.
tracks();
1024 if (tracks.size() !=2 || !(vtx.
isValid()))
continue;
1035 double lxy = (themom.x()*dbsx + themom.y()*dbsy)/themom.rho();
1037 if (lxy<minLxy_)
continue;
1044 if ( ecalalgotracks_ && ( !(tfrb1->
algo()==15 || tfrb1->
algo()==16) || !(tfrb2->
algo()==15 || tfrb2->
algo()==16) ) )
continue;
1055 bool isAssociated =
false;
1059 std::vector<std::pair<RefToBase<reco::Track>,
double> > trackV1, trackV2;
1061 int tp_1 = 0, tp_2 = 1;
1062 if (q1.
find(theConvTP_[0])!=q1.
end()){
1063 trackV1 = (std::vector<std::pair<RefToBase<reco::Track>,
double> >) q1[theConvTP_[0]];
1064 }
else if (q1.
find(theConvTP_[1])!=q1.
end()){
1065 trackV1 = (std::vector<std::pair<RefToBase<reco::Track>,
double> >) q1[theConvTP_[1]];
1068 if (q2.
find(theConvTP_[1])!=q2.
end()){
1069 trackV2 = (std::vector<std::pair<RefToBase<reco::Track>,
double> >) q2[theConvTP_[1]];
1070 }
else if (q2.
find(theConvTP_[0])!=q2.
end()){
1071 trackV2 = (std::vector<std::pair<RefToBase<reco::Track>,
double> >) q2[theConvTP_[0]];
1074 if (!(trackV1.size()&&trackV2.size()))
1076 if (tp_1 == tp_2)
continue;
1082 myAss.insert( std::make_pair (tr1.
get(),theConvTP_[tp_1] ) );
1083 myAss.insert( std::make_pair (tr2.
get(),theConvTP_[tp_2]) );
1091 isAssociated =
true;
1096 h_SimRecConvTwoMTracks_[0]->Fill( mcEta_ ) ;
1097 h_SimRecConvTwoMTracks_[1]->Fill( mcPhi_ );
1098 h_SimRecConvTwoMTracks_[2]->Fill( mcConvR_ );
1099 h_SimRecConvTwoMTracks_[3]->Fill( mcConvZ_ );
1100 h_SimRecConvTwoMTracks_[4]->Fill( (*mcPho).fourMomentum().et());
1107 h_SimConvTwoMTracks_[0]->Fill( mcEta_ ) ;
1108 h_SimConvTwoMTracks_[1]->Fill( mcPhi_ );
1109 h_SimConvTwoMTracks_[2]->Fill( mcConvR_ );
1110 h_SimConvTwoMTracks_[3]->Fill( mcConvZ_ );
1111 h_SimConvTwoMTracks_[4]->Fill( (*mcPho).fourMomentum().et());
1114 if ( chi2Prob > 0) {
1115 h_SimConvTwoMTracksAndVtxPGT0_[0]->Fill( mcEta_ ) ;
1116 h_SimConvTwoMTracksAndVtxPGT0_[1]->Fill( mcPhi_ );
1117 h_SimConvTwoMTracksAndVtxPGT0_[2]->Fill( mcConvR_ );
1118 h_SimConvTwoMTracksAndVtxPGT0_[3]->Fill( mcConvZ_ );
1119 h_SimConvTwoMTracksAndVtxPGT0_[4]->Fill( (*mcPho).fourMomentum().et());
1121 if ( chi2Prob > 0.0005) {
1122 h_SimConvTwoMTracksAndVtxPGT0005_[0]->Fill( mcEta_ ) ;
1123 h_SimConvTwoMTracksAndVtxPGT0005_[1]->Fill( mcPhi_ );
1124 h_SimConvTwoMTracksAndVtxPGT0005_[2]->Fill( mcConvR_ );
1125 h_SimConvTwoMTracksAndVtxPGT0005_[3]->Fill( mcConvZ_ );
1126 h_SimConvTwoMTracksAndVtxPGT0005_[4]->Fill( (*mcPho).fourMomentum().et());
1136 for (reco::ConversionCollection::const_iterator
conv = convHandle->begin();
conv!=convHandle->end();++
conv) {
1146 std::vector<edm::RefToBase<reco::Track> >
tracks = aConv.
tracks();
1150 if (tracks.size() !=2 || !(vtx.
isValid()))
continue;
1161 double lxy = (themom.x()*dbsx + themom.y()*dbsy)/themom.rho();
1163 if (lxy<minLxy_)
continue;
1165 bool phoIsInBarrel=
false;
1166 bool phoIsInEndcap=
false;
1173 if ( ecalalgotracks_ && ( !(tk1->
algo()==15 || tk1->
algo()==16) || !(tk2->
algo()==15 || tk2->
algo()==16) ) )
continue;
1185 if (
sqrt(p1AtVtx.perp2()) >
sqrt(p2AtVtx.perp2()) )
1186 dPhiTracksAtVtx = p1AtVtx.phi() - p2AtVtx.phi();
1188 dPhiTracksAtVtx = p2AtVtx.phi() - p1AtVtx.phi();
1194 if (fabs(refittedMom.eta())< 1.479 ) {
1203 double Mindeltaeta = 999999;
1204 double Mindeltaphi = 999999;
1205 bool matchConvSC=
false;
1206 reco::PhotonCollection::const_iterator iMatchingSC;
1207 for( reco::PhotonCollection::const_iterator iPho = photonCollection.begin(); iPho != photonCollection.end(); iPho++) {
1211 double deltaeta =
abs( aPho.
superCluster()->position().eta() -ConvEta);
1212 if (
abs(deltaeta)<
abs(Mindeltaeta) &&
abs(deltaphi)<
abs(Mindeltaphi)) {
1213 Mindeltaphi=
abs(deltaphi);
1214 Mindeltaeta=
abs(deltaeta);
1215 iMatchingSC = iPho ;
1218 if (
abs(Mindeltaeta)<0.1 &&
abs(Mindeltaphi)<0.1) {
1232 int ilead = 0, itrail = 1;
1233 if (tk2->
pt() > tk1->
pt()) {
1246 h_convEta_[
match][0]->Fill( refittedMom.eta() );
1247 h_convEta2_[
match][0]->Fill( refittedMom.eta() );
1249 h_convPhi_[
match][0]->Fill( refittedMom.phi() );
1254 h_convPt_[
match][0]->Fill(
sqrt(refittedMom.perp2()) );
1255 h_invMass_[
match][0] ->Fill( invM);
1256 h_vtxChi2Prob_[
match][0] ->Fill (chi2Prob);
1257 h_lxybs_[
match][0] ->Fill (lxy);
1258 h_maxNHitsBeforeVtx_[
match][0] ->Fill (maxNHitsBeforeVtx);
1259 h_leadNHitsBeforeVtx_[
match][0] ->Fill (leadNHitsBeforeVtx);
1260 h_trailNHitsBeforeVtx_[
match][0] ->Fill (trailNHitsBeforeVtx);
1261 h_sumNHitsBeforeVtx_[
match][0] ->Fill (sumNHitsBeforeVtx);
1262 h_deltaExpectedHitsInner_[
match][0] ->Fill (deltaExpectedHitsInner);
1263 h_leadExpectedHitsInner_[
match][0] ->Fill (leadExpectedHitsInner);
1264 h_maxDlClosestHitToVtx_[
match][0] ->Fill (maxDlClosestHitToVtx);
1265 h_maxDlClosestHitToVtxSig_[
match][0] ->Fill (maxDlClosestHitToVtxSig);
1269 if ( matchConvSC ) {
1270 h_convEtaMatchSC_[
match][0]->Fill( refittedMom.eta() );
1271 h_EoverPTracks_[
match][0] ->Fill (iMatchingSC->superCluster()->energy()/
sqrt(refittedMom.mag2()));
1272 h_convSCdPhi_[
match][0]->Fill( iMatchingSC->superCluster()->position().phi() - refittedMom.phi() );
1274 h_convSCdEta_[
match][0]->Fill( iMatchingSC->superCluster()->position().eta() - ConvEta );
1278 h_DPhiTracksAtVtx_[
match][0]->Fill( dPhiTracksAtVtx);
1279 h2_DPhiTracksAtVtxVsEta_->Fill( mcEta_, dPhiTracksAtVtx);
1280 h2_DPhiTracksAtVtxVsR_->Fill( mcConvR_, dPhiTracksAtVtx);
1281 p_DPhiTracksAtVtxVsEta_->Fill( mcEta_, dPhiTracksAtVtx);
1282 p_DPhiTracksAtVtxVsR_->Fill( mcConvR_, dPhiTracksAtVtx);
1290 if ( phoIsInBarrel ) {
1291 h_invMass_[
match][1] ->Fill(invM);
1292 h_vtxChi2Prob_[
match][1] ->Fill (chi2Prob);
1294 h_DPhiTracksAtVtx_[
match][1]->Fill( dPhiTracksAtVtx);
1296 h_lxybs_[
match][1] ->Fill (lxy);
1297 h_maxNHitsBeforeVtx_[
match][1] ->Fill (maxNHitsBeforeVtx);
1298 h_leadNHitsBeforeVtx_[
match][1] ->Fill (leadNHitsBeforeVtx);
1299 h_trailNHitsBeforeVtx_[
match][1] ->Fill (trailNHitsBeforeVtx);
1300 h_sumNHitsBeforeVtx_[
match][1] ->Fill (sumNHitsBeforeVtx);
1301 h_deltaExpectedHitsInner_[
match][1] ->Fill (deltaExpectedHitsInner);
1302 h_leadExpectedHitsInner_[
match][1] ->Fill (leadExpectedHitsInner);
1303 h_maxDlClosestHitToVtx_[
match][1] ->Fill (maxDlClosestHitToVtx);
1304 h_maxDlClosestHitToVtxSig_[
match][1] ->Fill (maxDlClosestHitToVtxSig);
1315 if ( matchConvSC ) {
1316 h_EoverPTracks_[
match][1] ->
Fill(iMatchingSC->superCluster()->energy()/
sqrt(refittedMom.mag2()));
1317 h_convSCdPhi_[
match][1]->Fill( iMatchingSC->superCluster()->position().phi() - refittedMom.phi() );
1319 h_convSCdEta_[
match][1]->Fill( iMatchingSC->superCluster()->position().eta() - ConvEta );
1324 if ( phoIsInEndcap ) {
1325 h_invMass_[
match][2] ->Fill(invM);
1326 h_vtxChi2Prob_[
match][2] ->Fill (chi2Prob);
1328 h_DPhiTracksAtVtx_[
match][2]->Fill( dPhiTracksAtVtx);
1330 h_lxybs_[
match][2] ->Fill (lxy);
1331 h_maxNHitsBeforeVtx_[
match][2] ->Fill (maxNHitsBeforeVtx);
1332 h_leadNHitsBeforeVtx_[
match][2] ->Fill (leadNHitsBeforeVtx);
1333 h_trailNHitsBeforeVtx_[
match][2] ->Fill (trailNHitsBeforeVtx);
1334 h_sumNHitsBeforeVtx_[
match][2] ->Fill (sumNHitsBeforeVtx);
1335 h_deltaExpectedHitsInner_[
match][2] ->Fill (deltaExpectedHitsInner);
1336 h_leadExpectedHitsInner_[
match][2] ->Fill (leadExpectedHitsInner);
1337 h_maxDlClosestHitToVtx_[
match][2] ->Fill (maxDlClosestHitToVtx);
1338 h_maxDlClosestHitToVtxSig_[
match][2] ->Fill (maxDlClosestHitToVtxSig);
1340 if ( matchConvSC ) {
1341 h_EoverPTracks_[
match][2] ->Fill (iMatchingSC->superCluster()->energy()/
sqrt(refittedMom.mag2()));
1342 h_convSCdPhi_[
match][2]->Fill( iMatchingSC->superCluster()->position().phi() - refittedMom.phi() );
1344 h_convSCdEta_[
match][2]->Fill( iMatchingSC->superCluster()->position().eta() - ConvEta );
1356 for (
unsigned int i=0;
i<tracks.size();
i++) {
1359 d0 = - tracks[
i]->dxy(the_pvtx.position());
1361 d0 = tracks[
i]->d0();
1368 nHitsVsEta_[
match] ->Fill (mcEta_,
float(tracks[
i]->numberOfValidHits()) );
1369 nHitsVsR_[
match] ->Fill (mcConvR_,
float(tracks[
i]->numberOfValidHits()) );
1370 p_nHitsVsEta_[
match] ->Fill (mcEta_,
float(tracks[
i]->numberOfValidHits()) -0.0001);
1371 p_nHitsVsR_[
match] ->Fill (mcConvR_,
float(tracks[
i]->numberOfValidHits()) -0.0001);
1372 h_tkChi2_[
match] ->Fill (tracks[
i]->normalizedChi2() );
1373 h_tkChi2Large_[
match] ->Fill (tracks[
i]->normalizedChi2() );
1374 h2_Chi2VsEta_[
match] ->Fill( mcEta_, tracks[
i]->normalizedChi2() );
1375 h2_Chi2VsR_[
match] ->Fill( mcConvR_, tracks[
i]->normalizedChi2() );
1376 p_Chi2VsEta_[
match] ->Fill( mcEta_, tracks[
i]->normalizedChi2() );
1377 p_Chi2VsR_[
match] ->Fill( mcConvR_, tracks[
i]->normalizedChi2() );
1381 bool associated =
false;
1382 float mcConvPt_= -99999999;
1385 for ( std::vector<PhotonMCTruth>::const_iterator mcPho=mcPhotons.begin(); mcPho !=mcPhotons.end(); mcPho++) {
1386 mcConvPt_= (*mcPho).fourMomentum().et();
1387 float mcPhi= (*mcPho).fourMomentum().phi();
1388 simPV_Z = (*mcPho).primaryVertex().z();
1389 mcPhi_= phiNormalization(mcPhi);
1390 mcEta_= (*mcPho).fourMomentum().pseudoRapidity();
1391 mcEta_ = etaTransformation(mcEta_, (*mcPho).primaryVertex().z() );
1392 mcConvR_= (*mcPho).vertex().perp();
1393 mcConvX_= (*mcPho).vertex().x();
1394 mcConvY_= (*mcPho).vertex().y();
1395 mcConvZ_= (*mcPho).vertex().z();
1396 mcConvEta_= (*mcPho).vertex().eta();
1397 mcConvPhi_= (*mcPho).vertex().phi();
1398 if ( fabs(mcEta_) > END_HI )
continue;
1399 if (mcConvPt_<minPhoPtForPurity)
continue;
1400 if (fabs(mcEta_)>maxPhoEtaForPurity)
continue;
1401 if (fabs(mcConvZ_)>maxPhoZForPurity)
continue;
1402 if (mcConvR_>maxPhoRForEffic)
continue;
1404 if ( (*mcPho).isAConversion() != 1 )
continue;
1405 if (!( ( fabs(mcEta_) <= BARL && mcConvR_ <85 ) ||
1406 ( fabs(mcEta_) > BARL && fabs(mcEta_) <=END_HI && fabs( (*mcPho).vertex().z() ) < 210 ) ) )
1411 for(
size_t i = 0;
i < tpForFakeRate.size(); ++
i){
1413 if ( fabs( tp->vx() - (*mcPho).vertex().x() ) < 0.0001 &&
1414 fabs( tp->vy() - (*mcPho).vertex().y() ) < 0.0001 &&
1415 fabs( tp->vz() - (*mcPho).vertex().z() ) < 0.0001) {
1416 theConvTP_.push_back( tp );
1422 if ( theConvTP_.size() < 2 )
continue;
1428 std::vector<std::pair<TrackingParticleRef, double> > tp1 = p1[tk1];
1429 std::vector<std::pair<TrackingParticleRef, double> > tp2 = p2[tk2];
1430 if (!(tp1.size()&&tp2.size())){
1434 if (tp1.size()&&tp2.size()) {
1437 if (
abs(tpr1->pdgId())==11&&
abs(tpr2->pdgId())==11&& tpr1->pdgId()*tpr2->pdgId()<0) {
1438 if ( (tpr1->parentVertex()->sourceTracks_end()-tpr1->parentVertex()->sourceTracks_begin()==1) &&
1439 (tpr2->parentVertex()->sourceTracks_end()-tpr2->parentVertex()->sourceTracks_begin()==1)) {
1440 if (tpr1->parentVertex().
key()==tpr2->parentVertex().
key() && ((*tpr1->parentVertex()->sourceTracks_begin())->
pdgId()==22)) {
1441 mcConvR_ =
sqrt(tpr1->parentVertex()->position().Perp2());
1442 mcConvZ_ = tpr1->parentVertex()->position().z();
1443 mcConvX_ = tpr1->parentVertex()->position().x();
1444 mcConvY_ = tpr1->parentVertex()->position().y();
1445 mcConvEta_ = tpr1->parentVertex()->position().eta();
1446 mcConvPhi_ = tpr1->parentVertex()->position().phi();
1447 mcConvPt_ =
sqrt((*tpr1->parentVertex()->sourceTracks_begin())->momentum().Perp2());
1467 for(
size_t i = 0;
i < tpForFakeRate.size(); ++
i){
1469 theConvTP_.push_back( tp );
1475 for ( std::vector<PhotonMCTruth>::const_iterator mcPho=mcPhotons.begin(); mcPho !=mcPhotons.end(); mcPho++) {
1476 mcConvPt_= (*mcPho).fourMomentum().et();
1477 float mcPhi= (*mcPho).fourMomentum().phi();
1478 simPV_Z = (*mcPho).primaryVertex().z();
1479 mcPhi_= phiNormalization(mcPhi);
1480 mcEta_= (*mcPho).fourMomentum().pseudoRapidity();
1481 mcEta_ = etaTransformation(mcEta_, (*mcPho).primaryVertex().z() );
1482 mcConvR_= (*mcPho).vertex().perp();
1483 mcConvX_= (*mcPho).vertex().x();
1484 mcConvY_= (*mcPho).vertex().y();
1485 mcConvZ_= (*mcPho).vertex().z();
1486 mcConvEta_= (*mcPho).vertex().eta();
1487 mcConvPhi_= (*mcPho).vertex().phi();
1488 if ( fabs(mcEta_) > END_HI )
continue;
1489 if (mcConvPt_<minPhoPtForPurity)
continue;
1490 if (fabs(mcEta_)>maxPhoEtaForPurity)
continue;
1491 if (fabs(mcConvZ_)>maxPhoZForPurity)
continue;
1492 if (mcConvR_>maxPhoRForEffic)
continue;
1494 if ( (*mcPho).isAConversion() != 1 )
continue;
1495 if (!( ( fabs(mcEta_) <= BARL && mcConvR_ <85 ) ||
1496 ( fabs(mcEta_) > BARL && fabs(mcEta_) <=END_HI && fabs( (*mcPho).vertex().z() ) < 210 ) ) )
1501 for(
size_t i = 0;
i < tpForFakeRate.size(); ++
i){
1503 if ( fabs( tp->vx() - (*mcPho).vertex().x() ) < 0.0001 &&
1504 fabs( tp->vy() - (*mcPho).vertex().y() ) < 0.0001 &&
1505 fabs( tp->vz() - (*mcPho).vertex().z() ) < 0.0001) {
1506 theConvTP_.push_back( tp );
1512 if ( theConvTP_.size() < 2 )
continue;
1524 std::vector<std::pair<TrackingParticleRef, double> > tp1 = p1incl[tk1];
1525 std::vector<std::pair<TrackingParticleRef, double> > tp2 = p2incl[tk2];
1526 if (!(tp1.size()&&tp2.size())){
1530 if (tp1.size()&&tp2.size()) {
1533 if (
abs(tpr1->pdgId())==11&&
abs(tpr2->pdgId())==11 && tpr1->pdgId()*tpr2->pdgId()<0) {
1534 if ( ((tpr1->parentVertex()->sourceTracks_end()-tpr1->parentVertex()->sourceTracks_begin()>=1) && (*tpr1->parentVertex()->sourceTracks_begin())->
pdgId()==22) &&
1535 ((tpr2->parentVertex()->sourceTracks_end()-tpr2->parentVertex()->sourceTracks_begin()>=1) && (*tpr2->parentVertex()->sourceTracks_begin())->
pdgId()==22) ) {
1566 if ( associated ) match=1;
1570 h_match_->Fill(
float(match));
1572 if ( match == 1) nRecConvAss_++;
1573 h_convEta_[
match][0]->Fill( refittedMom.eta() );
1574 h_convEta_[
match][1]->Fill( refittedMom.eta() );
1575 if (matchConvSC) h_convEtaMatchSC_[
match][0]->Fill( refittedMom.eta() );
1576 h_convPhi_[
match][0]->Fill( refittedMom.phi() );
1579 h_convPt_[
match][0]->Fill(
sqrt(refittedMom.perp2()) );
1580 h_invMass_[
match][0] ->Fill( invM);
1581 h_vtxChi2Prob_[
match][0] ->Fill (chi2Prob);
1582 h_DPhiTracksAtVtx_[
match][0]->Fill( dPhiTracksAtVtx);
1585 h_lxybs_[
match][0] ->Fill (lxy);
1586 h_maxNHitsBeforeVtx_[
match][0] ->Fill (maxNHitsBeforeVtx);
1587 h_leadNHitsBeforeVtx_[
match][0] ->Fill (leadNHitsBeforeVtx);
1588 h_trailNHitsBeforeVtx_[
match][0] ->Fill (trailNHitsBeforeVtx);
1589 h_sumNHitsBeforeVtx_[
match][0] ->Fill (sumNHitsBeforeVtx);
1590 h_deltaExpectedHitsInner_[
match][0] ->Fill (deltaExpectedHitsInner);
1591 h_leadExpectedHitsInner_[
match][0] ->Fill (leadExpectedHitsInner);
1592 h_maxDlClosestHitToVtx_[
match][0] ->Fill (maxDlClosestHitToVtx);
1593 h_maxDlClosestHitToVtxSig_[
match][0] ->Fill (maxDlClosestHitToVtxSig);
1595 if ( matchConvSC ) {
1597 h_EoverPTracks_[
match][0] ->Fill (iMatchingSC->superCluster()->energy()/
sqrt(refittedMom.mag2()));
1598 h_convSCdPhi_[
match][0]->Fill( iMatchingSC->superCluster()->position().phi() - refittedMom.phi() );
1600 h_convSCdEta_[
match][0]->Fill( iMatchingSC->superCluster()->position().eta() - ConvEta );
1604 h2_photonPtRecVsPtSim_->Fill ( mcConvPt_,
sqrt(refittedMom.perp2()) );
1605 h_convPtRes_[0]->Fill (
sqrt(refittedMom.perp2())/mcConvPt_);
1608 if ( phoIsInBarrel ) {
1609 h_invMass_[
match][1] ->Fill(invM);
1610 h_vtxChi2Prob_[
match][1] ->Fill (chi2Prob);
1611 h_DPhiTracksAtVtx_[
match][1]->Fill( dPhiTracksAtVtx);
1614 h_lxybs_[
match][1] ->Fill (lxy);
1615 h_maxNHitsBeforeVtx_[
match][1] ->Fill (maxNHitsBeforeVtx);
1616 h_leadNHitsBeforeVtx_[
match][1] ->Fill (leadNHitsBeforeVtx);
1617 h_trailNHitsBeforeVtx_[
match][1] ->Fill (trailNHitsBeforeVtx);
1618 h_sumNHitsBeforeVtx_[
match][1] ->Fill (sumNHitsBeforeVtx);
1619 h_deltaExpectedHitsInner_[
match][1] ->Fill (deltaExpectedHitsInner);
1620 h_leadExpectedHitsInner_[
match][1] ->Fill (leadExpectedHitsInner);
1621 h_maxDlClosestHitToVtx_[
match][1] ->Fill (maxDlClosestHitToVtx);
1622 h_maxDlClosestHitToVtxSig_[
match][1] ->Fill (maxDlClosestHitToVtxSig);
1624 if ( matchConvSC ) {
1626 h_EoverPTracks_[
match][1] ->Fill (iMatchingSC->superCluster()->energy()/
sqrt(refittedMom.mag2()));
1627 h_convSCdPhi_[
match][1]->Fill( iMatchingSC->superCluster()->position().phi() - refittedMom.phi() );
1629 h_convSCdEta_[
match][1]->Fill( iMatchingSC->superCluster()->position().eta() - ConvEta );
1632 if ( match==1) h_convPtRes_[1]->Fill (
sqrt(refittedMom.perp2())/mcConvPt_);
1636 if ( phoIsInEndcap ) {
1637 h_invMass_[
match][2] ->Fill(invM);
1638 h_vtxChi2Prob_[
match][2] ->Fill (chi2Prob);
1639 h_DPhiTracksAtVtx_[
match][2]->Fill( dPhiTracksAtVtx);
1642 h_lxybs_[
match][2] ->Fill (lxy);
1643 h_maxNHitsBeforeVtx_[
match][2] ->Fill (maxNHitsBeforeVtx);
1644 h_leadNHitsBeforeVtx_[
match][2] ->Fill (leadNHitsBeforeVtx);
1645 h_trailNHitsBeforeVtx_[
match][2] ->Fill (trailNHitsBeforeVtx);
1646 h_sumNHitsBeforeVtx_[
match][2] ->Fill (sumNHitsBeforeVtx);
1647 h_deltaExpectedHitsInner_[
match][2] ->Fill (deltaExpectedHitsInner);
1648 h_leadExpectedHitsInner_[
match][2] ->Fill (leadExpectedHitsInner);
1649 h_maxDlClosestHitToVtx_[
match][2] ->Fill (maxDlClosestHitToVtx);
1650 h_maxDlClosestHitToVtxSig_[
match][2] ->Fill (maxDlClosestHitToVtxSig);
1652 if ( matchConvSC ) {
1654 h_EoverPTracks_[
match][2] ->Fill (iMatchingSC->superCluster()->energy()/
sqrt(refittedMom.mag2()));
1655 h_convSCdPhi_[
match][2]->Fill( iMatchingSC->superCluster()->position().phi() - refittedMom.phi() );
1657 h_convSCdEta_[
match][2]->Fill( iMatchingSC->superCluster()->position().eta() - ConvEta );
1659 if ( match==1) h_convPtRes_[2]->Fill (
sqrt(refittedMom.perp2())/mcConvPt_);
1681 p2_convVtxdRVsRZ_ ->Fill (mcConvZ_,mcConvR_, dR );
1682 p2_convVtxdZVsRZ_ ->Fill (mcConvZ_,mcConvR_, dZ );
1695 if ( phoIsInBarrel ) {
1702 if ( phoIsInEndcap ) {
1714 for (
unsigned int i=0;
i<tracks.size();
i++) {
1717 itAss= myAss.find( tfrb.get() );
1719 nHitsVsEta_[
match] ->Fill (mcEta_,
float(tracks[
i]->numberOfValidHits()) );
1720 nHitsVsR_[
match] ->Fill (mcConvR_,
float(tracks[
i]->numberOfValidHits()) );
1721 p_nHitsVsEta_[
match] ->Fill (mcEta_,
float(tracks[
i]->numberOfValidHits()) -0.0001);
1722 p_nHitsVsR_[
match] ->Fill (mcConvR_,
float(tracks[
i]->numberOfValidHits()) -0.0001);
1723 h_tkChi2_[
match] ->Fill (tracks[
i]->normalizedChi2() );
1724 h_tkChi2Large_[
match] ->Fill (tracks[
i]->normalizedChi2() );
1725 h2_Chi2VsEta_[
match] ->Fill( mcEta_, tracks[
i]->normalizedChi2() );
1726 h2_Chi2VsR_[
match] ->Fill( mcConvR_, tracks[
i]->normalizedChi2() );
1727 p_Chi2VsEta_[
match] ->Fill( mcEta_, tracks[
i]->normalizedChi2() );
1728 p_Chi2VsR_[
match] ->Fill( mcConvR_, tracks[
i]->normalizedChi2() );
1731 d0 = - tracks[
i]->
dxy(the_pvtx.position());
1733 d0 = tracks[
i]->d0();
1741 if ( itAss == myAss.end() )
continue;
1744 float simPt =
sqrt( ((*itAss).second)->momentum().perp2() );
1746 float ptres= recPt - simPt ;
1749 h2_PtRecVsPtSim_[0]->Fill ( simPt, recPt);
1750 h_TkPtPull_[0] ->Fill(ptres/pterror);
1751 h2_TkPtPull_[0] ->Fill(mcEta_, ptres/pterror);
1753 if ( phoIsInBarrel ) {
1754 h_TkPtPull_[1] ->Fill(ptres/pterror);
1755 h2_PtRecVsPtSim_[1]->Fill ( simPt, recPt);
1757 if ( phoIsInEndcap ) {
1758 h_TkPtPull_[2] ->Fill(ptres/pterror);
1759 h2_PtRecVsPtSim_[2]->Fill ( simPt, recPt);
1768 h_nConv_[0][0]->Fill (
float(nRecConv_));
1769 h_nConv_[1][0]->Fill (
float(nRecConvAss_));
1782 std::string
outputFileName = parameters_.getParameter<std::string>(
"OutputFileName");
1783 if ( ! isRunCentrally_ ) {
1787 edm::LogInfo(
"TkConvValidator") <<
"Analyzed " << nEvt_ <<
"\n";
1812 stateAtVtx = propag.
propagate(myTSOS, *theBarrel_);
1814 stateAtVtx = propag.
propagate(myTSOS, *theDisk_);
1830 const float PI = 3.1415927;
1834 if(phi > PI) {phi = phi -
TWOPI;}
1835 if(phi < -PI) {phi = phi +
TWOPI;}
1846 const float PI = 3.1415927;
1849 const float R_ECAL = 136.5;
1856 float ZEcal = R_ECAL*sinh(EtaParticle)+Zvertex;
1858 if(ZEcal != 0.0) Theta = atan(R_ECAL/ZEcal);
1859 if(Theta<0.0) Theta = Theta+
PI ;
1862 if( fabs(ETA) > etaBarrelEndcap )
1865 if(EtaParticle<0.0 ) Zend = -Zend ;
1866 float Zlen = Zend - Zvertex ;
1867 float RR = Zlen/sinh(EtaParticle);
1868 Theta = atan(RR/Zend);
1869 if(Theta<0.0) Theta = Theta+
PI ;
1870 ETA = -
log(
tan(0.5*Theta));
const reco::Vertex & conversionVertex() const
returns the reco conversion vertex
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
virtual void endRun(edm::Run &r, edm::EventSetup const &es)
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
std::vector< TrackingParticle > TrackingParticleCollection
const_iterator end() const
last iterator over the map (read only)
static HepMC::IO_HEPEVT conv
bool quality(ConversionQuality q) const
double y() const
y coordinate
math::XYZVector recalculateMomentumAtFittedVertex(const MagneticField &mf, const TrackerGeometry &trackerGeom, const edm::RefToBase< reco::Track > &tk, const reco::Vertex &vtx)
bool isValid() const
Tells whether the vertex is valid.
void save(const std::string &filename, const std::string &path="", const std::string &pattern="", const std::string &rewrite="", SaveReferenceTag ref=SaveWithReference, int minStatus=dqm::qstatus::STATUS_OK, const std::string &fileupdate="RECREATE")
std::vector< GenJet > GenJetCollection
collection of GenJet objects
const std::vector< Measurement1DFloat > & dlClosestHitToVtx() const
Vector of signed decay length with uncertainty from nearest hit on track to the conversion vtx positi...
const_iterator find(const key_type &k) const
find element with specified reference key
virtual void analyze(const edm::Event &, const edm::EventSetup &)
double zOfPrimaryVertexFromTracks(const math::XYZPoint &myBeamSpot=math::XYZPoint()) const
double distOfMinimumApproach() const
double pairCotThetaSeparation() const
Delta cot(Theta) where Theta is the angle in the (y,z) plane between the two tracks. Original tracks are used.
reco::SuperClusterRef superCluster() const
Ref to SuperCluster.
#define TWOPI
EgammaCoreTools.
std::vector< Vertex > VertexCollection
collection of Vertex objects
const std::vector< Track > & refittedTracks() const
Returns the container of refitted tracks.
double pairInvariantMass() const
if nTracks=2 returns the pair invariant mass. Original tracks are used here
const Point & position() const
position
math::XYZVectorF refittedPairMomentum() const
Conversion tracks momentum from the tracks refitted with vertex constraint.
std::vector< Conversion > ConversionCollection
collectin of Conversion objects
virtual ~TkConvValidator()
TrackAlgorithm algo() const
std::vector< edm::RefToBase< reco::Track > > tracks() const
vector of track to base references
float etaTransformation(float a, float b)
float phiNormalization(float &a)
const T & max(const T &a, const T &b)
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
double pt() const
track transverse momentum
TkConvValidator(const edm::ParameterSet &)
Tan< T >::type tan(const T &t)
double chi2() const
chi-squares
float ChiSquaredProbability(double chiSquared, double nrDOF)
const HitPattern & trackerExpectedHitsInner() const
Access the hit pattern counting (in the Tracker) the number of expected crossed layers before the fir...
MonitorElement * bookProfile(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, const char *option="s")
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< float > > XYZVectorF
spatial vector with cartesian internal representation
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of"!*"before the partial wildcard feature was incorporated).The per-event"cost"of each negative criterion with multiple relevant triggers is about the same as!*was in the past
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
bool etMin(const PFCandidate &cand, double cut)
virtual TrajectoryStateOnSurface propagate(const TrajectoryStateOnSurface &tsos, const Plane &plane) const
double deltaPhi(double phi1, double phi2)
double x() const
x coordinate
uint8_t nSharedHits() const
number of shared hits btw the two track
size_type size() const
map size
XYZVectorD XYZVector
spatial vector with cartesian internal representation
key_type key() const
Accessor for product key.
T const * product() const
std::vector< Photon > PhotonCollection
collectin of Photon objects
static const float etaBarrelEndcap
static const float Z_Endcap
GlobalVector globalMomentum() const
void push_back(const RefToBase< T > &)
const std::vector< uint8_t > & nHitsBeforeVtx() const
Vector of the number of hits before the vertex along each track trajector.
static const float R_ECAL
std::pair< typename Association::data_type::first_type, double > match(Reference key, Association association, bool bestMatchByMaxValue)
Generic matching function.
virtual void beginRun(edm::Run const &r, edm::EventSetup const &theEventSetup)
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
double dxy() const
dxy parameter. (This is the transverse impact parameter w.r.t. to (0,0,0) ONLY if refPoint is close t...
value_type const * get() const
void setCurrentFolder(const std::string &fullpath)
double dPhiTracksAtVtx() const
MonitorElement * bookProfile2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, int nchZ, double lowZ, double highZ, const char *option="s")