|
|
#include <HiggsDQM.h>
Definition at line 42 of file HiggsDQM.h.
◆ HiggsDQM()
◆ ~HiggsDQM()
◆ analyze()
Reimplemented from DQMEDAnalyzer.
Definition at line 224 of file HiggsDQM.cc.
231 bool passed_electron_HLT =
true;
232 bool passed_muon_HLT =
true;
243 double vertex_chi2 =
v->normalizedChi2();
244 double vertex_d0 =
sqrt(
v->x() *
v->x() +
v->y() *
v->y());
246 double vertex_numTrks =
v->tracksSize();
247 double vertex_sumTrks = 0.0;
250 vertex_sumTrks += (*vertex_curTrack)->pt();
266 int posEle = 0, negEle = 0;
269 if (passed_electron_HLT) {
270 for (reco::GsfElectronCollection::const_iterator recoElectron =
electronCollection->begin();
278 if (recoElectron->charge() == 1) {
280 }
else if (recoElectron->charge() == -1) {
292 nEle = posEle + negEle;
299 for (
unsigned int i = 0;
i < eleCollectionSize;
i++) {
301 double pt = ele.
pt();
303 for (
unsigned int j =
i + 1;
j < eleCollectionSize;
j++) {
305 double pt2 = ele2.
pt();
308 ele.
px() + ele2.
px(), ele.
py() + ele2.
py(), ele.
pz() + ele2.
pz(), ele.
p() + ele2.
p());
324 int posMu = 0, negMu = 0;
325 TLorentzVector m1,
m2;
326 if (passed_muon_HLT) {
339 }
else if (
recoMuon->isGlobalMuon()) {
343 }
else if (
recoMuon->isTrackerMuon() &&
348 }
else if (
recoMuon->isStandAloneMuon()) {
355 }
else if (
recoMuon->charge() == -1) {
367 for (
unsigned int i = 0;
i < muonCollectionSize;
i++) {
372 for (
unsigned int j =
i + 1;
j < muonCollectionSize;
j++) {
374 double pt2 = mu2.
pt();
379 mu.px() + mu2.
px(),
mu.py() + mu2.
py(),
mu.pz() + mu2.
pz(),
mu.p() + mu2.
p());
385 mu.px() + mu2.
px(),
mu.py() + mu2.
py(),
mu.pz() + mu2.
pz(),
mu.p() + mu2.
p());
391 mu.px() + mu2.
px(),
mu.py() + mu2.
py(),
mu.pz() + mu2.
pz(),
mu.p() + mu2.
p());
410 float jet2_et = -9.0;
416 float jet_current_et = i_calojet->et();
423 if (jet_current_et < 15)
426 if (jet_current_et > jet_et) {
430 jet_et = i_calojet->et();
434 }
else if (jet_current_et > jet2_et) {
435 jet2_et = i_calojet->et();
469 if (nMu + nEle > 2 && nMu + nEle < 10) {
470 if (nMu == 0 && nEle == 3)
472 if (nMu == 0 && nEle == 4)
474 if (nMu == 0 && nEle == 5)
476 if (nMu == 0 && nEle == 6)
478 if (nMu == 0 && nEle == 7)
480 if (nMu == 0 && nEle == 8)
482 if (nMu == 0 && nEle == 9)
484 if (nMu == 1 && nEle == 2)
486 if (nMu == 1 && nEle == 3)
488 if (nMu == 1 && nEle == 4)
490 if (nMu == 1 && nEle == 5)
492 if (nMu == 1 && nEle == 6)
494 if (nMu == 1 && nEle == 7)
496 if (nMu == 1 && nEle == 8)
498 if (nMu == 2 && nEle == 1)
500 if (nMu == 2 && nEle == 2)
502 if (nMu == 2 && nEle == 3)
504 if (nMu == 2 && nEle == 4)
506 if (nMu == 2 && nEle == 5)
508 if (nMu == 2 && nEle == 6)
510 if (nMu == 2 && nEle == 7)
512 if (nMu == 3 && nEle == 0)
514 if (nMu == 3 && nEle == 1)
516 if (nMu == 3 && nEle == 2)
518 if (nMu == 3 && nEle == 3)
520 if (nMu == 3 && nEle == 4)
522 if (nMu == 3 && nEle == 5)
524 if (nMu == 3 && nEle == 6)
526 if (nMu == 4 && nEle == 0)
528 if (nMu == 4 && nEle == 1)
530 if (nMu == 4 && nEle == 2)
532 if (nMu == 4 && nEle == 3)
534 if (nMu == 4 && nEle == 4)
536 if (nMu == 4 && nEle == 5)
538 if (nMu == 5 && nEle == 0)
540 if (nMu == 5 && nEle == 1)
542 if (nMu == 5 && nEle == 2)
544 if (nMu == 5 && nEle == 3)
546 if (nMu == 5 && nEle == 4)
548 if (nMu == 6 && nEle == 0)
550 if (nMu == 6 && nEle == 1)
552 if (nMu == 6 && nEle == 2)
554 if (nMu == 6 && nEle == 3)
556 if (nMu == 7 && nEle == 0)
558 if (nMu == 7 && nEle == 1)
560 if (nMu == 7 && nEle == 2)
562 if (nMu == 8 && nEle == 0)
564 if (nMu == 8 && nEle == 1)
566 if (nMu == 9 && nEle == 0)
569 if ((nMu + nEle) >= 10)
570 LogDebug(
"HiggsDQM") <<
"WARNING: " << nMu + nEle <<
" leptons in this event: run=" <<
e.id().run()
571 <<
", event=" <<
e.id().event() <<
"\n";
References pdwgLeptonRecoSkim_cfi::caloJetCollection, heavyionUCCDQM_cfi::caloMet, ewkDQM_cfi::caloMETCollection, MillePedeFileConverter_cfg::e, pdwgLeptonRecoSkim_cfi::electronCollection, muon::GlobalMuonPromptTight, mps_fire::i, reco::Muon::isGlobalMuon(), muon::isGoodMuon(), reco::Muon::isTrackerMuon(), edm::HandleBase::isValid(), dqmiolumiharvest::j, LogDebug, callgraph::m2, amptDefaultParameters_cff::mu, pdwgLeptonRecoSkim_cfi::muonCollection, reco::LeafCandidate::p(), RecoPFMET_cff::pfMet, B2GDQM_cfi::pfMETCollection, edm::Handle< T >::product(), DiDispStaMuonMonitor_cfi::pt, reco::LeafCandidate::pt(), HLT_FULL_cff::pt2, reco::LeafCandidate::px(), reco::LeafCandidate::py(), reco::LeafCandidate::pz(), reco::Muon::SegmentAndTrackArbitration, muon::segmentCompatibility(), mathSSE::sqrt(), findQualityFiles::v, and spclusmultinvestigator_cfi::vertexCollection.
◆ bookHistograms()
Implements DQMEDAnalyzer.
Definition at line 162 of file HiggsDQM.cc.
165 h_vertex_number = ibooker.
book1D(
"h_vertex_number",
"Number of event vertices in collection", 10, -0.5, 9.5);
166 h_vertex_chi2 = ibooker.
book1D(
"h_vertex_chi2",
"Event Vertex #chi^{2}/n.d.o.f.", 100, 0.0, 2.0);
169 h_vertex_d0 = ibooker.
book1D(
"h_vertex_d0",
"Event Vertex d0", 100, -10.0, 10.0);
171 ibooker.
book1D(
"h_jet_et",
187 h_caloMet = ibooker.
book1D(
"h_caloMet",
"Calo Missing E_{T}; GeV", 20, 0.0, 100);
188 h_caloMet_phi = ibooker.
book1D(
"h_caloMet_phi",
"Calo Missing E_{T} #phi;#phi(MET)", 35, -3.5, 3.5);
189 h_pfMet = ibooker.
book1D(
"h_pfMet",
"Pf Missing E_{T}; GeV", 20, 0.0, 100);
190 h_pfMet_phi = ibooker.
book1D(
"h_pfMet_phi",
"Pf Missing E_{T} #phi;#phi(MET)", 35, -3.5, 3.5);
193 h_ePt = ibooker.
book1D(
"ElePt",
"Pt of electrons", 50, 0., 100.);
194 h_eEta = ibooker.
book1D(
"EleEta",
"Eta of electrons", 100, -5., 5.);
195 h_ePhi = ibooker.
book1D(
"ElePhi",
"Phi of electrons", 100, -3.5, 3.5);
196 h_mPt_GMTM = ibooker.
book1D(
"MuonPt_GMTM",
"Pt of global+tracker muons", 50, 0., 100.);
197 h_mEta_GMTM = ibooker.
book1D(
"MuonEta_GMTM",
"Eta of global+tracker muons", 60, -3., 3.);
198 h_mPhi_GMTM = ibooker.
book1D(
"MuonPhi_GMTM",
"Phi of global+tracker muons", 70, -3.5, 3.5);
199 h_mPt_GMPT = ibooker.
book1D(
"MuonPt_GMPT",
"Pt of global prompt-tight muons", 50, 0., 100.);
200 h_mEta_GMPT = ibooker.
book1D(
"MuonEta_GMPT",
"Eta of global prompt-tight muons", 60, -3., 3.);
201 h_mPhi_GMPT = ibooker.
book1D(
"MuonPhi_GMPT",
"Phi of global prompt-tight muons", 70, -3.5, 3.5);
202 h_mPt_GM = ibooker.
book1D(
"MuonPt_GM",
"Pt of global muons", 50, 0., 100.);
203 h_mEta_GM = ibooker.
book1D(
"MuonEta_GM",
"Eta of global muons", 60, -3., 3.);
204 h_mPhi_GM = ibooker.
book1D(
"MuonPhi_GM",
"Phi of global muons", 70, -3.5, 3.5);
205 h_mPt_TM = ibooker.
book1D(
"MuonPt_TM",
"Pt of tracker muons", 50, 0., 100.);
206 h_mEta_TM = ibooker.
book1D(
"MuonEta_TM",
"Eta of tracker muons", 60, -3., 3.);
207 h_mPhi_TM = ibooker.
book1D(
"MuonPhi_TM",
"Phi of tracker muons", 70, -3.5, 3.5);
208 h_mPt_STAM = ibooker.
book1D(
"MuonPt_STAM",
"Pt of STA muons", 50, 0., 100.);
211 h_eCombIso = ibooker.
book1D(
"EleCombIso",
"CombIso of electrons", 100, 0., 10.);
212 h_mCombIso = ibooker.
book1D(
"MuonCombIso",
"CombIso of muons", 100, 0., 10.);
216 h_dielemass = ibooker.
book1D(
"DieleMass",
"Invariant mass of EE pairs", 100, 0., 200.);
217 h_lepcounts = ibooker.
book1D(
"LeptonCounts",
"LeptonCounts for multi lepton events", 49, 0., 49.);
References dqm::implementation::IBooker::book1D(), dqm::implementation::NavigatorBase::cd(), and dqm::implementation::NavigatorBase::setCurrentFolder().
◆ bookHistos()
void HiggsDQM::bookHistos |
( |
DQMStore * |
bei | ) |
|
|
private |
◆ calcDeltaPhi()
double HiggsDQM::calcDeltaPhi |
( |
double |
phi1, |
|
|
double |
phi2 |
|
) |
| |
|
private |
◆ Distance()
◆ DistancePhi()
◆ h_caloMet
◆ h_caloMet_phi
◆ h_dielemass
◆ h_dimumass_GMGM
◆ h_dimumass_GMTM
◆ h_dimumass_TMTM
◆ h_eCombIso
◆ h_eEta
◆ h_eMultiplicity
◆ h_ePhi
◆ h_ePt
◆ h_jet2_et
◆ h_jet_count
◆ h_jet_et
◆ h_lepcounts
◆ h_mCombIso
◆ h_mEta_GM
◆ h_mEta_GMPT
◆ h_mEta_GMTM
◆ h_mEta_STAM
◆ h_mEta_TM
◆ h_mMultiplicity
◆ h_mPhi_GM
◆ h_mPhi_GMPT
◆ h_mPhi_GMTM
◆ h_mPhi_STAM
◆ h_mPhi_TM
◆ h_mPt_GM
◆ h_mPt_GMPT
◆ h_mPt_GMTM
◆ h_mPt_STAM
◆ h_mPt_TM
◆ h_pfMet
◆ h_pfMet_phi
◆ h_vertex_chi2
◆ h_vertex_d0
◆ h_vertex_number
◆ h_vertex_numTrks
◆ h_vertex_sumTrks
◆ ievt
◆ irun
◆ leptonflavor
int HiggsDQM::leptonflavor |
|
private |
◆ leptonscands_
◆ m_cacheID_
unsigned long long HiggsDQM::m_cacheID_ |
|
private |
◆ nElectron
◆ nEvents_
◆ nfourlept
◆ nHiggs
◆ nLepton
◆ nLooseIsolEle
int HiggsDQM::nLooseIsolEle |
|
private |
◆ nLooseIsolMu
int HiggsDQM::nLooseIsolMu |
|
private |
◆ nMuon
◆ nZEE
◆ nZMuMu
◆ pi
◆ ptThrMu1_
double HiggsDQM::ptThrMu1_ |
|
private |
◆ ptThrMu2_
double HiggsDQM::ptThrMu2_ |
|
private |
◆ theCaloJetCollectionLabel_
◆ theCaloJetCollectionToken_
◆ theCaloMETCollectionToken_
◆ theElecTriggerPathToPass
std::string HiggsDQM::theElecTriggerPathToPass |
|
private |
◆ theElectronCollectionToken_
◆ theMuonCollectionToken_
◆ theMuonTriggerPathToPass
std::string HiggsDQM::theMuonTriggerPathToPass |
|
private |
◆ thePfMETCollectionToken_
◆ theTriggerResultsCollection_
◆ theTriggerResultsCollectionTag_
◆ vertexToken_
MonitorElement * h_vertex_chi2
std::vector< TrackBaseRef >::const_iterator trackRef_iterator
The iteratator for the vector<TrackRef>
edm::EDGetTokenT< reco::CaloJetCollection > theCaloJetCollectionToken_
MonitorElement * h_vertex_sumTrks
T const * product() const
MonitorElement * h_mEta_TM
float segmentCompatibility(const reco::Muon &muon, reco::Muon::ArbitrationType arbitrationType=reco::Muon::SegmentAndTrackArbitration)
edm::EDGetTokenT< edm::TriggerResults > theTriggerResultsCollection_
std::vector< Vertex > VertexCollection
collection of Vertex objects
MonitorElement * h_jet_et
virtual void setCurrentFolder(std::string const &fullpath)
MonitorElement * h_mPhi_STAM
T getUntrackedParameter(std::string const &, T const &) const
double pt() const final
transverse momentum
Log< level::Info, false > LogInfo
MonitorElement * h_eMultiplicity
MonitorElement * h_mPhi_GM
std::string theElecTriggerPathToPass
MonitorElement * h_mEta_GMPT
MonitorElement * h_mEta_GMTM
MonitorElement * h_eCombIso
edm::EDGetTokenT< reco::MuonCollection > theMuonCollectionToken_
bool isGoodMuon(const reco::Muon &muon, SelectionType type, reco::Muon::ArbitrationType arbitrationType=reco::Muon::SegmentAndTrackArbitration)
main GoodMuon wrapper call
MonitorElement * h_dielemass
edm::EDGetTokenT< reco::PFMETCollection > thePfMETCollectionToken_
MonitorElement * h_pfMet_phi
double py() const final
y coordinate of momentum vector
edm::InputTag theTriggerResultsCollectionTag_
MonitorElement * h_mPt_GM
MonitorElement * h_caloMet
MonitorElement * h_mPt_STAM
MonitorElement * h_mCombIso
MonitorElement * h_mPhi_GMPT
MonitorElement * h_mPt_GMPT
edm::EDGetTokenT< reco::CaloMETCollection > theCaloMETCollectionToken_
MonitorElement * h_mEta_STAM
bool isGlobalMuon() const override
MonitorElement * h_mPhi_TM
MonitorElement * h_dimumass_GMGM
MonitorElement * h_vertex_number
MonitorElement * h_vertex_d0
MonitorElement * h_dimumass_GMTM
MonitorElement * h_lepcounts
MonitorElement * h_jet_count
edm::EDGetTokenT< reco::VertexCollection > vertexToken_
MonitorElement * h_vertex_numTrks
std::string theMuonTriggerPathToPass
edm::EDGetTokenT< reco::GsfElectronCollection > theElectronCollectionToken_
MonitorElement * h_dimumass_TMTM
MonitorElement * h_mPt_TM
MonitorElement * h_mPhi_GMTM
bool isTrackerMuon() const override
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
MonitorElement * h_mEta_GM
double p() const final
magnitude of momentum vector
T getParameter(std::string const &) const
virtual const LorentzVector & p4() const =0
four-momentum Lorentz vector
edm::InputTag theCaloJetCollectionLabel_
MonitorElement * h_caloMet_phi
double px() const final
x coordinate of momentum vector
double pz() const final
z coordinate of momentum vector
MonitorElement * h_mPt_GMTM
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
MonitorElement * h_jet2_et
MonitorElement * h_mMultiplicity