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 Member Functions | Private Attributes
BPHKx0ToKPiBuilder Class Reference

#include <BPHKx0ToKPiBuilder.h>

Public Member Functions

 BPHKx0ToKPiBuilder (const edm::EventSetup &es, const BPHRecoBuilder::BPHGenericCollection *posCollection, const BPHRecoBuilder::BPHGenericCollection *negCollection)
 
std::vector< BPHPlusMinusConstCandPtrbuild ()
 build Phi candidates More...
 
double getConstrMass () const
 
double getConstrSigma () const
 
double getEtaMax () const
 
double getMassMax () const
 
double getMassMin () const
 
double getProbMin () const
 
double getPtMin () const
 get current cuts More...
 
void setConstr (double mass, double sigma)
 
void setEtaMax (double eta)
 
void setMassMax (double m)
 
void setMassMin (double m)
 
void setProbMin (double p)
 
void setPtMin (double pt)
 set cuts More...
 
virtual ~BPHKx0ToKPiBuilder ()
 

Private Member Functions

 BPHKx0ToKPiBuilder (const BPHKx0ToKPiBuilder &x)=delete
 
BPHKx0ToKPiBuilderoperator= (const BPHKx0ToKPiBuilder &x)=delete
 

Private Attributes

BPHChi2Selectchi2Sel
 
double cMass
 
double cSigma
 
BPHParticleEtaSelectetaSel
 
const edm::EventSetupevSetup
 
std::string kaonName
 
std::vector< BPHPlusMinusConstCandPtrkx0List
 
BPHMassSelectmassSel
 
const BPHRecoBuilder::BPHGenericCollectionnCollection
 
const BPHRecoBuilder::BPHGenericCollectionpCollection
 
std::string pionName
 
BPHParticlePtSelectptSel
 
bool updated
 

Detailed Description

Description: Class to build K*0 to K+ pi- candidates

Author
Paolo Ronchese INFN Padova

Definition at line 40 of file BPHKx0ToKPiBuilder.h.

Constructor & Destructor Documentation

BPHKx0ToKPiBuilder::BPHKx0ToKPiBuilder ( const edm::EventSetup es,
const BPHRecoBuilder::BPHGenericCollection posCollection,
const BPHRecoBuilder::BPHGenericCollection negCollection 
)

Constructor

Definition at line 40 of file BPHKx0ToKPiBuilder.cc.

References chi2Sel, etaSel, massSel, ptSel, and updated.

43  : kaonName("Kaon"), pionName("Pion"), evSetup(&es), pCollection(posCollection), nCollection(negCollection) {
44  ptSel = new BPHParticlePtSelect(0.7);
45  etaSel = new BPHParticleEtaSelect(10.0);
46  massSel = new BPHMassSelect(0.75, 1.05);
47  chi2Sel = new BPHChi2Select(0.0);
48  updated = false;
49 }
const BPHRecoBuilder::BPHGenericCollection * pCollection
BPHParticleEtaSelect * etaSel
const edm::EventSetup * evSetup
const BPHRecoBuilder::BPHGenericCollection * nCollection
BPHMassSelect * massSel
BPHChi2Select * chi2Sel
BPHParticlePtSelect * ptSel
BPHKx0ToKPiBuilder::~BPHKx0ToKPiBuilder ( )
virtual

Destructor

Definition at line 54 of file BPHKx0ToKPiBuilder.cc.

References chi2Sel, etaSel, massSel, and ptSel.

54  {
55  delete ptSel;
56  delete etaSel;
57  delete massSel;
58  delete chi2Sel;
59 }
BPHParticleEtaSelect * etaSel
BPHMassSelect * massSel
BPHChi2Select * chi2Sel
BPHParticlePtSelect * ptSel
BPHKx0ToKPiBuilder::BPHKx0ToKPiBuilder ( const BPHKx0ToKPiBuilder x)
privatedelete

Member Function Documentation

vector< BPHPlusMinusConstCandPtr > BPHKx0ToKPiBuilder::build ( )

build Phi candidates

Operations

Definition at line 64 of file BPHKx0ToKPiBuilder.cc.

References BPHMassSelect::accept(), BPHChi2Select::accept(), BPHPlusMinusCandidate::add(), BPHRecoBuilder::add(), BPHPlusMinusCandidate::build(), chi2Sel, BPHPlusMinusCandidate::composite(), etaSel, evSetup, BPHRecoBuilder::filter(), BPHDecayMomentum::getDaug(), BPHParticleMasses::kaonMass, BPHParticleMasses::kaonMSigma, kaonName, kx0List, BPHParticleMasses::kx0Mass, reco::LeafCandidate::mass(), massSel, nCollection, BPHDecayMomentum::originalReco(), pCollection, BPHParticleMasses::pionMass, BPHParticleMasses::pionMSigma, pionName, ptSel, and updated.

Referenced by BPHWriteSpecificDecay::fill().

