Go to the documentation of this file.
51 pCollection(posCollection),
52 nCollection(negCollection),
73 vector<Particle*> pList;
74 vector<Particle*> nList;
80 int nPos = pList.size();
81 int nNeg = nList.size();
89 for (iPos = 0; iPos < nPos; ++iPos) {
96 for (iNeg = 0; iNeg < nNeg; ++iNeg) {
99 if (fabs(
nt->dz() -
pt->dz()) > 1.0)
105 const float tx =
px + nx;
106 const float ty =
py + ny;
107 const float tz = pz + nz;
108 const float te = pe + ne;
109 const float m2 = (te * te) - ((tx * tx) + (ty * ty) + (tz * tz));
117 double mass = rc->composite().mass();
128 for (iPos = 0; iPos < nPos; ++iPos)
130 for (iNeg = 0; iNeg < nNeg; ++iNeg)
158 vector<Particle*>& list) {
162 for (
i = 0;
i <
n; ++
i) {
164 int q =
cand.charge();
const reco::Track * track
double getMassMax() const
const reco::Candidate * cand
BPHGenericPtr< BPHPlusMinusCandidate >::type BPHPlusMinusCandidatePtr
void addParticle(const BPHRecoBuilder::BPHGenericCollection *collection, int charge, std::vector< Particle * > &list)
static const reco::Track * getTrack(const reco::Candidate &rc, const char *modeList="cfhbpmnigset", char *modeFlag=nullptr)
const BPHRecoBuilder::BPHGenericCollection * pCollection
BPHDecayToChargedXXbarBuilder(const edm::EventSetup &es, const std::string &dPosName, const std::string &dNegName, double daugMass, double daugSigma, const BPHRecoBuilder::BPHGenericCollection *posCollection, const BPHRecoBuilder::BPHGenericCollection *negCollection)
const edm::EventSetup * evSetup
std::vector< BPHPlusMinusConstCandPtr > build()
build Phi candidates
~BPHDecayToChargedXXbarBuilder() override
const BPHRecoBuilder::BPHGenericCollection * nCollection
void setPtMin(double pt)
set cuts
std::vector< BPHPlusMinusConstCandPtr > recList
bool accept(const BPHDecayVertex &cand) const override
select vertex
math::XYZTLorentzVector LorentzVector
Lorentz vector.
static type create(Args &&... args)
double getMassMin() const
get current cuts
void setEtaMax(double eta)