CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
WMuNuValidator Class Reference
Inheritance diagram for WMuNuValidator:
edm::EDFilter edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

void beginJob () override
 
void endJob () override
 
void fill_histogram (const char *, const double &)
 
bool filter (edm::Event &, const edm::EventSetup &) override
 
void init_histograms ()
 
 WMuNuValidator (const edm::ParameterSet &)
 
- Public Member Functions inherited from edm::EDFilter
 EDFilter ()
 
SerialTaskQueueglobalLuminosityBlocksQueue ()
 
SerialTaskQueueglobalRunsQueue ()
 
ModuleDescription const & moduleDescription () const
 
 ~EDFilter () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
std::vector< bool > const & recordProvenanceList () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
TypeLabelList const & typeLabelList () const
 used by the fwk to register the list of products of this module More...
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase &&)=default
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESProxyIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Attributes

double acopCut_
 
edm::EDGetTokenT< reco::BeamSpotbeamSpotToken_
 
double dxyCut_
 
double eJetMin_
 
double etaCut_
 
bool fastOption_
 
std::map< std::string, TH1D * > h1_
 
bool isAlsoTrackerMuon_
 
bool isCombinedIso_
 
double isoCut03_
 
bool isRelativeIso_
 
edm::InputTag jetTag_
 
edm::EDGetTokenT< edm::View< reco::Jet > > jetToken_
 
bool metIncludesMuons_
 
double metMax_
 
double metMin_
 
edm::InputTag metTag_
 
edm::EDGetTokenT< edm::View< reco::MET > > metToken_
 
double mtMax_
 
double mtMin_
 
edm::EDGetTokenT< edm::View< reco::Muon > > muonToken_
 
const std::string muonTrig_
 
unsigned int nall
 
unsigned int nhlt
 
unsigned int niso
 
int nJetMax_
 
unsigned int nmet
 
double normalizedChi2Cut_
 
unsigned int nrec
 
unsigned int nsel
 
double ptCut_
 
double ptThrForZ1_
 
double ptThrForZ2_
 
int trackerHitsCut_
 
edm::EDGetTokenT< edm::TriggerResultstrigToken_
 

Additional Inherited Members

- Public Types inherited from edm::EDFilter
typedef EDFilter ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex > >
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::EDFilter
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
static bool wantsGlobalLuminosityBlocks ()
 
static bool wantsGlobalRuns ()
 
static bool wantsInputProcessBlocks ()
 
static bool wantsProcessBlocks ()
 
static bool wantsStreamLuminosityBlocks ()
 
static bool wantsStreamRuns ()
 
- Protected Member Functions inherited from edm::ProducerBase
template<class ProductType >
BranchAliasSetterT< ProductType > produces ()
 declare what type of product will make and with which optional label More...
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces ()
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces ()
 
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<BranchType B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<Transition B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< B > consumes (edm::InputTag tag) noexcept
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes () noexcept
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag) noexcept
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 

Detailed Description

Definition at line 25 of file WMuNuValidator.cc.

Constructor & Destructor Documentation

◆ WMuNuValidator()

WMuNuValidator::WMuNuValidator ( const edm::ParameterSet cfg)

Definition at line 97 of file WMuNuValidator.cc.

98  : // Fast selection (no histograms or book-keeping)
99  fastOption_(cfg.getUntrackedParameter<bool>("FastOption", false)),
100 
101  // Input collections
102  trigToken_(consumes<TriggerResults>(
103  cfg.getUntrackedParameter<edm::InputTag>("TrigTag", edm::InputTag("TriggerResults::HLT")))),
104  muonToken_(consumes<View<Muon> >(cfg.getUntrackedParameter<edm::InputTag>("MuonTag", edm::InputTag("muons")))),
105  metTag_(cfg.getUntrackedParameter<edm::InputTag>("METTag", edm::InputTag("met"))),
107  metIncludesMuons_(cfg.getUntrackedParameter<bool>("METIncludesMuons", false)),
108  jetTag_(cfg.getUntrackedParameter<edm::InputTag>("JetTag", edm::InputTag("sisCone5CaloJets"))),
110  beamSpotToken_(consumes<reco::BeamSpot>(edm::InputTag("offlineBeamSpot"))),
111 
112  // Main cuts
113  muonTrig_(cfg.getUntrackedParameter<std::string>("MuonTrig", "HLT_Mu9")),
114  ptCut_(cfg.getUntrackedParameter<double>("PtCut", 25.)),
115  etaCut_(cfg.getUntrackedParameter<double>("EtaCut", 2.1)),
116  isRelativeIso_(cfg.getUntrackedParameter<bool>("IsRelativeIso", true)),
117  isCombinedIso_(cfg.getUntrackedParameter<bool>("IsCombinedIso", false)),
118  isoCut03_(cfg.getUntrackedParameter<double>("IsoCut03", 0.1)),
119  mtMin_(cfg.getUntrackedParameter<double>("MtMin", 50.)),
120  mtMax_(cfg.getUntrackedParameter<double>("MtMax", 200.)),
121  metMin_(cfg.getUntrackedParameter<double>("MetMin", -999999.)),
122  metMax_(cfg.getUntrackedParameter<double>("MetMax", 999999.)),
123  acopCut_(cfg.getUntrackedParameter<double>("AcopCut", 2.)),
124 
125  // Muon quality cuts
126  dxyCut_(cfg.getUntrackedParameter<double>("DxyCut", 0.2)),
127  normalizedChi2Cut_(cfg.getUntrackedParameter<double>("NormalizedChi2Cut", 10.)),
128  trackerHitsCut_(cfg.getUntrackedParameter<int>("TrackerHitsCut", 11)),
129  isAlsoTrackerMuon_(cfg.getUntrackedParameter<bool>("IsAlsoTrackerMuon", true)),
130 
131  // Z rejection
132  ptThrForZ1_(cfg.getUntrackedParameter<double>("PtThrForZ1", 20.)),
133  ptThrForZ2_(cfg.getUntrackedParameter<double>("PtThrForZ2", 10.)),
134 
135  // Top rejection
136  eJetMin_(cfg.getUntrackedParameter<double>("EJetMin", 999999.)),
137  nJetMax_(cfg.getUntrackedParameter<int>("NJetMax", 999999)) {}

