CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Friends
BPHPlusMinusCandidate Class Reference

#include <BPHPlusMinusCandidate.h>

Inheritance diagram for BPHPlusMinusCandidate:
BPHRecoCandidate BPHPlusMinusVertex BPHKinematicFit BPHDecayVertex BPHDecayVertex BPHDecayMomentum BPHDecayMomentum

Public Member Functions

void add (const std::string &name, const reco::Candidate *daug, double mass=-1.0, double sigma=-1.0) override
 
void add (const std::string &name, const reco::Candidate *daug, const std::string &searchList, double mass=-1.0, double sigma=-1.0) override
 
 BPHPlusMinusCandidate (const edm::EventSetup *es)
 
 BPHPlusMinusCandidate (const BPHPlusMinusCandidate &x)=delete
 
BPHRecoCandidateclone (int level=-1) const override
 
const pat::CompositeCandidatecomposite () const override
 get a composite by the simple sum of simple particles More...
 
bool isCowboy () const
 get cowboy/sailor classification More...
 
bool isSailor () const
 
BPHPlusMinusCandidateoperator= (const BPHPlusMinusCandidate &x)=delete
 
 ~BPHPlusMinusCandidate () override
 
- Public Member Functions inherited from BPHRecoCandidate
virtual void add (const std::string &name, const BPHRecoConstCandPtr &comp)
 
 BPHRecoCandidate (const edm::EventSetup *es)
 
 BPHRecoCandidate (const edm::EventSetup *es, const BPHRecoBuilder::ComponentSet &compSet)
 
 BPHRecoCandidate (const BPHRecoCandidate &x)=delete
 
BPHRecoCandidateoperator= (const BPHRecoCandidate &x)=delete
 
 ~BPHRecoCandidate () override
 
- Public Member Functions inherited from BPHKinematicFit
 BPHKinematicFit (const BPHKinematicFit &x)=delete
 
double constrMass () const
 retrieve the constraint More...
 
double constrSigma () const
 
virtual const
RefCountedKinematicVertex 
currentDecayVertex () const
 
virtual const
RefCountedKinematicParticle 
currentParticle () const
 get current particle More...
 
bool getIndependentFit (const std::string &name) const
 retrieve independent fit flag More...
 
double getMassSigma (const reco::Candidate *cand) const
 retrieve particle mass sigma More...
 
virtual bool isEmpty () const
 get fit status More...
 
virtual bool isValidFit () const
 
virtual const
RefCountedKinematicTree
kinematicTree () const
 perform the kinematic fit and get the result More...
 
virtual const
RefCountedKinematicTree
kinematicTree (const std::string &name, double mass, double sigma) const
 
virtual const
RefCountedKinematicTree
kinematicTree (const std::string &name, double mass) const
 
virtual const
RefCountedKinematicTree
kinematicTree (const std::string &name) const
 
virtual const
RefCountedKinematicTree
kinematicTree (const std::string &name, KinematicConstraint *kc) const
 
virtual const
RefCountedKinematicTree
kinematicTree (const std::string &name, MultiTrackKinematicConstraint *kc) const
 
virtual const std::vector
< RefCountedKinematicParticle > & 
kinParticles () const
 get kinematic particles More...
 
virtual std::vector
< RefCountedKinematicParticle
kinParticles (const std::vector< std::string > &names) const
 
virtual ParticleMass mass () const
 
BPHKinematicFitoperator= (const BPHKinematicFit &x)=delete
 
virtual const
math::XYZTLorentzVector
p4 () const
 compute total momentum after the fit More...
 
virtual void resetKinematicFit () const
 reset the kinematic fit More...
 
void setConstraint (double mass, double sigma)
 apply a mass constraint More...
 
void setIndependentFit (const std::string &name, bool flag=true, double mass=-1.0, double sigma=-1.0)
 set a decaying daughter as an unique particle fitted independently More...
 
virtual const
RefCountedKinematicVertex 
topDecayVertex () const
 
virtual const
RefCountedKinematicParticle 
topParticle () const
 get top particle More...
 
 ~BPHKinematicFit () override
 
- Public Member Functions inherited from BPHDecayVertex
 BPHDecayVertex (const BPHDecayVertex &x)=delete
 
const edm::EventSetupgetEventSetup () const
 retrieve EventSetup More...
 
const reco::TrackgetTrack (const reco::Candidate *cand) const
 get Track for a daughter More...
 
const std::string & getTrackSearchList (const reco::Candidate *cand) const
 retrieve track search list More...
 
