44 posCollection(muPosCollection),
45 negCollection(muNegCollection) {
60 map<oniaType, OniaParameters>::iterator iter =
oniaPar.begin();
61 map<oniaType, OniaParameters>::iterator iend =
oniaPar.end();
62 while (iter != iend) {
85 map<oniaType, OniaParameters>::iterator iter =
oniaPar.begin();
86 map<oniaType, OniaParameters>::iterator iend =
oniaPar.end();
87 while (iter != iend) {
89 ptSel.include(*par.
ptSel);
90 etaSel.include(*par.
etaSel);
113 vector<BPHPlusMinusConstCandPtr>& list =
oniaList[
type];
116 vector<BPHPlusMinusConstCandPtr> lsub;
118 for (i = 0; i <
n; ++
i) {
122 if ((dSel !=
nullptr) && (!dSel->
accept(*muPos)))
124 if ((dSel !=
nullptr) && (!dSel->
accept(*muNeg)))
126 if ((mSel !=
nullptr) && (!mSel->
accept(*ptr)))
128 if ((vSel !=
nullptr) && (!vSel->
accept(*ptr)))
130 if ((kSel !=
nullptr) && (!kSel->
accept(*ptr)))
132 lsub.push_back(list[i]);
142 for (ic = 0; ic < nc; ++ic) {
235 map<oniaType, OniaParameters>::iterator iter =
oniaPar.begin();
236 map<oniaType, OniaParameters>::iterator iend =
oniaPar.end();
238 iter++->second.updated =
false;
266 vector<BPHPlusMinusConstCandPtr>& list =
oniaList[
type];
273 for (i = 0; i <
n; ++
i) {
static const double ups2MWidth
static std::vector< BPHPlusMinusConstCandPtr > build(const BPHRecoBuilder &builder, const std::string &nPos, const std::string &nNeg, double mass=-1, double msig=-1)
const BPHRecoBuilder::BPHGenericCollection * posCollection
void setMassMax(double m)
double getMassMax(oniaType type) const
void setMassMax(oniaType type, double m)
static const double ups3Mass
static const double ups2Mass
static const double jPsiMWidth
virtual bool accept(const BPHKinematicFit &cand) const =0
accept function
double getConstrMass(oniaType type) const
static const double muonMSigma
double getProbMin(oniaType type) const
BPHMuonEtaSelect * etaSel
bool accept(const BPHDecayVertex &cand) const override
select vertex
bool accept(const reco::Candidate &cand) const override
select muon
static const double jPsiMass
void setPtMin(double pt)
set pt min
virtual bool accept(const BPHDecayMomentum &cand) const =0
accept function
BPHPlusMinusConstCandPtr getOriginalCandidate(const BPHRecoCandidate &cand)
bool accept(const BPHDecayMomentum &cand) const override
select particle
void setProbMin(oniaType type, double p)
std::map< oniaType, std::vector< BPHPlusMinusConstCandPtr > > oniaList
double getMassMin(oniaType type) const
void setParameters(oniaType type, double ptMin, double etaMax, double massMin, double massMax, double probMin, double mass, double sigma)
void add(const std::string &name, const reco::Candidate *daug, double mass=-1.0, double sigma=-1.0) override
BPHGenericPtr< const BPHPlusMinusCandidate >::type BPHPlusMinusConstCandPtr
static const double ups1MWidth
double getPtMin() const
get current pt min
void setProbMin(double p)
set prob min
std::vector< BPHPlusMinusConstCandPtr > getList(oniaType type, BPHRecoSelect *dSel=nullptr, BPHMomentumSelect *mSel=nullptr, BPHVertexSelect *vSel=nullptr, BPHFitSelect *kSel=nullptr)
double getConstrSigma(oniaType type) const
void extractList(oniaType type)
virtual bool accept(const BPHDecayVertex &cand) const =0
accept function
BPHOniaToMuMuBuilder(const edm::EventSetup &es, const BPHRecoBuilder::BPHGenericCollection *muPosCollection, const BPHRecoBuilder::BPHGenericCollection *muNegCollection)
static const double phiMWidth
double getEtaMax(oniaType type) const
void setEtaMax(double eta)
set eta max
double getProbMin() const
get current prob min
virtual const reco::Candidate * originalReco(const reco::Candidate *daug) const
get the original particle from the clone
static const double phiMass
void setMassMin(double m)
set mass cuts
void add(const std::string &name, const BPHGenericCollection *collection, double mass=-1.0, double msig=-1.0)
double getMassMax() const
static const double psi2Mass
double getMassMin() const
get current mass cuts
static const double ups1Mass
virtual ~BPHOniaToMuMuBuilder()
const BPHRecoBuilder::BPHGenericCollection * negCollection
double getPtMin(oniaType type) const
get current cuts
static const double muonMass
void filter(const std::string &name, const BPHRecoSelect &sel) const
static const double ups3MWidth
std::vector< BPHPlusMinusConstCandPtr > build()
build resonance candidates
std::map< oniaType, OniaParameters > oniaPar
void setConstr(oniaType type, double mass, double sigma)
void setEtaMax(oniaType type, double eta)
std::vector< BPHPlusMinusConstCandPtr > fullList
virtual bool accept(const reco::Candidate &cand) const =0
bool accept(const reco::Candidate &cand) const override
select muon
void setConstraint(double mass, double sigma)
apply a mass constraint
double getEtaMax() const
get current eta max
virtual const reco::Candidate * getDaug(const std::string &name) const
void setMassMin(oniaType type, double m)
const edm::EventSetup * evSetup
static const double psi2MWidth
void setPtMin(oniaType type, double pt)
set cuts