CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
BPHBdToJPsiKxBuilder Class Reference

#include <BPHBdToJPsiKxBuilder.h>

Public Member Functions

 BPHBdToJPsiKxBuilder (const edm::EventSetup &es, const std::vector< BPHPlusMinusConstCandPtr > &jpsiCollection, const std::vector< BPHPlusMinusConstCandPtr > &kx0Collection)
 
std::vector< BPHRecoConstCandPtrbuild ()
 build Bs candidates More...
 
bool getConstr () const
 
double getJPsiMassMax () const
 
double getJPsiMassMin () const
 get current cuts More...
 
double getKxMassMax () const
 
double getKxMassMin () const
 
double getMassFitMax () const
 
double getMassFitMin () const
 
double getMassMax () const
 
double getMassMin () const
 
double getProbMin () const
 
void setConstr (bool flag)
 
void setJPsiMassMax (double m)
 
void setJPsiMassMin (double m)
 set cuts More...
 
void setKxMassMax (double m)
 
void setKxMassMin (double m)
 
void setMassFitMax (double m)
 
void setMassFitMin (double m)
 
void setMassMax (double m)
 
void setMassMin (double m)
 
void setProbMin (double p)
 
virtual ~BPHBdToJPsiKxBuilder ()
 

Private Member Functions

 BPHBdToJPsiKxBuilder (const BPHBdToJPsiKxBuilder &x)=delete
 
BPHBdToJPsiKxBuilderoperator= (const BPHBdToJPsiKxBuilder &x)=delete
 

Private Attributes

std::vector< BPHRecoConstCandPtrbdList
 
BPHChi2Selectchi2Sel
 
const edm::EventSetupevSetup
 
const std::vector< BPHPlusMinusConstCandPtr > * jCollection
 
std::string jPsiName
 
BPHMassSelectjpsiSel
 
const std::vector< BPHPlusMinusConstCandPtr > * kCollection
 
std::string kx0Name
 
bool massConstr
 
BPHMassSelectmassSel
 
BPHMassFitSelectmFitSel
 
float minPDiff
 
BPHMassSelectmkx0Sel
 
bool updated
 

Detailed Description

Description: Class to build B0 to JPsi K*0 candidates

Author
Paolo Ronchese INFN Padova

Definition at line 39 of file BPHBdToJPsiKxBuilder.h.

Constructor & Destructor Documentation

BPHBdToJPsiKxBuilder::BPHBdToJPsiKxBuilder ( const edm::EventSetup es,
const std::vector< BPHPlusMinusConstCandPtr > &  jpsiCollection,
const std::vector< BPHPlusMinusConstCandPtr > &  kx0Collection 
)

Constructor

Definition at line 36 of file BPHBdToJPsiKxBuilder.cc.

References chi2Sel, BPHParticleMasses::jPsiMass, BPHParticleMasses::jPsiMWidth, jPsiName, jpsiSel, massConstr, massSel, mFitSel, minPDiff, mkx0Sel, and updated.

39  : jPsiName("JPsi"), kx0Name("Kx0"), evSetup(&es), jCollection(&jpsiCollection), kCollection(&kx0Collection) {
40  jpsiSel = new BPHMassSelect(2.80, 3.40);
41  mkx0Sel = new BPHMassSelect(0.80, 1.00);
42  massSel = new BPHMassSelect(3.50, 8.00);
43  chi2Sel = new BPHChi2Select(0.02);
45  massConstr = true;
46  minPDiff = 1.0e-4;
47  updated = false;
48 }
static const double jPsiMWidth
const std::vector< BPHPlusMinusConstCandPtr > * jCollection
static const double jPsiMass
const edm::EventSetup * evSetup
BPHMassFitSelect * mFitSel
const std::vector< BPHPlusMinusConstCandPtr > * kCollection
BPHBdToJPsiKxBuilder::~BPHBdToJPsiKxBuilder ( )
virtual

Destructor

Definition at line 53 of file BPHBdToJPsiKxBuilder.cc.

References chi2Sel, jpsiSel, massSel, mFitSel, and mkx0Sel.