reco::TransientTrackgetTransientTrack (const reco::Candidate *cand) const
 get TransientTrack for a daughter More...
 
BPHDecayVertexoperator= (const BPHDecayVertex &x)=delete
 
const std::vector< const
reco::Track * > & 
tracks () const
 get list of Tracks More...
 
const std::vector
< reco::TransientTrack > & 
transientTracks () const
 get list of TransientTracks More...
 
virtual bool validTracks () const
 check for valid reconstructed vertex More...
 
virtual bool validVertex () const
 
virtual const reco::Vertexvertex (VertexFitter< 5 > *fitter=nullptr, const reco::BeamSpot *bs=nullptr, const GlobalPoint *priorPos=nullptr, const GlobalError *priorError=nullptr) const
 get reconstructed vertex More...
 
 ~BPHDecayVertex () override
 
- Public Member Functions inherited from BPHDecayMomentum
 BPHDecayMomentum (const BPHDecayMomentum &x)=delete
 
virtual const std::vector
< std::string > & 
compNames () const
 
virtual const std::vector
< BPHRecoConstCandPtr > & 
daughComp () const
 
virtual const std::vector
< const reco::Candidate * > & 
daughFull () const
 
virtual const std::vector
< const reco::Candidate * > & 
daughters () const
 
virtual const std::vector
< std::string > & 
daugNames () const
 
virtual BPHRecoConstCandPtr getComp (const std::string &name) const
 
virtual const reco::CandidategetDaug (const std::string &name) const
 
BPHDecayMomentumoperator= (const BPHDecayMomentum &x)=delete
 
virtual const reco::CandidateoriginalReco (const reco::Candidate *daug) const
 get the original particle from the clone More...
 
virtual ~BPHDecayMomentum ()
 
- Public Member Functions inherited from BPHPlusMinusVertex
 BPHPlusMinusVertex (const BPHPlusMinusVertex &x)=delete
 
virtual const
ClosestApproachInRPhi
cAppInRPhi () const
 compute distance of closest approach More...
 
BPHPlusMinusVertexoperator= (const BPHPlusMinusVertex &x)=delete
 
 ~BPHPlusMinusVertex () override
 

Static Public Member Functions

static std::vector
< BPHPlusMinusConstCandPtr
build (const BPHRecoBuilder &builder, const std::string &nPos, const std::string &nNeg, double mass=-1, double msig=-1)
 
- Static Public Member Functions inherited from BPHRecoCandidate
static std::vector
< BPHRecoConstCandPtr
build (const BPHRecoBuilder &builder, double mass=-1, double msig=-1)
 

Protected Member Functions

void setNotUpdated () const override
 
- Protected Member Functions inherited from BPHRecoCandidate
void fill (BPHRecoCandidate *ptr, int level) const override
 
- Protected Member Functions inherited from BPHKinematicFit
virtual void addK (const std::string &name, const reco::Candidate *daug, double mass=-1.0, double sigma=-1.0)
 
virtual void addK (const std::string &name, const reco::Candidate *daug, const std::string &searchList, double mass=-1.0, double sigma=-1.0)
 
virtual void addK (const std::string &name, const BPHRecoConstCandPtr &comp)
 add a previously reconstructed particle giving it a name More...
 
 BPHKinematicFit ()
 
 BPHKinematicFit (const BPHKinematicFit *ptr)
 
- Protected Member Functions inherited from BPHDecayVertex
virtual void addV (const std::string &name, const reco::Candidate *daug, const std::string &searchList, double mass)
 
virtual void addV (const std::string &name, const BPHRecoConstCandPtr &comp)
 add a previously reconstructed particle giving it a name More...
 
 BPHDecayVertex (const edm::EventSetup *es)
 
 BPHDecayVertex (const BPHDecayVertex *ptr, const edm::EventSetup *es)
 
- Protected Member Functions inherited from BPHDecayMomentum
virtual void addP (const std::string &name, const reco::Candidate *daug, double mass=-1.0)
 
virtual void addP (const std::string &name, const BPHRecoConstCandPtr &comp)
 add a previously reconstructed particle giving it a name More...
 
 BPHDecayMomentum ()
 
 BPHDecayMomentum (const std::map< std::string, Component > &daugMap)
 
 BPHDecayMomentum (const std::map< std::string, Component > &daugMap, const std::map< std::string, BPHRecoConstCandPtr > compMap)
 
const std::vector< Component > & componentList () const
 
- Protected Member Functions inherited from BPHPlusMinusVertex
 BPHPlusMinusVertex (const edm::EventSetup *es)
 
bool chkSize (const std::string &msg) const
 
