273 if ( !HLTresults.
isValid() )
return;
276 bool passed_electron_HLT =
true;
277 bool passed_muon_HLT =
true;
289 int vertex_number = vertexCollection.size();
290 VertexCollection::const_iterator
v = vertexCollection.begin();
291 double vertex_chi2 = v->normalizedChi2();
292 double vertex_d0 =
sqrt(v->x()*v->x()+v->y()*v->y());
294 double vertex_numTrks = v->tracksSize();
295 double vertex_sumTrks = 0.0;
296 for (
Vertex::trackRef_iterator vertex_curTrack = v->tracks_begin(); vertex_curTrack!=v->tracks_end(); vertex_curTrack++) {
297 vertex_sumTrks += (*vertex_curTrack)->pt();
312 if ( electronCollection.
isValid() ){
313 int posEle=0,negEle=0;
315 if( passed_electron_HLT ) {
316 for (reco::GsfElectronCollection::const_iterator recoElectron=electronCollection->begin(); recoElectron!=electronCollection->end(); recoElectron++){
321 if(recoElectron->charge()==1){
323 }
else if(recoElectron->charge()==-1){
334 nEle = posEle+negEle;
if(nEle>9.) nEle=9.;
338 unsigned int eleCollectionSize = electronCollection->size();
339 for(
unsigned int i=0;
i<eleCollectionSize;
i++) {
341 double pt = ele.
pt();
343 for(
unsigned int j=
i+1;
j<eleCollectionSize;
j++) {
345 double pt2 = ele2.
pt();
363 if ( muonCollection.
isValid() ){
366 TLorentzVector m1, m2;
367 if( passed_muon_HLT ) {
368 for (reco::MuonCollection::const_iterator recoMuon=muonCollection->begin(); recoMuon!=muonCollection->end(); recoMuon++){
370 if(recoMuon->isGlobalMuon()&&recoMuon->isTrackerMuon()){
378 }
else if(recoMuon->isGlobalMuon()){
386 }
else if(recoMuon->isStandAloneMuon()){
391 if ( recoMuon->charge()==1 ){
393 }
else if ( recoMuon->charge()==-1 ){
397 nMu = posMu+negMu;
if(nMu>9.) nMu=9.;
402 unsigned int muonCollectionSize = muonCollection->size();
403 for(
unsigned int i=0;
i<muonCollectionSize;
i++) {
404 const Muon&
mu = muonCollection->at(
i);
408 for(
unsigned int j=
i+1;
j<muonCollectionSize;
j++) {
409 const Muon& mu2 = muonCollection->at(
j);
410 double pt2 = mu2.
pt();
438 if ( caloJetCollection.
isValid() ){
443 float jet2_et = -9.0;
446 for (CaloJetCollection::const_iterator i_calojet = caloJetCollection->begin(); i_calojet != caloJetCollection->end(); i_calojet++) {
447 float jet_current_et = i_calojet->et();
452 if (jet_current_et < 15)
continue;
454 if (jet_current_et > jet_et) {
458 jet_et = i_calojet->et();
461 }
else if (jet_current_et > jet2_et) {
462 jet2_et = i_calojet->et();
478 if ( caloMETCollection.
isValid() ){
479 float caloMet = caloMETCollection->begin()->et();
480 float caloMet_phi = caloMETCollection->begin()->phi();
486 if ( pfMETCollection.
isValid() ){
487 float pfMet = pfMETCollection->begin()->et();
488 float pfMet_phi = pfMETCollection->begin()->phi();
496 if(nMu+nEle > 2 && nMu+nEle < 10){
549 if ((nMu+nEle) >= 10)
550 LogDebug(
"HiggsDQM") <<
"WARNING: "<<nMu+nEle<<
" leptons in this event: run="<<
e.id().run()<<
", 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
edm::EDGetTokenT< edm::TriggerResults > theTriggerResultsCollection_
virtual float pt() const
transverse momentum
MonitorElement * h_mPt_TM
MonitorElement * h_vertex_numTrks
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
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
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
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