CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
EwkMuLumiMonitorDQM Class Reference

#include <EwkMuLumiMonitorDQM.h>

Inheritance diagram for EwkMuLumiMonitorDQM:
edm::EDAnalyzer

Public Member Functions

virtual void analyze (const edm::Event &, const edm::EventSetup &)
 
virtual void beginJob ()
 
virtual void beginRun (const edm::Run &, const edm::EventSetup &)
 
virtual void endJob ()
 
virtual void endRun (const edm::Run &, const edm::EventSetup &)
 
 EwkMuLumiMonitorDQM (const edm::ParameterSet &)
 
void init_histograms ()
 
bool IsMuMatchedToHLTMu (const reco::Muon &, std::vector< reco::Particle >, double, double)
 
double muIso (const reco::Muon &)
 
double tkIso (reco::Track, edm::Handle< reco::TrackCollection >, edm::Handle< CaloTowerCollection >)
 
- Public Member Functions inherited from edm::EDAnalyzer
 EDAnalyzer ()
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 

Private Attributes

double acopCut_
 
edm::InputTag caloTowerTag_
 
double deltaRTrk_
 
double deltaRVetoTrk_
 
double dxyCut_
 
double etaMuCut_
 
MonitorElementhighMass1HLT_
 
MonitorElementhighMass2HLT_
 
MonitorElementhighMassGlbSta_
 
MonitorElementhighMassGlbTrk_
 
MonitorElementhighMassIsBothGlbTrkThanW_
 
MonitorElementhighMassNotIso_
 
HLTConfigProvider hltConfigProvider_
 
bool isCombinedIso_
 
double isoCut03_
 
bool isRelativeIso_
 
bool isValidHltConfig_
 
bool isW_
 
bool isZGlbSta_
 
bool isZGlbTrk_
 
bool isZGolden1HLT_
 
bool isZGolden2HLT_
 
bool isZGoldenNoIso_
 
MonitorElementmass1HLT_
 
MonitorElementmass2HLT_
 
MonitorElementmassGlbSta_
 
MonitorElementmassGlbTrk_
 
MonitorElementmassIsBothGlbTrkThanW_
 
MonitorElementmassNotIso_
 
double maxDeltaR_
 
double maxDPtRel_
 
bool metIncludesMuons_
 
edm::InputTag metTag_
 
double mtMax_
 
double mtMin_
 
edm::InputTag muonTag_
 
unsigned int n1hlt
 
unsigned int n2hlt
 
unsigned int nall
 
unsigned int nEvWithHighPtMu
 
unsigned int nGlbSta
 
unsigned int nGlbTrk
 
unsigned int nhlt
 
unsigned int nInKinRange
 
unsigned int niso
 
unsigned int nNotIso
 
unsigned int nsel
 
unsigned int nTMass
 
unsigned int nW
 
double ptMuCut_
 
double ptThreshold_
 
DQMStoretheDbe
 
MonitorElementTMass_
 
edm::InputTag trackTag_
 
edm::InputTag trigEv_
 
edm::InputTag trigTag_
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
typedef WorkerT< EDAnalyzerWorkerType
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
- Protected Member Functions inherited from edm::EDAnalyzer
CurrentProcessingContext const * currentContext () const
 

Detailed Description

DQM offline for EWK MuLumiMonitor: intended for luminosity purposes using Z/W

Authors
: Michele de Gruttola, INFN Naples - Maria Cepeda, CIEMAT on behalf EWK-Muon group

Definition at line 28 of file EwkMuLumiMonitorDQM.h.

Constructor & Destructor Documentation

EwkMuLumiMonitorDQM::EwkMuLumiMonitorDQM ( const edm::ParameterSet cfg)

Definition at line 39 of file EwkMuLumiMonitorDQM.cc.

References init_histograms(), isValidHltConfig_, cppFunctionSkipper::operator, DQMStore::setCurrentFolder(), and theDbe.

39  :
40  // Input collections
41  trigTag_(cfg.getUntrackedParameter<edm::InputTag> ("TrigTag", edm::InputTag("TriggerResults::HLT"))),
42  trigEv_(cfg.getUntrackedParameter<edm::InputTag> ("triggerEvent")),
47  metIncludesMuons_(cfg.getUntrackedParameter<bool> ("METIncludesMuons")),
48  // Main cuts
49  // massMin_(cfg.getUntrackedParameter<double>("MtMin", 20.)),
50  // massMax_(cfg.getUntrackedParameter<double>("MtMax", 2000.))
51  // hltPath_(cfg.getUntrackedParameter<std::string> ("hltPath")) ,
52  // L3FilterName_(cfg.getUntrackedParameter<std::string> ("L3FilterName")),
53  ptMuCut_(cfg.getUntrackedParameter<double>("ptMuCut")),
54  etaMuCut_(cfg.getUntrackedParameter<double>("etaMuCut")),
55  isRelativeIso_(cfg.getUntrackedParameter<bool>("IsRelativeIso")),
56  isCombinedIso_(cfg.getUntrackedParameter<bool>("IsCombinedIso")),
57  isoCut03_(cfg.getUntrackedParameter<double>("IsoCut03")),
58  // deltaRTrk_(cfg.getUntrackedParameter<double>("deltaRTrk")),
59  ptThreshold_(cfg.getUntrackedParameter<double>("ptThreshold")),
60  //deltaRVetoTrk_(cfg.getUntrackedParameter<double>("deltaRVetoTrk")),
61  maxDPtRel_(cfg.getUntrackedParameter<double>("maxDPtRel")),
62  maxDeltaR_(cfg.getUntrackedParameter<double>("maxDeltaR")),
63  mtMin_(cfg.getUntrackedParameter<double>("mtMin")),
64  mtMax_(cfg.getUntrackedParameter<double>("mtMax")),
65  acopCut_(cfg.getUntrackedParameter<double>("acopCut")),
66  dxyCut_(cfg.getUntrackedParameter<double>("DxyCut")) {
67  // just to initialize
68  isValidHltConfig_ = false;
69 
70  // dqm service & histograms
72  theDbe->setCurrentFolder("Physics/EwkMuLumiMonitorDQM");
74 
75 }
T getUntrackedParameter(std::string const &, T const &) const
edm::InputTag caloTowerTag_
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:429

Member Function Documentation

void EwkMuLumiMonitorDQM::analyze ( const edm::Event ev,
const edm::EventSetup  
)
virtual

number of prescale sets available

Implements edm::EDAnalyzer.

Definition at line 221 of file EwkMuLumiMonitorDQM.cc.