void setNotUpdated () const override
 

Private Member Functions

 BPHPlusMinusCandidate (const edm::EventSetup *es, const BPHRecoBuilder::ComponentSet &compList)
 
bool phiDiff () const
 

Friends

class BPHRecoCandidate
 

Additional Inherited Members

- Static Protected Member Functions inherited from BPHRecoCandidate
template<class T >
static void fill (std::vector< typename BPHGenericPtr< const T >::type > &cList, const BPHRecoBuilder &builder, double mass=-1, double msig=-1)
 
- Static Protected Member Functions inherited from BPHPlusMinusVertex
template<class T >
static bool chkName (const T &cont, const std::string &name, const std::string &msg)
 
template<class T >
static bool chkSize (const T &cont, const std::string &msg)
 

Detailed Description

Description: class for reconstructed decay candidates to opposite charge particle pairs

Author
Paolo Ronchese INFN Padova

Definition at line 32 of file BPHPlusMinusCandidate.h.

Constructor & Destructor Documentation

BPHPlusMinusCandidate::BPHPlusMinusCandidate ( const edm::EventSetup es)

Constructor

Definition at line 37 of file BPHPlusMinusCandidate.cc.

Referenced by clone().

BPHDecayVertex(const BPHDecayVertex &x)=delete
BPHPlusMinusVertex(const BPHPlusMinusVertex &x)=delete
BPHPlusMinusCandidate::BPHPlusMinusCandidate ( const BPHPlusMinusCandidate x)
delete
BPHPlusMinusCandidate::~BPHPlusMinusCandidate ( )
override

Destructor

Definition at line 50 of file BPHPlusMinusCandidate.cc.

50 {}
BPHPlusMinusCandidate::BPHPlusMinusCandidate ( const edm::EventSetup es,
const BPHRecoBuilder::ComponentSet compList 
)
private

Definition at line 40 of file BPHPlusMinusCandidate.cc.

41  : BPHDecayMomentum(compList.daugMap, compList.compMap),
42  BPHDecayVertex(this, es),
43  BPHKinematicFit(this),
45  BPHRecoCandidate(es, compList) {}
std::map< std::string, BPHDecayMomentum::Component > daugMap
BPHDecayVertex(const BPHDecayVertex &x)=delete
BPHPlusMinusVertex(const BPHPlusMinusVertex &x)=delete
std::map< std::string, BPHRecoConstCandPtr > compMap

Member Function Documentation

void BPHPlusMinusCandidate::add ( const std::string &  name,
const reco::Candidate daug,
double  mass = -1.0,
double  sigma = -1.0 
)
overridevirtual

Operationsadd a simple particle giving it a name particles are cloned, eventually specifying a different mass particles can be added only up to two particles with opposite charge

Reimplemented from BPHRecoCandidate.

Referenced by BPHDecayToV0DiffMassBuilder::buildCandidate(), BPHOniaToMuMuBuilder::extractList(), and counter.Counter::register().

void BPHPlusMinusCandidate::add ( const std::string &  name,
const reco::Candidate daug,
const std::string &  searchList,
double  mass = -1.0,
double  sigma = -1.0 
)
overridevirtual

Reimplemented from BPHRecoCandidate.

Referenced by counter.Counter::register().

vector< BPHPlusMinusConstCandPtr > BPHPlusMinusCandidate::build ( const BPHRecoBuilder builder,
const std::string &  nPos,
const std::string &  nNeg,
double  mass = -1,
double  msig = -1 
)
static

look for candidates starting from particle collections as specified in the BPHRecoBuilder, with given names for positive and negative particle charge selection is applied inside

Definition at line 86 of file BPHPlusMinusCandidate.cc.

References accept(), c, RecoTauCleanerPlugins::charge, reco::Candidate::charge(), BPHDecayMomentum::cList, BPHRecoBuilder::filter(), and BPHKinematicFit::mass().

Referenced by BPHOniaToMuMuBuilder::build().

87  {
88  vector<BPHPlusMinusConstCandPtr> cList;
89  class ChargeSelect : public BPHRecoSelect {
90  public:
91  ChargeSelect(int c) : charge(c) {}
92  ~ChargeSelect() override {}
93  bool accept(const reco::Candidate& cand) const override { return ((charge * cand.charge()) > 0); }
94 
95  private:
96  int charge;
97  };
98  ChargeSelect tkPos(+1);
99  ChargeSelect tkNeg(-1);
100  builder.filter(nPos, tkPos);
101  builder.filter(nNeg, tkNeg);
102  fill<BPHPlusMinusCandidate>(cList, builder, mass, msig);
103  return cList;
104 }
std::vector< BPHRecoConstCandPtr > cList
const edm::EventSetup & c
virtual ParticleMass mass() const
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
Definition: TopDQMHelpers.h:31
virtual int charge() const =0
electric charge
void filter(const std::string &name, const BPHRecoSelect &sel) const
BPHRecoCandidate * BPHPlusMinusCandidate::clone ( int  level = -1) const
overridevirtual

