44 posCollection(muPosCollection),
45 negCollection(muNegCollection) {
61 map<oniaType, OniaParameters>::iterator iter =
oniaPar.begin();
62 map<oniaType, OniaParameters>::iterator iend =
oniaPar.end();
63 while (iter != iend) {
76 double ptMin = 9.99e+30;
81 map<oniaType, OniaParameters>::iterator iter =
oniaPar.begin();
82 map<oniaType, OniaParameters>::iterator iend =
oniaPar.end();
83 while (iter != iend) {
110 tmpList.reserve(
recList.size());
119 if ((
s.ptSel->accept(*
p)) && (
s.ptSel->accept(*
n)) && (
s.etaSel->accept(*
p)) && (
s.etaSel->accept(*
n)) &&
120 (
s.massSel->accept(*
c)) && (
s.chi2Sel->accept(*
c))) {
126 tmpList.push_back(
c);
136 vector<BPHPlusMinusConstCandPtr>& list =
oniaList[
type];
139 vector<BPHPlusMinusConstCandPtr> lsub;
141 for (
i = 0;
i <
n; ++
i) {
145 if ((dSel !=
nullptr) && (!dSel->
accept(*muPos)))
147 if ((dSel !=
nullptr) && (!dSel->
accept(*muNeg)))
149 if ((mSel !=
nullptr) && (!mSel->
accept(*ptr)))
151 if ((vSel !=
nullptr) && (!vSel->
accept(*ptr)))
153 if ((kSel !=
nullptr) && (!kSel->
accept(*ptr)))
155 lsub.push_back(list[
i]);
165 for (ic = 0; ic < nc; ++ic) {
258 map<oniaType, OniaParameters>::iterator iter =
oniaPar.begin();
259 map<oniaType, OniaParameters>::iterator iend =
oniaPar.end();
261 iter++->second.outdated =
true;
287 vector<BPHPlusMinusConstCandPtr>& list =
oniaList[
type];
294 for (
i = 0;
i <
n; ++
i) {
double getProbMin() const
get current prob min
static const double ups2MWidth
virtual const reco::Candidate * originalReco(const reco::Candidate *daug) const
get the original particle from the clone
double getMassMin() const
get current mass cuts
const BPHRecoBuilder::BPHGenericCollection * posCollection
void setMassMax(double m)
double getPtMin() const
get current pt min
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
static const double muonMSigma
~BPHOniaToMuMuBuilder() override
BPHMuonEtaSelect * etaSel
bool accept(const BPHDecayVertex &cand) const override
select vertex
static std::vector< BPHPlusMinusConstCandPtr > build(const BPHRecoBuilder &builder, const BuilderParameters &par)
bool accept(const reco::Candidate &cand) const override
select muon
virtual std::vector< prod_ptr > build()
build candidates
static const double jPsiMass
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
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
const BPHEventSetupWrapper * evSetup
void setProbMin(oniaType type, double p)
double getConstrSigma(oniaType type) const
std::map< oniaType, std::vector< BPHPlusMinusConstCandPtr > > oniaList
void setParameters(oniaType type, double ptMin, double etaMax, double massMin, double massMax, double probMin, double mass, double sigma)
double getEtaMax(oniaType type) const
virtual const reco::Candidate * getDaug(const std::string &name) const
BPHGenericPtr< const BPHPlusMinusCandidate >::type BPHPlusMinusConstCandPtr
static const double ups1MWidth
void setProbMin(double p)
set prob min
double getProbMin() const
double getMassMin() const
get current cuts
std::vector< BPHPlusMinusConstCandPtr > getList(oniaType type, BPHRecoSelect *dSel=nullptr, BPHMomentumSelect *mSel=nullptr, BPHVertexSelect *vSel=nullptr, BPHFitSelect *kSel=nullptr)
double getPtMin(oniaType type) const
get current cuts
void extractList(oniaType type)
void filter(const std::string &name, const BPHRecoSelect &sel) const
virtual bool accept(const BPHDecayVertex &cand) const =0
accept function
static const double phiMWidth
void setEtaMax(double eta)
set eta max
double getMassMax() const
double getConstrMass(oniaType type) const
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)
static const double psi2Mass
static const double ups1Mass
const BPHRecoBuilder::BPHGenericCollection * negCollection
BPHOniaToMuMuBuilder(const BPHEventSetupWrapper &es, const BPHRecoBuilder::BPHGenericCollection *muPosCollection, const BPHRecoBuilder::BPHGenericCollection *muNegCollection)
static const double muonMass
common object to interface with edm collections
static const double ups3MWidth
void fillRecList() override
build resonance candidates
std::map< oniaType, OniaParameters > oniaPar
void setConstr(oniaType type, double mass, double sigma)
void setEtaMax(oniaType type, double eta)
std::vector< prod_ptr > recList
virtual bool accept(const reco::Candidate &cand) const =0
bool accept(const reco::Candidate &cand) const override
select muon
void setMassMin(oniaType type, double m)
double getMassMax() const
static const double psi2MWidth
void setPtMin(oniaType type, double pt)
set cuts
double getEtaMax() const
get current eta max