Member Function Documentation

◆ beginJob()

void WMuNuValidator::beginJob ( void  )
overridevirtual

Reimplemented from edm::EDFilter.

Definition at line 139 of file WMuNuValidator.cc.

139  {
140  nall = 0;
141  nsel = 0;
142 
143  if (!fastOption_) {
144  nrec = 0;
145  niso = 0;
146  nhlt = 0;
147  nmet = 0;
148  init_histograms();
149  }
150 }

References fastOption_, init_histograms(), nall, nhlt, niso, nmet, nrec, and nsel.

◆ endJob()

void WMuNuValidator::endJob ( void  )
overridevirtual

Reimplemented from edm::EDFilter.

Definition at line 246 of file WMuNuValidator.cc.

246  {
247  double all = nall;
248  double esel = nsel / all;
249  LogVerbatim("") << "\n>>>>>> W SELECTION SUMMARY BEGIN >>>>>>>>>>>>>>>";
250  LogVerbatim("") << "Total numer of events analyzed: " << nall << " [events]";
251  LogVerbatim("") << "Total numer of events selected: " << nsel << " [events]";
252  LogVerbatim("") << "Overall efficiency: "
253  << "(" << setprecision(4) << esel * 100. << " +/- " << setprecision(2)
254  << sqrt(esel * (1 - esel) / all) * 100. << ")%";
255 
256  if (!fastOption_) {
257  double erec = nrec / all;
258  double eiso = niso / all;
259  double ehlt = nhlt / all;
260  double emet = nmet / all;
261 
262  double num = nrec;
263  double eff = erec;
264  double err = sqrt(eff * (1 - eff) / all);
265  LogVerbatim("") << "Passing Pt/Eta/Quality cuts: " << num << " [events], (" << setprecision(4) << eff * 100.
266  << " +/- " << setprecision(2) << err * 100. << ")%";
267 
268  num = niso;
269  eff = eiso;
270  err = sqrt(eff * (1 - eff) / all);
271  double effstep = 0.;
272  double errstep = 0.;
273  if (nrec > 0)
274  effstep = eiso / erec;
275  if (nrec > 0)
276  errstep = sqrt(effstep * (1 - effstep) / nrec);
277  LogVerbatim("") << "Passing isolation cuts: " << num << " [events], (" << setprecision(4) << eff * 100.
278  << " +/- " << setprecision(2) << err * 100. << ")%, to previous step: (" << setprecision(4)
279  << effstep * 100. << " +/- " << setprecision(2) << errstep * 100. << ")%";
280 
281  num = nhlt;
282  eff = ehlt;
283  err = sqrt(eff * (1 - eff) / all);
284  effstep = 0.;
285  errstep = 0.;
286  if (niso > 0)
287  effstep = ehlt / eiso;
288  if (niso > 0)
289  errstep = sqrt(effstep * (1 - effstep) / niso);
290  LogVerbatim("") << "Passing HLT criteria: " << num << " [events], (" << setprecision(4) << eff * 100.
291  << " +/- " << setprecision(2) << err * 100. << ")%, to previous step: (" << setprecision(4)
292  << effstep * 100. << " +/- " << setprecision(2) << errstep * 100. << ")%";
293 
294  num = nmet;
295  eff = emet;
296  err = sqrt(eff * (1 - eff) / all);
297  effstep = 0.;
298  errstep = 0.;
299  if (nhlt > 0)
300  effstep = emet / ehlt;
301  if (nhlt > 0)
302  errstep = sqrt(effstep * (1 - effstep) / nhlt);
303  LogVerbatim("") << "Passing MET/acoplanarity cuts: " << num << " [events], (" << setprecision(4) << eff * 100.
304  << " +/- " << setprecision(2) << err * 100. << ")%, to previous step: (" << setprecision(4)
305  << effstep * 100. << " +/- " << setprecision(2) << errstep * 100. << ")%";
306 
307  num = nsel;
308  eff = esel;
309  err = sqrt(eff * (1 - eff) / all);
310  effstep = 0.;
311  errstep = 0.;
312  if (nmet > 0)
313  effstep = esel / emet;
314  if (nmet > 0)
315  errstep = sqrt(effstep * (1 - effstep) / nmet);
316  LogVerbatim("") << "Passing Z/top rejection cuts: " << num << " [events], (" << setprecision(4) << eff * 100.
317  << " +/- " << setprecision(2) << err * 100. << ")%, to previous step: (" << setprecision(4)
318  << effstep * 100. << " +/- " << setprecision(2) << errstep * 100. << ")%";
319  }
320 
321  LogVerbatim("") << ">>>>>> W SELECTION SUMMARY END >>>>>>>>>>>>>>>\n";
322 }

References python.cmstools::all(), submitPVResolutionJobs::err, fastOption_, nall, nhlt, niso, nmet, nrec, nsel, EgammaValidation_cff::num, and mathSSE::sqrt().

◆ fill_histogram()

void WMuNuValidator::fill_histogram ( const char *  name,
const double &  var 
)

Definition at line 240 of file WMuNuValidator.cc.

240  {
241  if (fastOption_)
242  return;
243  h1_[name]->Fill(var);
244 }

References fastOption_, h1_, Skims_PA_cff::name, and trigObjTnPSource_cfi::var.

Referenced by filter().

◆ filter()

bool WMuNuValidator::filter ( edm::Event ev,
const edm::EventSetup  
)
overridevirtual

Implements edm::EDFilter.

Definition at line 324 of file WMuNuValidator.cc.

