267 if ( !HLTresults.
isValid() )
return;
270 bool passed_electron_HLT =
true;
271 bool passed_muon_HLT =
true;
280 e.getByLabel(
"offlinePrimaryVertices", vertexHandle);
283 int vertex_number = vertexCollection.size();
284 VertexCollection::const_iterator
v = vertexCollection.begin();
285 double vertex_chi2 = v->normalizedChi2();
286 double vertex_d0 =
sqrt(v->x()*v->x()+v->y()*v->y());
288 double vertex_numTrks = v->tracksSize();
289 double vertex_sumTrks = 0.0;
290 for (
Vertex::trackRef_iterator vertex_curTrack = v->tracks_begin(); vertex_curTrack!=v->tracks_end(); vertex_curTrack++) {
291 vertex_sumTrks += (*vertex_curTrack)->pt();
306 if ( electronCollection.
isValid() ){
307 int posEle=0,negEle=0;
309 if( passed_electron_HLT ) {
310 for (reco::GsfElectronCollection::const_iterator recoElectron=electronCollection->begin(); recoElectron!=electronCollection->end(); recoElectron++){
315 if(recoElectron->charge()==1){
317 }
else if(recoElectron->charge()==-1){
328 nEle = posEle+negEle;
if(nEle>9.) nEle=9.;
332 unsigned int eleCollectionSize = electronCollection->size();
333 for(
unsigned int i=0;
i<eleCollectionSize;
i++) {
335 double pt = ele.
pt();
337 for(
unsigned int j=
i+1;
j<eleCollectionSize;
j++) {
339 double pt2 = ele2.
pt();
357 if ( muonCollection.
isValid() ){
360 TLorentzVector m1, m2;
361 if( passed_muon_HLT ) {
362 for (reco::MuonCollection::const_iterator recoMuon=muonCollection->begin(); recoMuon!=muonCollection->end(); recoMuon++){
364 if(recoMuon->isGlobalMuon()&&recoMuon->isTrackerMuon()){
372 }
else if(recoMuon->isGlobalMuon()){
380 }
else if(recoMuon->isStandAloneMuon()){
385 if ( recoMuon->charge()==1 ){
387 }
else if ( recoMuon->charge()==-1 ){
391 nMu = posMu+negMu;
if(nMu>9.) nMu=9.;
396 unsigned int muonCollectionSize = muonCollection->size();
397 for(
unsigned int i=0;
i<muonCollectionSize;
i++) {
398 const Muon& mu = muonCollection->at(
i);
402 for(
unsigned int j=
i+1;
j<muonCollectionSize;
j++) {
403 const Muon& mu2 = muonCollection->at(
j);
404 double pt2 = mu2.
pt();
432 if ( caloJetCollection.
isValid() ){
434 float jet_eta = -8.0;
435 float jet_phi = -8.0;
437 float jet2_et = -9.0;
438 float jet2_eta = -9.0;
439 float jet2_phi = -9.0;
440 for (CaloJetCollection::const_iterator i_calojet = caloJetCollection->begin(); i_calojet != caloJetCollection->end(); i_calojet++) {
441 float jet_current_et = i_calojet->et();
446 if (jet_current_et < 15)
continue;
448 if (jet_current_et > jet_et) {
452 jet_et = i_calojet->et();
453 jet_eta = i_calojet->eta();
454 jet_phi = i_calojet->phi();
455 }
else if (jet_current_et > jet2_et) {
456 jet2_et = i_calojet->et();
457 jet2_eta = i_calojet->eta();
458 jet2_phi = i_calojet->phi();
472 if ( caloMETCollection.
isValid() ){
473 float caloMet = caloMETCollection->begin()->et();
474 float caloMet_phi = caloMETCollection->begin()->phi();
480 if ( pfMETCollection.
isValid() ){
481 float pfMet = pfMETCollection->begin()->et();
482 float pfMet_phi = pfMETCollection->begin()->phi();
490 if(nMu+nEle > 2 && nMu+nEle < 10){
543 if ((nMu+nEle) >= 10)
544 LogDebug(
"HiggsDQM") <<
"WARNING: "<<nMu+nEle<<
" leptons in this event: run="<<e.id().run()<<
", event="<<e.id().event()<<
"\n";
virtual double p() const
magnitude of momentum vector
edm::InputTag theTriggerResultsCollection
MonitorElement * h_mPhi_TM
MonitorElement * h_mPt_TM
MonitorElement * h_vertex_numTrks
bool isTrackerMuon() const
MonitorElement * h_mEta_GMTM
MonitorElement * h_mPhi_GM
MonitorElement * h_mEta_TM
bool isGlobalMuon() const
std::vector< Vertex > VertexCollection
collection of Vertex objects
edm::InputTag theCaloJetCollectionLabel
edm::InputTag thePfMETCollectionLabel
MonitorElement * h_mPt_STAM
MonitorElement * h_vertex_d0
MonitorElement * h_dimumass_GMGM
edm::InputTag theElectronCollectionLabel
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
MonitorElement * h_jet_count
MonitorElement * h_mPt_GMPT
MonitorElement * h_pfMet_phi
float segmentCompatibility(const reco::Muon &muon, reco::Muon::ArbitrationType arbitrationType=reco::Muon::SegmentAndTrackArbitration)
MonitorElement * h_mPhi_GMPT
MonitorElement * h_jet_et
bool isGoodMuon(const reco::Muon &muon, SelectionType type, reco::Muon::ArbitrationType arbitrationType=reco::Muon::SegmentAndTrackArbitration)
main GoodMuon wrapper call
edm::InputTag theMuonCollectionLabel
virtual double px() const
x coordinate of momentum vector
MonitorElement * h_eMultiplicity
MonitorElement * h_vertex_chi2
virtual double pt() const
transverse momentum
MonitorElement * h_vertex_number
MonitorElement * h_dimumass_GMTM
MonitorElement * h_mEta_GMPT
T const * product() const
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
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
edm::InputTag theCaloMETCollectionLabel
MonitorElement * h_mPhi_GMTM
virtual double py() const
y coordinate of momentum vector
MonitorElement * h_dimumass_TMTM
MonitorElement * h_lepcounts
MonitorElement * h_mMultiplicity