64 const vector<const reco::Candidate*>& dL =
daughters();
67 edm::LogPrint(
"TooManyParticles") <<
"BPHPlusMinusCandidate::add: " 68 <<
"complete, add rejected";
71 if ((daug->
charge() * dL.front()->charge()) > 0) {
72 edm::LogPrint(
"TooManyParticles") <<
"BPHPlusMinusCandidate::add: " 73 <<
"already containing same sign particle, add rejected";
84 const BPHRecoBuilder& builder,
const string& nPos,
const string& nNeg,
double mass,
double msig) {
85 vector<BPHPlusMinusConstCandPtr>
cList;
88 ChargeSelect(
int c) :
charge(c) {}
89 ~ChargeSelect()
override {}
95 ChargeSelect tkPos(+1);
96 ChargeSelect tkNeg(-1);
97 builder.
filter(nPos, tkPos);
98 builder.
filter(nNeg, tkNeg);
99 fill<BPHPlusMinusCandidate>(
cList, builder,
mass, msig);
105 static const string msg =
"BPHPlusMinusCandidate incomplete, no composite available";
112 static const string msg =
"BPHPlusMinusCandidate incomplete, no cowboy/sailor classification";
117 static const string msg =
"BPHPlusMinusCandidate incomplete, no cowboy/sailor classification";
122 const vector<const reco::Candidate*>& dL =
daughters();
123 int idPos = (dL.front()->charge() > 0 ? 0 : 1);
constexpr double deltaPhi(double phi1, double phi2)
Analysis-level particle class.
static std::vector< BPHPlusMinusConstCandPtr > build(const BPHRecoBuilder &builder, const std::string &nPos, const std::string &nNeg, double mass=-1, double msig=-1)
BPHPlusMinusCandidate(const edm::EventSetup *es)
std::vector< BPHRecoConstCandPtr > cList
virtual void addK(const std::string &name, const reco::Candidate *daug, double mass=-1.0, double sigma=-1.0)
~BPHPlusMinusCandidate() override
static bool chkSize(const T &cont, const std::string &msg)
virtual ParticleMass mass() const
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
virtual const std::vector< const reco::Candidate * > & daughters() const
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
bool isCowboy() const
get cowboy/sailor classification
std::vector< Component > compList
virtual const pat::CompositeCandidate & composite() const
get a composite by the simple sum of simple particles
virtual int charge() const =0
electric charge
void filter(const std::string &name, const BPHRecoSelect &sel) const
pat::CompositeCandidate compCand