324  {
325  // Reset global event selection flags
326  bool rec_sel = false;
327  bool iso_sel = false;
328  bool hlt_sel = false;
329  bool met_sel = false;
330  bool all_sel = false;
331 
332  // Muon collection
334  if (!ev.getByToken(muonToken_, muonCollection)) {
335  LogError("") << ">>> Muon collection does not exist !!!";
336  return false;
337  }
338  unsigned int muonCollectionSize = muonCollection->size();
339 
340  // Beam spot
341  Handle<reco::BeamSpot> beamSpotHandle;
342  if (!ev.getByToken(beamSpotToken_, beamSpotHandle)) {
343  LogTrace("") << ">>> No beam spot found !!!";
344  return false;
345  }
346 
347  // MET
348  double met_px = 0.;
349  double met_py = 0.;
351  if (!ev.getByToken(metToken_, metCollection)) {
352  LogError("") << ">>> MET collection does not exist !!!";
353  return false;
354  }
355  const MET& met = metCollection->at(0);
356  met_px = met.px();
357  met_py = met.py();
358  if (!metIncludesMuons_) {
359  for (unsigned int i = 0; i < muonCollectionSize; i++) {
360  const Muon& mu = muonCollection->at(i);
361  if (!mu.isGlobalMuon())
362  continue;
363  met_px -= mu.px();
364  met_py -= mu.py();
365  }
366  }
367  double met_et = sqrt(met_px * met_px + met_py * met_py);
368  LogTrace("") << ">>> MET, MET_px, MET_py: " << met_et << ", " << met_px << ", " << met_py << " [GeV]";
369  fill_histogram("MET_BEFORECUTS", met_et);
370 
371  // Trigger
373  if (!ev.getByToken(trigToken_, triggerResults)) {
374  LogError("") << ">>> TRIGGER collection does not exist !!!";
375  return false;
376  }
377  const edm::TriggerNames& triggerNames = ev.triggerNames(*triggerResults);
378  /*
379  for (unsigned int i=0; i<triggerResults->size(); i++) {
380  if (triggerResults->accept(i)) {
381  LogTrace("") << "Accept by: " << i << ", Trigger: " << triggerNames.triggerName(i);
382  }
383  }
384  */
385  bool trigger_fired = false;
386  int itrig1 = triggerNames.triggerIndex(muonTrig_);
387  if (triggerResults->accept(itrig1))
388  trigger_fired = true;
389  LogTrace("") << ">>> Trigger bit: " << trigger_fired << " (" << muonTrig_ << ")";
390  fill_histogram("TRIG_BEFORECUTS", trigger_fired);
391 
392  // Loop to reject/control Z->mumu is done separately
393  unsigned int nmuonsForZ1 = 0;
394  unsigned int nmuonsForZ2 = 0;
395  for (unsigned int i = 0; i < muonCollectionSize; i++) {
396  const Muon& mu = muonCollection->at(i);
397  if (!mu.isGlobalMuon())
398  continue;
399  double pt = mu.pt();
400  if (pt > ptThrForZ1_)
401  nmuonsForZ1++;
402  if (pt > ptThrForZ2_)
403  nmuonsForZ2++;
404  }
405  LogTrace("") << "> Z rejection: muons above " << ptThrForZ1_ << " [GeV]: " << nmuonsForZ1;
406  LogTrace("") << "> Z rejection: muons above " << ptThrForZ2_ << " [GeV]: " << nmuonsForZ2;
407  fill_histogram("NZ1_BEFORECUTS", nmuonsForZ1);
408  fill_histogram("NZ2_BEFORECUTS", nmuonsForZ2);
409 
410  // Jet collection
412  if (!ev.getByToken(jetToken_, jetCollection)) {
413  LogError("") << ">>> JET collection does not exist !!!";
414  return false;
415  }
416  unsigned int jetCollectionSize = jetCollection->size();
417  int njets = 0;
418  for (unsigned int i = 0; i < jetCollectionSize; i++) {
419  const Jet& jet = jetCollection->at(i);
420  if (jet.et() > eJetMin_)
421  njets++;
422  }
423  LogTrace("") << ">>> Total number of jets: " << jetCollectionSize;
424  LogTrace("") << ">>> Number of jets above " << eJetMin_ << " [GeV]: " << njets;
425  fill_histogram("NJETS_BEFORECUTS", njets);
426 
427  // Start counting, reject already events if possible (under FastOption flag)
428  nall++;
429  if (fastOption_ && !trigger_fired)
430  return false;
431  if (fastOption_ && nmuonsForZ1 >= 1 && nmuonsForZ2 >= 2)
432  return false;
433  if (fastOption_ && njets > nJetMax_)
434  return false;
435 
436  // Histograms per event shouldbe done only once, so keep track of them
437  bool hlt_hist_done = false;
438  bool met_hist_done = false;
439  bool nz1_hist_done = false;
440  bool nz2_hist_done = false;
441  bool njets_hist_done = false;
442 
443  // Central W->mu nu selection criteria
444  const int NFLAGS = 13;
445  bool muon_sel[NFLAGS];
446  for (unsigned int i = 0; i < muonCollectionSize; i++) {
447  for (int j = 0; j < NFLAGS; ++j) {
448  muon_sel[j] = false;
449  }
450 
451  const Muon& mu = muonCollection->at(i);
452  if (!mu.isGlobalMuon())
453  continue;
454  if (mu.globalTrack().isNull())
455  continue;
456  if (mu.innerTrack().isNull())
457  continue;
458 
459  LogTrace("") << "> Wsel: processing muon number " << i << "...";
460  reco::TrackRef gm = mu.globalTrack();
461  //reco::TrackRef tk = mu.innerTrack();
462 
463  // Pt,eta cuts
464  double pt = mu.pt();
465  double eta = mu.eta();
466  LogTrace("") << "\t... pt, eta: " << pt << " [GeV], " << eta;
467  ;
468  if (pt > ptCut_)
469  muon_sel[0] = true;
470  else if (fastOption_)
471  continue;
472  if (fabs(eta) < etaCut_)
473  muon_sel[1] = true;
474  else if (fastOption_)
475  continue;
476 
477  // d0, chi2, nhits quality cuts
478  double dxy = gm->dxy(beamSpotHandle->position());
479  double normalizedChi2 = gm->normalizedChi2();
480  double validmuonhits = gm->hitPattern().numberOfValidMuonHits();
481  //double standalonehits=mu.outerTrack()->numberOfValidHits();
482  double trackerHits = gm->hitPattern().numberOfValidTrackerHits();
483  LogTrace("") << "\t... dxy, normalizedChi2, trackerHits, isTrackerMuon?: " << dxy << " [cm], " << normalizedChi2
484  << ", " << trackerHits << ", " << mu.isTrackerMuon();
485  if (fabs(dxy) < dxyCut_)
486  muon_sel[2] = true;
487  else if (fastOption_)
488  continue;
490  muon_sel[3] = true;
491  else if (fastOption_)
492  continue;
494  muon_sel[4] = true;
495  else if (fastOption_)
496  continue;
497  if (mu.isTrackerMuon())
498  muon_sel[5] = true;
499  else if (fastOption_)
500  continue;
501 
502  fill_histogram("PT_BEFORECUTS", pt);
503  fill_histogram("ETA_BEFORECUTS", eta);
504  fill_histogram("DXY_BEFORECUTS", dxy);
505  fill_histogram("CHI2_BEFORECUTS", normalizedChi2);
506  fill_histogram("NHITS_BEFORECUTS", trackerHits);
507  fill_histogram("ValidMuonHits_BEFORECUTS", validmuonhits);
508  fill_histogram("TKMU_BEFORECUTS", mu.isTrackerMuon());
509 
510  // Isolation cuts
511  double isovar = mu.isolationR03().sumPt;
512  if (isCombinedIso_) {
513  isovar += mu.isolationR03().emEt;
514  isovar += mu.isolationR03().hadEt;
515  }
516  if (isRelativeIso_)
517  isovar /= pt;
518  if (isovar < isoCut03_)
519  muon_sel[6] = true;
520  else if (fastOption_)
521  continue;
522  LogTrace("") << "\t... isolation value" << isovar << ", isolated? " << muon_sel[6];
523  fill_histogram("ISO_BEFORECUTS", isovar);
524 
525  // HLT (not mtched to muon for the time being)
526  if (trigger_fired)
527  muon_sel[7] = true;
528  else if (fastOption_)
529  continue;
530 
531  // MET/MT cuts
532  double w_et = met_et + mu.pt();
533  double w_px = met_px + mu.px();
534  double w_py = met_py + mu.py();
535  double massT = w_et * w_et - w_px * w_px - w_py * w_py;
536  massT = (massT > 0) ? sqrt(massT) : 0;
537 
538  LogTrace("") << "\t... W mass, W_et, W_px, W_py: " << massT << ", " << w_et << ", " << w_px << ", " << w_py
539  << " [GeV]";
540  if (massT > mtMin_ && massT < mtMax_)
541  muon_sel[8] = true;
542  else if (fastOption_)
543  continue;
544  fill_histogram("MT_BEFORECUTS", massT);
545  if (met_et > metMin_ && met_et < metMax_)
546  muon_sel[9] = true;
547  else if (fastOption_)
548  continue;
549 
550  // Acoplanarity cuts
551  Geom::Phi<double> deltaphi(mu.phi() - atan2(met_py, met_px));
552  double acop = deltaphi.value();
553  if (acop < 0)
554  acop = -acop;
555  acop = M_PI - acop;
556  LogTrace("") << "\t... acoplanarity: " << acop;
557  if (acop < acopCut_)
558  muon_sel[10] = true;
559  else if (fastOption_)
560  continue;
561  fill_histogram("ACOP_BEFORECUTS", acop);
562 
563  // Remaining flags (from global event information)
564  if (nmuonsForZ1 < 1 || nmuonsForZ2 < 2)
565  muon_sel[11] = true;
566  else if (fastOption_)
567  continue;
568  if (njets <= nJetMax_)
569  muon_sel[12] = true;
570  else if (fastOption_)
571  continue;
572 
573  if (fastOption_) {
574  all_sel = true;
575  break;
576  } else {
577  // Collect necessary flags "per muon"
578  int flags_passed = 0;
579  bool rec_sel_this = true;
580  bool iso_sel_this = true;
581  bool hlt_sel_this = true;
582  bool met_sel_this = true;
583  bool all_sel_this = true;
584  for (int j = 0; j < NFLAGS; ++j) {
585  if (muon_sel[j])
586  flags_passed += 1;
587  if (j < 6 && !muon_sel[j])
588  rec_sel_this = false;
589  if (j < 7 && !muon_sel[j])
590  iso_sel_this = false;
591  if (j < 8 && !muon_sel[j])
592  hlt_sel_this = false;
593  if (j < 11 && !muon_sel[j])
594  met_sel_this = false;
595  if (!muon_sel[j])
596  all_sel_this = false;
597  }
598 
599  // "rec" => pt,eta and quality cuts are satisfied
600  if (rec_sel_this)
601  rec_sel = true;
602  // "iso" => "rec" AND "muon is isolated"
603  if (iso_sel_this)
604  iso_sel = true;
605  // "hlt" => "iso" AND "event is triggered"
606  if (hlt_sel_this)
607  hlt_sel = true;
608  // "met" => "hlt" AND "MET/MT and acoplanarity cuts"
609  if (met_sel_this)
610  met_sel = true;
611  // "all" => "met" AND "Z/top rejection cuts"
612  if (all_sel_this)
613  all_sel = true;
614 
615  // Do N-1 histograms now (and only once for global event quantities)
616  if (flags_passed >= (NFLAGS - 1)) {
617  if (!muon_sel[0] || flags_passed == NFLAGS)
618  fill_histogram("PT_LASTCUT", pt);
619  if (!muon_sel[1] || flags_passed == NFLAGS)
620  fill_histogram("ETA_LASTCUT", eta);
621  if (!muon_sel[2] || flags_passed == NFLAGS)
622  fill_histogram("DXY_LASTCUT", dxy);
623  if (!muon_sel[3] || flags_passed == NFLAGS) {
624  fill_histogram("CHI2_LASTCUT", normalizedChi2);
625  fill_histogram("ValidMuonHits_LASTCUT", validmuonhits);
626  }
627  if (!muon_sel[4] || flags_passed == NFLAGS)
628  fill_histogram("NHITS_LASTCUT", trackerHits);
629  if (!muon_sel[5] || flags_passed == NFLAGS)
630  fill_histogram("TKMU_LASTCUT", mu.isTrackerMuon());
631  if (!muon_sel[6] || flags_passed == NFLAGS)
632  fill_histogram("ISO_LASTCUT", isovar);
633  if (!muon_sel[7] || flags_passed == NFLAGS) {
634  if (!hlt_hist_done) {
635  fill_histogram("TRIG_LASTCUT", trigger_fired);
636  hlt_hist_done = true;
637  }
638  }
639  if (!muon_sel[8] || flags_passed == NFLAGS)
640  fill_histogram("MT_LASTCUT", massT);
641  if (!muon_sel[9] || flags_passed == NFLAGS) {
642  if (!met_hist_done) {
643  fill_histogram("MET_LASTCUT", met_et);
644  met_hist_done = true;
645  }
646  }
647  if (!muon_sel[10] || flags_passed == NFLAGS)
648  fill_histogram("ACOP_LASTCUT", acop);
649  if (!muon_sel[11] || flags_passed == NFLAGS) {
650  if (!nz1_hist_done) {
651  fill_histogram("NZ1_LASTCUT", nmuonsForZ1);
652  nz1_hist_done = true;
653  }
654  }
655  if (!muon_sel[11] || flags_passed == NFLAGS) {
656  if (!nz2_hist_done) {
657  fill_histogram("NZ2_LASTCUT", nmuonsForZ2);
658  nz2_hist_done = true;
659  }
660  }
661  if (!muon_sel[12] || flags_passed == NFLAGS) {
662  if (!njets_hist_done) {
663  fill_histogram("NJETS_LASTCUT", njets);
664  njets_hist_done = true;
665  }
666  }
667  }
668  }
669  }
670 
671  // Collect final flags
672  if (!fastOption_) {
673  if (rec_sel)
674  nrec++;
675  if (iso_sel)
676  niso++;
677  if (hlt_sel)
678  nhlt++;
679  if (met_sel)
680  nmet++;
681  }
682 
683  if (all_sel) {
684  nsel++;
685  LogTrace("") << ">>>> Event ACCEPTED";
686  } else {
687  LogTrace("") << ">>>> Event REJECTED";
688  }
689 
690  return all_sel;
691 }

