58 const vector<const reco::Candidate*>& dL =
daughters();
65 if ((daug->
charge() * dL.front()->charge()) > 0) {
66 edm::LogPrint(
"TooManyParticles") <<
"BPHPlusMinusCandidate::add: " 67 <<
"already containing same sign particle, add rejected";
73 edm::LogPrint(
"TooManyParticles") <<
"BPHPlusMinusCandidate::add: " 74 <<
"complete, add rejected";
83 const BPHRecoBuilder& builder,
const string& nPos,
const string& nNeg,
double mass,
double msig) {
84 vector<BPHPlusMinusConstCandPtr>
cList;
88 ~ChargeSelect()
override =
default;
94 ChargeSelect tkPos(+1);
95 ChargeSelect tkNeg(-1);
96 builder.
filter(nPos, tkPos);
97 builder.
filter(nNeg, tkNeg);
98 fill<BPHPlusMinusCandidate>(
cList, builder,
mass, msig);
112 static const string msg =
"BPHPlusMinusCandidate incomplete, no composite available";
119 static const string msg =
"BPHPlusMinusCandidate incomplete, no cowboy/sailor classification";
124 static const string msg =
"BPHPlusMinusCandidate incomplete, no cowboy/sailor classification";
129 const vector<const reco::Candidate*>& dL =
daughters();
130 int idPos = (dL.front()->charge() > 0 ? 0 : 1);
constexpr double deltaPhi(double phi1, double phi2)
Analysis-level particle class.
std::vector< BPHRecoConstCandPtr > cList
const BPHEventSetupWrapper * getEventSetup() const
retrieve EventSetup
virtual void addK(const std::string &name, const reco::Candidate *daug, double mass=-1.0, double sigma=-1.0)
static bool chkSize(const T &cont, const std::string &msg)
static std::vector< BPHPlusMinusConstCandPtr > build(const BPHRecoBuilder &builder, const BuilderParameters &par)
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
const pat::CompositeCandidate & composite() const override
get a composite by the simple sum of simple particles
bool isCowboy() const
get cowboy/sailor classification
void add(const std::string &name, const reco::Candidate *daug, double mass=-1.0, double sigma=-1.0) override
void fill(BPHRecoCandidate *ptr, int level) const override
void filter(const std::string &name, const BPHRecoSelect &sel) const
virtual int charge() const =0
electric charge
BPHRecoCandidate * clone(int level=-1) const override
Log< level::Warning, true > LogPrint
BPHPlusMinusCandidate(const BPHEventSetupWrapper *es)
pat::CompositeCandidate compCand
virtual const std::vector< const reco::Candidate * > & daughters() const
virtual ParticleMass mass() const
virtual const pat::CompositeCandidate & composite() const
get a composite by the simple sum of simple particles