45 muReco = dbe->
book1D(
"muReco",
"muon reconstructed tracks", 6, 1, 7);
59 std::string histname =
"GlbMuon_";
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);
116 phiResolution.push_back(dbe->
book1D(
"Res_TkGlb_phi",
"#phi_{TKfromGLB} - #phi_{GLB}",
phiBin*binFactor, phiMin/3000, phiMax/3000));
118 phiResolution.push_back(dbe->
book1D(
"Res_GlbSta_phi",
"#phi_{GLB} - #phi_{STAfromGLB}",
phiBin*binFactor, phiMin/100, phiMax/100));
120 phiResolution.push_back(dbe->
book1D(
"Res_TkSta_phi",
"#phi_{TKfromGLB} - #phi_{STAfromGLB}",
phiBin*binFactor, phiMin/100, phiMax/100));
122 phiResolution.push_back(dbe->
book2D(
"ResVsPhi_TkGlb_phi",
"(#phi_{TKfromGLB} - #phi_{GLB}) vs #phi_GLB",
phiBin, phiMin, phiMax,
phiBin*binFactor, phiMin/3000, phiMax/3000));
125 phiResolution.push_back(dbe->
book2D(
"ResVsPhi_GlbSta_phi",
"(#phi_{GLB} - #phi_{STAfromGLB}) vs #phi_{GLB}",
phiBin, phiMin, phiMax,
phiBin*binFactor, phiMin/100, phiMax/100));
128 phiResolution.push_back(dbe->
book2D(
"ResVsPhi_TkSta_phi",
"(#phi_{TKfromGLB} - #phi_{STAfromGLB}) vs #phi_{TKfromGLB}",
phiBin, phiMin, phiMax,
phiBin*binFactor, phiMin/100, phiMax/100));
131 phiPull = dbe->
book1D(
"Pull_TkSta_phi",
"#phi_{TKfromGLB} - #phi_{STAfromGLB} / error", 100,-10,10);
138 phiEfficiency.push_back(dbe->
book1D(
"StaPhi_ifCombinedAlso",
"#phi_{STAfromGLB} if the isGlb=true",
phiBin, phiMin, phiMax));
152 probchi2GlbTrack.push_back(dbe->
book1D(histname+
"Tk_probchi",
"Prob #chi_{TKfromGLB}", 120, chi2Min, 1.20));
153 probchi2GlbTrack.push_back(dbe->
book1D(histname+
"Sta_probchi",
"Prob #chi_{STAfromGLB}", 120, chi2Min, 1.20));
188 qGlbTrack.push_back(dbe->
book1D(histname+
"Glb_q",
"q_{GLB}", 5, -2.5, 2.5));
189 qGlbTrack.push_back(dbe->
book1D(histname+
"Tk_q",
"q_{TKfromGLB}", 5, -2.5, 2.5));
190 qGlbTrack.push_back(dbe->
book1D(histname+
"Sta_q",
"q_{STAformGLB}", 5, -2.5, 2.5));
191 qGlbTrack.push_back(dbe->
book1D(histname+
"qComparison",
"comparison between q_{GLB} and q_{TKfromGLB}, q_{STAfromGLB}", 8, 0.5, 8.5));
192 qGlbTrack[3]->setBinLabel(1,
"qGlb=qSta");
193 qGlbTrack[3]->setBinLabel(2,
"qGlb!=qSta");
195 qGlbTrack[3]->setBinLabel(4,
"qGlb!=qTk");
197 qGlbTrack[3]->setBinLabel(6,
"qSta!=qTk");
198 qGlbTrack[3]->setBinLabel(7,
"qGlb!=qSta,qGlb!=Tk");
199 qGlbTrack[3]->setBinLabel(8,
"qGlb=qSta,qGlb=Tk");
200 qTrack = dbe->
book1D(
"TkMuon_q",
"q_{TK}", 5, -2.5, 2.5);
213 qOverpPull = dbe->
book1D(
"Pull_TkSta_qOverp",
"(q/p)_{TKfromGLB} - (q/p)_{STAfromGLB} / error", 100,-10,10);
221 oneOverpPull = dbe->
book1D(
"Pull_TkSta_oneOverp",
"(1/p)_{TKfromGLB} - (1/p)_{STAfromGLB} / error", 100,-10,10);
224 qOverptResolution.push_back(dbe->
book1D(
"Res_TkGlb_qOverpt",
"(q/p_{t})_{TKfromGLB} - (q/p_{t})_{GLB}",
pResBin*binFactor*2, pResMin/10, pResMax/10));
228 qOverptResolution.push_back(dbe->
book1D(
"Res_TkSta_qOverpt",
"(q/p_{t})_{TKfromGLB} - (q/p_{t})_{STAfromGLB}",
pResBin*binFactor, pResMin, pResMax));
230 qOverptPull = dbe->
book1D(
"Pull_TkSta_qOverpt",
"(q/pt)_{TKfromGLB} - (q/pt)_{STAfromGLB} / error", 100,-10,10);
238 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));
240 oneOverptResolution.push_back(dbe->
book2D(
"ResVsEta_GlbSta_oneOverpt",
"(#eta_{GLB} - #eta_{STAfromGLB} vs (1/p_{t})_{GLB}",
etaBin, etaMin, etaMax,
pResBin*binFactor, pResMin, pResMax));
242 oneOverptResolution.push_back(dbe->
book2D(
"ResVsEta_TkSta_oneOverpt",
"(#eta_{TKfromGLB} - #eta_{STAfromGLB}) vs (1/p_{t})_{TKfromGLB}",
etaBin, etaMin, etaMax,
pResBin*binFactor, pResMin, pResMax));
244 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));
247 oneOverptResolution.push_back(dbe->
book2D(
"ResVsPhi_GlbSta_oneOverpt",
"(#phi_{GLB} - #phi_{STAfromGLB} vs (1/p_{t})_{GLB}",
phiBin, phiMin, phiMax,
pResBin*binFactor, pResMin, pResMax));
250 oneOverptResolution.push_back(dbe->
book2D(
"ResVsPhi_TkSta_oneOverpt",
"(#phi_{TKfromGLB} - #phi_{STAfromGLB}) vs (1/p_{t})_{TKfromGLB}",
phiBin, phiMin, phiMax,
pResBin*binFactor, pResMin, pResMax));
253 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));
256 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));
259 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));
262 oneOverptPull = dbe->
book1D(
"Pull_TkSta_oneOverpt",
"(1/pt)_{TKfromGLB} - (1/pt)_{STAfromGLB} / error", 100,-10,10);
269 rhAnalysis.push_back(dbe->
book1D(
"StaRh_Frac_inGlb",
"recHits_{STAinGLB} / recHits_{GLB}",
rhBin, rhMin, rhMax));
270 rhAnalysis.push_back(dbe->
book1D(
"TkRh_Frac_inGlb",
"recHits_{TKinGLB} / recHits_{GLB}",
rhBin, rhMin, rhMax));
271 rhAnalysis.push_back(dbe->
book1D(
"StaRh_inGlb_Div_RhAssoSta",
"recHits_{STAinGLB} / recHits_{STAfromGLB}",
rhBin, rhMin, rhMax));
272 rhAnalysis.push_back(dbe->
book1D(
"TkRh_inGlb_Div_RhAssoTk",
"recHits_{TKinGLB} / recHits_{TKfromGLB}",
rhBin, rhMin, rhMax));
273 rhAnalysis.push_back(dbe->
book1D(
"GlbRh_Div_RhAssoStaTk",
"recHits_{GLB} / (recHits_{TKfromGLB}+recHits_{STAfromGLB})",
rhBin, rhMin, rhMax));
274 rhAnalysis.push_back(dbe->
book1D(
"invalidRh_Frac_inTk",
"Invalid recHits / rechits_{GLB}",
rhBin, rhMin, rhMax));
277 muVStkSytemRotation.push_back(dbe->
book2D(
"muVStkSytemRotation_posMu",
"pT_{TK} / pT_{GLB} vs pT_{GLB} for #mu^{+}", 50,0,200,100,0.8,1.2));
278 muVStkSytemRotation.push_back(dbe->
book2D(
"muVStkSytemRotation_negMu",
"pT_{TK} / pT_{GLB} vs pT_{GLB} for #mu^{-}", 50,0,200,100,0.8,1.2));
285 float p1=0,
p2=0, p1e=1, p2e=1;
288 p1 = t1->eta(); p1e = t1->etaError();
289 p2 = t2->eta(); p2e = t2->etaError();
291 else if(par ==
"theta") {
292 p1 = t1->theta(); p1e = t1->thetaError();
293 p2 = t2->theta(); p2e = t2->thetaError();
295 else if(par ==
"phi") {
296 p1 = t1->phi(); p1e = t1->phiError();
297 p2 = t2->phi(); p2e = t2->phiError();
299 else if(par ==
"qOverp") {
300 p1 = t1->charge()/t1->p(); p1e = t1->qoverpError();
301 p2 = t2->charge()/t2->p(); p2e = t2->qoverpError();
303 else if(par ==
"oneOverp") {
304 p1 = 1./t1->p(); p1e = t1->qoverpError();
305 p2 = 1./t2->p(); p2e = t2->qoverpError();
307 else if(par ==
"qOverpt") {
308 p1 = t1->charge()/t1->pt(); p1e = t1->ptError()*p1*
p1;
309 p2 = t2->charge()/t2->pt(); p2e = t2->ptError()*
p2*
p2;
311 else if(par ==
"oneOverpt") {
312 p1 = 1./t1->pt(); p1e = t1->ptError()*p1*
p1;
313 p2 = 1./t2->pt(); p2e = t2->ptError()*
p2*
p2;
317 if(p1e!=0 || p2e!=0) pull = res /
sqrt(p1e*p1e + p2e*p2e);
334 LogTrace(
metname)<<
"[MuonRecoAnalyzer] The mu is global - filling the histos";
340 LogTrace(
metname)<<
"[MuonRecoAnalyzer] ERROR: the mu is global but not standalone!";
354 GetRes(recoTkGlbTrack, recoCombinedGlbTrack,
"eta", res, pull);
356 GetRes(recoCombinedGlbTrack, recoStaGlbTrack,
"eta", res, pull);
358 GetRes(recoTkGlbTrack, recoStaGlbTrack,
"eta", res, pull);
362 etaResolution[3]->Fill(recoCombinedGlbTrack->eta(), recoTkGlbTrack->eta()-recoCombinedGlbTrack->eta());
363 etaResolution[4]->Fill(recoCombinedGlbTrack->eta(), -recoStaGlbTrack->eta()+recoCombinedGlbTrack->eta());
364 etaResolution[5]->Fill(recoCombinedGlbTrack->eta(), recoTkGlbTrack->eta()-recoStaGlbTrack->eta());
371 GetRes(recoTkGlbTrack, recoCombinedGlbTrack,
"theta", res, pull);
374 GetRes(recoCombinedGlbTrack, recoStaGlbTrack,
"theta", res, pull);
377 GetRes(recoTkGlbTrack, recoStaGlbTrack,
"theta", res, pull);
381 thetaResolution[3]->Fill(recoCombinedGlbTrack->theta(), recoTkGlbTrack->theta()-recoCombinedGlbTrack->theta());
382 thetaResolution[4]->Fill(recoCombinedGlbTrack->theta(), -recoStaGlbTrack->theta()+recoCombinedGlbTrack->theta());
383 thetaResolution[5]->Fill(recoCombinedGlbTrack->theta(), recoTkGlbTrack->theta()-recoStaGlbTrack->theta());
390 GetRes(recoTkGlbTrack, recoCombinedGlbTrack,
"phi", res, pull);
392 GetRes(recoCombinedGlbTrack, recoStaGlbTrack,
"phi", res, pull);
394 GetRes(recoTkGlbTrack, recoStaGlbTrack,
"phi", res, pull);
397 phiResolution[3]->Fill(recoCombinedGlbTrack->phi(), recoTkGlbTrack->phi()-recoCombinedGlbTrack->phi());
398 phiResolution[4]->Fill(recoCombinedGlbTrack->phi(), -recoStaGlbTrack->phi()+recoCombinedGlbTrack->phi());
399 phiResolution[5]->Fill(recoCombinedGlbTrack->phi(), recoTkGlbTrack->phi()-recoStaGlbTrack->phi());
407 probchi2GlbTrack[0]->Fill(TMath::Prob(recoCombinedGlbTrack->chi2(),recoCombinedGlbTrack->ndof()));
408 probchi2GlbTrack[1]->Fill(TMath::Prob(recoTkGlbTrack->chi2(),recoTkGlbTrack->ndof()));
409 probchi2GlbTrack[2]->Fill(TMath::Prob(recoStaGlbTrack->chi2(),recoStaGlbTrack->ndof()));
413 pGlbTrack[0]->Fill(recoCombinedGlbTrack->p());
415 pGlbTrack[2]->Fill(recoStaGlbTrack->p());
417 ptGlbTrack[0]->Fill(recoCombinedGlbTrack->pt());
421 qGlbTrack[0]->Fill(recoCombinedGlbTrack->charge());
422 qGlbTrack[1]->Fill(recoTkGlbTrack->charge());
423 qGlbTrack[2]->Fill(recoStaGlbTrack->charge());
424 if(recoCombinedGlbTrack->charge()==recoStaGlbTrack->charge())
qGlbTrack[3]->Fill(1);
426 if(recoCombinedGlbTrack->charge()==recoTkGlbTrack->charge())
qGlbTrack[3]->Fill(3);
428 if(recoStaGlbTrack->charge()==recoTkGlbTrack->charge())
qGlbTrack[3]->Fill(5);
430 if(recoCombinedGlbTrack->charge()!=recoStaGlbTrack->charge() && recoCombinedGlbTrack->charge()!=recoTkGlbTrack->charge())
qGlbTrack[3]->Fill(7);
431 if(recoCombinedGlbTrack->charge()==recoStaGlbTrack->charge() && recoCombinedGlbTrack->charge()==recoTkGlbTrack->charge())
qGlbTrack[3]->Fill(8);
433 GetRes(recoTkGlbTrack, recoCombinedGlbTrack,
"qOverp", res, pull);
435 GetRes(recoCombinedGlbTrack, recoStaGlbTrack,
"qOverp", res, pull);
437 GetRes(recoTkGlbTrack, recoStaGlbTrack,
"qOverp", res, pull);
442 GetRes(recoTkGlbTrack, recoCombinedGlbTrack,
"oneOverp", res, pull);
444 GetRes(recoCombinedGlbTrack, recoStaGlbTrack,
"oneOverp", res, pull);
446 GetRes(recoTkGlbTrack, recoStaGlbTrack,
"oneOverp", res, pull);
451 GetRes(recoTkGlbTrack, recoCombinedGlbTrack,
"qOverpt", res, pull);
453 GetRes(recoCombinedGlbTrack, recoStaGlbTrack,
"qOverpt", res, pull);
455 GetRes(recoTkGlbTrack, recoStaGlbTrack,
"qOverpt", res, pull);
459 GetRes(recoTkGlbTrack, recoCombinedGlbTrack,
"oneOverpt", res, pull);
461 GetRes(recoCombinedGlbTrack, recoStaGlbTrack,
"oneOverpt", res, pull);
463 GetRes(recoTkGlbTrack, recoStaGlbTrack,
"oneOverpt", res, pull);
467 oneOverptResolution[3]->Fill(recoCombinedGlbTrack->eta(),(1/recoTkGlbTrack->pt())-(1/recoCombinedGlbTrack->pt()));
468 oneOverptResolution[4]->Fill(recoCombinedGlbTrack->eta(),-(1/recoStaGlbTrack->pt())+(1/recoCombinedGlbTrack->pt()));
469 oneOverptResolution[5]->Fill(recoCombinedGlbTrack->eta(),(1/recoTkGlbTrack->pt())-(1/recoStaGlbTrack->pt()));
470 oneOverptResolution[6]->Fill(recoCombinedGlbTrack->phi(),(1/recoTkGlbTrack->pt())-(1/recoCombinedGlbTrack->pt()));
471 oneOverptResolution[7]->Fill(recoCombinedGlbTrack->phi(),-(1/recoStaGlbTrack->pt())+(1/recoCombinedGlbTrack->pt()));
472 oneOverptResolution[8]->Fill(recoCombinedGlbTrack->phi(),(1/recoTkGlbTrack->pt())-(1/recoStaGlbTrack->pt()));
473 oneOverptResolution[9]->Fill(recoCombinedGlbTrack->pt(),(1/recoTkGlbTrack->pt())-(1/recoCombinedGlbTrack->pt()));
474 oneOverptResolution[10]->Fill(recoCombinedGlbTrack->pt(),-(1/recoStaGlbTrack->pt())+(1/recoCombinedGlbTrack->pt()));
475 oneOverptResolution[11]->Fill(recoCombinedGlbTrack->pt(),(1/recoTkGlbTrack->pt())-(1/recoStaGlbTrack->pt()));
478 double rhGlb = recoCombinedGlbTrack->found();
480 double rhGlb_StaProvenance=0;
482 double rhGlb_TkProvenance=0;
484 recHit!=recoCombinedGlbTrack->recHitsEnd(); ++recHit){
485 if((*recHit)->isValid()){
486 DetId id = (*recHit)->geographicalId();
488 rhGlb_StaProvenance++;
490 rhGlb_TkProvenance++;
494 double rhStaGlb = recoStaGlbTrack->recHitsSize();
496 double rhTkGlb = recoTkGlbTrack->found();
498 double rhTkGlb_notValid = recoTkGlbTrack->lost();
501 rhAnalysis[0]->Fill(rhGlb_StaProvenance/rhGlb);
502 rhAnalysis[1]->Fill(rhGlb_TkProvenance/rhGlb);
503 rhAnalysis[2]->Fill(rhGlb_StaProvenance/rhStaGlb);
504 rhAnalysis[3]->Fill(rhGlb_TkProvenance/rhTkGlb);
505 rhAnalysis[4]->Fill(rhGlb/(rhStaGlb+rhTkGlb));
509 if(recoCombinedGlbTrack->charge()>0)
510 muVStkSytemRotation[0]->Fill(recoCombinedGlbTrack->pt(),recoTkGlbTrack->pt()/recoCombinedGlbTrack->pt());
512 muVStkSytemRotation[1]->Fill(recoCombinedGlbTrack->pt(),recoTkGlbTrack->pt()/recoCombinedGlbTrack->pt());
518 LogTrace(
metname)<<
"[MuonRecoAnalyzer] The mu is tracker only - filling the histos";
539 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
MonitorElement * chi2OvDFTrack
std::vector< MonitorElement * > qOverptResolution
std::vector< MonitorElement * > etaGlbTrack
std::vector< MonitorElement * > pGlbTrack
std::vector< MonitorElement * > qOverpResolution
MonitorElement * oneOverpPull
std::vector< MonitorElement * > qGlbTrack
std::vector< MonitorElement * > probchi2GlbTrack
std::vector< MonitorElement * > etaResolution
MonitorElement * oneOverptPull
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
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
const double par[8 *NPar][4]
virtual TrackRef standAloneMuon() const
reference to a stand-alone muon Track