References acopCut_, beamSpotToken_, PVValHelper::dxy, dxyCut_, eJetMin_, PVValHelper::eta, etaCut_, ev, fastOption_, fill_histogram(), muon::GlobalMuonPromptTight, mps_fire::i, isCombinedIso_, muon::isGoodMuon(), isoCut03_, isRelativeIso_, dqmiolumiharvest::j, metsig::jet, jetfilter_cfi::jetCollection, jetToken_, LogTrace, M_PI, BTaggingMonitor_cfi::met, susyDQM_cfi::metCollection, metIncludesMuons_, metMax_, metMin_, metToken_, mtMax_, mtMin_, amptDefaultParameters_cff::mu, pdwgLeptonRecoSkim_cfi::muonCollection, muonToken_, muonTrig_, nall, nhlt, niso, nJetMax_, BTaggingMonitoring_cff::njets, nmet, TrackCollections2monitor_cff::normalizedChi2, nrec, nsel, reco::BeamSpot::position(), DiDispStaMuonMonitor_cfi::pt, ptCut_, ptThrForZ1_, ptThrForZ2_, mathSSE::sqrt(), trackerHitsCut_, L1TEGammaOffline_cfi::triggerNames, triggerResults, trigToken_, and Geom::Phi< T1, Range >::value().

