Reimplemented from DQMEDAnalyzer.
Definition at line 243 of file EwkMuDQM.cc.
260 unsigned int nmuonsForZ1 = 0;
261 unsigned int nmuonsForZ2 = 0;
263 for (
unsigned int i = 0;
i < muonCollectionSize;
i++) {
265 if (!
mu.isGlobalMuon())
268 double dxy =
mu.innerTrack()->dxy(beamSpotHandle->
position());
280 for (
unsigned int j =
i + 1;
j < muonCollectionSize;
j++) {
284 mu.px() + mu2.
px(),
mu.py() + mu2.
py(),
mu.pz() + mu2.
pz(),
mu.p() + mu2.
p());
286 if (
mu.charge() > 0) {
307 double met_et =
met.pt();
308 LogTrace(
"") <<
">>> MET, MET_px, MET_py: " << met_et <<
", " <<
met.px() <<
", " <<
met.py() <<
" [GeV]";
314 LogError(
"") <<
">>> Vertex collection does not exist !!!";
320 for (
unsigned int i = 0;
i < vertexCollectionSize;
i++) {
369 if (prescaleSet == -1) {
370 LogTrace(
"") <<
"Failed to determine prescaleSet\n";
428 for (
unsigned int i = 0;
i < jetCollectionSize;
i++) {
430 double minDistance = 99999;
431 for (
unsigned int j = 0;
j < muonCollectionSize;
j++) {
438 if (minDistance < 0.3)
440 if (
jet.et() > max_pt) {
449 LogTrace(
"") <<
">>> Total number of jets: " << jetCollectionSize;
452 double lead_jet_pt = -1;
453 double lead_jet_eta = -100;
458 lead_jet_pt = leadJet.
pt();
459 lead_jet_eta = leadJet.
eta();
467 unsigned int ngam = 0;
479 LogTrace(
"") <<
" >>> N photons " << ngam << std::endl;
489 bool zjets_hist_done =
false;
490 bool zfullsel_hist_done =
false;
491 bool met_hist_done =
false;
492 bool njets_hist_done =
false;
493 bool wfullsel_hist_done =
false;
496 const int NFLAGS = 10;
497 bool muon_sel[NFLAGS];
498 const int NFLAGSZ = 12;
499 bool zmuon_sel[NFLAGSZ];
502 double number_of_muons = 0;
503 double number_of_goodMuons = 0;
505 for (
unsigned int i = 0;
i < muonCollectionSize;
i++) {
506 for (
int j = 0;
j < NFLAGS; ++
j) {
513 if (!
mu.isGlobalMuon())
515 if (
mu.globalTrack().isNull())
517 if (
mu.innerTrack().isNull())
520 LogTrace(
"") <<
"> Wsel: processing muon number " <<
i <<
"...";
526 double eta =
mu.eta();
527 LogTrace(
"") <<
"\t... pt, eta: " <<
pt <<
" [GeV], " <<
eta;
539 double trackerHits = tk->hitPattern().numberOfValidTrackerHits();
540 int pixelHits = tk->hitPattern().numberOfValidPixelHits();
541 int muonHits = gm->hitPattern().numberOfValidMuonHits();
542 int nMatches =
mu.numberOfMatches();
560 if (!
mu.isTrackerMuon())
566 number_of_goodMuons++;
581 double isovar =
mu.isolationR03().sumPt;
583 isovar +=
mu.isolationR03().emEt;
584 isovar +=
mu.isolationR03().hadEt;
591 LogTrace(
"") <<
"\t... isolation value" << isovar <<
", isolated? " << muon_sel[6];
603 double w_et = met_et +
mu.pt();
604 double w_px =
met.px() +
mu.px();
605 double w_py =
met.py() +
mu.py();
607 double massT = w_et * w_et - w_px * w_px - w_py * w_py;
608 massT = (massT > 0) ?
sqrt(massT) : 0;
610 LogTrace(
"") <<
"\t... W mass, W_et, W_px, W_py: " << massT <<
", " << w_et <<
", " << w_px <<
", " << w_py
620 double acop = deltaphi.value();
624 LogTrace(
"") <<
"\t... acoplanarity: " << acop;
630 if (nmuonsForZ1 < 1 || nmuonsForZ2 < 2)
636 int flags_passed = 0;
637 for (
int j = 0;
j < NFLAGS; ++
j) {
643 if (flags_passed >= (NFLAGS - 1)) {
644 if (!muon_sel[0] || flags_passed == NFLAGS)
646 if (!muon_sel[1] || flags_passed == NFLAGS)
648 if (!muon_sel[2] || flags_passed == NFLAGS)
650 if (!muon_sel[3] || flags_passed == NFLAGS)
652 if (!muon_sel[4] || flags_passed == NFLAGS)
657 if (!muon_sel[5] || flags_passed == NFLAGS)
659 if (!muon_sel[6] || flags_passed == NFLAGS)
662 met_hist_done =
true;
663 if (!muon_sel[7] || flags_passed == NFLAGS)
666 if (!muon_sel[9] || flags_passed == NFLAGS) {
667 if (!njets_hist_done) {
672 njets_hist_done =
true;
674 if (flags_passed == NFLAGS) {
675 if (!wfullsel_hist_done) {
681 wfullsel_hist_done =
true;
687 if (muon4Z && !muon_sel[8]) {
689 for (
unsigned int j =
i + 1;
j < muonCollectionSize;
j++) {
690 for (
int ij = 0; ij < NFLAGSZ; ++ij) {
691 zmuon_sel[ij] =
false;
694 for (
int ji = 0; ji < 5; ++ji) {
695 zmuon_sel[ji] = muon_sel[ji];
705 double pt2 = mu2.
pt();
711 double dxy2 = gm2->dxy(beamSpotHandle->
position());
714 double normalizedChi22 = gm2->normalizedChi2();
715 double trackerHits2 = tk2->hitPattern().numberOfValidTrackerHits();
716 int pixelHits2 = tk2->hitPattern().numberOfValidPixelHits();
717 int muonHits2 = gm2->hitPattern().numberOfValidMuonHits();
719 bool quality2 =
true;
732 zmuon_sel[8] = quality2;
744 mu.px() + mu2.
px(),
mu.py() + mu2.
py(),
mu.pz() + mu2.
pz(),
mu.p() + mu2.
p());
746 zmuon_sel[10] =
true;
750 zmuon_sel[11] =
true;
753 int flags_passed_z = 0;
755 for (
int jj = 0;
jj < NFLAGSZ; ++
jj) {
760 if (flags_passed_z >= (NFLAGSZ - 1)) {
761 if (!zmuon_sel[0] || flags_passed_z == NFLAGSZ) {
764 if (!zmuon_sel[1] || flags_passed_z == NFLAGSZ) {
767 if (!zmuon_sel[2] || flags_passed_z == NFLAGSZ) {
770 if (!zmuon_sel[3] || flags_passed_z == NFLAGSZ) {
773 if (!zmuon_sel[4] || flags_passed_z == NFLAGSZ) {
776 if (!zmuon_sel[5] || flags_passed_z == NFLAGSZ) {
779 if (!zmuon_sel[6] || flags_passed_z == NFLAGSZ) {
782 if (!zmuon_sel[7] || flags_passed_z == NFLAGSZ) {
785 if (!zmuon_sel[8] || flags_passed_z == NFLAGSZ) {
788 if (!zmuon_sel[9] || flags_passed_z == NFLAGSZ) {
795 if (!zmuon_sel[10] || flags_passed_z == NFLAGSZ) {
798 if (!zmuon_sel[11] || flags_passed_z == NFLAGSZ) {
799 if (!zjets_hist_done) {
804 zjets_hist_done =
true;
806 if (flags_passed_z == NFLAGSZ) {
808 if (!zfullsel_hist_done) {
821 zfullsel_hist_done =
true;
828 if (zfullsel_hist_done) {
References acop_after_, acop_before_, acopCut_, beamSpotTag_, ALCARECOTkAlJpsiMuMu_cff::charge, reco::LeafCandidate::charge(), EcalCondDBWriter_cfi::cosmic, dimuonmass_afterZ_, dimuonmass_before_, dimuonMassMax_, dimuonMassMin_, HLT_2018_cff::distance, PVValHelper::dxy, dxy1_afterZ_, dxy2_afterZ_, dxy_after_, dxy_before_, dxyCut_, eJetMin_, reco::MuonIsolation::emEt, PVValHelper::eta, reco::LeafCandidate::eta(), eta1_afterZ_, HLT_2018_cff::eta2, eta2_afterZ_, eta_after_, eta_before_, etaCut_, ev, dqm::impl::MonitorElement::Fill(), reco::Muon::globalTrack(), goodewkmuon1_afterZ_, goodewkmuon2_afterZ_, goodewkmuon_after_, goodewkmuon_before_, reco::MuonIsolation::hadEt, hltPrescaleProvider_, mps_fire::i, reco::Muon::innerTrack(), isCombinedIso_, reco::Muon::isGlobalMuon(), iso1_afterZ_, iso2_afterZ_, iso_after_, iso_before_, isoCut03_, reco::Muon::isolationR03(), isRelativeIso_, reco::Muon::isTrackerMuon(), dqmiolumiharvest::j, metsig::jet, jetfilter_cfi::jetCollection, jetToken_, findQualityFiles::jj, leadingjet_eta_after_, leadingjet_eta_afterZ_, leadingjet_eta_before_, leadingjet_pt_after_, leadingjet_pt_afterZ_, leadingjet_pt_before_, LogTrace, M_PI, BTaggingMonitor_cfi::met, met_after_, met_afterZ_, met_before_, susyDQM_cfi::metCollection, metMax_, metMin_, metToken_, mt_after_, mt_before_, mtMax_, mtMin_, amptDefaultParameters_cff::mu, muoncharge_after_, muoncharge_afterZ_, muoncharge_before_, pdwgLeptonRecoSkim_cfi::muonCollection, muonHitsCut_, muonTag_, n_zselPt1thr_, n_zselPt2thr_, nall, ngoodmuons_, nJetMax_, BTaggingMonitoring_cff::njets, njets_after_, njets_afterZ_, njets_before_, nMatchesCut_, nmuons_, TrackCollections2monitor_cff::normalizedChi2, normalizedChi2Cut_, nph_, npvs_after_, npvs_afterZ_, npvs_before_, reco::Muon::numberOfMatches(), reco::LeafCandidate::p(), phEta_, phoTag_, ExoticaDQM_cfi::photonCollection, HLTObjectMonitor_cfi::photonPt, phPt_, pixelHitsCut_, reco::BeamSpot::position(), HLTPrescaleProvider::prescaleSet(), DiDispStaMuonMonitor_cfi::pt, reco::LeafCandidate::pt(), pt1_afterZ_, HLT_2018_cff::pt2, pt2_afterZ_, pt_after_, pt_before_, ptCut_, ptDiffPM_afterZ_, ptDiffPM_before_, ptThrForPhoton_, ptThrForZ1_, ptThrForZ2_, reco::LeafCandidate::px(), reco::LeafCandidate::py(), reco::LeafCandidate::pz(), qcdUeDQM_cfi::quality, mathSSE::sqrt(), reco::MuonIsolation::sumPt, trackerHitsCut_, Geom::Phi< T1, Range >::value(), bphysicsOniaDQM_cfi::vertex, spclusmultinvestigator_cfi::vertexCollection, and vertexTag_.