53  {
54  delete jpsiSel;
55  delete mkx0Sel;
56  delete massSel;
57  delete chi2Sel;
58  delete mFitSel;
59 }
BPHMassFitSelect * mFitSel
BPHBdToJPsiKxBuilder::BPHBdToJPsiKxBuilder ( const BPHBdToJPsiKxBuilder x)
privatedelete

Member Function Documentation

vector< BPHRecoConstCandPtr > BPHBdToJPsiKxBuilder::build ( )

build Bs candidates

Operations

Definition at line 64 of file BPHBdToJPsiKxBuilder.cc.

References BPHRecoBuilder::add(), bdList, BPHRecoCandidate::build(), chi2Sel, evSetup, BPHRecoBuilder::filter(), jCollection, jPsiName, jpsiSel, kCollection, kx0Name, massConstr, massSel, mFitSel, minPDiff, mkx0Sel, BPHRecoBuilder::setMinPDiffererence(), and updated.

Referenced by BPHWriteSpecificDecay::fill().

64  {
65  if (updated)
66  return bdList;
67 
68  BPHRecoBuilder bBd(*evSetup);
69  bBd.setMinPDiffererence(minPDiff);
70  bBd.add(jPsiName, *jCollection);
71  bBd.add(kx0Name, *kCollection);
72  bBd.filter(jPsiName, *jpsiSel);
73  bBd.filter(kx0Name, *mkx0Sel);
74 
75  bBd.filter(*massSel);
76  bBd.filter(*chi2Sel);
77  if (massConstr)
78  bBd.filter(*mFitSel);
79 
81  //
82  // Apply kinematic constraint on the JPsi mass.
83  // The operation is already performed when apply the mass selection,
84  // so it's not repeated. The following code is left as example
85  // for similar operations
86  //
87  // int iBd;
88  // int nBd = ( massConstr ? bdList.size() : 0 );
89  // for ( iBd = 0; iBd < nBd; ++iBd ) {
90  // BPHRecoCandidate* cptr( const_cast<BPHRecoCandidate*>(
91  // bdList[iBd].get() ) );
92  // BPHRecoConstCandPtr jpsi = cptr->getComp( jPsiName );
93  // double jMass = jpsi->constrMass();
94  // if ( jMass < 0 ) continue;
95  // double sigma = jpsi->constrSigma();
96  // cptr->kinematicTree( jPsiName, jMass, sigma );
97  // }
98  updated = true;
99 
100  return bdList;
101 }
const std::vector< BPHPlusMinusConstCandPtr > * jCollection
const edm::EventSetup * evSetup
std::vector< BPHRecoConstCandPtr > bdList
static std::vector< BPHRecoConstCandPtr > build(const BPHRecoBuilder &builder, double mass=-1, double msig=-1)
BPHMassFitSelect * mFitSel
const std::vector< BPHPlusMinusConstCandPtr > * kCollection
bool BPHBdToJPsiKxBuilder::getConstr ( ) const

Definition at line 183 of file BPHBdToJPsiKxBuilder.cc.

References massConstr.

183 { return massConstr; }
double BPHBdToJPsiKxBuilder::getJPsiMassMax ( ) const

Definition at line 167 of file BPHBdToJPsiKxBuilder.cc.

References BPHMassCuts::getMassMax(), and jpsiSel.

167 { return jpsiSel->getMassMax(); }
double getMassMax() const
Definition: BPHMassCuts.h:55
double BPHBdToJPsiKxBuilder::getJPsiMassMin ( ) const

get current cuts

Definition at line 165 of file BPHBdToJPsiKxBuilder.cc.

References BPHMassCuts::getMassMin(), and jpsiSel.

165 { return jpsiSel->getMassMin(); }
double getMassMin() const
get current mass cuts
Definition: BPHMassCuts.h:54
double BPHBdToJPsiKxBuilder::getKxMassMax ( ) const

Definition at line 171 of file BPHBdToJPsiKxBuilder.cc.

References BPHMassCuts::getMassMax(), and mkx0Sel.

171 { return mkx0Sel->getMassMax(); }
double getMassMax() const
Definition: BPHMassCuts.h:55
double BPHBdToJPsiKxBuilder::getKxMassMin ( ) const

Definition at line 169 of file BPHBdToJPsiKxBuilder.cc.