◆ init_histograms()

void WMuNuValidator::init_histograms ( )

Definition at line 152 of file WMuNuValidator.cc.

152  {
154  TFileDirectory subDir0 = fs->mkdir("BeforeCuts");
155  TFileDirectory subDir1 = fs->mkdir("LastCut");
157  subDir[0] = &subDir0;
158  subDir[1] = &subDir1;
159 
160  char chname[256] = "";
161  char chtitle[256] = "";
162  std::string chsuffix[2] = {"_BEFORECUTS", "_LASTCUT"};
163 
164  for (int i = 0; i < 2; ++i) {
165  snprintf(chname, 255, "PT%s", chsuffix[i].data());
166  snprintf(chtitle, 255, "Muon transverse momentum [GeV]");
167  h1_[chname] = subDir[i]->make<TH1D>(chname, chtitle, 100, 0., 100.);
168 
169  snprintf(chname, 255, "ETA%s", chsuffix[i].data());
170  snprintf(chtitle, 255, "Muon pseudo-rapidity");
171  h1_[chname] = subDir[i]->make<TH1D>(chname, chtitle, 50, -2.5, 2.5);
172 
173  snprintf(chname, 255, "DXY%s", chsuffix[i].data());
174  snprintf(chtitle, 255, "Muon transverse distance to beam spot [cm]");
175  h1_[chname] = subDir[i]->make<TH1D>(chname, chtitle, 100, -0.5, 0.5);
176 
177  snprintf(chname, 255, "CHI2%s", chsuffix[i].data());
178  snprintf(chtitle, 255, "Normalized Chi2, inner track fit");
179  h1_[chname] = subDir[i]->make<TH1D>(chname, chtitle, 100, 0., 100.);
180 
181  snprintf(chname, 255, "NHITS%s", chsuffix[i].data());
182  snprintf(chtitle, 255, "Number of hits, inner track");
183  h1_[chname] = subDir[i]->make<TH1D>(chname, chtitle, 40, -0.5, 39.5);
184 
185  snprintf(chname, 255, "ValidMuonHits%s", chsuffix[i].data());
186  snprintf(chtitle, 255, "number Of Valid Muon Hits");
187  h1_[chname] = subDir[i]->make<TH1D>(chname, chtitle, 40, -0.5, 39.5);
188 
189  snprintf(chname, 255, "TKMU%s", chsuffix[i].data());
190  snprintf(chtitle, 255, "Tracker-muon flag (for global muons)");
191  h1_[chname] = subDir[i]->make<TH1D>(chname, chtitle, 2, -0.5, 1.5);
192 
193  snprintf(chname, 255, "ISO%s", chsuffix[i].data());
194  if (isRelativeIso_) {
195  if (isCombinedIso_) {
196  snprintf(chtitle, 255, "Relative (combined) isolation variable");
197  } else {
198  snprintf(chtitle, 255, "Relative (tracker) isolation variable");
199  }
200  h1_[chname] = subDir[i]->make<TH1D>(chname, chtitle, 100, 0., 1.);
201  } else {
202  if (isCombinedIso_) {
203  snprintf(chtitle, 255, "Absolute (combined) isolation variable [GeV]");
204  } else {
205  snprintf(chtitle, 255, "Absolute (tracker) isolation variable [GeV]");
206  }
207  h1_[chname] = subDir[i]->make<TH1D>(chname, chtitle, 100, 0., 20.);
208  }
209 
210  snprintf(chname, 255, "TRIG%s", chsuffix[i].data());
211  snprintf(chtitle, 255, "Trigger response (bit %s)", muonTrig_.data());
212  h1_[chname] = subDir[i]->make<TH1D>(chname, chtitle, 2, -0.5, 1.5);
213 
214  snprintf(chname, 255, "MT%s", chsuffix[i].data());
215  snprintf(chtitle, 255, "Transverse mass (%s) [GeV]", metTag_.label().data());
216  h1_[chname] = subDir[i]->make<TH1D>(chname, chtitle, 150, 0., 300.);
217 
218  snprintf(chname, 255, "MET%s", chsuffix[i].data());
219  snprintf(chtitle, 255, "Missing transverse energy (%s) [GeV]", metTag_.label().data());
220  h1_[chname] = subDir[i]->make<TH1D>(chname, chtitle, 100, 0., 200.);
221 
222  snprintf(chname, 255, "ACOP%s", chsuffix[i].data());
223  snprintf(chtitle, 255, "MU-MET (%s) acoplanarity", metTag_.label().data());
224  h1_[chname] = subDir[i]->make<TH1D>(chname, chtitle, 50, 0., M_PI);
225 
226  snprintf(chname, 255, "NZ1%s", chsuffix[i].data());
227  snprintf(chtitle, 255, "Z rejection: number of muons above %.2f GeV", ptThrForZ1_);
228  h1_[chname] = subDir[i]->make<TH1D>(chname, chtitle, 10, -0.5, 9.5);
229 
230  snprintf(chname, 255, "NZ2%s", chsuffix[i].data());
231  snprintf(chtitle, 255, "Z rejection: number of muons above %.2f GeV", ptThrForZ2_);
232  h1_[chname] = subDir[i]->make<TH1D>(chname, chtitle, 10, -0.5, 9.5);
233 
234  snprintf(chname, 255, "NJETS%s", chsuffix[i].data());
235  snprintf(chtitle, 255, "Number of jets (%s) above %.2f GeV", jetTag_.label().data(), eJetMin_);
236  h1_[chname] = subDir[i]->make<TH1D>(chname, chtitle, 10, -0.5, 9.5);
237  }
238 }