References acopCut_, caloTowerTag_, reco::LeafCandidate::charge(), reco::TrackBase::charge(), reco::TrackBase::dxy(), dxyCut_, reco::TrackBase::eta(), reco::LeafCandidate::eta(), eta(), etaMuCut_, f, MonitorElement::Fill(), edm::Event::getByLabel(), highMass1HLT_, highMass2HLT_, highMassGlbSta_, highMassGlbTrk_, highMassIsBothGlbTrkThanW_, highMassNotIso_, hltConfigProvider_, i, reco::Muon::innerTrack(), reco::Muon::isGlobalMuon(), IsMuMatchedToHLTMu(), isoCut03_, reco::Muon::isStandAloneMuon(), isW_, isZGlbSta_, isZGlbTrk_, isZGolden1HLT_, isZGolden2HLT_, isZGoldenNoIso_, j, gen::k, LogTrace, M_PI, scaleCards::mass, mass1HLT_, mass2HLT_, massGlbSta_, massGlbTrk_, massIsBothGlbTrkThanW_, massNotIso_, maxDeltaR_, maxDPtRel_, CaloMET_cfi::met, metIncludesMuons_, metTag_, HLTConfigProvider::moduleLabels(), mtMax_, RPCpg::mu, muIso(), patZpeak::muons, muonTag_, n, n1hlt, n2hlt, nall, mergeVDriftHistosByStation::name, nEvWithHighPtMu, nGlbSta, nGlbTrk, nhlt, niso, nNotIso, nsel, nTMass, nW, dbtoconf::out, reco::TrackBase::p(), AlCaHLTBitMon_ParallelJobs::p, reco::LeafCandidate::p4(), reco::LeafCandidate::phi(), HLTConfigProvider::prescaleSize(), HLTConfigProvider::prescaleValue(), reco::TrackBase::pt(), reco::LeafCandidate::pt(), ptMuCut_, reco::LeafCandidate::px(), reco::TrackBase::px(), reco::LeafCandidate::py(), reco::TrackBase::py(), reco::TrackBase::pz(), alignCSCRings::s, findQualityFiles::size, mathSSE::sqrt(), tkIso(), TMass_, testEve_cfg::tracks, trackTag_, trigEv_, HLTConfigProvider::triggerIndex(), HLTConfigProvider::triggerNames(), patRefSel_triggerSelection_cff::triggerResults, trigTag_, funct::true, and v.