64  {
65  if (updated)
66  return kx0List;
67 
68  BPHRecoBuilder bKx0(*evSetup);
71  bKx0.filter(kaonName, *ptSel);
72  bKx0.filter(pionName, *ptSel);
73  bKx0.filter(kaonName, *etaSel);
74  bKx0.filter(pionName, *etaSel);
76  bKx0.filter(mTmpSel);
77 
78  vector<BPHPlusMinusConstCandPtr> tmpList = BPHPlusMinusCandidate::build(bKx0, kaonName, pionName);
79 
80  int ikx;
81  int nkx = tmpList.size();
82  kx0List.clear();
83  kx0List.reserve(nkx);
84  BPHPlusMinusConstCandPtr pxt(nullptr);
85  for (ikx = 0; ikx < nkx; ++ikx) {
86  BPHPlusMinusConstCandPtr& px0 = tmpList[ikx];
88  const BPHPlusMinusCandidate* kx0 = px0.get();
89  BPHPlusMinusCandidate* kxb = pxb.get();
92  if (fabs(kx0->composite().mass() - BPHParticleMasses::kx0Mass) <
93  fabs(kxb->composite().mass() - BPHParticleMasses::kx0Mass))
94  pxt = px0;
95  else
96  pxt = pxb;
97  if (!massSel->accept(*pxt))
98  continue;
99  if (!chi2Sel->accept(*pxt))
100  continue;
101  kx0List.push_back(pxt);
102  }
103 
104  updated = true;
105  return kx0List;
106 }
static std::vector< BPHPlusMinusConstCandPtr > build(const BPHRecoBuilder &builder, const std::string &nPos, const std::string &nNeg, double mass=-1, double msig=-1)
std::vector< BPHPlusMinusConstCandPtr > kx0List
static const double kaonMass
const BPHRecoBuilder::BPHGenericCollection * pCollection
bool accept(const BPHDecayMomentum &cand) const override
select particle
Definition: BPHMassSelect.h:44
BPHParticleEtaSelect * etaSel
bool accept(const BPHDecayVertex &cand) const override
select vertex
Definition: BPHChi2Select.h:44
const pat::CompositeCandidate & composite() const override
get a composite by the simple sum of simple particles
void add(const std::string &name, const reco::Candidate *daug, double mass=-1.0, double sigma=-1.0) override
BPHGenericPtr< const BPHPlusMinusCandidate >::type BPHPlusMinusConstCandPtr
static const double kx0Mass
static const double pionMSigma
BPHGenericPtr< BPHPlusMinusCandidate >::type BPHPlusMinusCandidatePtr
const edm::EventSetup * evSetup
virtual const reco::Candidate * originalReco(const reco::Candidate *daug) const
get the original particle from the clone
static const double pionMass
const BPHRecoBuilder::BPHGenericCollection * nCollection
static const double kaonMSigma
BPHMassSelect * massSel
virtual const reco::Candidate * getDaug(const std::string &name) const
BPHChi2Select * chi2Sel
BPHParticlePtSelect * ptSel
double mass() const final
mass
double BPHKx0ToKPiBuilder::getConstrMass ( ) const

Definition at line 157 of file BPHKx0ToKPiBuilder.cc.

References cMass.

Referenced by BPHWriteSpecificDecay::fill().

157 { return cMass; }
double BPHKx0ToKPiBuilder::getConstrSigma ( ) const

Definition at line 159 of file BPHKx0ToKPiBuilder.cc.

References cSigma.

Referenced by BPHWriteSpecificDecay::fill().

159 { return cSigma; }
double BPHKx0ToKPiBuilder::getEtaMax ( ) const

Definition at line 149 of file BPHKx0ToKPiBuilder.cc.

References etaSel, and BPHParticleEtaSelect::getEtaMax().

149 { return etaSel->getEtaMax(); }
BPHParticleEtaSelect * etaSel
double getEtaMax() const
get current eta max
double BPHKx0ToKPiBuilder::getMassMax ( ) const

Definition at line 153 of file BPHKx0ToKPiBuilder.cc.

References BPHMassCuts::getMassMax(), and massSel.

153 { return massSel->getMassMax(); }
double getMassMax() const
Definition: BPHMassCuts.h:55
BPHMassSelect * massSel
double BPHKx0ToKPiBuilder::getMassMin ( ) const

Definition at line 151 of file BPHKx0ToKPiBuilder.cc.

References BPHMassCuts::getMassMin(), and massSel.

151 { return massSel->getMassMin(); }
double getMassMin() const
get current mass cuts
Definition: BPHMassCuts.h:54
BPHMassSelect * massSel
double BPHKx0ToKPiBuilder::getProbMin ( ) const

Definition at line 155 of file BPHKx0ToKPiBuilder.cc.

References chi2Sel, and BPHChi2Select::getProbMin().

155 { return chi2Sel->getProbMin(); }
double getProbMin() const
get current prob min
Definition: BPHChi2Select.h:60
BPHChi2Select * chi2Sel
double BPHKx0ToKPiBuilder::getPtMin ( ) const

get current cuts

Definition at line 147 of file BPHKx0ToKPiBuilder.cc.