References data, eJetMin_, h1_, mps_fire::i, isCombinedIso_, isRelativeIso_, jetTag_, edm::InputTag::label(), M_PI, metTag_, TFileService::mkdir(), muonTrig_, ptThrForZ1_, ptThrForZ2_, AlCaHLTBitMon_QueryRunRegistry::string, and PostProcessorHcalIsoTrack_cfi::subDir.

Referenced by beginJob().

Member Data Documentation

◆ acopCut_

double WMuNuValidator::acopCut_
private

Definition at line 54 of file WMuNuValidator.cc.

Referenced by filter().

◆ beamSpotToken_

edm::EDGetTokenT<reco::BeamSpot> WMuNuValidator::beamSpotToken_
private

Definition at line 43 of file WMuNuValidator.cc.

Referenced by filter().

◆ dxyCut_

double WMuNuValidator::dxyCut_
private

Definition at line 56 of file WMuNuValidator.cc.

Referenced by filter().

◆ eJetMin_

double WMuNuValidator::eJetMin_
private

Definition at line 64 of file WMuNuValidator.cc.

Referenced by filter(), and init_histograms().

◆ etaCut_

double WMuNuValidator::etaCut_
private

Definition at line 46 of file WMuNuValidator.cc.

Referenced by filter().

◆ fastOption_

bool WMuNuValidator::fastOption_
private

Definition at line 35 of file WMuNuValidator.cc.

Referenced by beginJob(), endJob(), fill_histogram(), and filter().

◆ h1_

std::map<std::string, TH1D*> WMuNuValidator::h1_
private

Definition at line 74 of file WMuNuValidator.cc.

Referenced by fill_histogram(), and init_histograms().

◆ isAlsoTrackerMuon_

bool WMuNuValidator::isAlsoTrackerMuon_
private

Definition at line 59 of file WMuNuValidator.cc.

◆ isCombinedIso_

bool WMuNuValidator::isCombinedIso_
private

Definition at line 48 of file WMuNuValidator.cc.

Referenced by filter(), and init_histograms().

◆ isoCut03_

double WMuNuValidator::isoCut03_
private

Definition at line 49 of file WMuNuValidator.cc.

Referenced by filter().

◆ isRelativeIso_

bool WMuNuValidator::isRelativeIso_
private

Definition at line 47 of file WMuNuValidator.cc.

Referenced by filter(), and init_histograms().

◆ jetTag_

edm::InputTag WMuNuValidator::jetTag_
private

Definition at line 41 of file WMuNuValidator.cc.

Referenced by init_histograms().

◆ jetToken_

