CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
ZMuMu_MCanalyzer Class Reference
Inheritance diagram for ZMuMu_MCanalyzer:
edm::EDAnalyzer edm::EDConsumerBase

Public Member Functions

 ZMuMu_MCanalyzer (const edm::ParameterSet &pset)
 
- Public Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzer ()
 
SerialTaskQueueglobalLuminosityBlocksQueue ()
 
SerialTaskQueueglobalRunsQueue ()
 
ModuleDescription const & moduleDescription () const
 
std::string workerType () const
 
 ~EDAnalyzer () 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 const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESProxyIndex const * esGetTokenIndices (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
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
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 Member Functions

void analyze (const edm::Event &event, const edm::EventSetup &setup) override
 
bool check_ifZmumu (const Candidate *dauGen0, const Candidate *dauGen1, const Candidate *dauGen2)
 
void endJob () override
 
float getParticleEta (const int ipart, const Candidate *dauGen0, const Candidate *dauGen1, const Candidate *dauGen2)
 
Particle::LorentzVector getParticleP4 (const int ipart, const Candidate *dauGen0, const Candidate *dauGen1, const Candidate *dauGen2)
 
float getParticlePhi (const int ipart, const Candidate *dauGen0, const Candidate *dauGen1, const Candidate *dauGen2)
 
float getParticlePt (const int ipart, const Candidate *dauGen0, const Candidate *dauGen1, const Candidate *dauGen2)
 

Private Attributes

double alpha_
 
double beta_
 
bool bothMuons_
 
double dREcal_
 
double dRHcal_
 
double dRTrk_
 
double dRVetoTrk_
 
double etamax_
 
double etamin_
 
double etEcalThreshold_
 
double etHcalThreshold_
 
EDGetTokenT< GenParticleCollectiongenParticlesToken_
 
reco::CandidateBaseRef globalMuonCandRef_
 
TH1D * h_ProbeOk_eta
 
TH1D * h_ProbeOk_pt
 
TH1D * h_staProbe_eta
 
TH1D * h_staProbe_pt
 
TH1D * h_trackProbe_eta
 
TH1D * h_trackProbe_pt
 
string hltPath_
 
double isoMax_
 
double massMax_
 
double massMin_
 
EDGetTokenT< CandidateViewmuonsToken_
 
int n2GlobalMuonsMatched_passedIso
 
int n2GlobalMuonsMatched_passedIso2Trg
 
int nGlobalMuonsMatched_passed
 
int nGlobalMuonsMatched_passedIso
 
int nMu0onlyTriggered
 
int nMu1onlyTriggered
 
int nStaMuonsMatched_passedIso
 
int nTracksMuonsMatched_passedIso
 
int nZMuMu_matched
 
int nZMuSta_matched
 
int nZMuTrk_matched
 
OverlapChecker overlap_
 
double ptmin_
 
double ptThreshold_
 
bool relativeIsolation_
 
reco::CandidateBaseRef standAloneMuonCandRef_
 
reco::CandidateBaseRef trackMuonCandRef_
 
EDGetTokenT< CandidateViewtracksToken_
 
EDGetTokenT< GenParticleMatchzMuMuMatchMapToken_
 
EDGetTokenT< CandidateViewzMuMuToken_
 
EDGetTokenT< GenParticleMatchzMuStandAloneMatchMapToken_
 
EDGetTokenT< CandidateViewzMuStandAloneToken_
 
EDGetTokenT< GenParticleMatchzMuTrackMatchMapToken_
 
EDGetTokenT< CandidateViewzMuTrackToken_
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
static bool wantsGlobalLuminosityBlocks ()
 
static bool wantsGlobalRuns ()
 
static bool wantsStreamLuminosityBlocks ()
 
static bool wantsStreamRuns ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
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<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Detailed Description

Definition at line 49 of file ZMuMu_MCanalyzer.cc.

Constructor & Destructor Documentation

ZMuMu_MCanalyzer::ZMuMu_MCanalyzer ( const edm::ParameterSet pset)

Definition at line 207 of file ZMuMu_MCanalyzer.cc.

References generateTowerEtThresholdLUT::etaRange, h_ProbeOk_eta, h_ProbeOk_pt, h_staProbe_eta, h_staProbe_pt, h_trackProbe_eta, h_trackProbe_pt, TFileService::make(), n2GlobalMuonsMatched_passedIso, n2GlobalMuonsMatched_passedIso2Trg, nGlobalMuonsMatched_passed, nGlobalMuonsMatched_passedIso, nMu0onlyTriggered, nMu1onlyTriggered, nStaMuonsMatched_passedIso, nTracksMuonsMatched_passedIso, nZMuMu_matched, nZMuSta_matched, nZMuTrk_matched, and MuonErrorMatrixValues_cff::ptRange.

208  : zMuMuToken_(consumes<CandidateView>(pset.getParameter<InputTag>("zMuMu"))),
209  zMuMuMatchMapToken_(mayConsume<GenParticleMatch>(pset.getParameter<InputTag>("zMuMuMatchMap"))),
210  zMuStandAloneToken_(consumes<CandidateView>(pset.getParameter<InputTag>("zMuStandAlone"))),
211  zMuStandAloneMatchMapToken_(mayConsume<GenParticleMatch>(pset.getParameter<InputTag>("zMuStandAloneMatchMap"))),
212  zMuTrackToken_(consumes<CandidateView>(pset.getParameter<InputTag>("zMuTrack"))),
213  zMuTrackMatchMapToken_(mayConsume<GenParticleMatch>(pset.getParameter<InputTag>("zMuTrackMatchMap"))),
214  muonsToken_(consumes<CandidateView>(pset.getParameter<InputTag>("muons"))),
215  tracksToken_(consumes<CandidateView>(pset.getParameter<InputTag>("tracks"))),
216  genParticlesToken_(consumes<GenParticleCollection>(pset.getParameter<InputTag>("genParticles"))),
217 
218  bothMuons_(pset.getParameter<bool>("bothMuons")),
219  etamin_(pset.getUntrackedParameter<double>("etamin")),
220  etamax_(pset.getUntrackedParameter<double>("etamax")),
221  ptmin_(pset.getUntrackedParameter<double>("ptmin")),
222  massMin_(pset.getUntrackedParameter<double>("zMassMin")),
223  massMax_(pset.getUntrackedParameter<double>("zMassMax")),
224  isoMax_(pset.getUntrackedParameter<double>("isomax")),
225  ptThreshold_(pset.getUntrackedParameter<double>("ptThreshold")),
226  etEcalThreshold_(pset.getUntrackedParameter<double>("etEcalThreshold")),
227  etHcalThreshold_(pset.getUntrackedParameter<double>("etHcalThreshold")),
228  dRVetoTrk_(pset.getUntrackedParameter<double>("deltaRVetoTrk")),
229  dRTrk_(pset.getUntrackedParameter<double>("deltaRTrk")),
230  dREcal_(pset.getUntrackedParameter<double>("deltaREcal")),
231  dRHcal_(pset.getUntrackedParameter<double>("deltaRHcal")),
232  alpha_(pset.getUntrackedParameter<double>("alpha")),
233  beta_(pset.getUntrackedParameter<double>("beta")),
234  relativeIsolation_(pset.getUntrackedParameter<bool>("relativeIsolation")),
235  hltPath_(pset.getUntrackedParameter<std::string>("hltPath")) {
237 
238  // binning of entries array (at moment defined by hand and not in cfg file)
239  double etaRange[8] = {-2.5, -2., -1.2, -0.8, 0.8, 1.2, 2., 2.5};
240  double ptRange[4] = {20., 40., 60., 100.};
241 
242  // general histograms
243  h_trackProbe_eta = fs->make<TH1D>("trackProbeEta", "Eta of tracks", 7, etaRange);
244  h_trackProbe_pt = fs->make<TH1D>("trackProbePt", "Pt of tracks", 3, ptRange);
245  h_staProbe_eta = fs->make<TH1D>("standAloneProbeEta", "Eta of standAlone", 7, etaRange);
246  h_staProbe_pt = fs->make<TH1D>("standAloneProbePt", "Pt of standAlone", 3, ptRange);
247  h_ProbeOk_eta = fs->make<TH1D>("probeOkEta", "Eta of probe Ok", 7, etaRange);
248  h_ProbeOk_pt = fs->make<TH1D>("probeOkPt", "Pt of probe ok", 3, ptRange);
249 
250  // clear global counters
257  nMu0onlyTriggered = 0;
258  nMu1onlyTriggered = 0;
259  nZMuMu_matched = 0;
260  nZMuSta_matched = 0;
261  nZMuTrk_matched = 0;
262 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
EDGetTokenT< CandidateView > zMuStandAloneToken_
EDGetTokenT< CandidateView > zMuMuToken_
T * make(const Args &...args) const
make new ROOT object
Definition: TFileService.h:64
EDGetTokenT< CandidateView > muonsToken_
EDGetTokenT< GenParticleMatch > zMuTrackMatchMapToken_
EDGetTokenT< GenParticleCollection > genParticlesToken_
int n2GlobalMuonsMatched_passedIso2Trg
EDGetTokenT< GenParticleMatch > zMuMuMatchMapToken_
EDGetTokenT< CandidateView > zMuTrackToken_
EDGetTokenT< CandidateView > tracksToken_
EDGetTokenT< GenParticleMatch > zMuStandAloneMatchMapToken_

Member Function Documentation

void ZMuMu_MCanalyzer::analyze ( const edm::Event event,
const edm::EventSetup setup 
)
overrideprivate

Definition at line 264 of file ZMuMu_MCanalyzer.cc.

References funct::abs(), alpha_, beta_, candidateIsolation(), reco::Candidate::daughter(), dREcal_, dRHcal_, dRTrk_, dRVetoTrk_, edm::View< T >::empty(), reco::Candidate::eta(), HLT_2018_cff::eta1, etamax_, etamin_, etEcalThreshold_, etHcalThreshold_, genParticles2HepMC_cfi::genParticles, genParticlesToken_, h_ProbeOk_eta, h_ProbeOk_pt, h_staProbe_eta, h_staProbe_pt, h_trackProbe_eta, h_trackProbe_pt, hltPath_, mps_fire::i, edm::Ref< C, T, F >::isNonnull(), isoMax_, RazorAnalyzer::lep1, EgHLTOffHistBins_cfi::mass, reco::Candidate::mass(), massMax_, massMin_, reco::Candidate::masterClone(), PDWG_BPHSkim_cff::muons, muonsToken_, n2GlobalMuonsMatched_passedIso, n2GlobalMuonsMatched_passedIso2Trg, nGlobalMuonsMatched_passed, nGlobalMuonsMatched_passedIso, nMu0onlyTriggered, nMu1onlyTriggered, nStaMuonsMatched_passedIso, nTracksMuonsMatched_passedIso, nZMuMu_matched, nZMuSta_matched, nZMuTrk_matched, reco::Candidate::pt(), HLT_2018_cff::pt1, ptmin_, ptThreshold_, edm::View< T >::refAt(), relativeIsolation_, edm::View< T >::size(), PDWG_EXOHSCP_cff::tracks, tracksToken_, pat::PATObject< ObjectType >::triggerObjectMatchesByPath(), ZMuMuAnalysisNtupler_cff::zMuMu, zMuMuMatchMapToken_, zMuMuToken_, zMuStandAloneMatchMapToken_, zMuStandAloneToken_, zMuTrackMatchMapToken_, and zMuTrackToken_.

264  {
266  Handle<GenParticleMatch> zMuMuMatchMap; //Map of Z made by Mu global + Mu global
267  Handle<CandidateView> zMuStandAlone;
268  Handle<GenParticleMatch> zMuStandAloneMatchMap; //Map of Z made by Mu + StandAlone
269  Handle<CandidateView> zMuTrack;
270  Handle<GenParticleMatch> zMuTrackMatchMap; //Map of Z made by Mu + Track
271  Handle<CandidateView> muons; //Collection of Muons
272  Handle<CandidateView> tracks; //Collection of Tracks
273 
274  Handle<GenParticleCollection> genParticles; // Collection of Generatd Particles
275 
276  event.getByToken(zMuMuToken_, zMuMu);
277  event.getByToken(zMuStandAloneToken_, zMuStandAlone);
278  event.getByToken(zMuTrackToken_, zMuTrack);
279  event.getByToken(genParticlesToken_, genParticles);
280  event.getByToken(muonsToken_, muons);
281  event.getByToken(tracksToken_, tracks);
282 
283  /*
284  cout << "********* zMuMu size : " << zMuMu->size() << endl;
285  cout << "********* zMuStandAlone size : " << zMuStandAlone->size() << endl;
286  cout << "********* zMuTrack size : " << zMuTrack->size() << endl;
287  cout << "********* muons size : " << muons->size() << endl;
288  cout << "********* tracks size : " << tracks->size() << endl;
289  */
290  // std::cout<<"Run-> "<<event.id().run()<<std::endl;
291  // std::cout<<"Event-> "<<event.id().event()<<std::endl;
292 
293  bool zMuMu_found = false;
294 
295  // loop on ZMuMu
296  if (!zMuMu->empty()) {
297  event.getByToken(zMuMuMatchMapToken_, zMuMuMatchMap);
298  for (unsigned int i = 0; i < zMuMu->size(); ++i) { //loop on candidates
299  const Candidate& zMuMuCand = (*zMuMu)[i]; //the candidate
300  CandidateBaseRef zMuMuCandRef = zMuMu->refAt(i);
301 
302  const Candidate* lep0 = zMuMuCand.daughter(0);
303  const Candidate* lep1 = zMuMuCand.daughter(1);
304  const pat::Muon& muonDau0 = dynamic_cast<const pat::Muon&>(*lep0->masterClone());
305  // double trkiso0 = muonDau0.trackIso();
306  const pat::Muon& muonDau1 = dynamic_cast<const pat::Muon&>(*lep1->masterClone());
307  //double trkiso1 = muonDau1.trackIso();
308 
309  double iso0 = candidateIsolation(lep0,
310  ptThreshold_,
313  dRVetoTrk_,
314  dRTrk_,
315  dREcal_,
316  dRHcal_,
317  alpha_,
318  beta_,
320  double iso1 = candidateIsolation(lep1,
321  ptThreshold_,
324  dRVetoTrk_,
325  dRTrk_,
326  dREcal_,
327  dRHcal_,
328  alpha_,
329  beta_,
331 
332  double pt0 = zMuMuCand.daughter(0)->pt();
333  double pt1 = zMuMuCand.daughter(1)->pt();
334  double eta0 = zMuMuCand.daughter(0)->eta();
335  double eta1 = zMuMuCand.daughter(1)->eta();
336  double mass = zMuMuCand.mass();
337 
338  // HLT match
341 
342  bool trig0found = false;
343  bool trig1found = false;
344  if (!mu0HLTMatches.empty())
345  trig0found = true;
346  if (!mu1HLTMatches.empty())
347  trig1found = true;
348 
349  GenParticleRef zMuMuMatch = (*zMuMuMatchMap)[zMuMuCandRef];
350  if (zMuMuMatch.isNonnull()) { // ZMuMu matched
351  zMuMu_found = true;
352  nZMuMu_matched++;
353  if (pt0 > ptmin_ && pt1 > ptmin_ && abs(eta0) > etamin_ && abs(eta1) > etamin_ && abs(eta0) < etamax_ &&
354  abs(eta1) < etamax_ && mass > massMin_ && mass < massMax_ &&
355  (trig0found || trig1found)) { // kinematic and trigger cuts passed
356  nGlobalMuonsMatched_passed++; // first global Muon passed kine cuts
357  nGlobalMuonsMatched_passed++; // second global muon passsed kine cuts
358  if (iso0 < isoMax_)
359  nGlobalMuonsMatched_passedIso++; // first global muon passed the iso cut
360  if (iso1 < isoMax_)
361  nGlobalMuonsMatched_passedIso++; // second global muon passed the iso cut
362  if (iso0 < isoMax_ && iso1 < isoMax_) {
363  n2GlobalMuonsMatched_passedIso++; // both muons passed iso cut
364  if (trig0found && trig1found)
365  n2GlobalMuonsMatched_passedIso2Trg++; // both muons have HLT
366  if (trig0found && !trig1found)
368  if (trig1found && !trig0found)
370  // histograms vs eta and pt
371  if (trig1found) { // check efficiency of muon0 not imposing the trigger on it
372  h_trackProbe_eta->Fill(eta0);
373  h_trackProbe_pt->Fill(pt0);
374  h_staProbe_eta->Fill(eta0);
375  h_staProbe_pt->Fill(pt0);
376  h_ProbeOk_eta->Fill(eta0);
377  h_ProbeOk_pt->Fill(pt0);
378  }
379  if (trig0found) { // check efficiency of muon1 not imposing the trigger on it
380  h_trackProbe_eta->Fill(eta1);
381  h_staProbe_eta->Fill(eta1);
382  h_trackProbe_pt->Fill(pt1);
383  h_staProbe_pt->Fill(pt1);
384  h_ProbeOk_eta->Fill(eta1);
385  h_ProbeOk_pt->Fill(pt1);
386  }
387  }
388  }
389  } // end MC match
390 
391  } // end loop on ZMuMu cand
392  } // end if ZMuMu size > 0
393 
394  // loop on ZMuSta
395  bool zMuSta_found = false;
396  if (!zMuMu_found && !zMuStandAlone->empty()) {
397  event.getByToken(zMuStandAloneMatchMapToken_, zMuStandAloneMatchMap);
398  for (unsigned int i = 0; i < zMuStandAlone->size(); ++i) { //loop on candidates
399  const Candidate& zMuStandAloneCand = (*zMuStandAlone)[i]; //the candidate
400  CandidateBaseRef zMuStandAloneCandRef = zMuStandAlone->refAt(i);
401  GenParticleRef zMuStandAloneMatch = (*zMuStandAloneMatchMap)[zMuStandAloneCandRef];
402 
403  const Candidate* lep0 = zMuStandAloneCand.daughter(0);
404  const Candidate* lep1 = zMuStandAloneCand.daughter(1);
405  const pat::Muon& muonDau0 = dynamic_cast<const pat::Muon&>(*lep0->masterClone());
406  //double trkiso0 = muonDau0.trackIso();
407  // const pat::Muon & muonDau1 = dynamic_cast<const pat::Muon &>(*lep1->masterClone());
408  //double trkiso1 = muonDau1.trackIso();
409 
410  double iso0 = candidateIsolation(lep0,
411  ptThreshold_,
414  dRVetoTrk_,
415  dRTrk_,
416  dREcal_,
417  dRHcal_,
418  alpha_,
419  beta_,
421  double iso1 = candidateIsolation(lep1,
422  ptThreshold_,
425  dRVetoTrk_,
426  dRTrk_,
427  dREcal_,
428  dRHcal_,
429  alpha_,
430  beta_,
432 
433  double pt0 = zMuStandAloneCand.daughter(0)->pt();
434  double pt1 = zMuStandAloneCand.daughter(1)->pt();
435  double eta0 = zMuStandAloneCand.daughter(0)->eta();
436  double eta1 = zMuStandAloneCand.daughter(1)->eta();
437  double mass = zMuStandAloneCand.mass();
438 
439  // HLT match (check just dau0 the global)
441 
442  bool trig0found = false;
443  if (!mu0HLTMatches.empty())
444  trig0found = true;
445 
446  if (zMuStandAloneMatch.isNonnull()) { // ZMuStandAlone matched
447  zMuSta_found = true;
448  nZMuSta_matched++;
449  if (pt0 > ptmin_ && pt1 > ptmin_ && abs(eta0) > etamin_ && abs(eta1) > etamin_ && abs(eta0) < etamax_ &&
450  abs(eta1) < etamax_ && mass > massMin_ && mass < massMax_ && iso0 < isoMax_ && iso1 < isoMax_ &&
451  trig0found) { // all cuts and trigger passed
453  // histograms vs eta and pt
454  h_staProbe_eta->Fill(eta1);
455  h_staProbe_pt->Fill(pt1);
456  }
457  } // end MC match
458  } // end loop on ZMuStandAlone cand
459  } // end if ZMuStandAlone size > 0
460 
461  // loop on ZMuTrack
462  if (!zMuMu_found && !zMuSta_found && !zMuTrack->empty()) {
463  event.getByToken(zMuTrackMatchMapToken_, zMuTrackMatchMap);
464  for (unsigned int i = 0; i < zMuTrack->size(); ++i) { //loop on candidates
465  const Candidate& zMuTrackCand = (*zMuTrack)[i]; //the candidate
466  CandidateBaseRef zMuTrackCandRef = zMuTrack->refAt(i);
467  const Candidate* lep0 = zMuTrackCand.daughter(0);
468  const Candidate* lep1 = zMuTrackCand.daughter(1);
469  const pat::Muon& muonDau0 = dynamic_cast<const pat::Muon&>(*lep0->masterClone());
470  //double trkiso0 = muonDau0.trackIso();
471  //const pat::GenericParticle & trackDau1 = dynamic_cast<const pat::GenericParticle &>(*lep1->masterClone());
472  //double trkiso1 = trackDau1.trackIso();
473  double iso0 = candidateIsolation(lep0,
474  ptThreshold_,
477  dRVetoTrk_,
478  dRTrk_,
479  dREcal_,
480  dRHcal_,
481  alpha_,
482  beta_,
484  double iso1 = candidateIsolation(lep1,
485  ptThreshold_,
488  dRVetoTrk_,
489  dRTrk_,
490  dREcal_,
491  dRHcal_,
492  alpha_,
493  beta_,
495 
496  double pt0 = zMuTrackCand.daughter(0)->pt();
497  double pt1 = zMuTrackCand.daughter(1)->pt();
498  double eta0 = zMuTrackCand.daughter(0)->eta();
499  double eta1 = zMuTrackCand.daughter(1)->eta();
500  double mass = zMuTrackCand.mass();
501 
502  // HLT match (check just dau0 the global)
504 
505  bool trig0found = false;
506  if (!mu0HLTMatches.empty())
507  trig0found = true;
508 
509  GenParticleRef zMuTrackMatch = (*zMuTrackMatchMap)[zMuTrackCandRef];
510  if (zMuTrackMatch.isNonnull()) { // ZMuTrack matched
511  nZMuTrk_matched++;
512  if (pt0 > ptmin_ && pt1 > ptmin_ && abs(eta0) > etamin_ && abs(eta1) > etamin_ && abs(eta0) < etamax_ &&
513  abs(eta1) < etamax_ && mass > massMin_ && mass < massMax_ && iso0 < isoMax_ && iso1 < isoMax_ &&
514  trig0found) { // all cuts and trigger passed
516  // histograms vs eta and pt
517  h_trackProbe_eta->Fill(eta1);
518  h_trackProbe_pt->Fill(pt1);
519  }
520  } // end MC match
521  } // end loop on ZMuTrack cand
522  } // end if ZMuTrack size > 0
523 
524 } // end analyze
bool isNonnull() const
Checks for non-null.
Definition: Ref.h:238
double candidateIsolation(const reco::Candidate *c, double ptThreshold, double etEcalThreshold, double etHcalThreshold, double dRVetoTrk, double dRTrk, double dREcal, double dRHcal, double alpha, double beta, bool relativeIsolation)
std::vector< TriggerObjectStandAlone > TriggerObjectStandAloneCollection
Collection of TriggerObjectStandAlone.
EDGetTokenT< CandidateView > zMuStandAloneToken_
EDGetTokenT< CandidateView > zMuMuToken_
virtual const Candidate * daughter(size_type i) const =0
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...
size_type size() const
RefToBase< value_type > refAt(size_type i) const
EDGetTokenT< CandidateView > muonsToken_
EDGetTokenT< GenParticleMatch > zMuTrackMatchMapToken_
bool empty() const
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
const TriggerObjectStandAloneCollection triggerObjectMatchesByPath(const std::string &namePath, const bool pathLastFilterAccepted=false, const bool pathL3FilterAccepted=true) const
Definition: PATObject.h:682
EDGetTokenT< GenParticleCollection > genParticlesToken_
int n2GlobalMuonsMatched_passedIso2Trg
virtual const CandidateBaseRef & masterClone() const =0
zMuMu
zMuMu vector of PSet is common to all categories except zMuTrk category
virtual double eta() const =0
momentum pseudorapidity
virtual double pt() const =0
transverse momentum
virtual double mass() const =0
mass
EDGetTokenT< GenParticleMatch > zMuMuMatchMapToken_
EDGetTokenT< CandidateView > zMuTrackToken_
lep1
print &#39;MRbb(1b)&#39;,event.mr_bb
EDGetTokenT< CandidateView > tracksToken_
Analysis-level muon class.
Definition: Muon.h:51
EDGetTokenT< GenParticleMatch > zMuStandAloneMatchMapToken_
bool ZMuMu_MCanalyzer::check_ifZmumu ( const Candidate dauGen0,
const Candidate dauGen1,
const Candidate dauGen2 
)
private

Definition at line 526 of file ZMuMu_MCanalyzer.cc.

References reco::Candidate::pdgId().

526  {
527  int partId0 = dauGen0->pdgId();
528  int partId1 = dauGen1->pdgId();
529  int partId2 = dauGen2->pdgId();
530  bool muplusFound = false;
531  bool muminusFound = false;
532  bool ZFound = false;
533  if (partId0 == 13 || partId1 == 13 || partId2 == 13)
534  muminusFound = true;
535  if (partId0 == -13 || partId1 == -13 || partId2 == -13)
536  muplusFound = true;
537  if (partId0 == 23 || partId1 == 23 || partId2 == 23)
538  ZFound = true;
539  return (muplusFound && muminusFound && ZFound);
540 }
virtual int pdgId() const =0
PDG identifier.
void ZMuMu_MCanalyzer::endJob ( void  )
overrideprivatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 682 of file ZMuMu_MCanalyzer.cc.

References gather_cfg::cout, DEFINE_FWK_MODULE, n2GlobalMuonsMatched_passedIso, n2GlobalMuonsMatched_passedIso2Trg, nGlobalMuonsMatched_passed, nGlobalMuonsMatched_passedIso, nMu0onlyTriggered, nMu1onlyTriggered, nStaMuonsMatched_passedIso, nTracksMuonsMatched_passedIso, nZMuMu_matched, nZMuSta_matched, nZMuTrk_matched, and mathSSE::sqrt().

682  {
684  double err_effIso = sqrt(eff_Iso * (1 - eff_Iso) / nGlobalMuonsMatched_passed);
685 
686  double n1_afterIso =
688  double n2_afterIso =
691  double effSta_afterIso =
693  double effTrk_afterIso =
695  double effHLT_afterIso = (2. * n2GlobalMuonsMatched_passedIso2Trg) /
696  (2. * n2GlobalMuonsMatched_passedIso2Trg + nMu0onlyTriggered + nMu1onlyTriggered);
697  double err_effHLT_afterIso = sqrt(effHLT_afterIso * (1 - effHLT_afterIso) / nGLB_afterIso);
698  double err_effsta_afterIso = sqrt(effSta_afterIso * (1 - effSta_afterIso) / n1_afterIso);
699  double err_efftrk_afterIso = sqrt(effTrk_afterIso * (1 - effTrk_afterIso) / n2_afterIso);
700 
701  cout << "------------------------------------ Counters --------------------------------" << endl;
702 
703  cout << "number of events zMuMu matched " << nZMuMu_matched << endl;
704  cout << "number of events zMuSta matched " << nZMuSta_matched << endl;
705  cout << "number of events zMuTk matched " << nZMuTrk_matched << endl;
706  cout << "number of events zMuMu with mu0 only triggered " << nMu0onlyTriggered << endl;
707  cout << "number of events zMuMu with mu1 only triggered " << nMu1onlyTriggered << endl;
708  cout << "=========================================" << endl;
709  cout << "n. of global muons MC matched and passing cuts: " << nGlobalMuonsMatched_passed << endl;
710  cout << "n. of global muons MC matched and passing also Iso cut: " << nGlobalMuonsMatched_passedIso << endl;
711  cout << "n. of Z -> 2 global muons MC matched and passing ALL cuts: " << n2GlobalMuonsMatched_passedIso << endl;
712  cout << "n. of ZMuSta MC matched and passing ALL cuts: " << nStaMuonsMatched_passedIso << endl;
713  cout << "n. of ZmuTrck MC matched and passing ALL cuts: " << nTracksMuonsMatched_passedIso << endl;
714  cout << "n. of Z -> 2 global muons MC matched and passing ALL cuts and both triggered: "
716  cout << "=================================================================================" << endl;
717  cout << "Iso efficiency: " << eff_Iso << " +/- " << err_effIso << endl;
718  cout << "HLT efficiency: " << effHLT_afterIso << " +/- " << err_effHLT_afterIso << endl;
719  cout << "eff StandAlone (after Isocut) : " << effSta_afterIso << "+/-" << err_effsta_afterIso << endl;
720  cout << "eff Tracker (after Isocut) : " << effTrk_afterIso << "+/-" << err_efftrk_afterIso << endl;
721 }
T sqrt(T t)
Definition: SSEVec.h:19
int n2GlobalMuonsMatched_passedIso2Trg
float ZMuMu_MCanalyzer::getParticleEta ( const int  ipart,
const Candidate dauGen0,
const Candidate dauGen1,
const Candidate dauGen2 
)
private

Definition at line 577 of file ZMuMu_MCanalyzer.cc.

References funct::abs(), reco::Candidate::daughter(), reco::Candidate::eta(), dqmdumpme::k, reco::Candidate::numberOfDaughters(), reco::Candidate::pdgId(), and reco::Candidate::status().

580  {
581  int partId0 = dauGen0->pdgId();
582  int partId1 = dauGen1->pdgId();
583  int partId2 = dauGen2->pdgId();
584  float etapart = 0.;
585  if (partId0 == ipart) {
586  for (unsigned int k = 0; k < dauGen0->numberOfDaughters(); ++k) {
587  const Candidate* dauMuGen = dauGen0->daughter(k);
588  if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) {
589  etapart = dauMuGen->eta();
590  }
591  }
592  }
593  if (partId1 == ipart) {
594  for (unsigned int k = 0; k < dauGen1->numberOfDaughters(); ++k) {
595  const Candidate* dauMuGen = dauGen1->daughter(k);
596  if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) {
597  etapart = dauMuGen->eta();
598  }
599  }
600  }
601  if (partId2 == ipart) {
602  for (unsigned int k = 0; k < dauGen2->numberOfDaughters(); ++k) {
603  const Candidate* dauMuGen = dauGen2->daughter(k);
604  if (abs(dauMuGen->pdgId()) == ipart && dauMuGen->status() == 1) {
605  etapart = dauMuGen->eta();
606  }
607  }
608  }
609  return etapart;
610 }
virtual const Candidate * daughter(size_type i) const =0
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...
virtual int status() const =0
status word
virtual int pdgId() const =0
PDG identifier.
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
virtual double eta() const =0
momentum pseudorapidity
virtual size_type numberOfDaughters() const =0
number of daughters
Particle::LorentzVector ZMuMu_MCanalyzer::getParticleP4 ( const int  ipart,
const Candidate dauGen0,
const Candidate dauGen1,
const Candidate dauGen2 
)
private

Definition at line 647 of file ZMuMu_MCanalyzer.cc.

References funct::abs(), reco::Candidate::daughter(), dqmdumpme::k, reco::Candidate::numberOfDaughters(), reco::Candidate::p4(), reco::Candidate::pdgId(), and reco::Candidate::status().

650  {
651  int partId0 = dauGen0->pdgId();
652  int partId1 = dauGen1->pdgId();
653  int partId2 = dauGen2->pdgId();
654  Particle::LorentzVector p4part(0., 0., 0., 0.);
655  if (partId0 == ipart) {
656  for (unsigned int k = 0; k < dauGen0->numberOfDaughters(); ++k) {
657  const Candidate* dauMuGen = dauGen0->daughter(k);
658  if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) {
659  p4part = dauMuGen->p4();
660  }
661  }
662  }
663  if (partId1 == ipart) {
664  for (unsigned int k = 0; k < dauGen1->numberOfDaughters(); ++k) {
665  const Candidate* dauMuGen = dauGen1->daughter(k);
666  if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) {
667  p4part = dauMuGen->p4();
668  }
669  }
670  }
671  if (partId2 == ipart) {
672  for (unsigned int k = 0; k < dauGen2->numberOfDaughters(); ++k) {
673  const Candidate* dauMuGen = dauGen2->daughter(k);
674  if (abs(dauMuGen->pdgId()) == ipart && dauMuGen->status() == 1) {
675  p4part = dauMuGen->p4();
676  }
677  }
678  }
679  return p4part;
680 }
virtual const Candidate * daughter(size_type i) const =0
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...
virtual int status() const =0
status word
virtual const LorentzVector & p4() const =0
four-momentum Lorentz vector
virtual int pdgId() const =0
PDG identifier.
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
virtual size_type numberOfDaughters() const =0
number of daughters
math::PtEtaPhiELorentzVectorF LorentzVector
float ZMuMu_MCanalyzer::getParticlePhi ( const int  ipart,
const Candidate dauGen0,
const Candidate dauGen1,
const Candidate dauGen2 
)
private

Definition at line 612 of file ZMuMu_MCanalyzer.cc.

References funct::abs(), reco::Candidate::daughter(), dqmdumpme::k, reco::Candidate::numberOfDaughters(), reco::Candidate::pdgId(), reco::Candidate::phi(), and reco::Candidate::status().

615  {
616  int partId0 = dauGen0->pdgId();
617  int partId1 = dauGen1->pdgId();
618  int partId2 = dauGen2->pdgId();
619  float phipart = 0.;
620  if (partId0 == ipart) {
621  for (unsigned int k = 0; k < dauGen0->numberOfDaughters(); ++k) {
622  const Candidate* dauMuGen = dauGen0->daughter(k);
623  if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) {
624  phipart = dauMuGen->phi();
625  }
626  }
627  }
628  if (partId1 == ipart) {
629  for (unsigned int k = 0; k < dauGen1->numberOfDaughters(); ++k) {
630  const Candidate* dauMuGen = dauGen1->daughter(k);
631  if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) {
632  phipart = dauMuGen->phi();
633  }
634  }
635  }
636  if (partId2 == ipart) {
637  for (unsigned int k = 0; k < dauGen2->numberOfDaughters(); ++k) {
638  const Candidate* dauMuGen = dauGen2->daughter(k);
639  if (abs(dauMuGen->pdgId()) == ipart && dauMuGen->status() == 1) {
640  phipart = dauMuGen->phi();
641  }
642  }
643  }
644  return phipart;
645 }
virtual const Candidate * daughter(size_type i) const =0
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...
virtual int status() const =0
status word
virtual int pdgId() const =0
PDG identifier.
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
virtual size_type numberOfDaughters() const =0
number of daughters
virtual double phi() const =0
momentum azimuthal angle
float ZMuMu_MCanalyzer::getParticlePt ( const int  ipart,
const Candidate dauGen0,
const Candidate dauGen1,
const Candidate dauGen2 
)
private

Definition at line 542 of file ZMuMu_MCanalyzer.cc.

References funct::abs(), reco::Candidate::daughter(), dqmdumpme::k, reco::Candidate::numberOfDaughters(), reco::Candidate::pdgId(), reco::Candidate::pt(), and reco::Candidate::status().

545  {
546  int partId0 = dauGen0->pdgId();
547  int partId1 = dauGen1->pdgId();
548  int partId2 = dauGen2->pdgId();
549  float ptpart = 0.;
550  if (partId0 == ipart) {
551  for (unsigned int k = 0; k < dauGen0->numberOfDaughters(); ++k) {
552  const Candidate* dauMuGen = dauGen0->daughter(k);
553  if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) {
554  ptpart = dauMuGen->pt();
555  }
556  }
557  }
558  if (partId1 == ipart) {
559  for (unsigned int k = 0; k < dauGen1->numberOfDaughters(); ++k) {
560  const Candidate* dauMuGen = dauGen1->daughter(k);
561  if (dauMuGen->pdgId() == ipart && dauMuGen->status() == 1) {
562  ptpart = dauMuGen->pt();
563  }
564  }
565  }
566  if (partId2 == ipart) {
567  for (unsigned int k = 0; k < dauGen2->numberOfDaughters(); ++k) {
568  const Candidate* dauMuGen = dauGen2->daughter(k);
569  if (abs(dauMuGen->pdgId()) == ipart && dauMuGen->status() == 1) {
570  ptpart = dauMuGen->pt();
571  }
572  }
573  }
574  return ptpart;
575 }
virtual const Candidate * daughter(size_type i) const =0
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...
virtual int status() const =0
status word
virtual int pdgId() const =0
PDG identifier.
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
virtual double pt() const =0
transverse momentum
virtual size_type numberOfDaughters() const =0
number of daughters

Member Data Documentation

double ZMuMu_MCanalyzer::alpha_
private

Definition at line 79 of file ZMuMu_MCanalyzer.cc.

Referenced by analyze().

double ZMuMu_MCanalyzer::beta_
private

Definition at line 79 of file ZMuMu_MCanalyzer.cc.

Referenced by analyze().

bool ZMuMu_MCanalyzer::bothMuons_
private

Definition at line 75 of file ZMuMu_MCanalyzer.cc.

double ZMuMu_MCanalyzer::dREcal_
private

Definition at line 79 of file ZMuMu_MCanalyzer.cc.

Referenced by analyze().

double ZMuMu_MCanalyzer::dRHcal_
private

Definition at line 79 of file ZMuMu_MCanalyzer.cc.

Referenced by analyze().

double ZMuMu_MCanalyzer::dRTrk_
private

Definition at line 79 of file ZMuMu_MCanalyzer.cc.

Referenced by analyze().

double ZMuMu_MCanalyzer::dRVetoTrk_
private

Definition at line 79 of file ZMuMu_MCanalyzer.cc.

Referenced by analyze().

double ZMuMu_MCanalyzer::etamax_
private

Definition at line 77 of file ZMuMu_MCanalyzer.cc.

Referenced by analyze().

double ZMuMu_MCanalyzer::etamin_
private

Definition at line 77 of file ZMuMu_MCanalyzer.cc.

Referenced by analyze().

double ZMuMu_MCanalyzer::etEcalThreshold_
private

Definition at line 79 of file ZMuMu_MCanalyzer.cc.

Referenced by analyze().

double ZMuMu_MCanalyzer::etHcalThreshold_
private

Definition at line 79 of file ZMuMu_MCanalyzer.cc.

Referenced by analyze().

EDGetTokenT<GenParticleCollection> ZMuMu_MCanalyzer::genParticlesToken_
private

Definition at line 73 of file ZMuMu_MCanalyzer.cc.

Referenced by analyze().

reco::CandidateBaseRef ZMuMu_MCanalyzer::globalMuonCandRef_
private

Definition at line 83 of file ZMuMu_MCanalyzer.cc.

TH1D * ZMuMu_MCanalyzer::h_ProbeOk_eta
private

Definition at line 87 of file ZMuMu_MCanalyzer.cc.

Referenced by analyze(), and ZMuMu_MCanalyzer().

TH1D * ZMuMu_MCanalyzer::h_ProbeOk_pt
private

Definition at line 87 of file ZMuMu_MCanalyzer.cc.

Referenced by analyze(), and ZMuMu_MCanalyzer().

TH1D * ZMuMu_MCanalyzer::h_staProbe_eta
private

Definition at line 87 of file ZMuMu_MCanalyzer.cc.

Referenced by analyze(), and ZMuMu_MCanalyzer().

TH1D * ZMuMu_MCanalyzer::h_staProbe_pt
private

Definition at line 87 of file ZMuMu_MCanalyzer.cc.

Referenced by analyze(), and ZMuMu_MCanalyzer().

TH1D* ZMuMu_MCanalyzer::h_trackProbe_eta
private

Definition at line 87 of file ZMuMu_MCanalyzer.cc.

Referenced by analyze(), and ZMuMu_MCanalyzer().

TH1D * ZMuMu_MCanalyzer::h_trackProbe_pt
private

Definition at line 87 of file ZMuMu_MCanalyzer.cc.

Referenced by analyze(), and ZMuMu_MCanalyzer().

string ZMuMu_MCanalyzer::hltPath_
private

Definition at line 82 of file ZMuMu_MCanalyzer.cc.

Referenced by analyze().

double ZMuMu_MCanalyzer::isoMax_
private

Definition at line 77 of file ZMuMu_MCanalyzer.cc.

Referenced by analyze().

double ZMuMu_MCanalyzer::massMax_
private

Definition at line 77 of file ZMuMu_MCanalyzer.cc.

Referenced by analyze().

double ZMuMu_MCanalyzer::massMin_
private

Definition at line 77 of file ZMuMu_MCanalyzer.cc.

Referenced by analyze().

EDGetTokenT<CandidateView> ZMuMu_MCanalyzer::muonsToken_
private

Definition at line 71 of file ZMuMu_MCanalyzer.cc.

Referenced by analyze().

int ZMuMu_MCanalyzer::n2GlobalMuonsMatched_passedIso
private

Definition at line 92 of file ZMuMu_MCanalyzer.cc.

Referenced by analyze(), endJob(), and ZMuMu_MCanalyzer().

int ZMuMu_MCanalyzer::n2GlobalMuonsMatched_passedIso2Trg
private

Definition at line 95 of file ZMuMu_MCanalyzer.cc.

Referenced by analyze(), endJob(), and ZMuMu_MCanalyzer().

int ZMuMu_MCanalyzer::nGlobalMuonsMatched_passed
private

Definition at line 90 of file ZMuMu_MCanalyzer.cc.

Referenced by analyze(), endJob(), and ZMuMu_MCanalyzer().

int ZMuMu_MCanalyzer::nGlobalMuonsMatched_passedIso
private

Definition at line 91 of file ZMuMu_MCanalyzer.cc.

Referenced by analyze(), endJob(), and ZMuMu_MCanalyzer().

int ZMuMu_MCanalyzer::nMu0onlyTriggered
private

Definition at line 96 of file ZMuMu_MCanalyzer.cc.

Referenced by analyze(), endJob(), and ZMuMu_MCanalyzer().

int ZMuMu_MCanalyzer::nMu1onlyTriggered
private

Definition at line 97 of file ZMuMu_MCanalyzer.cc.

Referenced by analyze(), endJob(), and ZMuMu_MCanalyzer().

int ZMuMu_MCanalyzer::nStaMuonsMatched_passedIso
private

Definition at line 93 of file ZMuMu_MCanalyzer.cc.

Referenced by analyze(), endJob(), and ZMuMu_MCanalyzer().

int ZMuMu_MCanalyzer::nTracksMuonsMatched_passedIso
private

Definition at line 94 of file ZMuMu_MCanalyzer.cc.

Referenced by analyze(), endJob(), and ZMuMu_MCanalyzer().

int ZMuMu_MCanalyzer::nZMuMu_matched
private

Definition at line 99 of file ZMuMu_MCanalyzer.cc.

Referenced by analyze(), endJob(), and ZMuMu_MCanalyzer().

int ZMuMu_MCanalyzer::nZMuSta_matched
private

Definition at line 100 of file ZMuMu_MCanalyzer.cc.

Referenced by analyze(), endJob(), and ZMuMu_MCanalyzer().

int ZMuMu_MCanalyzer::nZMuTrk_matched
private

Definition at line 101 of file ZMuMu_MCanalyzer.cc.

Referenced by analyze(), endJob(), and ZMuMu_MCanalyzer().

OverlapChecker ZMuMu_MCanalyzer::overlap_
private

Definition at line 84 of file ZMuMu_MCanalyzer.cc.

double ZMuMu_MCanalyzer::ptmin_
private

Definition at line 77 of file ZMuMu_MCanalyzer.cc.

Referenced by analyze().

double ZMuMu_MCanalyzer::ptThreshold_
private

Definition at line 79 of file ZMuMu_MCanalyzer.cc.

Referenced by analyze().

bool ZMuMu_MCanalyzer::relativeIsolation_
private

Definition at line 81 of file ZMuMu_MCanalyzer.cc.

Referenced by analyze().

reco::CandidateBaseRef ZMuMu_MCanalyzer::standAloneMuonCandRef_
private

Definition at line 83 of file ZMuMu_MCanalyzer.cc.

reco::CandidateBaseRef ZMuMu_MCanalyzer::trackMuonCandRef_
private

Definition at line 83 of file ZMuMu_MCanalyzer.cc.

EDGetTokenT<CandidateView> ZMuMu_MCanalyzer::tracksToken_
private

Definition at line 72 of file ZMuMu_MCanalyzer.cc.

Referenced by analyze().

EDGetTokenT<GenParticleMatch> ZMuMu_MCanalyzer::zMuMuMatchMapToken_
private

Definition at line 66 of file ZMuMu_MCanalyzer.cc.

Referenced by analyze().

EDGetTokenT<CandidateView> ZMuMu_MCanalyzer::zMuMuToken_
private

Definition at line 65 of file ZMuMu_MCanalyzer.cc.

Referenced by analyze().

EDGetTokenT<GenParticleMatch> ZMuMu_MCanalyzer::zMuStandAloneMatchMapToken_
private

Definition at line 68 of file ZMuMu_MCanalyzer.cc.

Referenced by analyze().

EDGetTokenT<CandidateView> ZMuMu_MCanalyzer::zMuStandAloneToken_
private

Definition at line 67 of file ZMuMu_MCanalyzer.cc.

Referenced by analyze().

EDGetTokenT<GenParticleMatch> ZMuMu_MCanalyzer::zMuTrackMatchMapToken_
private

Definition at line 70 of file ZMuMu_MCanalyzer.cc.

Referenced by analyze().

EDGetTokenT<CandidateView> ZMuMu_MCanalyzer::zMuTrackToken_
private

Definition at line 69 of file ZMuMu_MCanalyzer.cc.

Referenced by analyze().