268 bool passed_electron_HLT =
true;
269 bool passed_muon_HLT =
true;
278 int vertex_number = vertexCollection.size();
279 VertexCollection::const_iterator
v = vertexCollection.begin();
280 double vertex_chi2 = v->normalizedChi2();
281 double vertex_d0 =
sqrt(v->x() * v->x() + v->y() * v->y());
283 double vertex_numTrks = v->tracksSize();
284 double vertex_sumTrks = 0.0;
286 vertex_curTrack != v->tracks_end(); vertex_curTrack++) {
287 vertex_sumTrks += (*vertex_curTrack)->pt();
302 if (electronCollection.
isValid()) {
303 int posEle = 0, negEle = 0;
306 if (passed_electron_HLT) {
307 for (reco::GsfElectronCollection::const_iterator recoElectron =
308 electronCollection->begin();
309 recoElectron != electronCollection->end(); recoElectron++) {
315 if (recoElectron->charge() == 1) {
317 }
else if (recoElectron->charge() == -1) {
329 nEle = posEle + negEle;
330 if (nEle > 9.) nEle = 9.;
334 unsigned int eleCollectionSize = electronCollection->size();
335 for (
unsigned int i = 0;
i < eleCollectionSize;
i++) {
337 double pt = ele.
pt();
339 for (
unsigned int j =
i + 1;
j < eleCollectionSize;
j++) {
341 double pt2 = ele2.
pt();
344 ele.
px() + ele2.
px(), ele.
py() + ele2.
py(),
345 ele.
pz() + ele2.
pz(), ele.
p() + ele2.
p());
359 if (muonCollection.
isValid()) {
361 int posMu = 0, negMu = 0;
362 TLorentzVector m1, m2;
363 if (passed_muon_HLT) {
364 for (reco::MuonCollection::const_iterator recoMuon =
365 muonCollection->begin();
366 recoMuon != muonCollection->end(); recoMuon++) {
369 if (recoMuon->isGlobalMuon() && recoMuon->isTrackerMuon()) {
373 }
else if (recoMuon->isGlobalMuon() &&
379 }
else if (recoMuon->isGlobalMuon()) {
383 }
else if (recoMuon->isTrackerMuon() &&
389 }
else if (recoMuon->isStandAloneMuon()) {
394 if (recoMuon->charge() == 1) {
396 }
else if (recoMuon->charge() == -1) {
401 if (nMu > 9.) nMu = 9.;
406 unsigned int muonCollectionSize = muonCollection->size();
407 for (
unsigned int i = 0;
i < muonCollectionSize;
i++) {
408 const Muon&
mu = muonCollection->at(
i);
412 for (
unsigned int j =
i + 1;
j < muonCollectionSize;
j++) {
413 const Muon& mu2 = muonCollection->at(
j);
414 double pt2 = mu2.
pt();
419 mu.
px() + mu2.
px(), mu.
py() + mu2.
py(), mu.
pz() + mu2.
pz(),
426 mu.
px() + mu2.
px(), mu.
py() + mu2.
py(), mu.
pz() + mu2.
pz(),
433 mu.
px() + mu2.
px(), mu.
py() + mu2.
py(), mu.
pz() + mu2.
pz(),
448 if (caloJetCollection.
isValid()) {
453 float jet2_et = -9.0;
456 for (CaloJetCollection::const_iterator i_calojet =
457 caloJetCollection->begin();
458 i_calojet != caloJetCollection->end(); i_calojet++) {
459 float jet_current_et = i_calojet->et();
466 if (jet_current_et < 15)
continue;
468 if (jet_current_et > jet_et) {
472 jet_et = i_calojet->et();
476 }
else if (jet_current_et > jet2_et) {
477 jet2_et = i_calojet->et();
493 if (caloMETCollection.
isValid()) {
494 float caloMet = caloMETCollection->begin()->et();
495 float caloMet_phi = caloMETCollection->begin()->phi();
501 if (pfMETCollection.
isValid()) {
502 float pfMet = pfMETCollection->begin()->et();
503 float pfMet_phi = pfMETCollection->begin()->phi();
511 if (nMu + nEle > 2 && nMu + nEle < 10) {
562 if ((nMu + nEle) >= 10)
563 LogDebug(
"HiggsDQM") <<
"WARNING: " << nMu + nEle
564 <<
" leptons in this event: run=" <<
e.id().run()
565 <<
", event=" <<
e.id().event() <<
"\n";
edm::EDGetTokenT< reco::CaloMETCollection > theCaloMETCollectionToken_
edm::EDGetTokenT< reco::GsfElectronCollection > theElectronCollectionToken_
virtual double p() const
magnitude of momentum vector
MonitorElement * h_mPhi_TM
virtual float pt() const
transverse momentum
MonitorElement * h_mPt_TM
MonitorElement * h_vertex_numTrks
tuple caloMet
____________________________________________________________________________||
bool isTrackerMuon() const
MonitorElement * h_mEta_GMTM
MonitorElement * h_mPhi_GM
MonitorElement * h_mEta_TM
edm::EDGetTokenT< reco::VertexCollection > vertexToken_
bool isGlobalMuon() const
std::vector< Vertex > VertexCollection
collection of Vertex objects
MonitorElement * h_mPt_STAM
MonitorElement * h_vertex_d0
MonitorElement * h_dimumass_GMGM
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
MonitorElement * h_jet_count
MonitorElement * h_mPt_GMPT
MonitorElement * h_pfMet_phi
tuple pfMet
____________________________________________________________________________||
float segmentCompatibility(const reco::Muon &muon, reco::Muon::ArbitrationType arbitrationType=reco::Muon::SegmentAndTrackArbitration)
MonitorElement * h_mPhi_GMPT
edm::EDGetTokenT< reco::CaloJetCollection > theCaloJetCollectionToken_
MonitorElement * h_jet_et
bool isGoodMuon(const reco::Muon &muon, SelectionType type, reco::Muon::ArbitrationType arbitrationType=reco::Muon::SegmentAndTrackArbitration)
main GoodMuon wrapper call
T const * product() const
virtual double px() const
x coordinate of momentum vector
MonitorElement * h_eMultiplicity
MonitorElement * h_vertex_chi2
MonitorElement * h_vertex_number
MonitorElement * h_dimumass_GMTM
MonitorElement * h_mEta_GMPT
virtual double pz() const
z coordinate of momentum vector
MonitorElement * h_vertex_sumTrks
MonitorElement * h_caloMet
MonitorElement * h_mPt_GMTM
MonitorElement * h_caloMet_phi
MonitorElement * h_mPhi_STAM
edm::EDGetTokenT< reco::PFMETCollection > thePfMETCollectionToken_
std::vector< TrackBaseRef >::const_iterator trackRef_iterator
The iteratator for the vector<TrackRef>
MonitorElement * h_mEta_STAM
MonitorElement * h_mEta_GM
MonitorElement * h_dielemass
MonitorElement * h_mPt_GM
MonitorElement * h_mPhi_GMTM
virtual double py() const
y coordinate of momentum vector
MonitorElement * h_dimumass_TMTM
edm::EDGetTokenT< reco::MuonCollection > theMuonCollectionToken_
MonitorElement * h_lepcounts
MonitorElement * h_mMultiplicity