edm::EDGetTokenT<edm::View<reco::Jet> > WMuNuValidator::jetToken_
private

Definition at line 42 of file WMuNuValidator.cc.

Referenced by filter().

◆ metIncludesMuons_

bool WMuNuValidator::metIncludesMuons_
private

Definition at line 40 of file WMuNuValidator.cc.

Referenced by filter().

◆ metMax_

double WMuNuValidator::metMax_
private

Definition at line 53 of file WMuNuValidator.cc.

Referenced by filter().

◆ metMin_

double WMuNuValidator::metMin_
private

Definition at line 52 of file WMuNuValidator.cc.

Referenced by filter().

◆ metTag_

edm::InputTag WMuNuValidator::metTag_
private

Definition at line 38 of file WMuNuValidator.cc.

Referenced by init_histograms().

◆ metToken_

edm::EDGetTokenT<edm::View<reco::MET> > WMuNuValidator::metToken_
private

Definition at line 39 of file WMuNuValidator.cc.

Referenced by filter().

◆ mtMax_

double WMuNuValidator::mtMax_
private

Definition at line 51 of file WMuNuValidator.cc.

Referenced by filter().

◆ mtMin_

double WMuNuValidator::mtMin_
private

Definition at line 50 of file WMuNuValidator.cc.

Referenced by filter().

◆ muonToken_

edm::EDGetTokenT<edm::View<reco::Muon> > WMuNuValidator::muonToken_
private

Definition at line 37 of file WMuNuValidator.cc.

Referenced by filter().

◆ muonTrig_

const std::string WMuNuValidator::muonTrig_
private

Definition at line 44 of file WMuNuValidator.cc.

Referenced by filter(), and init_histograms().

◆ nall

unsigned int WMuNuValidator::nall
private

Definition at line 67 of file WMuNuValidator.cc.

Referenced by beginJob(), endJob(), and filter().

◆ nhlt

unsigned int WMuNuValidator::nhlt
private

Definition at line 70 of file WMuNuValidator.cc.

Referenced by beginJob(), endJob(), and filter().

◆ niso

unsigned int WMuNuValidator::niso
private

Definition at line 69 of file WMuNuValidator.cc.

Referenced by beginJob(), endJob(), and filter().

◆ nJetMax_

int WMuNuValidator::nJetMax_
private

Definition at line 65 of file WMuNuValidator.cc.

Referenced by filter().

◆ nmet

unsigned int WMuNuValidator::nmet
private

Definition at line 71 of file WMuNuValidator.cc.

Referenced by beginJob(), endJob(), and filter().

◆ normalizedChi2Cut_

double WMuNuValidator::normalizedChi2Cut_
private

Definition at line 57 of file WMuNuValidator.cc.

◆ nrec

unsigned int WMuNuValidator::nrec
private

Definition at line 68 of file WMuNuValidator.cc.

Referenced by beginJob(), endJob(), and filter().

◆ nsel

unsigned int WMuNuValidator::nsel
private

Definition at line 72 of file WMuNuValidator.cc.

Referenced by beginJob(), endJob(), and filter().

◆ ptCut_

double WMuNuValidator::ptCut_
private

◆ ptThrForZ1_

double WMuNuValidator::ptThrForZ1_
private

Definition at line 61 of file WMuNuValidator.cc.

Referenced by filter(), and init_histograms().

◆ ptThrForZ2_

double WMuNuValidator::ptThrForZ2_
private

Definition at line 62 of file WMuNuValidator.cc.

Referenced by filter(), and init_histograms().

◆ trackerHitsCut_

int WMuNuValidator::trackerHitsCut_
private

Definition at line 58 of file WMuNuValidator.cc.

Referenced by filter().

◆ trigToken_

edm::EDGetTokenT<edm::TriggerResults> WMuNuValidator::trigToken_
private

Definition at line 36 of file WMuNuValidator.cc.

Referenced by filter().