References BPHMassCuts::getMassMin(), and mkx0Sel.

169 { return mkx0Sel->getMassMin(); }
double getMassMin() const
get current mass cuts
Definition: BPHMassCuts.h:54
double BPHBdToJPsiKxBuilder::getMassFitMax ( ) const

Definition at line 181 of file BPHBdToJPsiKxBuilder.cc.

References BPHMassCuts::getMassMax(), and mFitSel.

181 { return mFitSel->getMassMax(); }
double getMassMax() const
Definition: BPHMassCuts.h:55
BPHMassFitSelect * mFitSel
double BPHBdToJPsiKxBuilder::getMassFitMin ( ) const

Definition at line 179 of file BPHBdToJPsiKxBuilder.cc.

References BPHMassCuts::getMassMin(), and mFitSel.

179 { return mFitSel->getMassMin(); }
double getMassMin() const
get current mass cuts
Definition: BPHMassCuts.h:54
BPHMassFitSelect * mFitSel
double BPHBdToJPsiKxBuilder::getMassMax ( ) const

Definition at line 175 of file BPHBdToJPsiKxBuilder.cc.

References BPHMassCuts::getMassMax(), and massSel.

175 { return massSel->getMassMax(); }
double getMassMax() const
Definition: BPHMassCuts.h:55
double BPHBdToJPsiKxBuilder::getMassMin ( ) const

Definition at line 173 of file BPHBdToJPsiKxBuilder.cc.

References BPHMassCuts::getMassMin(), and massSel.

173 { return massSel->getMassMin(); }
double getMassMin() const
get current mass cuts
Definition: BPHMassCuts.h:54
double BPHBdToJPsiKxBuilder::getProbMin ( ) const

Definition at line 177 of file BPHBdToJPsiKxBuilder.cc.

References chi2Sel, and BPHChi2Select::getProbMin().

177 { return chi2Sel->getProbMin(); }
double getProbMin() const
get current prob min
Definition: BPHChi2Select.h:60
BPHBdToJPsiKxBuilder& BPHBdToJPsiKxBuilder::operator= ( const BPHBdToJPsiKxBuilder x)
privatedelete
void BPHBdToJPsiKxBuilder::setConstr ( bool  flag)

Definition at line 158 of file BPHBdToJPsiKxBuilder.cc.

References RemoveAddSevLevel::flag, massConstr, and updated.

Referenced by BPHWriteSpecificDecay::fill().

158  {
159  updated = false;
160  massConstr = flag;
161  return;
162 }
void BPHBdToJPsiKxBuilder::setJPsiMassMax ( double  m)

Definition at line 110 of file BPHBdToJPsiKxBuilder.cc.

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

Referenced by BPHWriteSpecificDecay::fill().

110  {
111  updated = false;
112  jpsiSel->setMassMax(m);
113  return;
114 }
void setMassMax(double m)
Definition: BPHMassCuts.h:48
void BPHBdToJPsiKxBuilder::setJPsiMassMin ( double  m)

set cuts

Definition at line 104 of file BPHBdToJPsiKxBuilder.cc.

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

Referenced by BPHWriteSpecificDecay::fill().

104  {
105  updated = false;
106  jpsiSel->setMassMin(m);
107  return;
108 }
void setMassMin(double m)
set mass cuts
Definition: BPHMassCuts.h:44
void BPHBdToJPsiKxBuilder::setKxMassMax ( double  m)

Definition at line 122 of file BPHBdToJPsiKxBuilder.cc.

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

Referenced by BPHWriteSpecificDecay::fill().

122  {
123  updated = false;
124  mkx0Sel->setMassMax(m);
125  return;
126 }
void setMassMax(double m)
Definition: BPHMassCuts.h:48
void BPHBdToJPsiKxBuilder::setKxMassMin ( double  m)

Definition at line 116 of file BPHBdToJPsiKxBuilder.cc.

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

Referenced by BPHWriteSpecificDecay::fill().

116  {
117  updated = false;
118  mkx0Sel->setMassMin(m);
119  return;
120 }
void setMassMin(double m)
set mass cuts
Definition: BPHMassCuts.h:44
void BPHBdToJPsiKxBuilder::setMassFitMax ( double  m)