References BPHParticlePtSelect::getPtMin(), and ptSel.

147 { return ptSel->getPtMin(); }
double getPtMin() const
get current pt min
BPHParticlePtSelect * ptSel
BPHKx0ToKPiBuilder& BPHKx0ToKPiBuilder::operator= ( const BPHKx0ToKPiBuilder x)
privatedelete
void BPHKx0ToKPiBuilder::setConstr ( double  mass,
double  sigma 
)

Definition at line 139 of file BPHKx0ToKPiBuilder.cc.

References cMass, cSigma, EgHLTOffHistBins_cfi::mass, and updated.

Referenced by BPHWriteSpecificDecay::fill().

139  {
140  updated = false;
141  cMass = mass;
142  cSigma = sigma;
143  return;
144 }
void BPHKx0ToKPiBuilder::setEtaMax ( double  eta)

Definition at line 115 of file BPHKx0ToKPiBuilder.cc.

References etaSel, BPHParticleEtaSelect::setEtaMax(), and updated.

Referenced by BPHWriteSpecificDecay::fill().

115  {
116  updated = false;
117  etaSel->setEtaMax(eta);
118  return;
119 }
BPHParticleEtaSelect * etaSel
void setEtaMax(double eta)
set eta max
void BPHKx0ToKPiBuilder::setMassMax ( double  m)

Definition at line 127 of file BPHKx0ToKPiBuilder.cc.

References massSel, BPHMassCuts::setMassMax(), and updated.

Referenced by BPHWriteSpecificDecay::fill().

127  {
128  updated = false;
129  massSel->setMassMax(m);
130  return;
131 }
void setMassMax(double m)
Definition: BPHMassCuts.h:48
BPHMassSelect * massSel
void BPHKx0ToKPiBuilder::setMassMin ( double  m)

Definition at line 121 of file BPHKx0ToKPiBuilder.cc.

References massSel, BPHMassCuts::setMassMin(), and updated.

Referenced by BPHWriteSpecificDecay::fill().

121  {
122  updated = false;
123  massSel->setMassMin(m);
124  return;
125 }
void setMassMin(double m)
set mass cuts
Definition: BPHMassCuts.h:44
BPHMassSelect * massSel
void BPHKx0ToKPiBuilder::setProbMin ( double  p)

Definition at line 133 of file BPHKx0ToKPiBuilder.cc.

References chi2Sel, BPHChi2Select::setProbMin(), and updated.

Referenced by BPHWriteSpecificDecay::fill().

133  {
134  updated = false;
135  chi2Sel->setProbMin(p);
136  return;
137 }
void setProbMin(double p)
set prob min
Definition: BPHChi2Select.h:54
BPHChi2Select * chi2Sel
void BPHKx0ToKPiBuilder::setPtMin ( double  pt)

set cuts

Definition at line 109 of file BPHKx0ToKPiBuilder.cc.

References ptSel, BPHParticlePtSelect::setPtMin(), and updated.

Referenced by BPHWriteSpecificDecay::fill().

109  {
110  updated = false;
111  ptSel->setPtMin(pt);
112  return;
113 }
void setPtMin(double pt)
set pt min
BPHParticlePtSelect * ptSel

Member Data Documentation

BPHChi2Select* BPHKx0ToKPiBuilder::chi2Sel
private
double BPHKx0ToKPiBuilder::cMass
private

Definition at line 90 of file BPHKx0ToKPiBuilder.h.

Referenced by getConstrMass(), and setConstr().

double BPHKx0ToKPiBuilder::cSigma
private

Definition at line 91 of file BPHKx0ToKPiBuilder.h.

Referenced by getConstrSigma(), and setConstr().

BPHParticleEtaSelect* BPHKx0ToKPiBuilder::etaSel
private
const edm::EventSetup* BPHKx0ToKPiBuilder::evSetup
private

Definition at line 82 of file BPHKx0ToKPiBuilder.h.

Referenced by build().

std::string BPHKx0ToKPiBuilder::kaonName
private

Definition at line 79 of file BPHKx0ToKPiBuilder.h.

Referenced by build().

std::vector<BPHPlusMinusConstCandPtr> BPHKx0ToKPiBuilder::kx0List
private

Definition at line 94 of file BPHKx0ToKPiBuilder.h.

Referenced by build().

BPHMassSelect* BPHKx0ToKPiBuilder::massSel
private
const BPHRecoBuilder::BPHGenericCollection* BPHKx0ToKPiBuilder::nCollection
private

Definition at line 84 of file BPHKx0ToKPiBuilder.h.

Referenced by build().

const BPHRecoBuilder::BPHGenericCollection* BPHKx0ToKPiBuilder::pCollection
private

Definition at line 83 of file BPHKx0ToKPiBuilder.h.

Referenced by build().

std::string BPHKx0ToKPiBuilder::pionName
private

Definition at line 80 of file BPHKx0ToKPiBuilder.h.

Referenced by build().

BPHParticlePtSelect* BPHKx0ToKPiBuilder::ptSel
private
bool BPHKx0ToKPiBuilder::updated
private