CMS 3D CMS Logo

List of all members | Public Member Functions | Public Attributes
ZSelector Struct Reference

Public Member Functions

int operator() (const Candidate &c) const
 
 ZSelector (double ptMin, double etaDau0Min, double etaDau0Max, double etaDau1Min, double etaDau1Max, double massMin, double massMax, double massMinZMC, double massMaxZMC)
 

Public Attributes

double etaDau0Max_
 
double etaDau0Min_
 
double etaDau1Max_
 
double etaDau1Min_
 
double massMax_
 
double massMaxZMC_
 
double massMin_
 
double massMinZMC_
 
double ptMin_
 

Detailed Description

Definition at line 24 of file MCAcceptanceAnalyzer.cc.

Constructor & Destructor Documentation

ZSelector::ZSelector ( double  ptMin,
double  etaDau0Min,
double  etaDau0Max,
double  etaDau1Min,
double  etaDau1Max,
double  massMin,
double  massMax,
double  massMinZMC,
double  massMaxZMC 
)
inline

Definition at line 25 of file MCAcceptanceAnalyzer.cc.

34  : ptMin_(ptMin),
35  etaDau0Min_(etaDau0Min),
36  etaDau0Max_(etaDau0Max),
37  etaDau1Min_(etaDau1Min),
38  etaDau1Max_(etaDau1Max),
41  massMinZMC_(massMinZMC),
42  massMaxZMC_(massMaxZMC) {}

Member Function Documentation

int ZSelector::operator() ( const Candidate c) const
inline

allowing asymmetric cut....

Definition at line 43 of file MCAcceptanceAnalyzer.cc.

References HLTMuonOfflineAnalyzer_cfi::d0, reco::Candidate::daughter(), reco::Candidate::eta(), visualization-live-secondInstance_cfg::m, EgHLTOffHistBins_cfi::mass, reco::Candidate::mass(), mcMuDaughter(), reco::Candidate::numberOfDaughters(), reco::Candidate::p4(), and reco::Candidate::pt().

43  {
44  // std::cout << "c.numberOfDaughters(): " << c.numberOfDaughters()<< std::endl;
45  if (c.numberOfDaughters() < 2)
46  return 0;
47  if (c.numberOfDaughters() >= 6)
48  return 0;
49  const Candidate* d0 = c.daughter(0);
50  const Candidate* d1 = c.daughter(1);
51  if (c.numberOfDaughters() > 2) {
52  if (d0->numberOfDaughters() > 0)
53  d0 = mcMuDaughter(d0);
54  if (d1->numberOfDaughters() > 0)
55  d1 = mcMuDaughter(d1);
56  }
57  int temp_cut = 0;
59  if ((fabs(d0->eta()) > etaDau0Min_ && fabs(d1->eta()) > etaDau1Min_ && fabs(d0->eta()) < etaDau0Max_ &&
60  fabs(d1->eta()) < etaDau1Max_) ||
61  (fabs(d0->eta()) > etaDau1Min_ && fabs(d1->eta()) > etaDau0Min_ && fabs(d0->eta()) < etaDau1Max_ &&
62  fabs(d1->eta()) < etaDau0Max_)) {
63  temp_cut = 1;
64  if (d0->pt() > ptMin_ && d1->pt() > ptMin_) {
65  temp_cut = 2;
66  double m = (d0->p4() + d1->p4()).mass();
67  if (m > massMin_ && m < massMax_)
68  temp_cut = 3;
69  if (c.mass() > massMinZMC_ && c.mass() < massMaxZMC_)
70  temp_cut = 4;
71  }
72  }
73 
74  return temp_cut;
75  }
virtual const Candidate * daughter(size_type i) const =0
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...
virtual const LorentzVector & p4() const =0
four-momentum Lorentz vector
const Candidate * mcMuDaughter(const Candidate *c)
virtual double eta() const =0
momentum pseudorapidity
virtual double pt() const =0
transverse momentum
virtual double mass() const =0
mass
virtual size_type numberOfDaughters() const =0
number of daughters

Member Data Documentation

double ZSelector::etaDau0Max_

Definition at line 76 of file MCAcceptanceAnalyzer.cc.

double ZSelector::etaDau0Min_

Definition at line 76 of file MCAcceptanceAnalyzer.cc.

double ZSelector::etaDau1Max_

Definition at line 76 of file MCAcceptanceAnalyzer.cc.

double ZSelector::etaDau1Min_

Definition at line 76 of file MCAcceptanceAnalyzer.cc.

double ZSelector::massMax_

Definition at line 76 of file MCAcceptanceAnalyzer.cc.

double ZSelector::massMaxZMC_

Definition at line 76 of file MCAcceptanceAnalyzer.cc.

double ZSelector::massMin_

Definition at line 76 of file MCAcceptanceAnalyzer.cc.

double ZSelector::massMinZMC_

Definition at line 76 of file MCAcceptanceAnalyzer.cc.

double ZSelector::ptMin_

Definition at line 76 of file MCAcceptanceAnalyzer.cc.