221  {
222  nall++;
223  bool hlt_sel = false;
224  double iso1=-1;
225  double iso2=-1;
226  bool isMu1Iso = false;
227  bool isMu2Iso = false;
228  bool singleTrigFlag1 = false;
229  bool singleTrigFlag2 = false;
230  isZGolden1HLT_=false;
231  isZGolden2HLT_=false;
232  isZGoldenNoIso_=false;
233  isZGlbSta_=false;
234  isZGlbTrk_=false;
235  isW_=false;
236  // Trigger
237  bool trigger_fired = false;
238 
240  if (!ev.getByLabel(trigTag_, triggerResults)) {
241  //LogWarning("") << ">>> TRIGGER collection does not exist !!!";
242  return;
243  }
244 
245  ev.getByLabel(trigTag_, triggerResults);
246  /*
247  const edm::TriggerNames & trigNames = ev.triggerNames(*triggerResults);
248 
249 
250  for (size_t i=0; i<triggerResults->size(); i++) {
251  std::string trigName = trigNames.triggerName(i);
252  //std::cout << " trigName == " << trigName << std::endl;
253  if ( trigName == hltPath_ && triggerResults->accept(i)) {
254  trigger_fired = true;
255  hlt_sel=true;
256  nhlt++;
257  }
258  }
259  */
260  // see the trigger single muon which are present
261  string lowestMuonUnprescaledTrig = "";
262  bool lowestMuonUnprescaledTrigFound = false;
263  const std::vector<std::string>& triggerNames = hltConfigProvider_.triggerNames();
264  for (size_t ts = 0; ts< triggerNames.size() ; ts++){
265  string trig = triggerNames[ts];
266  size_t f = trig.find("HLT_Mu");
267  if ( (f != std::string::npos) ) {
268  // std::cout << "single muon trigger present: " << trig << std::endl;
269  // See if the trigger is prescaled;
271  bool prescaled = false;
272  const unsigned int prescaleSize = hltConfigProvider_.prescaleSize() ;
273  for (unsigned int ps= 0; ps< prescaleSize; ps++){
274  const unsigned int prescaleValue = hltConfigProvider_.prescaleValue(ps, trig) ;
275  if (prescaleValue != 1) prescaled =true;
276  // std::cout<< " prescaleValue[" << ps << "] =" << prescaleValue <<std::endl;
277  }
278  if (!prescaled){
279  //looking now for the lowest hlt path not prescaled, with name of the form HLT_MuX or HLTMuX_vY
280  for (unsigned int n=9; n<100 ; n++ ){
281  string lowestTrig= "HLT_Mu";
282  string lowestTrigv0 = "copy";
283  std::stringstream out;
284  out << n;
285  std::string s = out.str();
286  lowestTrig.append(s);
287  lowestTrigv0 = lowestTrig;
288  for (unsigned int v = 1; v<10 ; v++ ){
289  lowestTrig.append("_v");
290  std::stringstream oout;
291  oout << v;
292  std::string ss = oout.str();
293  lowestTrig.append(ss);
294  if (trig==lowestTrig) lowestMuonUnprescaledTrig = trig ;
295  if (trig==lowestTrig) lowestMuonUnprescaledTrigFound = true ;
296  if (trig==lowestTrig) break ;
297  }
298  if (lowestMuonUnprescaledTrigFound) break;
299 
300  lowestTrig = lowestTrigv0;
301  if (trig==lowestTrig) lowestMuonUnprescaledTrig = trig ;
302  // if (trig==lowestTrig) {std::cout << " before break, lowestTrig lowest single muon trigger present unprescaled: " << lowestTrig << std::endl; }
303  if (trig==lowestTrig) lowestMuonUnprescaledTrigFound = true ;
304  if (trig==lowestTrig) break ;
305  }
306  if (lowestMuonUnprescaledTrigFound) break;
307  }
308  }
309  }
310  // std::cout << "after break, lowest single muon trigger present unprescaled: " << lowestMuonUnprescaledTrig << std::endl;
311  unsigned int triggerIndex; // index of trigger path
312 
313  // See if event passed trigger paths
314  std::string hltPath_ = lowestMuonUnprescaledTrig;
315 
316  triggerIndex = hltConfigProvider_.triggerIndex(hltPath_);
317  if (triggerIndex < triggerResults->size()) trigger_fired = triggerResults->accept(triggerIndex);
318  std::string L3FilterName_="";
319  if (trigger_fired){
320  const std::vector<std::string>& moduleLabs = hltConfigProvider_.moduleLabels(hltPath_);
321  /*for (size_t k =0; k < moduleLabs.size()-1 ; k++){
322  std::cout << "moduleLabs[" << k << "] == " << moduleLabs[k] << std::endl;
323  }
324  */
325  // the l3 filter name is just the last module....
326  size_t moduleLabsSizeMinus2 = moduleLabs.size() - 2 ;
327  // std::cout<<"moduleLabs[" << moduleLabsSizeMinus2 << "]== "<< moduleLabs[moduleLabsSizeMinus2] << std::endl;
328 
329  L3FilterName_ = moduleLabs[moduleLabsSizeMinus2];
330 
331  }
332 
333 
334  edm::Handle< trigger::TriggerEvent > handleTriggerEvent;
335  LogTrace("") << ">>> Trigger bit: " << trigger_fired << " (" << hltPath_ << ")";
336  if ( ! ev.getByLabel( trigEv_, handleTriggerEvent )) {
337  //LogWarning( "errorTriggerEventValid" ) << "trigger::TriggerEvent product with InputTag " << trigEv_.encode() << " not in event";
338  return;
339  }
340  ev.getByLabel( trigEv_, handleTriggerEvent );
341  const trigger::TriggerObjectCollection & toc(handleTriggerEvent->getObjects());
342  size_t nMuHLT =0;
343  std::vector<reco::Particle> HLTMuMatched;
344  for ( size_t ia = 0; ia < handleTriggerEvent->sizeFilters(); ++ ia) {
345  std::string fullname = handleTriggerEvent->filterTag(ia).encode();
346  //std::cout<< "fullname::== " << fullname<< std::endl;
347  std::string name;
348  size_t p = fullname.find_first_of(':');
349  if ( p != std::string::npos) {
350  name = fullname.substr(0, p);
351  }
352  else {
353  name = fullname;
354  }
355  if ( &toc !=0 ) {
356  const trigger::Keys & k = handleTriggerEvent->filterKeys(ia);
357  for (trigger::Keys::const_iterator ki = k.begin(); ki !=k.end(); ++ki ) {
358  // looking at all the single muon l3 trigger present, for example hltSingleMu15L3Filtered15.....
359  if (name == L3FilterName_ ) {
360  // trigger_fired = true;
361  hlt_sel=true;
362  nhlt++;
363  HLTMuMatched.push_back(toc[*ki].particle());
364  nMuHLT++;
365  }
366  }
367  }
368  }
369 
370  // Beam spot
371  Handle<reco::BeamSpot> beamSpotHandle;
372  if (!ev.getByLabel(InputTag("offlineBeamSpot"), beamSpotHandle)) {
373  //LogWarning("") << ">>> No beam spot found !!!";
374  return;
375  }
376 
377 
378  // looping on muon....
380  if (!ev.getByLabel(muonTag_, muons)) {
381  //LogError("") << ">>> muon collection does not exist !!!";
382  return;
383  }
384 
385  ev.getByLabel(muonTag_, muons);
386  //saving only muons with pt> ptMuCut and eta<etaMuCut, and dxy<dxyCut
387  std::vector<reco::Muon> highPtGlbMuons;
388  std::vector<reco::Muon> highPtStaMuons;
389 
390  for (size_t i=0; i<muons->size(); i++ ){
391  const reco::Muon & mu = muons->at(i);
392  double pt = mu.pt();
393  double eta = mu.eta();
394  if (pt> ptMuCut_ && fabs(eta)< etaMuCut_ ) {
395  if (mu.isGlobalMuon()) {
396  //check the dxy....
397  double dxy = mu.innerTrack()->dxy(beamSpotHandle->position());
398  if (fabs(dxy)>dxyCut_) continue;
399  highPtGlbMuons.push_back(mu);
400  }
401  if (mu.isGlobalMuon()) continue;
402  // if is not, look if it is a standalone....
403  if(mu.isStandAloneMuon()) highPtStaMuons.push_back(mu);
404  nEvWithHighPtMu++;
405  }
406  }
407  size_t nHighPtGlbMu = highPtGlbMuons.size();
408  size_t nHighPtStaMu = highPtStaMuons.size();
409  if ( hlt_sel && (nHighPtGlbMu> 0) ) {
410  // loop on high pt muons if there's at least two with opposite charge build a Z, more then one z candidate is foreseen.........
411  // stop the loop after 10 cicles....
412  (nHighPtGlbMu> 10)? nHighPtGlbMu=10 : 1;
413  // Z selection
414  if (nHighPtGlbMu>1 ){
415  for(unsigned int i =0 ; i < nHighPtGlbMu ; i++) {
416  reco::Muon muon1 = highPtGlbMuons[i];
417  math::XYZTLorentzVector mu1(muon1.p4());
418  //double pt1= muon1.pt();
419  for (unsigned int j =i+1; j <nHighPtGlbMu ; ++j ){
420  reco::Muon muon2 = highPtGlbMuons[j];
421  math::XYZTLorentzVector mu2(muon2.p4());
422  //double pt2= muon2.pt();
423  if (muon1.charge() == muon2.charge()) continue;
424  math::XYZTLorentzVector pair = mu1 + mu2;
425  double mass = pair.M();
426  // checking isolation and hlt maching
427  iso1 = muIso ( muon1 );
428  iso2 = muIso ( muon2 );
429  isMu1Iso = (iso1 < isoCut03_);
430  isMu2Iso = (iso2 < isoCut03_);
431  singleTrigFlag1 = IsMuMatchedToHLTMu ( muon1, HLTMuMatched ,maxDeltaR_, maxDPtRel_ );
432  singleTrigFlag2 = IsMuMatchedToHLTMu ( muon2, HLTMuMatched ,maxDeltaR_, maxDPtRel_ );
433  if (singleTrigFlag1 && singleTrigFlag2) isZGolden2HLT_ = true;
434  if ( (singleTrigFlag1 && !singleTrigFlag2) || (!singleTrigFlag1 && singleTrigFlag2) ) isZGolden1HLT_ = true;
435  // Z Golden passing all criteria, with 2 or 1 muon matched to an HLT muon. Using the two cathegories as a control sample for the HLT matching efficiency
437  // a Z golden has been found, let's remove the two muons from the list, dome for avoiding resolution effect enter muons in the standalone and tracker collections.........
438  highPtGlbMuons.erase(highPtGlbMuons.begin() + i );
439  highPtGlbMuons.erase(highPtGlbMuons.begin() + j );
440  // and updating the number of high pt muons....
441  nHighPtGlbMu = highPtGlbMuons.size();
442 
443  if ( isMu1Iso && isMu2Iso ){
444  niso++;
445  if (isZGolden2HLT_) {
446  n2hlt++;
447  mass2HLT_->Fill(mass);
448  highMass2HLT_->Fill(mass);
449  /*
450  if (pt1 > pt2) {
451  highest_mupt2HLT_ -> Fill (pt1);
452  lowest_mupt2HLT_ -> Fill (pt2);
453  } else {
454  highest_mupt2HLT_ -> Fill (pt2);
455  lowest_mupt2HLT_ -> Fill (pt1);
456  }
457  */
458  }
459  if (isZGolden1HLT_) {
460  n1hlt++;
461  mass1HLT_->Fill(mass);
462  highMass1HLT_->Fill(mass);
463  /*
464  if (pt1 >pt2) {
465  highest_mupt1HLT_ -> Fill (pt1);
466  lowest_mupt1HLT_ -> Fill (pt2);
467  } else {
468  highest_mupt1HLT_ -> Fill (pt2);
469  lowest_mupt1HLT_ -> Fill (pt1);
470  }
471  */
472  }
473  } else {
474  // ZGlbGlb when at least one of the two muon is not isolated and at least one HLT matched, used as control sample for the isolation efficiency
475  // filling events with one muon not isolated and both hlt mathced
476  if (((isMu1Iso && !isMu2Iso) || (!isMu1Iso && isMu2Iso )) && (isZGolden2HLT_ && isZGolden1HLT_) ) {
477  isZGoldenNoIso_=true;
478  nNotIso++;
479  massNotIso_->Fill(mass);
480  highMassNotIso_->Fill(mass);
481  }
482  /*
483  if (pt1 > pt2) {
484  highest_muptNotIso_ -> Fill (pt1);
485  lowest_muptNotIso_ -> Fill (pt2);
486  } else {
487  highest_muptNotIso_ -> Fill (pt2);
488  lowest_muptNotIso_ -> Fill (pt1);
489  }
490  */
491  }
492  }
493  }
494  }
495  }
496 // W->MuNu selection (if at least one muon has been selected)
497  // looking for a W if a Z is not found.... let's think if we prefer to exclude zMuMuNotIso or zMuSta....
498  if ( !(isZGolden2HLT_ || isZGolden1HLT_ )){
499  Handle<View<MET> > metCollection;
500  if (!ev.getByLabel(metTag_, metCollection)) {
501  //LogError("") << ">>> MET collection does not exist !!!";
502  return;
503  }
504  const MET& met = metCollection->at(0);
505  nW=0;
506  for(unsigned int i =0 ; i < nHighPtGlbMu ; i++) {
507  reco::Muon muon1 = highPtGlbMuons[i];
508  /*
509  quality cut not implemented
510  Quality Cuts double dxy = gm->dxy(beamSpotHandle->position());
511  Cut in 0.2 double trackerHits = gm->hitPattern().numberOfValidTrackerHits();
512  Cut in 11 bool quality = fabs(dxy)<dxyCut_ && muon::isGoodMuon(mu,muon::GlobalMuonPromptTight) && trackerHits>=trackerHitsCut_ && mu.isTrackerMuon() ;
513  if (!quality) continue;
514  */
515  // isolation cut and hlt maching
516  iso1 = muIso ( muon1 );
517  isMu1Iso = (iso1 < isoCut03_);
518  if (!isMu1Iso) continue;
519  // checking if muon is matched to any HLT muon....
520  singleTrigFlag1 = IsMuMatchedToHLTMu ( muon1, HLTMuMatched ,maxDeltaR_, maxDPtRel_ );
521  if (!singleTrigFlag1) continue;
522  //std::cout << " is GlobMu macthecd to HLT: " << singleTrigFlag1 << std::endl;
523  // MT cuts
524  double met_px = met.px();
525  double met_py = met.py();
526 
527  if (!metIncludesMuons_) {
528  for(unsigned int i =0 ; i < nHighPtGlbMu ; i++) {
529  reco::Muon muon1 = highPtGlbMuons[i];
530  met_px -= muon1.px();
531  met_py -= muon1.py();
532  }
533  }
534  double met_et = met.pt() ; //sqrt(met_px*met_px+met_py*met_py);
535  LogTrace("") << ">>> MET, MET_px, MET_py: " << met_et << ", " << met_px << ", " << met_py << " [GeV]";
536  double w_et = met_et+ muon1.pt();
537  double w_px = met_px+ muon1.px();
538  double w_py = met_py+muon1.py();
539  double massT = w_et*w_et - w_px*w_px - w_py*w_py;
540  massT = (massT>0) ? sqrt(massT) : 0;
541  // Acoplanarity cuts
542  Geom::Phi<double> deltaphi(muon1.phi()-atan2(met_py,met_px));
543  double acop = M_PI - fabs(deltaphi.value());
544  //std::cout << " is acp of W candidate less then cut: " << (acop< acopCut_) << std::endl;
545  if (acop > acopCut_) continue ; // Cut in 2.0
546  TMass_->Fill(massT);
547  if (massT<mtMin_ || massT>mtMax_) continue; // Cut in (50,200) GeV
548  // we give the number of W only in the tMass selected but we have a look at mass tails to check the QCD background
549  isW_=true;
550  nW++;
551  nTMass++;
552  }
553  }
554 // if a zGlobal is not selected, look at the dimuonGlobalOneStandAlone and dimuonGlobalOneTrack...., used as a control sample for the tracking efficiency and muon system efficiency
556  for(unsigned int i =0 ; i < nHighPtGlbMu ; ++i) {
557  reco::Muon glbMuon = highPtGlbMuons[i];
558  math::XYZTLorentzVector mu1(glbMuon.p4());
559  //double pt1= glbMuon.pt();
560  // checking that the global muon is hlt matched otherwise skip the event
561  singleTrigFlag1 = IsMuMatchedToHLTMu ( glbMuon, HLTMuMatched ,maxDeltaR_, maxDPtRel_ );
562  if (!singleTrigFlag1) continue;
563  // checking that the global muon is isolated matched otherwise skip the event
564  iso1 = muIso ( glbMuon );
565  isMu1Iso = (iso1 < isoCut03_);
566  if (!isMu1Iso) continue;
567  // look at the standalone muon ....
568  // stop the loop after 10 cicles....
569  (nHighPtStaMu> 10)? nHighPtStaMu=10 : 1;
570  for (unsigned int j =0; j <nHighPtStaMu ; ++j ){
571  reco::Muon staMuon = highPtStaMuons[j];
572  math::XYZTLorentzVector mu2(staMuon.p4());
573  //double pt2= staMuon.pt();
574  if (glbMuon.charge() == staMuon.charge()) continue;
575  math::XYZTLorentzVector pair = mu1 + mu2;
576  double mass = pair.M();
577  iso2 = muIso ( staMuon);
578  isMu2Iso = (iso2 < isoCut03_);
579  LogTrace("") << "\t... isolation value" << iso1 <<", isolated? " << isMu1Iso ;
580  LogTrace("") << "\t... isolation value" << iso2 <<", isolated? " << isMu2Iso ;
581  // requiring theat the global mu is mathed to the HLT and both are isolated
582  if (isMu2Iso ) {
583  isZGlbSta_=true;
584  nGlbSta++;
585  massGlbSta_->Fill(mass);
586  highMassGlbSta_->Fill(mass);
587  /*
588  if (pt1 > pt2) {
589  highest_muptGlbSta_ -> Fill (pt1);
590  lowest_muptGlbSta_ -> Fill (pt2);
591  } else {
592  highest_muptGlbSta_ -> Fill (pt2);
593  lowest_muptGlbSta_ -> Fill (pt1);
594  }
595  */
596  }
597  }
598  // look at the tracks....
600  if (!ev.getByLabel(trackTag_, tracks)) {
601  //LogError("") << ">>> track collection does not exist !!!";
602  return;
603  }
604  ev.getByLabel(trackTag_, tracks);
606  if (!ev.getByLabel(caloTowerTag_, calotower)) {
607  //LogError("") << ">>> calotower collection does not exist !!!";
608  return;
609  }
610  ev.getByLabel(caloTowerTag_, calotower);
611  // avoid to loop on more than 5000 trks
612  size_t nTrk = tracks->size();
613  (nTrk> 5000)? nTrk=5000 : 1;
614  for (unsigned int j=0; j<nTrk; j++ ){
615  const reco::Track & tk = tracks->at(j);
616  if (glbMuon.charge() == tk.charge()) continue;
617  double pt2 = tk.pt();
618  double eta = tk.eta();
619  double dxy = tk.dxy(beamSpotHandle->position());
620  if (pt2< ptMuCut_ || fabs(eta) > etaMuCut_ || fabs(dxy)>dxyCut_) continue;
621  //assuming that the track is a mu....
622  math::XYZTLorentzVector mu2(tk.px(),tk.py(), tk.pz(), sqrt( (tk.p() * tk.p()) + ( 0.10566 * 0.10566))) ;
623  math::XYZTLorentzVector pair = mu1 + mu2;
624  double mass = pair.M();
625  // now requiring that the tracks is isolated.......
626  iso2 = tkIso( tk, tracks, calotower);
627  isMu2Iso = (iso2 < isoCut03_);
628  // std::cout << "found a track with rel/comb iso: " << iso2 << std::endl;
629  if (isMu2Iso) {
630  isZGlbTrk_=true;
631  nGlbTrk++;
632  massGlbTrk_->Fill(mass);
633  highMassGlbTrk_->Fill(mass);
634  if (!isW_) continue;
637  /*
638  if (pt1 > pt2) {
639  highest_muptGlbTrk_ -> Fill (pt1);
640  lowest_muptGlbTrk_ -> Fill (pt2);
641  } else {
642  highest_muptGlbTrk_ -> Fill (pt2);
643  lowest_muptGlbTrk_ -> Fill (pt1);
644  }
645  */
646  }
647  }
648  }
649  }
650  }
651  if ( (hlt_sel || isZGolden2HLT_ || isZGolden1HLT_ || isZGoldenNoIso_ || isZGlbSta_ || isZGlbTrk_ || isW_) ) {
652  nsel++;
653  LogTrace("") << ">>>> Event ACCEPTED";
654  } else {
655  LogTrace("") << ">>>> Event REJECTED";
656  }
657  return;
658 }
MonitorElement * highMass1HLT_
double p() const
momentum vector magnitude
Definition: TrackBase.h:129
int i
Definition: DBlmapReader.cc:9
double tkIso(reco::Track, edm::Handle< reco::TrackCollection >, edm::Handle< CaloTowerCollection >)
bool IsMuMatchedToHLTMu(const reco::Muon &, std::vector< reco::Particle >, double, double)
virtual TrackRef innerTrack() const
Definition: Muon.h:49
const std::vector< std::string > & triggerNames() const
names of trigger paths
MonitorElement * highMassIsBothGlbTrkThanW_
bool isGlobalMuon() const
Definition: Muon.h:211
MonitorElement * highMassGlbTrk_
MonitorElement * massNotIso_
double px() const
x coordinate of momentum vector
Definition: TrackBase.h:133
T eta() const
bool isStandAloneMuon() const
Definition: Muon.h:213
MonitorElement * highMassGlbSta_
virtual double eta() const
momentum pseudorapidity
void Fill(long long x)
unsigned int triggerIndex(const std::string &triggerName) const
slot position of trigger path in trigger table (0 to size-1)
MonitorElement * mass1HLT_
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:30
unsigned int prescaleValue(unsigned int set, const std::string &trigger) const
HLT prescale value in specific prescale set for a specific trigger path.
double eta() const
pseudorapidity of momentum vector
Definition: TrackBase.h:141
MonitorElement * massIsBothGlbTrkThanW_
MonitorElement * massGlbTrk_
edm::InputTag caloTowerTag_
Definition: MET.h:32
T sqrt(T t)
Definition: SSEVec.h:46
double pt() const
track transverse momentum
Definition: TrackBase.h:131
virtual int charge() const
electric charge
int j
Definition: DBlmapReader.cc:9
MonitorElement * highMassNotIso_
double f[11][100]
const int mu
Definition: Constants.h:23
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:356
#define LogTrace(id)
double pz() const
z coordinate of momentum vector
Definition: TrackBase.h:137
int k[5][pyjets_maxn]
const std::vector< std::string > & moduleLabels(unsigned int trigger) const
label(s) of module(s) on a trigger path
tuple out
Definition: dbtoconf.py:99
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
Definition: TriggerObject.h:83
MonitorElement * massGlbSta_
#define M_PI
Definition: BFit3D.cc:3
virtual double px() const
x coordinate of momentum vector
tuple tracks
Definition: testEve_cfg.py:39
double muIso(const reco::Muon &)
virtual double pt() const
transverse momentum
std::vector< size_type > Keys
MonitorElement * TMass_
HLTConfigProvider hltConfigProvider_
tuple muons
Definition: patZpeak.py:38
MonitorElement * mass2HLT_
tuple mass
Definition: scaleCards.py:27
unsigned int prescaleSize() const
MonitorElement * highMass2HLT_
int charge() const
track electric charge
Definition: TrackBase.h:113
double dxy() const
dxy parameter. (This is the transverse impact parameter w.r.t. to (0,0,0) ONLY if refPoint is close t...
Definition: TrackBase.h:121
virtual double phi() const
momentum azimuthal angle
virtual const LorentzVector & p4() const
four-momentum Lorentz vector
Definition: Phi.h:20
tuple size
Write out results.
mathSSE::Vec4< T > v
virtual double py() const
y coordinate of momentum vector
double py() const
y coordinate of momentum vector
Definition: TrackBase.h:135
void EwkMuLumiMonitorDQM::beginJob ( void  )
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 104 of file EwkMuLumiMonitorDQM.cc.

104  {
105 
106 }
void EwkMuLumiMonitorDQM::beginRun ( const edm::Run r,
const edm::EventSetup iSetup 
)
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 79 of file EwkMuLumiMonitorDQM.cc.

References hltConfigProvider_, HLTConfigProvider::init(), isValidHltConfig_, n1hlt, n2hlt, nall, nEvWithHighPtMu, nGlbSta, nGlbTrk, nhlt, nInKinRange, niso, nNotIso, nsel, nTMass, nW, edm::InputTag::process(), and trigTag_.

79  {
80  nall = 0;
81  nEvWithHighPtMu=0;
82  nInKinRange= 0;
83  nsel = 0;
84  niso = 0;
85  nhlt =0;
86  n1hlt =0;
87  n2hlt =0;
88  nNotIso =0;
89  nGlbSta =0;
90  nGlbTrk =0;
91  nTMass =0;
92  nW=0;
93 
94  // passed as parameter to HLTConfigProvider::init(), not yet used
95  bool isConfigChanged = false;
96 
97  // isValidHltConfig_ used to short-circuit analyze() in case of problems
98  isValidHltConfig_ = hltConfigProvider_.init( r, iSetup, trigTag_.process(), isConfigChanged );
99  //std::cout << "hlt config trigger is valid??" << isValidHltConfig_ << std::endl;
100 
101  }
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d&#39;tor
std::string const & process() const
Definition: InputTag.h:29
HLTConfigProvider hltConfigProvider_
void EwkMuLumiMonitorDQM::endJob ( void  )
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 203 of file EwkMuLumiMonitorDQM.cc.

203  {
204 }
void EwkMuLumiMonitorDQM::endRun ( const edm::Run r,
const edm::EventSetup  
)
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 206 of file EwkMuLumiMonitorDQM.cc.

References n1hlt, n2hlt, nall, nGlbSta, nhlt, nNotIso, nsel, and nTMass.

206  {
207 
208  LogVerbatim("") << "\n>>>>>> Z/W SELECTION SUMMARY BEGIN >>>>>>>>>>>>>>>";
209  LogVerbatim("") << "Total numer of events analyzed: " << nall << " [events]";
210  LogVerbatim("") << "Total numer of events selected: " << nsel << " [events]";
211 
212  LogVerbatim("") << "Passing HLT criteria: " << nhlt << " [events] " ;
213  LogVerbatim("") << "Passing 2 HLT match criteria: " << n2hlt << " [events] " ;
214  LogVerbatim("") << "Passing 1 HLT match criteria: " << n1hlt << " [events] " ;
215  LogVerbatim("") << "Passing Not Iso criteria: " << nNotIso << " [events] " ;
216  LogVerbatim("") << "Passing GlbSta criteria: " << nGlbSta << " [events] " ;
217  LogVerbatim("") << "Passing W criteria: " << nTMass << " [events] " ;
218  LogVerbatim("") << ">>>>>> Z/W SELECTION SUMMARY END >>>>>>>>>>>>>>>\n";
219 }
void EwkMuLumiMonitorDQM::init_histograms ( )

Definition at line 108 of file EwkMuLumiMonitorDQM.cc.

References DQMStore::book1D(), highMass1HLT_, highMass2HLT_, highMassGlbSta_, highMassGlbTrk_, highMassIsBothGlbTrkThanW_, highMassNotIso_, mass1HLT_, mass2HLT_, massGlbSta_, massGlbTrk_, massIsBothGlbTrkThanW_, massNotIso_, theDbe, and TMass_.

Referenced by EwkMuLumiMonitorDQM().

108  {
109 
110  mass2HLT_ = theDbe->book1D("Z_2HLT_MASS","Z mass [GeV/c^{2}]",200,0.,200.);
111  mass1HLT_ = theDbe->book1D("Z_1HLT_MASS","Z mass [GeV/c^{2}]",200,0.,200.);
112  massNotIso_ = theDbe->book1D("Z_NOTISO_MASS","Z mass [GeV/c^{2}]",200,0.,200.);
113  massGlbSta_ = theDbe->book1D("Z_GLBSTA_MASS","Z mass [GeV/c^{2}]",200,0.,200.);
114  massGlbTrk_ = theDbe->book1D("Z_GLBTRK_MASS","Z mass [GeV/c^{2}]",200,0.,200.);
115  massIsBothGlbTrkThanW_ = theDbe->book1D("Z_ISBOTHGLBTRKTHANW_MASS","Z mass [GeV/c^{2}]",200,0.,200.);
116 
117  highMass2HLT_ = theDbe->book1D("Z_2HLT_HIGHMASS","Z high mass [GeV/c^{2}]",2000,0.,2000.);
118  highMass1HLT_ = theDbe->book1D("Z_1HLT_HIGHMASS","Z high mass [GeV/c^{2}]",2000,0.,2000.);
119  highMassNotIso_ = theDbe->book1D("Z_NOTISO_HIGHMASS","Z high mass [GeV/c^{2}]",2000,0.,2000.);
120  highMassGlbSta_ = theDbe->book1D("Z_GLBSTA_HIGHMASS","Z high mass [GeV/c^{2}]",2000,0.,2000.);
121  highMassGlbTrk_ = theDbe->book1D("Z_GLBTRK_HIGHMASS","Z high mass [GeV/c^{2}]",2000,0.,2000.);
122  highMassIsBothGlbTrkThanW_ = theDbe->book1D("Z_ISBOTHGLBTRKTHANW_HIGHMASS","Z high mass [GeV/c^{2}]",2000,0.,2000.);
123 
124  /*
125  highest_mupt2HLT_ = theDbe->book1D("HIGHEST_MU_PT_2HLT","Highest muon p_{t}[GeV/c]",200,0.,200.);
126  highest_mupt1HLT_ = theDbe->book1D("HIGHEST_MU_PT_1HLT","Highest muon p_{t}[GeV/c]",200,0.,200.);
127  highest_muptNotIso_ = theDbe->book1D("HIGHEST_MU_PT_NOTISO","Highest muon p_{t}[GeV/c]",200,0.,200.);
128  highest_muptGlbSta_ = theDbe->book1D("HIGHEST_MU_PT_GLBSTA","Highest muon p_{t}[GeV/c]",200,0.,200.);
129  highest_muptGlbTrk_ = theDbe->book1D("HIGHEST_MU_PT_GLBTRK","Highest muon p_{t}[GeV/c]",200,0.,200.);
130 
131  lowest_mupt2HLT_ = theDbe->book1D("LOWEST_MU_PT_2HLT","Lowest muon p_{t} [GeV/c]",200,0.,200.);
132  lowest_mupt1HLT_ = theDbe->book1D("LOWEST_MU_PT_1HLT","Lowest muon p_{t} [GeV/c]",200,0.,200.);
133  lowest_muptNotIso_ = theDbe->book1D("LOWEST_MU_PT_NOTISO","Lowest muon p_{t} [GeV/c]",200,0.,200.);
134  lowest_muptGlbSta_ = theDbe->book1D("LOWEST_MU_PT_GLBSTA","Lowest muon p_{t} [GeV/c]",200,0.,200.);
135  lowest_muptGlbTrk_ = theDbe->book1D("LOWEST_MU_PT_GLBTRK","Lowest muon p_{t} [GeV/c]",200,0.,200.);
136  */
137 
138  TMass_ = theDbe->book1D("TMASS","Transverse mass [GeV]",300,0.,300.);
139 
140 }
MonitorElement * highMass1HLT_
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:717
MonitorElement * highMassIsBothGlbTrkThanW_
MonitorElement * highMassGlbTrk_
MonitorElement * massNotIso_
MonitorElement * highMassGlbSta_
MonitorElement * mass1HLT_
MonitorElement * massIsBothGlbTrkThanW_
MonitorElement * massGlbTrk_
MonitorElement * highMassNotIso_
MonitorElement * massGlbSta_
MonitorElement * TMass_
MonitorElement * mass2HLT_
MonitorElement * highMass2HLT_
bool EwkMuLumiMonitorDQM::IsMuMatchedToHLTMu ( const reco::Muon mu,
std::vector< reco::Particle HLTMu,
double  DR,
double  DPtRel 
)

Definition at line 189 of file EwkMuLumiMonitorDQM.cc.

References deltaR(), gen::k, and reco::LeafCandidate::pt().

Referenced by analyze().

189  {
190  size_t dim = HLTMu.size();
191  size_t nPass=0;
192  if (dim==0) return false;
193  for (size_t k =0; k< dim; k++ ) {
194  if ( (deltaR(HLTMu[k], mu) < DR) && (fabs(HLTMu[k].pt() - mu.pt())/ HLTMu[k].pt()<DPtRel)){
195  nPass++ ;
196  }
197  }
198  return (nPass>0);
199 }
int k[5][pyjets_maxn]
double deltaR(double eta1, double eta2, double phi1, double phi2)
Definition: TreeUtility.cc:17
virtual double pt() const
transverse momentum
double EwkMuLumiMonitorDQM::muIso ( const reco::Muon mu)

Definition at line 144 of file EwkMuLumiMonitorDQM.cc.

References reco::MuonIsolation::emEt, reco::MuonIsolation::hadEt, isCombinedIso_, reco::Muon::isolationR03(), isRelativeIso_, reco::LeafCandidate::pt(), and reco::MuonIsolation::sumPt.

Referenced by analyze().

144  {
145  double isovar = mu.isolationR03().sumPt;
146  if (isCombinedIso_) {
147  isovar += mu.isolationR03().emEt;
148  isovar += mu.isolationR03().hadEt;
149  }
150  if (isRelativeIso_) isovar /= mu.pt();
151  return isovar;
152 }
float hadEt
hcal sum-Et
Definition: MuonIsolation.h:9
float sumPt
sum-pt of tracks
Definition: MuonIsolation.h:7
float emEt
ecal sum-Et
Definition: MuonIsolation.h:8
virtual double pt() const
transverse momentum
const MuonIsolation & isolationR03() const
Definition: Muon.h:159
double EwkMuLumiMonitorDQM::tkIso ( reco::Track  tk,
edm::Handle< reco::TrackCollection tracks,
edm::Handle< CaloTowerCollection calotower 
)

Definition at line 154 of file EwkMuLumiMonitorDQM.cc.

References deltaR(), PFRecoTauDiscriminationAgainstElectronDeadECAL_cfi::dR, HTMLExport::elem(), reco::TrackBase::eta(), i, isCombinedIso_, isRelativeIso_, reco::Track::outerEta(), reco::Track::outerPhi(), reco::TrackBase::phi(), reco::TrackBase::pt(), ptThreshold_, mathSSE::sqrt(), reco::TrackBase::vx(), reco::TrackBase::vy(), and reco::TrackBase::vz().

Referenced by analyze().

154  {
155  double ptSum = 0;
156  for (size_t i=0; i< tracks->size(); ++i){
157  const reco::Track & elem = tracks->at(i);
158  double elemPt = elem.pt();
159  // same parameter used for muIsolation: dR [0.01, IsoCut03_], |dZ|<0.2, |d_r(xy)|<0.1
160  double elemVx = elem.vx();
161  double elemVy = elem.vy();
162  double elemD0 = sqrt( elemVx * elemVx + elemVy * elemVy );
163  if ( elemD0 > 0.2 ) continue;
164  double dz = fabs( elem.vz() - tk.vz());
165  if ( dz > 0.1) continue;
166  // evaluate only for tracks with pt>ptTreshold
167  if ( elemPt < ptThreshold_ ) continue;
168  double dR = deltaR( elem.eta(), elem.phi(), tk.eta(), tk.phi() );
169  // isolation in a cone with dR=0.3, and vetoing the track itself
170  if ( (dR < 0.01) || (dR > 0.3) ) continue;
171  ptSum += elemPt;
172  }
173  if (isCombinedIso_) {
174  // loop on clusters....
175  for (CaloTowerCollection::const_iterator it=calotower->begin(); it!=calotower->end();++it ){
176  double dR = deltaR( it->eta(), it->phi(),tk.outerEta(), tk.outerPhi() );
177  // veto value is 0.1 for towers....
178  if ( (dR < 0.1) || (dR > 0.3) ) continue;
179  ptSum += it->emEnergy();
180  ptSum += it->hadEnergy();
181  }
182  }
183  if (isRelativeIso_) ptSum /= tk.pt();
184  return ptSum;
185 }
int i
Definition: DBlmapReader.cc:9
std::vector< CaloTower >::const_iterator const_iterator
double phi() const
azimuthal angle of momentum vector
Definition: TrackBase.h:139
double eta() const
pseudorapidity of momentum vector
Definition: TrackBase.h:141
T sqrt(T t)
Definition: SSEVec.h:46
double pt() const
track transverse momentum
Definition: TrackBase.h:131
double deltaR(double eta1, double eta2, double phi1, double phi2)
Definition: TreeUtility.cc:17
double vz() const
z coordinate of the reference point on track
Definition: TrackBase.h:147
double outerEta() const
pseudorapidity of the momentum vector at the outermost hit position
Definition: Track.h:89
double vy() const
y coordinate of the reference point on track
Definition: TrackBase.h:145
double outerPhi() const
azimuthal angle of the momentum vector at the outermost hit position
Definition: Track.h:87
double vx() const
x coordinate of the reference point on track
Definition: TrackBase.h:143

Member Data Documentation

double EwkMuLumiMonitorDQM::acopCut_
private

Definition at line 69 of file EwkMuLumiMonitorDQM.h.

Referenced by analyze().

edm::InputTag EwkMuLumiMonitorDQM::caloTowerTag_
private

Definition at line 48 of file EwkMuLumiMonitorDQM.h.

Referenced by analyze().

double EwkMuLumiMonitorDQM::deltaRTrk_
private

Definition at line 62 of file EwkMuLumiMonitorDQM.h.

double EwkMuLumiMonitorDQM::deltaRVetoTrk_
private

Definition at line 64 of file EwkMuLumiMonitorDQM.h.

double EwkMuLumiMonitorDQM::dxyCut_
private

Definition at line 70 of file EwkMuLumiMonitorDQM.h.

Referenced by analyze().

double EwkMuLumiMonitorDQM::etaMuCut_
private

Definition at line 56 of file EwkMuLumiMonitorDQM.h.

Referenced by analyze().

MonitorElement* EwkMuLumiMonitorDQM::highMass1HLT_
private

Definition at line 84 of file EwkMuLumiMonitorDQM.h.

Referenced by analyze(), and init_histograms().

MonitorElement* EwkMuLumiMonitorDQM::highMass2HLT_
private

Definition at line 79 of file EwkMuLumiMonitorDQM.h.

Referenced by analyze(), and init_histograms().

MonitorElement* EwkMuLumiMonitorDQM::highMassGlbSta_
private

Definition at line 94 of file EwkMuLumiMonitorDQM.h.

Referenced by analyze(), and init_histograms().

MonitorElement* EwkMuLumiMonitorDQM::highMassGlbTrk_
private

Definition at line 99 of file EwkMuLumiMonitorDQM.h.

Referenced by analyze(), and init_histograms().

MonitorElement* EwkMuLumiMonitorDQM::highMassIsBothGlbTrkThanW_
private

Definition at line 106 of file EwkMuLumiMonitorDQM.h.

Referenced by analyze(), and init_histograms().

MonitorElement* EwkMuLumiMonitorDQM::highMassNotIso_
private

Definition at line 89 of file EwkMuLumiMonitorDQM.h.

Referenced by analyze(), and init_histograms().

HLTConfigProvider EwkMuLumiMonitorDQM::hltConfigProvider_
private

Definition at line 131 of file EwkMuLumiMonitorDQM.h.

Referenced by analyze(), and beginRun().

bool EwkMuLumiMonitorDQM::isCombinedIso_
private

Definition at line 59 of file EwkMuLumiMonitorDQM.h.

Referenced by muIso(), and tkIso().

double EwkMuLumiMonitorDQM::isoCut03_
private

Definition at line 60 of file EwkMuLumiMonitorDQM.h.

Referenced by analyze().

bool EwkMuLumiMonitorDQM::isRelativeIso_
private

Definition at line 58 of file EwkMuLumiMonitorDQM.h.

Referenced by muIso(), and tkIso().

bool EwkMuLumiMonitorDQM::isValidHltConfig_
private

Definition at line 130 of file EwkMuLumiMonitorDQM.h.

Referenced by beginRun(), and EwkMuLumiMonitorDQM().

bool EwkMuLumiMonitorDQM::isW_
private

Definition at line 128 of file EwkMuLumiMonitorDQM.h.

Referenced by analyze().

bool EwkMuLumiMonitorDQM::isZGlbSta_
private

Definition at line 126 of file EwkMuLumiMonitorDQM.h.

Referenced by analyze().

bool EwkMuLumiMonitorDQM::isZGlbTrk_
private

Definition at line 127 of file EwkMuLumiMonitorDQM.h.

Referenced by analyze().

bool EwkMuLumiMonitorDQM::isZGolden1HLT_
private

Definition at line 123 of file EwkMuLumiMonitorDQM.h.

Referenced by analyze().

bool EwkMuLumiMonitorDQM::isZGolden2HLT_
private

Definition at line 124 of file EwkMuLumiMonitorDQM.h.

Referenced by analyze().

bool EwkMuLumiMonitorDQM::isZGoldenNoIso_
private

Definition at line 125 of file EwkMuLumiMonitorDQM.h.

Referenced by analyze().

MonitorElement* EwkMuLumiMonitorDQM::mass1HLT_
private

Definition at line 83 of file EwkMuLumiMonitorDQM.h.

Referenced by analyze(), and init_histograms().

MonitorElement* EwkMuLumiMonitorDQM::mass2HLT_
private

Definition at line 78 of file EwkMuLumiMonitorDQM.h.

Referenced by analyze(), and init_histograms().

MonitorElement* EwkMuLumiMonitorDQM::massGlbSta_
private

Definition at line 93 of file EwkMuLumiMonitorDQM.h.

Referenced by analyze(), and init_histograms().

MonitorElement* EwkMuLumiMonitorDQM::massGlbTrk_
private

Definition at line 98 of file EwkMuLumiMonitorDQM.h.

Referenced by analyze(), and init_histograms().

MonitorElement* EwkMuLumiMonitorDQM::massIsBothGlbTrkThanW_
private

Definition at line 105 of file EwkMuLumiMonitorDQM.h.

Referenced by analyze(), and init_histograms().

MonitorElement* EwkMuLumiMonitorDQM::massNotIso_
private

Definition at line 88 of file EwkMuLumiMonitorDQM.h.

Referenced by analyze(), and init_histograms().

double EwkMuLumiMonitorDQM::maxDeltaR_
private

Definition at line 66 of file EwkMuLumiMonitorDQM.h.

Referenced by analyze().

double EwkMuLumiMonitorDQM::maxDPtRel_
private

Definition at line 65 of file EwkMuLumiMonitorDQM.h.

Referenced by analyze().

bool EwkMuLumiMonitorDQM::metIncludesMuons_
private

Definition at line 50 of file EwkMuLumiMonitorDQM.h.

Referenced by analyze().

edm::InputTag EwkMuLumiMonitorDQM::metTag_
private

Definition at line 49 of file EwkMuLumiMonitorDQM.h.

Referenced by analyze().

double EwkMuLumiMonitorDQM::mtMax_
private

Definition at line 68 of file EwkMuLumiMonitorDQM.h.

Referenced by analyze().

double EwkMuLumiMonitorDQM::mtMin_
private

Definition at line 67 of file EwkMuLumiMonitorDQM.h.

edm::InputTag EwkMuLumiMonitorDQM::muonTag_
private

Definition at line 46 of file EwkMuLumiMonitorDQM.h.

Referenced by analyze().

unsigned int EwkMuLumiMonitorDQM::n1hlt
private

Definition at line 115 of file EwkMuLumiMonitorDQM.h.

Referenced by analyze(), beginRun(), and endRun().

unsigned int EwkMuLumiMonitorDQM::n2hlt
private

Definition at line 116 of file EwkMuLumiMonitorDQM.h.

Referenced by analyze(), beginRun(), and endRun().

unsigned int EwkMuLumiMonitorDQM::nall
private

Definition at line 109 of file EwkMuLumiMonitorDQM.h.

Referenced by analyze(), beginRun(), and endRun().

unsigned int EwkMuLumiMonitorDQM::nEvWithHighPtMu
private

Definition at line 110 of file EwkMuLumiMonitorDQM.h.

Referenced by analyze(), and beginRun().

unsigned int EwkMuLumiMonitorDQM::nGlbSta
private

Definition at line 118 of file EwkMuLumiMonitorDQM.h.

Referenced by analyze(), beginRun(), and endRun().

unsigned int EwkMuLumiMonitorDQM::nGlbTrk
private

Definition at line 119 of file EwkMuLumiMonitorDQM.h.

Referenced by analyze(), and beginRun().

unsigned int EwkMuLumiMonitorDQM::nhlt
private

Definition at line 114 of file EwkMuLumiMonitorDQM.h.

Referenced by analyze(), beginRun(), and endRun().

unsigned int EwkMuLumiMonitorDQM::nInKinRange
private

Definition at line 111 of file EwkMuLumiMonitorDQM.h.

Referenced by beginRun().

unsigned int EwkMuLumiMonitorDQM::niso
private

Definition at line 113 of file EwkMuLumiMonitorDQM.h.

Referenced by analyze(), and beginRun().

unsigned int EwkMuLumiMonitorDQM::nNotIso
private

Definition at line 117 of file EwkMuLumiMonitorDQM.h.

Referenced by analyze(), beginRun(), and endRun().

unsigned int EwkMuLumiMonitorDQM::nsel
private

Definition at line 112 of file EwkMuLumiMonitorDQM.h.

Referenced by analyze(), beginRun(), and endRun().

unsigned int EwkMuLumiMonitorDQM::nTMass
private

Definition at line 120 of file EwkMuLumiMonitorDQM.h.

Referenced by analyze(), beginRun(), and endRun().

unsigned int EwkMuLumiMonitorDQM::nW
private

Definition at line 121 of file EwkMuLumiMonitorDQM.h.

Referenced by analyze(), and beginRun().

double EwkMuLumiMonitorDQM::ptMuCut_
private

Definition at line 55 of file EwkMuLumiMonitorDQM.h.

Referenced by analyze().

double EwkMuLumiMonitorDQM::ptThreshold_
private

Definition at line 63 of file EwkMuLumiMonitorDQM.h.

Referenced by tkIso().

DQMStore* EwkMuLumiMonitorDQM::theDbe
private

Definition at line 75 of file EwkMuLumiMonitorDQM.h.

Referenced by EwkMuLumiMonitorDQM(), and init_histograms().

MonitorElement* EwkMuLumiMonitorDQM::TMass_
private

Definition at line 103 of file EwkMuLumiMonitorDQM.h.

Referenced by analyze(), and init_histograms().

edm::InputTag EwkMuLumiMonitorDQM::trackTag_
private

Definition at line 47 of file EwkMuLumiMonitorDQM.h.

Referenced by analyze().

edm::InputTag EwkMuLumiMonitorDQM::trigEv_
private

Definition at line 45 of file EwkMuLumiMonitorDQM.h.

Referenced by analyze().

edm::InputTag EwkMuLumiMonitorDQM::trigTag_
private

Definition at line 44 of file EwkMuLumiMonitorDQM.h.

Referenced by analyze(), and beginRun().