WMuNuValidator::metMax_
double metMax_
Definition: WMuNuValidator.cc:53
WMuNuValidator::metIncludesMuons_
bool metIncludesMuons_
Definition: WMuNuValidator.cc:40
Geom::Phi::value
T1 value() const
Explicit access to value in case implicit conversion not OK.
Definition: Phi.h:75
mps_fire.i
i
Definition: mps_fire.py:428
susyDQM_cfi.metCollection
metCollection
Definition: susyDQM_cfi.py:11
DiDispStaMuonMonitor_cfi.pt
pt
Definition: DiDispStaMuonMonitor_cfi.py:39
amptDefaultParameters_cff.mu
mu
Definition: amptDefaultParameters_cff.py:16
WMuNuValidator::mtMax_
double mtMax_
Definition: WMuNuValidator.cc:51
trackerHits
Definition: trackerHits.py:1
WMuNuValidator::muonTrig_
const std::string muonTrig_
Definition: WMuNuValidator.cc:44
WMuNuValidator::nJetMax_
int nJetMax_
Definition: WMuNuValidator.cc:65
muon::GlobalMuonPromptTight
Definition: MuonSelectors.h:25
triggerResults
static const std::string triggerResults
Definition: EdmProvDump.cc:45
WMuNuValidator::normalizedChi2Cut_
double normalizedChi2Cut_
Definition: WMuNuValidator.cc:57
WMuNuValidator::beamSpotToken_
edm::EDGetTokenT< reco::BeamSpot > beamSpotToken_
Definition: WMuNuValidator.cc:43
TFileDirectory
Definition: TFileDirectory.h:24
WMuNuValidator::metToken_
edm::EDGetTokenT< edm::View< reco::MET > > metToken_
Definition: WMuNuValidator.cc:39
WMuNuValidator::ptThrForZ2_
double ptThrForZ2_
Definition: WMuNuValidator.cc:62
edm::Handle
Definition: AssociativeIterator.h:50
python.cmstools.all
def all(container)
workaround iterator generators for ROOT classes
Definition: cmstools.py:26
Muon
Definition: Muon.py:1
edm::Ref< TrackCollection >
BTaggingMonitor_cfi.met
met
Definition: BTaggingMonitor_cfi.py:84
WMuNuValidator::nrec
unsigned int nrec
Definition: WMuNuValidator.cc:68
trigObjTnPSource_cfi.var
var
Definition: trigObjTnPSource_cfi.py:21
edm::InputTag::label
std::string const & label() const
Definition: InputTag.h:36
reco::MET
Definition: MET.h:41
WMuNuValidator::fastOption_
bool fastOption_
Definition: WMuNuValidator.cc:35
muon::isGoodMuon
bool isGoodMuon(const reco::Muon &muon, SelectionType type, reco::Muon::ArbitrationType arbitrationType=reco::Muon::SegmentAndTrackArbitration)
main GoodMuon wrapper call
Definition: MuonSelectors.cc:649
PostProcessorHcalIsoTrack_cfi.subDir
subDir
Definition: PostProcessorHcalIsoTrack_cfi.py:5
WMuNuValidator::h1_
std::map< std::string, TH1D * > h1_
Definition: WMuNuValidator.cc:74
Jet
Definition: Jet.py:1
WMuNuValidator::etaCut_
double etaCut_
Definition: WMuNuValidator.cc:46
L1TEGammaOffline_cfi.triggerNames
triggerNames
Definition: L1TEGammaOffline_cfi.py:40
PVValHelper::eta
Definition: PVValidationHelpers.h:69
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
WMuNuValidator::init_histograms
void init_histograms()
Definition: WMuNuValidator.cc:152
reco::BeamSpot::position
const Point & position() const
position
Definition: BeamSpot.h:59
jetfilter_cfi.jetCollection
jetCollection
Definition: jetfilter_cfi.py:4
WMuNuValidator::nhlt
unsigned int nhlt
Definition: WMuNuValidator.cc:70
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
TFileService::mkdir
TFileDirectory mkdir(const std::string &dir, const std::string &descr="")
create a new subdirectory
Definition: TFileService.h:69
edm::View
Definition: CaloClusterFwd.h:14
WMuNuValidator::isoCut03_
double isoCut03_
Definition: WMuNuValidator.cc:49
WMuNuValidator::mtMin_
double mtMin_
Definition: WMuNuValidator.cc:50
edm::Service< TFileService >
WMuNuValidator::metMin_
double metMin_
Definition: WMuNuValidator.cc:52
M_PI
#define M_PI
Definition: BXVectorInputProducer.cc:49
WMuNuValidator::fill_histogram
void fill_histogram(const char *, const double &)
Definition: WMuNuValidator.cc:240
WMuNuValidator::ptCut_
double ptCut_
Definition: WMuNuValidator.cc:45
WMuNuValidator::niso
unsigned int niso
Definition: WMuNuValidator.cc:69
Geom::Phi
Definition: Phi.h:52
WMuNuValidator::ptThrForZ1_
double ptThrForZ1_
Definition: WMuNuValidator.cc:61
WMuNuValidator::metTag_
edm::InputTag metTag_
Definition: WMuNuValidator.cc:38
edm::LogError
Log< level::Error, false > LogError
Definition: MessageLogger.h:123
submitPVResolutionJobs.err
err
Definition: submitPVResolutionJobs.py:85
TrackCollections2monitor_cff.normalizedChi2
normalizedChi2
Definition: TrackCollections2monitor_cff.py:247
pdwgLeptonRecoSkim_cfi.muonCollection
muonCollection
Definition: pdwgLeptonRecoSkim_cfi.py:7
WMuNuValidator::jetToken_
edm::EDGetTokenT< edm::View< reco::Jet > > jetToken_
Definition: WMuNuValidator.cc:42
EgammaValidation_cff.num
num
Definition: EgammaValidation_cff.py:34
WMuNuValidator::isAlsoTrackerMuon_
bool isAlsoTrackerMuon_
Definition: WMuNuValidator.cc:59
looper.cfg
cfg
Definition: looper.py:297
WMuNuValidator::dxyCut_
double dxyCut_
Definition: WMuNuValidator.cc:56
WMuNuValidator::isRelativeIso_
bool isRelativeIso_
Definition: WMuNuValidator.cc:47
WMuNuValidator::trigToken_
edm::EDGetTokenT< edm::TriggerResults > trigToken_
Definition: WMuNuValidator.cc:36
WMuNuValidator::eJetMin_
double eJetMin_
Definition: WMuNuValidator.cc:64
WMuNuValidator::nall
unsigned int nall
Definition: WMuNuValidator.cc:67
WMuNuValidator::muonToken_
edm::EDGetTokenT< edm::View< reco::Muon > > muonToken_
Definition: WMuNuValidator.cc:37
PVValHelper::dxy
Definition: PVValidationHelpers.h:47
BTaggingMonitoring_cff.njets
njets
Definition: BTaggingMonitoring_cff.py:10
WMuNuValidator::trackerHitsCut_
int trackerHitsCut_
Definition: WMuNuValidator.cc:58
edm::LogVerbatim
Log< level::Info, true > LogVerbatim
Definition: MessageLogger.h:128
metsig::jet
Definition: SignAlgoResolutions.h:47
ev
bool ev
Definition: Hydjet2Hadronizer.cc:95
WMuNuValidator::jetTag_
edm::InputTag jetTag_
Definition: WMuNuValidator.cc:41
edm::TriggerNames
Definition: TriggerNames.h:55
WMuNuValidator::nmet
unsigned int nmet
Definition: WMuNuValidator.cc:71
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
WMuNuValidator::acopCut_
double acopCut_
Definition: WMuNuValidator.cc:54
data
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:79
WMuNuValidator::nsel
unsigned int nsel
Definition: WMuNuValidator.cc:72
LogTrace
#define LogTrace(id)
Definition: MessageLogger.h:224
edm::EDConsumerBase::consumes
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
Definition: EDConsumerBase.h:153
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
edm::InputTag
Definition: InputTag.h:15
WMuNuValidator::isCombinedIso_
bool isCombinedIso_
Definition: WMuNuValidator.cc:48