|
|
Go to the documentation of this file.
59 pCollection(posCollection),
60 nCollection(negCollection),
83 vector<Particle*> pList;
84 vector<Particle*> nList;
90 int nPos = pList.size();
91 int nNeg = nList.size();
99 for (iPos = 0; iPos < nPos; ++iPos) {
107 for (iNeg = 0; iNeg < nNeg; ++iNeg) {
117 const float tx =
px + nx;
118 const float ty =
py + ny;
119 const float tz = pz + nz;
120 const float ta = ((
p1 > 0.0) && (n2 > 0.0) ?
p1 + n2 : -1.0);
121 const float tb = ((
p2 > 0.0) && (n1 > 0.0) ?
p2 + n1 : -1.0);
122 float ma = (ta > 0 ? (ta * ta) - ((tx * tx) + (ty * ty) + (tz * tz)) : -1.0);
123 float mb = (tb > 0 ? (tb * tb) - ((tx * tx) + (ty * ty) + (tz * tz)) : -1.0);
128 if (((ma < mSqMin) || (ma > mSqMax)) && ((mb < mSqMin) || (mb > mSqMax)))
136 rcMass = rc->composite().mass();
144 rbMass = rb->composite().mass();
148 if ((rc.get() !=
nullptr) && ((rb.get() ==
nullptr) || (fabs(rcMass -
eMass) < fabs(rbMass -
eMass)))) {
166 for (iPos = 0; iPos < nPos; ++iPos)
168 for (iNeg = 0; iNeg < nNeg; ++iNeg)
208 vector<Particle*>& list) {
212 for (
i = 0;
i <
n; ++
i) {
214 int q =
cand.charge();
226 double p2 = (
px *
px) + (
py *
py) + (pz * pz);
229 if ((
e1 > 0.0) || (e2 > 0.0))
void addParticle(const BPHRecoBuilder::BPHGenericCollection *collection, int charge, std::vector< Particle * > &list)
double getMassMax() const
const reco::Track * track
BPHGenericPtr< BPHPlusMinusCandidate >::type BPHPlusMinusCandidatePtr
const reco::Candidate * cand
const BPHRecoBuilder::BPHGenericCollection * nCollection
void setTrk1EtaMax(double eta)
static const reco::Track * getTrack(const reco::Candidate &rc, const char *modeList="cfhbpmnigset", char *modeFlag=nullptr)
std::vector< BPHPlusMinusConstCandPtr > recList
~BPHDecayToTkpTknSymChargeBuilder() override
const edm::EventSetup * evSetup
static constexpr double eMass
Electron mass[GeV].
const BPHRecoBuilder::BPHGenericCollection * pCollection
void setTrk2EtaMax(double eta)
BPHDecayToTkpTknSymChargeBuilder(const edm::EventSetup &es, const std::string &daug1Name, double daug1Mass, double daug1Sigma, const std::string &daug2Name, double daug2Mass, double daug2Sigma, const BPHRecoBuilder::BPHGenericCollection *posCollection, const BPHRecoBuilder::BPHGenericCollection *negCollection, double expectedMass)
void setTrk2PtMin(double pt)
bool accept(const BPHDecayVertex &cand) const override
select vertex
math::XYZTLorentzVector LorentzVector
Lorentz vector.
std::vector< BPHPlusMinusConstCandPtr > build()
build candidates
static type create(Args &&... args)
void setTrk1PtMin(double pt)
set cuts
double getMassMin() const
get current cuts