clone object, cloning daughters as well up to required depth level = -1 to clone all levels

Reimplemented from BPHRecoCandidate.

Definition at line 108 of file BPHPlusMinusCandidate.cc.

References BPHPlusMinusCandidate(), BPHRecoCandidate::fill(), and BPHDecayVertex::getEventSetup().

108  {
110  fill(ptr, level);
111  return ptr;
112 }
BPHPlusMinusCandidate(const edm::EventSetup *es)
const edm::EventSetup * getEventSetup() const
retrieve EventSetup
void fill(BPHRecoCandidate *ptr, int level) const override
tuple level
Definition: testEve_cfg.py:47
const pat::CompositeCandidate & BPHPlusMinusCandidate::composite ( ) const
overridevirtual

get a composite by the simple sum of simple particles

Reimplemented from BPHDecayMomentum.

Definition at line 114 of file BPHPlusMinusCandidate.cc.

References BPHPlusMinusVertex::chkSize(), BPHDecayMomentum::compCand, BPHDecayMomentum::composite(), and mps_check::msg.

Referenced by BPHWriteSpecificDecay::fill().

114  {
115  static const pat::CompositeCandidate compCand;
116  static const string msg = "BPHPlusMinusCandidate incomplete, no composite available";
117  if (!chkSize(msg))
118  return compCand;
120 }
Analysis-level particle class.
static bool chkSize(const T &cont, const std::string &msg)
virtual const pat::CompositeCandidate & composite() const
get a composite by the simple sum of simple particles
tuple msg
Definition: mps_check.py:285
pat::CompositeCandidate compCand
bool BPHPlusMinusCandidate::isCowboy ( ) const

get cowboy/sailor classification

Definition at line 122 of file BPHPlusMinusCandidate.cc.

References BPHPlusMinusVertex::chkSize(), mps_check::msg, and phiDiff().

Referenced by BPHWriteSpecificDecay::write().

122  {
123  static const string msg = "BPHPlusMinusCandidate incomplete, no cowboy/sailor classification";
124  return (chkSize(msg) && phiDiff());
125 }
static bool chkSize(const T &cont, const std::string &msg)
tuple msg
Definition: mps_check.py:285
bool BPHPlusMinusCandidate::isSailor ( ) const

Definition at line 127 of file BPHPlusMinusCandidate.cc.

References BPHPlusMinusVertex::chkSize(), mps_check::msg, and phiDiff().

127  {
128  static const string msg = "BPHPlusMinusCandidate incomplete, no cowboy/sailor classification";
129  return (chkSize(msg) && !phiDiff());
130 }
static bool chkSize(const T &cont, const std::string &msg)
tuple msg
Definition: mps_check.py:285
BPHPlusMinusCandidate& BPHPlusMinusCandidate::operator= ( const BPHPlusMinusCandidate x)
delete
bool BPHPlusMinusCandidate::phiDiff ( ) const
private

Definition at line 132 of file BPHPlusMinusCandidate.cc.

References BPHDecayMomentum::daughters(), reco::deltaPhi(), and phi.

Referenced by isCowboy(), and isSailor().

132  {
133  const vector<const reco::Candidate*>& dL = daughters();
134  int idPos = (dL.front()->charge() > 0 ? 0 : 1);
135  return reco::deltaPhi(dL[idPos]->phi(), dL[1 - idPos]->phi()) > 0;
136 }
constexpr double deltaPhi(double phi1, double phi2)
Definition: deltaPhi.h:26
virtual const std::vector< const reco::Candidate * > & daughters() const
void BPHPlusMinusCandidate::setNotUpdated ( ) const
inlineoverrideprotectedvirtual

Reimplemented from BPHDecayVertex.

Definition at line 83 of file BPHPlusMinusCandidate.h.

References BPHPlusMinusVertex::setNotUpdated(), and BPHKinematicFit::setNotUpdated().

83  {
86  }
void setNotUpdated() const override
void setNotUpdated() const override

Friends And Related Function Documentation

friend class BPHRecoCandidate
friend

Definition at line 33 of file BPHPlusMinusCandidate.h.