46 posCollection( muPosCollection ),
47 negCollection( muNegCollection ) {
69 map< oniaType, OniaParameters >::iterator iter =
oniaPar.begin();
70 map< oniaType, OniaParameters >::iterator iend =
oniaPar.end();
71 while ( iter != iend ) {
92 map< oniaType, OniaParameters >::iterator iter =
oniaPar.begin();
93 map< oniaType, OniaParameters >::iterator iend =
oniaPar.end();
94 while ( iter != iend ) {
131 vector<BPHPlusMinusConstCandPtr> lsub;
133 for ( i = 0; i <
n; ++
i ) {
139 if ( ( dSel != 0 ) && ( !dSel->
accept( *muPos ) ) )
continue;
140 if ( ( dSel != 0 ) && ( !dSel->
accept( *muNeg ) ) )
continue;
141 if ( ( mSel != 0 ) && ( !mSel->
accept( *ptr ) ) )
continue;
142 if ( ( vSel != 0 ) && ( !vSel->
accept( *ptr ) ) )
continue;
143 if ( ( kSel != 0 ) && ( !kSel->
accept( *ptr ) ) )
continue;
144 lsub.push_back( list[i] );
156 for ( ic = 0; ic < nc; ++ ic ) {
260 map< oniaType, OniaParameters >::iterator iter =
oniaPar.begin();
261 map< oniaType, OniaParameters >::iterator iend =
oniaPar.end();
262 while ( iter != iend ) iter++->second.updated =
false;
270 double massMin,
double massMax,
294 for ( i = 0; i <
n; ++
i ) {
301 if ( !par. ptSel->accept( *muPos ) )
continue;
302 if ( !par. etaSel->accept( *muPos ) )
continue;
303 if ( !par. ptSel->accept( *muNeg ) )
continue;
304 if ( !par. etaSel->accept( *muNeg ) )
continue;
307 np->
add(
"MuPos", muPos, ptr->getTrackSearchList( mcPos ),
309 np->
add(
"MuNeg", muNeg, ptr->getTrackSearchList( mcNeg ),
311 if ( par.
mass > 0.0 )
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
double getConstrMass(oniaType type) const
static const double muonMSigma
double getProbMin(oniaType type) const
BPHMuonEtaSelect * etaSel
static const double jPsiMass
virtual bool accept(const BPHDecayMomentum &cand) const
select particle
void setPtMin(double pt)
set pt min
virtual bool accept(const BPHDecayMomentum &cand) const =0
accept function
BPHPlusMinusConstCandPtr getOriginalCandidate(const BPHRecoCandidate &cand)
std::map< oniaType, std::vector< BPHPlusMinusConstCandPtr > > oniaList
virtual bool accept(const BPHDecayVertex &cand) const =0
accept function
void setProbMin(oniaType type, double p)
double getMassMin(oniaType type) const
void setParameters(oniaType type, double ptMin, double etaMax, double massMin, double massMax, double probMin, double mass, double sigma)
virtual bool accept(const reco::Candidate &cand) const
BPHGenericPtr< const BPHPlusMinusCandidate >::type BPHPlusMinusConstCandPtr
static const double ups1MWidth
double getPtMin() const
get current pt min
void setProbMin(double p)
set prob min
double getConstrSigma(oniaType type) const
void extractList(oniaType type)
BPHOniaToMuMuBuilder(const edm::EventSetup &es, const BPHRecoBuilder::BPHGenericCollection *muPosCollection, const BPHRecoBuilder::BPHGenericCollection *muNegCollection)
static const double phiMWidth
virtual void add(const std::string &name, const reco::Candidate *daug, double mass=-1.0, double sigma=-1.0)
double getEtaMax(oniaType type) const
virtual bool accept(const BPHDecayVertex &cand) const
select vertex
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
virtual bool accept(const BPHKinematicFit &cand) const =0
accept function
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
void setConstr(oniaType type, double mass, double sigma)
void setEtaMax(oniaType type, double eta)
void include(T &s, bool m=true)
include selection
std::map< oniaType, OniaParameters > oniaPar
std::vector< BPHPlusMinusConstCandPtr > fullList
std::vector< BPHPlusMinusConstCandPtr > getList(oniaType type, BPHRecoSelect *dSel=0, BPHMomentumSelect *mSel=0, BPHVertexSelect *vSel=0, BPHFitSelect *kSel=0)
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
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger list("!*","!HLTx*"if it matches 2 triggers or more) will accept the event if all the matching triggers are FAIL.It will reject the event if any of the triggers are PASS or EXCEPTION(this matches the behavior of"!*"before the partial wildcard feature was incorporated).Triggers which are in the READY state are completely ignored.(READY should never be returned since the trigger paths have been run