40 metTag_(cfg.getUntrackedParameter<edm::
InputTag>(
"METTag",
42 jetTag_(cfg.getUntrackedParameter<edm::
InputTag>(
43 "JetTag", edm::
InputTag(
"ak4PFJets"))),
45 cfg.getUntrackedParameter<edm::
InputTag>(
46 "TrigTag", edm::
InputTag(
"TriggerResults::HLT")))),
48 cfg.getUntrackedParameter<edm::
InputTag>(
"MuonTag",
51 cfg.getUntrackedParameter<edm::
InputTag>(
"METTag",
54 cfg.getUntrackedParameter<edm::
InputTag>(
55 "JetTag", edm::
InputTag(
"ak4PFJets")))),
57 cfg.getUntrackedParameter<edm::
InputTag>(
"phoTag",
60 cfg.getUntrackedParameter<edm::
InputTag>(
61 "VertexTag", edm::
InputTag(
"offlinePrimaryVertices")))),
64 "beamSpotTag", edm::
InputTag(
"offlineBeamSpot")))),
65 trigPathNames_(cfg.getUntrackedParameter<std::vector<std::
string> >(
69 isAlsoTrackerMuon_(cfg.getUntrackedParameter<bool>(
70 "IsAlsoTrackerMuon",
true)),
72 cfg.getUntrackedParameter<double>(
"DxyCut", 0.2)),
73 normalizedChi2Cut_(cfg.getUntrackedParameter<double>(
74 "NormalizedChi2Cut", 10.)),
75 trackerHitsCut_(cfg.getUntrackedParameter<int>(
"TrackerHitsCut",
78 cfg.getUntrackedParameter<int>(
"PixelHitsCut", 1)),
79 muonHitsCut_(cfg.getUntrackedParameter<int>(
"MuonHitsCut",
81 nMatchesCut_(cfg.getUntrackedParameter<int>(
85 isRelativeIso_(cfg.getUntrackedParameter<bool>(
"IsRelativeIso",
true)),
86 isCombinedIso_(cfg.getUntrackedParameter<bool>(
"IsCombinedIso",
false)),
87 isoCut03_(cfg.getUntrackedParameter<double>(
"IsoCut03", 0.1)),
88 acopCut_(cfg.getUntrackedParameter<double>(
"AcopCut", 999.)),
89 metMin_(cfg.getUntrackedParameter<double>(
"MetMin", -999999.)),
90 metMax_(cfg.getUntrackedParameter<double>(
"MetMax", 999999.)),
91 mtMin_(cfg.getUntrackedParameter<double>(
"MtMin", 50.)),
92 mtMax_(cfg.getUntrackedParameter<double>(
"MtMax", 200.)),
93 ptCut_(cfg.getUntrackedParameter<double>(
"PtCut", 20.)),
94 etaCut_(cfg.getUntrackedParameter<double>(
"EtaCut", 2.4)),
97 ptThrForZ1_(cfg.getUntrackedParameter<double>(
"PtThrForZ1", 20.)),
98 ptThrForZ2_(cfg.getUntrackedParameter<double>(
"PtThrForZ2", 10.)),
101 dimuonMassMin_(cfg.getUntrackedParameter<double>(
"dimuonMassMin", 80.)),
102 dimuonMassMax_(cfg.getUntrackedParameter<double>(
"dimuonMassMax", 120.)),
105 eJetMin_(cfg.getUntrackedParameter<double>(
"EJetMin", 999999.)),
106 nJetMax_(cfg.getUntrackedParameter<int>(
"NJetMax", 999999)),
109 ptThrForPhoton_(cfg.getUntrackedParameter<double>(
"ptThrForPhoton", 5.)),
110 nPhoMax_(cfg.getUntrackedParameter<int>(
"nPhoMax", 999999)) {
114 theDbe->setCurrentFolder(
"Physics/EwkMuDQM");
129 bool isConfigChanged =
false;
139 char chtitle[256] =
"";
142 "Muon transverse momentum (global muon) [GeV]",
145 "Muon transverse momentum (global muon) [GeV]",
149 theDbe->book1D(
"ETA_BEFORECUTS",
"Muon pseudo-rapidity", 50, -2.5, 2.5);
151 theDbe->book1D(
"ETA_AFTERWCUTS",
"Muon pseudo-rapidity", 50, -2.5, 2.5);
154 "Muon transverse distance to beam spot [cm]",
157 "Muon transverse distance to beam spot [cm]", 100,
161 "Quality-muon flag", 2, -0.5, 1.5);
163 "Quality-muon flag", 2, -0.5, 1.5);
168 theDbe->book1D(
"ISO_BEFORECUTS",
169 "Relative (combined) isolation variable", 100, 0., 1.);
171 theDbe->book1D(
"ISO_AFTERWCUTS",
172 "Relative (combined) isolation variable", 100, 0., 1.);
175 theDbe->book1D(
"ISO_BEFORECUTS",
176 "Relative (tracker) isolation variable", 100, 0., 1.);
178 theDbe->book1D(
"ISO_AFTERWCUTS",
179 "Relative (tracker) isolation variable", 100, 0., 1.);
184 "ISO_BEFORECUTS",
"Absolute (combined) isolation variable [GeV]", 100,
187 "ISO_AFTERWCUTS",
"Absolute (combined) isolation variable [GeV]", 100,
191 "ISO_BEFORECUTS",
"Absolute (tracker) isolation variable [GeV]", 100,
194 "Absolute (tracker) isolation variable [GeV]",
200 "Trigger response (boolean of muon triggers)",
203 "Trigger response (boolean of muon triggers)", 2,
206 snprintf(chtitle, 255,
"Transverse mass (%s) [GeV]",
metTag_.
label().data());
210 snprintf(chtitle, 255,
"Missing transverse energy (%s) [GeV]",
216 snprintf(chtitle, 255,
"MU-MET (%s) acoplanarity",
metTag_.
label().data());
220 snprintf(chtitle, 255,
"Z selection: muons above %.2f GeV",
ptThrForZ1_);
222 snprintf(chtitle, 255,
"Z selection: muons above %.2f GeV",
ptThrForZ2_);
225 snprintf(chtitle, 255,
"Number of jets (%s) above %.2f GeV",
232 theDbe->book1D(
"LEADINGJET_PT_BEFORECUTS",
233 "Leading Jet transverse momentum", 300, 0., 300.);
235 theDbe->book1D(
"LEADINGJET_PT_AFTERWCUTS",
236 "Leading Jet transverse momentum", 300, 0., 300.);
238 theDbe->book1D(
"LEADINGJET_PT_AFTERZCUTS",
239 "Leading Jet transverse momentum", 300, 0., 300.);
242 theDbe->book1D(
"LEADINGJET_ETA_BEFORECUTS",
"Leading Jet pseudo-rapidity",
245 theDbe->book1D(
"LEADINGJET_ETA_AFTERWCUTS",
"Leading Jet pseudo-rapidity",
248 theDbe->book1D(
"LEADINGJET_ETA_AFTERZCUTS",
"Leading Jet pseudo-rapidity",
266 "pt(Muon+)-pt(Muon-) after Z cuts [GeV]",
269 "pt(Muon+)-pt(Muon-) after Z cuts [GeV]",
275 "Muon transverse momentum (global muon) [GeV]",
278 theDbe->book1D(
"ETA1_AFTERZCUTS",
"Muon pseudo-rapidity", 50, -2.5, 2.5);
280 "Muon transverse distance to beam spot [cm]",
283 "Quality-muon flag", 2, -0.5, 1.5);
288 theDbe->book1D(
"ISO1_AFTERZCUTS",
289 "Relative (combined) isolation variable", 100, 0., 1.);
291 theDbe->book1D(
"ISO2_AFTERZCUTS",
292 "Relative (combined) isolation variable", 100, 0., 1.);
295 theDbe->book1D(
"ISO1_AFTERZCUTS",
296 "Relative (tracker) isolation variable", 100, 0., 1.);
298 theDbe->book1D(
"ISO2_AFTERZCUTS",
299 "Relative (tracker) isolation variable", 100, 0., 1.);
304 "ISO1_AFTERZCUTS",
"Absolute (combined) isolation variable [GeV]",
307 "ISO2_AFTERZCUTS",
"Absolute (combined) isolation variable [GeV]",
311 "ISO1_AFTERZCUTS",
"Absolute (tracker) isolation variable [GeV]", 100,
314 "ISO2_AFTERZCUTS",
"Absolute (tracker) isolation variable [GeV]", 100,
320 "Muon transverse momentum (global muon) [GeV]",
323 theDbe->book1D(
"ETA2_AFTERZCUTS",
"Muon pseudo-rapidity", 50, -2.5, 2.5);
325 "Muon transverse distance to beam spot [cm]",
328 "Quality-muon flag", 2, -0.5, 1.5);
330 "Trigger response (boolean of muon triggers)",
333 "DiMuonMass (2 globals)", 100, 0, 200);
335 "DiMuonMass (2 globals)", 100, 0, 200);
337 "NPVs_BEFORECUTS",
"Number of Valid Primary Vertices", 51, -0.5, 50.5);
339 "NPVs_AFTERWCUTS",
"Number of Valid Primary Vertices", 51, -0.5, 50.5);
341 "NPVs_AFTERZCUTS",
"Number of Valid Primary Vertices", 51, -0.5, 50.5);
343 theDbe->book1D(
"MUONCHARGE_BEFORECUTS",
"Muon Charge", 3, -1.5, 1.5);
345 theDbe->book1D(
"MUONCHARGE_AFTERWCUTS",
"Muon Charge", 3, -1.5, 1.5);
347 theDbe->book1D(
"MUONCHARGE_AFTERZCUTS",
"Muon Charge", 3, -1.5, 1.5);
352 theDbe->book1D(
"NMuons",
"Number of muons in the event", 10, -0.5, 9.5);
354 "Number of muons passing the quality criteria",
357 nph_ =
theDbe->book1D(
"nph",
"Number of photons in the event", 20, 0., 20.);
360 phPt_ =
theDbe->book1D(
"phPt",
"Photon transverse momentum [GeV]", 100, 0.,
364 snprintf(chtitle, 255,
"Photon pseudorapidity (pT>%4.1f)",
ptThrForPhoton_);
365 phEta_ =
theDbe->book1D(
"phEta", chtitle, 100, -2.5, 2.5);
382 unsigned int muonCollectionSize = muonCollection->size();
392 unsigned int nmuonsForZ1 = 0;
393 unsigned int nmuonsForZ2 = 0;
395 for (
unsigned int i = 0;
i < muonCollectionSize;
i++) {
396 const Muon&
mu = muonCollection->at(
i);
399 double dxy = mu.
innerTrack()->dxy(beamSpotHandle->position());
409 for (
unsigned int j =
i + 1;
j < muonCollectionSize;
j++) {
410 const Muon& mu2 = muonCollection->at(
j);
413 mu.
px() + mu2.
px(), mu.
py() + mu2.
py(), mu.
pz() + mu2.
pz(),
427 <<
" [GeV]: " << nmuonsForZ1;
429 <<
" [GeV]: " << nmuonsForZ2;
437 const MET&
met = metCollection->at(0);
438 double met_et = met.
pt();
439 LogTrace(
"") <<
">>> MET, MET_px, MET_py: " << met_et <<
", " << met.
px()
440 <<
", " << met.
py() <<
" [GeV]";
446 LogError(
"") <<
">>> Vertex collection does not exist !!!";
449 unsigned int vertexCollectionSize = vertexCollection->size();
452 for (
unsigned int i = 0;
i < vertexCollectionSize;
i++) {
453 const Vertex& vertex = vertexCollection->at(
i);
454 if (vertex.
isValid()) nvvertex++;
459 bool trigger_fired =
false;
498 if (prescaleSet == -1) {
499 LogTrace(
"") <<
"Failed to determine prescaleSet\n";
505 for (
unsigned int i = 0;
506 (
i < triggerResults->size()) && (trigger_fired ==
false);
i++) {
508 if (!triggerResults->accept(
i))
continue;
513 for (
unsigned int index = 0;
517 if (!found)
continue;
520 if (prescaleSet != -1) {
527 for (
unsigned int ps = 0;
541 trigger_fired =
true;
553 unsigned int jetCollectionSize = jetCollection->size();
557 for (
unsigned int i = 0;
i < jetCollectionSize;
i++) {
558 const Jet&
jet = jetCollection->at(
i);
559 double minDistance = 99999;
560 for (
unsigned int j = 0;
j < muonCollectionSize;
j++) {
561 const Muon&
mu = muonCollection->at(
j);
564 if (minDistance > distance) minDistance = distance;
566 if (minDistance < 0.3)
568 if (jet.
et() > max_pt) {
577 LogTrace(
"") <<
">>> Total number of jets: " << jetCollectionSize;
579 <<
" [GeV]: " << njets;
581 double lead_jet_pt = -1;
582 double lead_jet_eta = -100;
584 const Jet& leadJet = jetCollection->at(LEADJET);
587 lead_jet_pt = leadJet.
pt();
588 lead_jet_eta = leadJet.
eta();
596 unsigned int ngam = 0;
598 for (
unsigned int i = 0;
i < photonCollection->size();
i++) {
599 const Photon& ph = photonCollection->at(
i);
600 double photonPt = ph.
pt();
608 LogTrace(
"") <<
" >>> N photons " << ngam << std::endl;
616 bool hlt_hist_done =
false;
617 bool zhlt_hist_done =
false;
618 bool zjets_hist_done =
false;
619 bool zfullsel_hist_done =
false;
620 bool met_hist_done =
false;
621 bool njets_hist_done =
false;
622 bool wfullsel_hist_done =
false;
625 const int NFLAGS = 11;
626 bool muon_sel[NFLAGS];
627 const int NFLAGSZ = 13;
628 bool zmuon_sel[NFLAGSZ];
631 double number_of_muons = 0;
632 double number_of_goodMuons = 0;
634 for (
unsigned int i = 0;
i < muonCollectionSize;
i++) {
635 for (
int j = 0;
j < NFLAGS; ++
j) {
641 const Muon&
mu = muonCollection->at(
i);
646 LogTrace(
"") <<
"> Wsel: processing muon number " <<
i <<
"...";
653 LogTrace(
"") <<
"\t... pt, eta: " << pt <<
" [GeV], " <<
eta;
655 if (pt >
ptCut_) muon_sel[0] =
true;
656 if (fabs(eta) <
etaCut_) muon_sel[1] =
true;
658 double charge = mu.
charge();
661 double dxy = gm->dxy(beamSpotHandle->position());
662 double normalizedChi2 = gm->normalizedChi2();
663 double trackerHits = tk->hitPattern().numberOfValidTrackerHits();
664 int pixelHits = tk->hitPattern().numberOfValidPixelHits();
665 int muonHits = gm->hitPattern().numberOfValidMuonHits();
668 LogTrace(
"") <<
"\t... dxy, normalizedChi2, trackerHits, isTrackerMuon?: "
669 << dxy <<
" [cm], " << normalizedChi2 <<
", " << trackerHits
671 if (fabs(dxy) <
dxyCut_) muon_sel[2] =
true;
682 muon_sel[3] = quality;
683 if (quality) number_of_goodMuons++;
704 if (isovar <
isoCut03_) muon_sel[4] =
true;
706 LogTrace(
"") <<
"\t... isolation value" << isovar <<
", isolated? "
711 if (trigger_fired) muon_sel[5] =
true;
715 quality && trigger_fired && isovar <
isoCut03_) {
720 double w_et = met_et + mu.
pt();
721 double w_px = met.
px() + mu.
px();
722 double w_py = met.
py() + mu.
py();
724 double massT = w_et * w_et - w_px * w_px - w_py * w_py;
725 massT = (massT > 0) ?
sqrt(massT) : 0;
727 LogTrace(
"") <<
"\t... W mass, W_et, W_px, W_py: " << massT <<
", " << w_et
728 <<
", " << w_px <<
", " << w_py <<
" [GeV]";
729 if (massT >
mtMin_ && massT <
mtMax_) muon_sel[6] =
true;
735 double acop = deltaphi.
value();
736 if (acop < 0) acop = -acop;
738 LogTrace(
"") <<
"\t... acoplanarity: " << acop;
739 if (acop <
acopCut_) muon_sel[8] =
true;
743 if (nmuonsForZ1 < 1 || nmuonsForZ2 < 2) muon_sel[9] =
true;
744 if (njets <=
nJetMax_) muon_sel[10] =
true;
747 int flags_passed = 0;
748 for (
int j = 0;
j < NFLAGS; ++
j) {
749 if (muon_sel[
j]) flags_passed += 1;
753 if (flags_passed >= (NFLAGS - 1)) {
754 if (!muon_sel[0] || flags_passed == NFLAGS)
pt_after_->
Fill(pt);
755 if (!muon_sel[1] || flags_passed == NFLAGS)
eta_after_->
Fill(eta);
756 if (!muon_sel[2] || flags_passed == NFLAGS)
dxy_after_->
Fill(dxy);
757 if (!muon_sel[3] || flags_passed == NFLAGS)
759 if (!muon_sel[4] || flags_passed == NFLAGS)
iso_after_->
Fill(isovar);
760 if (!muon_sel[5] || flags_passed == NFLAGS)
762 hlt_hist_done =
true;
763 if (!muon_sel[6] || flags_passed == NFLAGS)
mt_after_->
Fill(massT);
764 if (!muon_sel[7] || flags_passed == NFLAGS)
766 met_hist_done =
true;
769 if (!muon_sel[10] || flags_passed == NFLAGS) {
770 if (!njets_hist_done) {
775 njets_hist_done =
true;
777 if (flags_passed == NFLAGS) {
778 if (!wfullsel_hist_done) {
784 wfullsel_hist_done =
true;
790 if (muon4Z && !muon_sel[9]) {
793 for (
unsigned int j =
i + 1;
j < muonCollectionSize;
j++) {
795 for (
int ij = 0; ij < NFLAGSZ; ++ij) {
796 zmuon_sel[ij] =
false;
799 for (
int ji = 0; ji < 5; ++ji) {
800 zmuon_sel[ji] = muon_sel[ji];
803 const Muon& mu2 = muonCollection->at(
j);
805 if (mu2.
charge() * charge != -1)
continue;
808 double pt2 = mu2.
pt();
810 double eta2 = mu2.
eta();
811 if (fabs(eta2) <
etaCut_) zmuon_sel[6] =
true;
812 double dxy2 = gm2->dxy(beamSpotHandle->position());
813 if (fabs(dxy2) <
dxyCut_) zmuon_sel[7] =
true;
814 double normalizedChi22 = gm2->normalizedChi2();
815 double trackerHits2 = tk2->hitPattern().numberOfValidTrackerHits();
816 int pixelHits2 = tk2->hitPattern().numberOfValidPixelHits();
817 int muonHits2 = gm2->hitPattern().numberOfValidMuonHits();
819 bool quality2 =
true;
826 zmuon_sel[8] = quality2;
833 if (isovar2 <
isoCut03_) zmuon_sel[9] =
true;
834 if (trigger_fired) zmuon_sel[10] =
true;
836 mu.
px() + mu2.
px(), mu.
py() + mu2.
py(), mu.
pz() + mu2.
pz(),
840 zmuon_sel[11] =
true;
843 if (njets <=
nJetMax_) zmuon_sel[12] =
true;
846 int flags_passed_z = 0;
848 for (
int jj = 0;
jj < NFLAGSZ; ++
jj) {
849 if (zmuon_sel[
jj]) ++flags_passed_z;
852 if (flags_passed_z >= (NFLAGSZ - 1)) {
853 if (!zmuon_sel[0] || flags_passed_z == NFLAGSZ) {
856 if (!zmuon_sel[1] || flags_passed_z == NFLAGSZ) {
859 if (!zmuon_sel[2] || flags_passed_z == NFLAGSZ) {
862 if (!zmuon_sel[3] || flags_passed_z == NFLAGSZ) {
865 if (!zmuon_sel[4] || flags_passed_z == NFLAGSZ) {
868 if (!zmuon_sel[5] || flags_passed_z == NFLAGSZ) {
871 if (!zmuon_sel[6] || flags_passed_z == NFLAGSZ) {
874 if (!zmuon_sel[7] || flags_passed_z == NFLAGSZ) {
877 if (!zmuon_sel[8] || flags_passed_z == NFLAGSZ) {
880 if (!zmuon_sel[9] || flags_passed_z == NFLAGSZ) {
883 if (!zmuon_sel[10] || flags_passed_z == NFLAGSZ) {
885 zhlt_hist_done =
true;
887 if (!zmuon_sel[11] || flags_passed_z == NFLAGSZ) {
890 if (!zmuon_sel[12] || flags_passed_z == NFLAGSZ) {
891 if (!zjets_hist_done) {
896 zjets_hist_done =
true;
898 if (flags_passed_z == NFLAGSZ) {
900 if (!zfullsel_hist_done) {
913 zfullsel_hist_done =
true;
920 if (zfullsel_hist_done) {
MonitorElement * met_before_
virtual double et() const GCC11_FINAL
transverse energy
MonitorElement * ptDiffPM_afterZ_
virtual edm::TriggerNames const & triggerNames(edm::TriggerResults const &triggerResults) const
MonitorElement * dimuonmass_afterZ_
EwkMuDQM(const edm::ParameterSet &)
float sumPt
sum-pt of tracks
MonitorElement * njets_afterZ_
virtual double p() const GCC11_FINAL
magnitude of momentum vector
MonitorElement * iso2_afterZ_
MonitorElement * npvs_before_
virtual TrackRef innerTrack() const
bool getByToken(EDGetToken token, Handle< PROD > &result) const
MonitorElement * dxy1_afterZ_
MonitorElement * njets_before_
MonitorElement * dxy_before_
MonitorElement * ztrig_afterZ_
MonitorElement * trig_before_
MonitorElement * trig_after_
MonitorElement * leadingjet_eta_afterZ_
bool isTrackerMuon() const
MonitorElement * muoncharge_before_
Base class for all types of Jets.
bool isValid() const
Tells whether the vertex is valid.
edm::EDGetTokenT< reco::BeamSpot > beamSpotTag_
MonitorElement * eta2_afterZ_
edm::EDGetTokenT< edm::TriggerResults > trigTag_
MonitorElement * npvs_afterZ_
bool isGlobalMuon() const
MonitorElement * leadingjet_eta_before_
std::vector< std::string > trigPathNames_
MonitorElement * acop_before_
MonitorElement * leadingjet_pt_after_
virtual double pz() const GCC11_FINAL
z coordinate of momentum vector
MonitorElement * goodewkmuon_before_
virtual double py() const GCC11_FINAL
y coordinate of momentum vector
MonitorElement * eta_after_
MonitorElement * muoncharge_afterZ_
MonitorElement * pt_before_
MonitorElement * dxy2_afterZ_
MonitorElement * leadingjet_pt_before_
MonitorElement * goodewkmuon1_afterZ_
MonitorElement * iso_before_
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
MonitorElement * npvs_after_
virtual float phi() const GCC11_FINAL
momentum azimuthal angle
MonitorElement * goodewkmuon2_afterZ_
unsigned int prescaleValue(unsigned int set, const std::string &trigger) const
HLT prescale value in specific prescale set for a specific trigger path.
MonitorElement * njets_after_
virtual void endRun(const edm::Run &, const edm::EventSetup &)
MonitorElement * ngoodmuons_
MonitorElement * n_zselPt2thr_
MonitorElement * pt2_afterZ_
HLTConfigProvider hltConfigProvider_
MonitorElement * met_afterZ_
virtual double px() const GCC11_FINAL
x coordinate of momentum vector
MonitorElement * leadingjet_eta_after_
static std::string const triggerResults
MonitorElement * mt_after_
MonitorElement * goodewkmuon_after_
MonitorElement * muoncharge_after_
MonitorElement * mt_before_
bool isNull() const
Checks for null.
MonitorElement * eta_before_
MonitorElement * iso1_afterZ_
int numberOfMatches(ArbitrationType type=SegmentAndTrackArbitration) const
get number of chambers with matched segments
virtual float eta() const GCC11_FINAL
momentum pseudorapidity
T value() const
Explicit access to value in case implicit conversion not OK.
static const char *const trigNames[]
virtual void beginRun(const edm::Run &, const edm::EventSetup &)
edm::EDGetTokenT< edm::View< reco::Vertex > > vertexTag_
double normalizedChi2Cut_
int prescaleSet(const edm::Event &iEvent, const edm::EventSetup &iSetup) const
MonitorElement * pt_after_
MonitorElement * iso_after_
std::string const & triggerName(unsigned int index) const
virtual int charge() const GCC11_FINAL
electric charge
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d'tor
MonitorElement * eta1_afterZ_
MonitorElement * ptDiffPM_before_
MonitorElement * pt1_afterZ_
edm::EDGetTokenT< edm::View< reco::Jet > > jetToken_
MonitorElement * dxy_after_
unsigned int prescaleSize() const
MonitorElement * met_after_
volatile std::atomic< bool > shutdown_flag false
edm::EDGetTokenT< edm::View< reco::Muon > > muonTag_
virtual float pt() const GCC11_FINAL
transverse momentum
MonitorElement * n_zselPt1thr_
virtual void analyze(const edm::Event &, const edm::EventSetup &)
edm::EDGetTokenT< edm::View< reco::MET > > metToken_
edm::EDGetTokenT< edm::View< reco::Photon > > phoTag_
MonitorElement * dimuonmass_before_
const MuonIsolation & isolationR03() const
virtual TrackRef globalTrack() const
reference to Track reconstructed in both tracked and muon detector
MonitorElement * leadingjet_pt_afterZ_
MonitorElement * acop_after_