45 muReco = dbe->
book1D(
"muReco",
"muon reconstructed tracks", 6, 1, 7);
63 etaResolution.push_back(dbe->
book1D(
"Res_TkGlb_eta",
"#eta_{TKfromGLB} - #eta_{GLB}",
etaBin*binFactor, etaMin/3000, etaMax/3000));
64 etaResolution.push_back(dbe->
book1D(
"Res_GlbSta_eta",
"#eta_{GLB} - #eta_{STAfromGLB}",
etaBin*binFactor, etaMin/100, etaMax/100));
65 etaResolution.push_back(dbe->
book1D(
"Res_TkSta_eta",
"#eta_{TKfromGLB} - #eta_{STAfromGLB}",
etaBin*binFactor, etaMin/100, etaMax/100));
66 etaResolution.push_back(dbe->
book2D(
"ResVsEta_TkGlb_eta",
"(#eta_{TKfromGLB} - #eta_{GLB}) vs #eta_{GLB}",
etaBin, etaMin, etaMax,
etaBin*binFactor, etaMin/3000, etaMax/3000));
67 etaResolution.push_back(dbe->
book2D(
"ResVsEta_GlbSta_eta",
"(#eta_{GLB} - #eta_{STAfromGLB}) vs #eta_{GLB}",
etaBin, etaMin, etaMax,
etaBin*binFactor, etaMin/100, etaMax/100));
68 etaResolution.push_back(dbe->
book2D(
"ResVsEta_TkSta_eta",
"(#eta_{TKfromGLB} - #eta_{STAfromGLB}) vs #eta_{TKfromGLB}",
etaBin, etaMin, etaMax,
etaBin*binFactor, etaMin/100, etaMax/100));
69 etaPull = dbe->
book1D(
"Pull_TkSta_eta",
"#eta_{TKfromGLB} - #eta_{GLB} / error", 100,-10,10);
85 thetaResolution.push_back(dbe->
book1D(
"Res_TkGlb_theta",
"#theta_{TKfromGLB} - #theta_{GLB}",
thetaBin*binFactor, -(thetaMax/3000), thetaMax/3000));
87 thetaResolution.push_back(dbe->
book1D(
"Res_GlbSta_theta",
"#theta_{GLB} - #theta_{STAfromGLB}",
thetaBin*binFactor,-(thetaMax/100), thetaMax/100));
89 thetaResolution.push_back(dbe->
book1D(
"Res_TkSta_theta",
"#theta_{TKfromGLB} - #theta_{STAfromGLB}",
thetaBin*binFactor, -(thetaMax/100), thetaMax/100));
91 thetaResolution.push_back(dbe->
book2D(
"ResVsTheta_TkGlb_theta",
"(#theta_{TKfromGLB} - #theta_{GLB}) vs #theta_{GLB}",
thetaBin, thetaMin, thetaMax,
thetaBin*binFactor, -(thetaMax/3000), thetaMax/3000));
94 thetaResolution.push_back(dbe->
book2D(
"ResVsTheta_GlbSta_theta",
"(#theta_{GLB} - #theta_{STAfromGLB}) vs #theta_{GLB}",
thetaBin, thetaMin, thetaMax,
thetaBin*binFactor, -(thetaMax/100), thetaMax/100));
97 thetaResolution.push_back(dbe->
book2D(
"ResVsTheta_TkSta_theta",
"(#theta_{TKfromGLB} - #theta_{STAfromGLB}) vs #theta_{TKfromGLB}",
thetaBin, thetaMin, thetaMax,
thetaBin*binFactor, -(thetaMax/100), thetaMax/100));
100 thetaPull = dbe->
book1D(
"Pull_TkSta_theta",
"#theta_{TKfromGLB} - #theta_{STAfromGLB} / error", 100,-10,10);
111 tunePResolution = dbe->
book1D(
"Res_TuneP_pt",
"Pt_{MuonBestTrack}-Pt_{tunePMuonBestTrack}/Pt_{MuonBestTrack}",
tunePBin, tunePMin, tunePMax);
125 phiResolution.push_back(dbe->
book1D(
"Res_TkGlb_phi",
"#phi_{TKfromGLB} - #phi_{GLB}",
phiBin*binFactor, phiMin/3000, phiMax/3000));
127 phiResolution.push_back(dbe->
book1D(
"Res_GlbSta_phi",
"#phi_{GLB} - #phi_{STAfromGLB}",
phiBin*binFactor, phiMin/100, phiMax/100));
129 phiResolution.push_back(dbe->
book1D(
"Res_TkSta_phi",
"#phi_{TKfromGLB} - #phi_{STAfromGLB}",
phiBin*binFactor, phiMin/100, phiMax/100));
131 phiResolution.push_back(dbe->
book2D(
"ResVsPhi_TkGlb_phi",
"(#phi_{TKfromGLB} - #phi_{GLB}) vs #phi_GLB",
phiBin, phiMin, phiMax,
phiBin*binFactor, phiMin/3000, phiMax/3000));
134 phiResolution.push_back(dbe->
book2D(
"ResVsPhi_GlbSta_phi",
"(#phi_{GLB} - #phi_{STAfromGLB}) vs #phi_{GLB}",
phiBin, phiMin, phiMax,
phiBin*binFactor, phiMin/100, phiMax/100));
137 phiResolution.push_back(dbe->
book2D(
"ResVsPhi_TkSta_phi",
"(#phi_{TKfromGLB} - #phi_{STAfromGLB}) vs #phi_{TKfromGLB}",
phiBin, phiMin, phiMax,
phiBin*binFactor, phiMin/100, phiMax/100));
140 phiPull = dbe->
book1D(
"Pull_TkSta_phi",
"#phi_{TKfromGLB} - #phi_{STAfromGLB} / error", 100,-10,10);
147 phiEfficiency.push_back(dbe->
book1D(
"StaPhi_ifCombinedAlso",
"#phi_{STAfromGLB} if the isGlb=true",
phiBin, phiMin, phiMax));
161 probchi2GlbTrack.push_back(dbe->
book1D(histname+
"Tk_probchi",
"Prob #chi_{TKfromGLB}", 120, chi2Min, 1.20));
162 probchi2GlbTrack.push_back(dbe->
book1D(histname+
"Sta_probchi",
"Prob #chi_{STAfromGLB}", 120, chi2Min, 1.20));
197 qGlbTrack.push_back(dbe->
book1D(histname+
"Glb_q",
"q_{GLB}", 5, -2.5, 2.5));
198 qGlbTrack.push_back(dbe->
book1D(histname+
"Tk_q",
"q_{TKfromGLB}", 5, -2.5, 2.5));
199 qGlbTrack.push_back(dbe->
book1D(histname+
"Sta_q",
"q_{STAformGLB}", 5, -2.5, 2.5));
200 qGlbTrack.push_back(dbe->
book1D(histname+
"qComparison",
"comparison between q_{GLB} and q_{TKfromGLB}, q_{STAfromGLB}", 8, 0.5, 8.5));
201 qGlbTrack[3]->setBinLabel(1,
"qGlb=qSta");
202 qGlbTrack[3]->setBinLabel(2,
"qGlb!=qSta");
204 qGlbTrack[3]->setBinLabel(4,
"qGlb!=qTk");
206 qGlbTrack[3]->setBinLabel(6,
"qSta!=qTk");
207 qGlbTrack[3]->setBinLabel(7,
"qGlb!=qSta,qGlb!=Tk");
208 qGlbTrack[3]->setBinLabel(8,
"qGlb=qSta,qGlb=Tk");
209 qTrack = dbe->
book1D(
"TkMuon_q",
"q_{TK}", 5, -2.5, 2.5);
222 qOverpPull = dbe->
book1D(
"Pull_TkSta_qOverp",
"(q/p)_{TKfromGLB} - (q/p)_{STAfromGLB} / error", 100,-10,10);
230 oneOverpPull = dbe->
book1D(
"Pull_TkSta_oneOverp",
"(1/p)_{TKfromGLB} - (1/p)_{STAfromGLB} / error", 100,-10,10);
233 qOverptResolution.push_back(dbe->
book1D(
"Res_TkGlb_qOverpt",
"(q/p_{t})_{TKfromGLB} - (q/p_{t})_{GLB}",
pResBin*binFactor*2, pResMin/10, pResMax/10));
237 qOverptResolution.push_back(dbe->
book1D(
"Res_TkSta_qOverpt",
"(q/p_{t})_{TKfromGLB} - (q/p_{t})_{STAfromGLB}",
pResBin*binFactor, pResMin, pResMax));
239 qOverptPull = dbe->
book1D(
"Pull_TkSta_qOverpt",
"(q/pt)_{TKfromGLB} - (q/pt)_{STAfromGLB} / error", 100,-10,10);
247 oneOverptResolution.push_back(dbe->
book2D(
"ResVsEta_TkGlb_oneOverpt",
"(#eta_{TKfromGLB} - #eta_{GLB}) vs (1/p_{t})_{GLB}",
etaBin, etaMin, etaMax,
pResBin*binFactor*2, pResMin/10, pResMax/10));
249 oneOverptResolution.push_back(dbe->
book2D(
"ResVsEta_GlbSta_oneOverpt",
"(#eta_{GLB} - #eta_{STAfromGLB} vs (1/p_{t})_{GLB}",
etaBin, etaMin, etaMax,
pResBin*binFactor, pResMin, pResMax));
251 oneOverptResolution.push_back(dbe->
book2D(
"ResVsEta_TkSta_oneOverpt",
"(#eta_{TKfromGLB} - #eta_{STAfromGLB}) vs (1/p_{t})_{TKfromGLB}",
etaBin, etaMin, etaMax,
pResBin*binFactor, pResMin, pResMax));
253 oneOverptResolution.push_back(dbe->
book2D(
"ResVsPhi_TkGlb_oneOverpt",
"(#phi_{TKfromGLB} - #phi_{GLB}) vs (1/p_{t})_{GLB}",
phiBin, phiMin, phiMax,
pResBin*binFactor*2, pResMin/10, pResMax/10));
256 oneOverptResolution.push_back(dbe->
book2D(
"ResVsPhi_GlbSta_oneOverpt",
"(#phi_{GLB} - #phi_{STAfromGLB} vs (1/p_{t})_{GLB}",
phiBin, phiMin, phiMax,
pResBin*binFactor, pResMin, pResMax));
259 oneOverptResolution.push_back(dbe->
book2D(
"ResVsPhi_TkSta_oneOverpt",
"(#phi_{TKfromGLB} - #phi_{STAfromGLB}) vs (1/p_{t})_{TKfromGLB}",
phiBin, phiMin, phiMax,
pResBin*binFactor, pResMin, pResMax));
262 oneOverptResolution.push_back(dbe->
book2D(
"ResVsPt_TkGlb_oneOverpt",
"((1/p_{t})_{TKfromGLB} - (1/p_{t})_{GLB}) vs (1/p_{t})_{GLB}",
ptBin/5, ptMin, ptMax/100,
pResBin*binFactor*2, pResMin/10, pResMax/10));
265 oneOverptResolution.push_back(dbe->
book2D(
"ResVsPt_GlbSta_oneOverpt",
"((1/p_{t})_{GLB} - (1/p_{t})_{STAfromGLB} vs (1/p_{t})_{GLB}",
ptBin/5, ptMin, ptMax/100,
pResBin*binFactor, pResMin, pResMax));
268 oneOverptResolution.push_back(dbe->
book2D(
"ResVsPt_TkSta_oneOverpt",
"((1/p_{t})_{TKfromGLB} - (1/p_{t})_{STAfromGLB}) vs (1/p_{t})_{TKfromGLB}",
ptBin/5, ptMin, ptMax/100,
pResBin*binFactor, pResMin, pResMax));
271 oneOverptPull = dbe->
book1D(
"Pull_TkSta_oneOverpt",
"(1/pt)_{TKfromGLB} - (1/pt)_{STAfromGLB} / error", 100,-10,10);
278 rhAnalysis.push_back(dbe->
book1D(
"StaRh_Frac_inGlb",
"recHits_{STAinGLB} / recHits_{GLB}",
rhBin, rhMin, rhMax));
279 rhAnalysis.push_back(dbe->
book1D(
"TkRh_Frac_inGlb",
"recHits_{TKinGLB} / recHits_{GLB}",
rhBin, rhMin, rhMax));
280 rhAnalysis.push_back(dbe->
book1D(
"StaRh_inGlb_Div_RhAssoSta",
"recHits_{STAinGLB} / recHits_{STAfromGLB}",
rhBin, rhMin, rhMax));
281 rhAnalysis.push_back(dbe->
book1D(
"TkRh_inGlb_Div_RhAssoTk",
"recHits_{TKinGLB} / recHits_{TKfromGLB}",
rhBin, rhMin, rhMax));
282 rhAnalysis.push_back(dbe->
book1D(
"GlbRh_Div_RhAssoStaTk",
"recHits_{GLB} / (recHits_{TKfromGLB}+recHits_{STAfromGLB})",
rhBin, rhMin, rhMax));
283 rhAnalysis.push_back(dbe->
book1D(
"invalidRh_Frac_inTk",
"Invalid recHits / rechits_{GLB}",
rhBin, rhMin, rhMax));
286 muVStkSytemRotation.push_back(dbe->
book2D(
"muVStkSytemRotation_posMu",
"pT_{TK} / pT_{GLB} vs pT_{GLB} for #mu^{+}", 50,0,200,100,0.8,1.2));
287 muVStkSytemRotation.push_back(dbe->
book2D(
"muVStkSytemRotation_negMu",
"pT_{TK} / pT_{GLB} vs pT_{GLB} for #mu^{-}", 50,0,200,100,0.8,1.2));
294 float p1=0,
p2=0, p1e=1, p2e=1;
297 p1 = t1->eta(); p1e = t1->etaError();
298 p2 = t2->eta(); p2e = t2->etaError();
300 else if(par ==
"theta") {
301 p1 = t1->theta(); p1e = t1->thetaError();
302 p2 = t2->theta(); p2e = t2->thetaError();
304 else if(par ==
"phi") {
305 p1 = t1->phi(); p1e = t1->phiError();
306 p2 = t2->phi(); p2e = t2->phiError();
308 else if(par ==
"qOverp") {
309 p1 = t1->charge()/t1->p(); p1e = t1->qoverpError();
310 p2 = t2->charge()/t2->p(); p2e = t2->qoverpError();
312 else if(par ==
"oneOverp") {
313 p1 = 1./t1->p(); p1e = t1->qoverpError();
314 p2 = 1./t2->p(); p2e = t2->qoverpError();
316 else if(par ==
"qOverpt") {
317 p1 = t1->charge()/t1->pt(); p1e = t1->ptError()*p1*
p1;
318 p2 = t2->charge()/t2->pt(); p2e = t2->ptError()*
p2*
p2;
320 else if(par ==
"oneOverpt") {
321 p1 = 1./t1->pt(); p1e = t1->ptError()*p1*
p1;
322 p2 = 1./t2->pt(); p2e = t2->ptError()*
p2*
p2;
326 if(p1e!=0 || p2e!=0) pull = res /
sqrt(p1e*p1e + p2e*p2e);
344 LogTrace(
metname)<<
"[MuonRecoAnalyzer] The mu is global - filling the histos";
350 LogTrace(
metname)<<
"[MuonRecoAnalyzer] ERROR: the mu is global but not standalone!";
364 GetRes(recoTkGlbTrack, recoCombinedGlbTrack,
"eta", res, pull);
366 GetRes(recoCombinedGlbTrack, recoStaGlbTrack,
"eta", res, pull);
368 GetRes(recoTkGlbTrack, recoStaGlbTrack,
"eta", res, pull);
372 etaResolution[3]->Fill(recoCombinedGlbTrack->eta(), recoTkGlbTrack->eta()-recoCombinedGlbTrack->eta());
373 etaResolution[4]->Fill(recoCombinedGlbTrack->eta(), -recoStaGlbTrack->eta()+recoCombinedGlbTrack->eta());
374 etaResolution[5]->Fill(recoCombinedGlbTrack->eta(), recoTkGlbTrack->eta()-recoStaGlbTrack->eta());
380 GetRes(recoTkGlbTrack, recoCombinedGlbTrack,
"theta", res, pull);
383 GetRes(recoCombinedGlbTrack, recoStaGlbTrack,
"theta", res, pull);
386 GetRes(recoTkGlbTrack, recoStaGlbTrack,
"theta", res, pull);
390 thetaResolution[3]->Fill(recoCombinedGlbTrack->theta(), recoTkGlbTrack->theta()-recoCombinedGlbTrack->theta());
391 thetaResolution[4]->Fill(recoCombinedGlbTrack->theta(), -recoStaGlbTrack->theta()+recoCombinedGlbTrack->theta());
392 thetaResolution[5]->Fill(recoCombinedGlbTrack->theta(), recoTkGlbTrack->theta()-recoStaGlbTrack->theta());
399 GetRes(recoTkGlbTrack, recoCombinedGlbTrack,
"phi", res, pull);
401 GetRes(recoCombinedGlbTrack, recoStaGlbTrack,
"phi", res, pull);
403 GetRes(recoTkGlbTrack, recoStaGlbTrack,
"phi", res, pull);
406 phiResolution[3]->Fill(recoCombinedGlbTrack->phi(), recoTkGlbTrack->phi()-recoCombinedGlbTrack->phi());
407 phiResolution[4]->Fill(recoCombinedGlbTrack->phi(), -recoStaGlbTrack->phi()+recoCombinedGlbTrack->phi());
408 phiResolution[5]->Fill(recoCombinedGlbTrack->phi(), recoTkGlbTrack->phi()-recoStaGlbTrack->phi());
416 probchi2GlbTrack[0]->Fill(TMath::Prob(recoCombinedGlbTrack->chi2(),recoCombinedGlbTrack->ndof()));
417 probchi2GlbTrack[1]->Fill(TMath::Prob(recoTkGlbTrack->chi2(),recoTkGlbTrack->ndof()));
418 probchi2GlbTrack[2]->Fill(TMath::Prob(recoStaGlbTrack->chi2(),recoStaGlbTrack->ndof()));
422 pGlbTrack[0]->Fill(recoCombinedGlbTrack->p());
424 pGlbTrack[2]->Fill(recoStaGlbTrack->p());
426 ptGlbTrack[0]->Fill(recoCombinedGlbTrack->pt());
430 qGlbTrack[0]->Fill(recoCombinedGlbTrack->charge());
431 qGlbTrack[1]->Fill(recoTkGlbTrack->charge());
432 qGlbTrack[2]->Fill(recoStaGlbTrack->charge());
433 if(recoCombinedGlbTrack->charge()==recoStaGlbTrack->charge())
qGlbTrack[3]->
Fill(1);
435 if(recoCombinedGlbTrack->charge()==recoTkGlbTrack->charge())
qGlbTrack[3]->
Fill(3);
437 if(recoStaGlbTrack->charge()==recoTkGlbTrack->charge())
qGlbTrack[3]->
Fill(5);
439 if(recoCombinedGlbTrack->charge()!=recoStaGlbTrack->charge() && recoCombinedGlbTrack->charge()!=recoTkGlbTrack->charge())
qGlbTrack[3]->
Fill(7);
440 if(recoCombinedGlbTrack->charge()==recoStaGlbTrack->charge() && recoCombinedGlbTrack->charge()==recoTkGlbTrack->charge())
qGlbTrack[3]->
Fill(8);
442 GetRes(recoTkGlbTrack, recoCombinedGlbTrack,
"qOverp", res, pull);
444 GetRes(recoCombinedGlbTrack, recoStaGlbTrack,
"qOverp", res, pull);
446 GetRes(recoTkGlbTrack, recoStaGlbTrack,
"qOverp", res, pull);
451 GetRes(recoTkGlbTrack, recoCombinedGlbTrack,
"oneOverp", res, pull);
453 GetRes(recoCombinedGlbTrack, recoStaGlbTrack,
"oneOverp", res, pull);
455 GetRes(recoTkGlbTrack, recoStaGlbTrack,
"oneOverp", res, pull);
460 GetRes(recoTkGlbTrack, recoCombinedGlbTrack,
"qOverpt", res, pull);
462 GetRes(recoCombinedGlbTrack, recoStaGlbTrack,
"qOverpt", res, pull);
464 GetRes(recoTkGlbTrack, recoStaGlbTrack,
"qOverpt", res, pull);
468 GetRes(recoTkGlbTrack, recoCombinedGlbTrack,
"oneOverpt", res, pull);
470 GetRes(recoCombinedGlbTrack, recoStaGlbTrack,
"oneOverpt", res, pull);
472 GetRes(recoTkGlbTrack, recoStaGlbTrack,
"oneOverpt", res, pull);
483 double bestTrackPt = recoBestTrack->pt();
485 double tunePBestTrackPt = recoTunePBestTrack->pt();
487 double tunePBestTrackRes = (bestTrackPt - tunePBestTrackPt) / bestTrackPt;
492 oneOverptResolution[3]->Fill(recoCombinedGlbTrack->eta(),(1/recoTkGlbTrack->pt())-(1/recoCombinedGlbTrack->pt()));
493 oneOverptResolution[4]->Fill(recoCombinedGlbTrack->eta(),-(1/recoStaGlbTrack->pt())+(1/recoCombinedGlbTrack->pt()));
494 oneOverptResolution[5]->Fill(recoCombinedGlbTrack->eta(),(1/recoTkGlbTrack->pt())-(1/recoStaGlbTrack->pt()));
495 oneOverptResolution[6]->Fill(recoCombinedGlbTrack->phi(),(1/recoTkGlbTrack->pt())-(1/recoCombinedGlbTrack->pt()));
496 oneOverptResolution[7]->Fill(recoCombinedGlbTrack->phi(),-(1/recoStaGlbTrack->pt())+(1/recoCombinedGlbTrack->pt()));
497 oneOverptResolution[8]->Fill(recoCombinedGlbTrack->phi(),(1/recoTkGlbTrack->pt())-(1/recoStaGlbTrack->pt()));
498 oneOverptResolution[9]->Fill(recoCombinedGlbTrack->pt(),(1/recoTkGlbTrack->pt())-(1/recoCombinedGlbTrack->pt()));
499 oneOverptResolution[10]->Fill(recoCombinedGlbTrack->pt(),-(1/recoStaGlbTrack->pt())+(1/recoCombinedGlbTrack->pt()));
500 oneOverptResolution[11]->Fill(recoCombinedGlbTrack->pt(),(1/recoTkGlbTrack->pt())-(1/recoStaGlbTrack->pt()));
507 double rhGlb = recoCombinedGlbTrack->found();
509 double rhGlb_StaProvenance=0;
511 double rhGlb_TkProvenance=0;
513 recHit!=recoCombinedGlbTrack->recHitsEnd(); ++recHit){
514 if((*recHit)->isValid()){
515 DetId id = (*recHit)->geographicalId();
517 rhGlb_StaProvenance++;
519 rhGlb_TkProvenance++;
523 double rhStaGlb = recoStaGlbTrack->recHitsSize();
525 double rhTkGlb = recoTkGlbTrack->found();
527 double rhTkGlb_notValid = recoTkGlbTrack->lost();
530 rhAnalysis[0]->Fill(rhGlb_StaProvenance/rhGlb);
531 rhAnalysis[1]->Fill(rhGlb_TkProvenance/rhGlb);
532 rhAnalysis[2]->Fill(rhGlb_StaProvenance/rhStaGlb);
533 rhAnalysis[3]->Fill(rhGlb_TkProvenance/rhTkGlb);
534 rhAnalysis[4]->Fill(rhGlb/(rhStaGlb+rhTkGlb));
538 if(recoCombinedGlbTrack->charge()>0)
541 muVStkSytemRotation[1]->Fill(recoCombinedGlbTrack->pt(),recoTkGlbTrack->pt()/recoCombinedGlbTrack->pt());
547 LogTrace(
metname)<<
"[MuonRecoAnalyzer] The mu is tracker only - filling the histos";
568 LogTrace(
metname)<<
"[MuonRecoAnalyzer] The mu is STA only - filling the histos";
T getParameter(std::string const &) const
virtual ~MuonRecoAnalyzer()
Destructor.
std::vector< MonitorElement * > oneOverpResolution
MonitorElement * qOverptPull
std::vector< MonitorElement * > ptGlbTrack
std::vector< MonitorElement * > chi2OvDFGlbTrack
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
void analyze(const edm::Event &, const edm::EventSetup &, const reco::Muon &recoMu)
Get the analysis.
bool isTrackerMuon() const
MonitorElement * etaStaTrack
void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
virtual TrackRef track() const
reference to a Track
bool isGlobalMuon() const
std::vector< MonitorElement * > phiGlbTrack
void beginJob(DQMStore *dbe)
Inizialize parameters for histo binning.
bool isStandAloneMuon() const
MonitorElement * chi2OvDFStaTrack
MonitorElement * phiStaTrack
MonitorElement * qOverpPull
std::vector< MonitorElement * > phiEfficiency
MonitorElement * etaTrack
virtual TrackRef muonBestTrack() const
MonitorElement * chi2OvDFTrack
std::vector< MonitorElement * > qOverptResolution
std::vector< MonitorElement * > etaGlbTrack
auto const T2 &decltype(t1.eta()) t2
std::vector< MonitorElement * > pGlbTrack
std::vector< MonitorElement * > qOverpResolution
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
MonitorElement * oneOverpPull
std::vector< MonitorElement * > qGlbTrack
std::vector< MonitorElement * > probchi2GlbTrack
std::vector< MonitorElement * > etaResolution
MonitorElement * oneOverptPull
MonitorElement * tunePResolution
std::vector< MonitorElement * > etaEfficiency
void GetRes(reco::TrackRef t1, reco::TrackRef t2, std::string par, float &res, float &pull)
MonitorElement * thetaStaTrack
std::vector< MonitorElement * > phiResolution
virtual TrackRef combinedMuon() const
reference to a stand-alone muon Track
edm::ParameterSet parameters
std::vector< MonitorElement * > thetaGlbTrack
MonitorElement * phiTrack
std::vector< MonitorElement * > oneOverptResolution
MonitorElement * probchi2Track
std::vector< MonitorElement * > muVStkSytemRotation
MuonRecoAnalyzer(const edm::ParameterSet &, MuonServiceProxy *theService)
Constructor.
MonitorElement * probchi2StaTrack
MonitorElement * ptStaTrack
std::vector< MonitorElement * > rhAnalysis
virtual TrackRef tunePMuonBestTrack() const
MonitorElement * pStaTrack
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
MonitorElement * thetaTrack
std::vector< MonitorElement * > thetaResolution
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void setCurrentFolder(const std::string &fullpath)
MonitorElement * thetaPull
MonitorElement * qStaTrack
virtual TrackRef standAloneMuon() const
reference to a stand-alone muon Track