Definition at line 152 of file BPHBdToJPsiKxBuilder.cc.

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

Referenced by BPHWriteSpecificDecay::fill().

152  {
153  updated = false;
154  mFitSel->setMassMax(m);
155  return;
156 }
void setMassMax(double m)
Definition: BPHMassCuts.h:48
BPHMassFitSelect * mFitSel
void BPHBdToJPsiKxBuilder::setMassFitMin ( double  m)

Definition at line 146 of file BPHBdToJPsiKxBuilder.cc.

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

Referenced by BPHWriteSpecificDecay::fill().

146  {
147  updated = false;
148  mFitSel->setMassMin(m);
149  return;
150 }
void setMassMin(double m)
set mass cuts
Definition: BPHMassCuts.h:44
BPHMassFitSelect * mFitSel
void BPHBdToJPsiKxBuilder::setMassMax ( double  m)

Definition at line 134 of file BPHBdToJPsiKxBuilder.cc.

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

Referenced by BPHWriteSpecificDecay::fill().

134  {
135  updated = false;
136  massSel->setMassMax(m);
137  return;
138 }
void setMassMax(double m)
Definition: BPHMassCuts.h:48
void BPHBdToJPsiKxBuilder::setMassMin ( double  m)

Definition at line 128 of file BPHBdToJPsiKxBuilder.cc.

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

Referenced by BPHWriteSpecificDecay::fill().

128  {
129  updated = false;
130  massSel->setMassMin(m);
131  return;
132 }
void setMassMin(double m)
set mass cuts
Definition: BPHMassCuts.h:44
void BPHBdToJPsiKxBuilder::setProbMin ( double  p)

Definition at line 140 of file BPHBdToJPsiKxBuilder.cc.

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

Referenced by BPHWriteSpecificDecay::fill().

140  {
141  updated = false;
142  chi2Sel->setProbMin(p);
143  return;
144 }
void setProbMin(double p)
set prob min
Definition: BPHChi2Select.h:54

Member Data Documentation

std::vector<BPHRecoConstCandPtr> BPHBdToJPsiKxBuilder::bdList
private

Definition at line 103 of file BPHBdToJPsiKxBuilder.h.

Referenced by build().

BPHChi2Select* BPHBdToJPsiKxBuilder::chi2Sel
private
const edm::EventSetup* BPHBdToJPsiKxBuilder::evSetup
private

Definition at line 88 of file BPHBdToJPsiKxBuilder.h.

Referenced by build().

const std::vector<BPHPlusMinusConstCandPtr>* BPHBdToJPsiKxBuilder::jCollection
private

Definition at line 89 of file BPHBdToJPsiKxBuilder.h.

Referenced by build().

std::string BPHBdToJPsiKxBuilder::jPsiName
private

Definition at line 85 of file BPHBdToJPsiKxBuilder.h.

Referenced by BPHBdToJPsiKxBuilder(), and build().

BPHMassSelect* BPHBdToJPsiKxBuilder::jpsiSel
private
const std::vector<BPHPlusMinusConstCandPtr>* BPHBdToJPsiKxBuilder::kCollection
private

Definition at line 90 of file BPHBdToJPsiKxBuilder.h.

Referenced by build().

std::string BPHBdToJPsiKxBuilder::kx0Name
private

Definition at line 86 of file BPHBdToJPsiKxBuilder.h.

Referenced by build().

bool BPHBdToJPsiKxBuilder::massConstr
private

Definition at line 99 of file BPHBdToJPsiKxBuilder.h.

Referenced by BPHBdToJPsiKxBuilder(), build(), getConstr(), and setConstr().

BPHMassSelect* BPHBdToJPsiKxBuilder::massSel
private
BPHMassFitSelect* BPHBdToJPsiKxBuilder::mFitSel
private
float BPHBdToJPsiKxBuilder::minPDiff
private

Definition at line 100 of file BPHBdToJPsiKxBuilder.h.

Referenced by BPHBdToJPsiKxBuilder(), and build().

BPHMassSelect* BPHBdToJPsiKxBuilder::mkx0Sel
private
bool BPHBdToJPsiKxBuilder::updated
private