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 | Static Protected Member Functions
BPHRecoCandidate Class Reference

#include <BPHRecoCandidate.h>

Inheritance diagram for BPHRecoCandidate:
BPHKinematicFit BPHDecayVertex BPHDecayMomentum BPHPlusMinusCandidate

Public Member Functions

virtual void add (const std::string &name, const reco::Candidate *daug, double mass=-1.0, double sigma=-1.0)
 
virtual void add (const std::string &name, const reco::Candidate *daug, const std::string &searchList, double mass=-1.0, double sigma=-1.0)
 
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
 
virtual BPHRecoCandidateclone (int level=-1) const
 
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
pat::CompositeCandidate
composite () const
 get a composite by the simple sum of simple particles More...
 
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 ()
 

Static Public Member Functions

static std::vector
< BPHRecoConstCandPtr
build (const BPHRecoBuilder &builder, double mass=-1, double msig=-1)
 

Protected Member Functions

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)
 
void setNotUpdated () const override
 
- 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
 

Static Protected Member Functions

template<class T >
static void fill (std::vector< typename BPHGenericPtr< const T >::type > &cList, const BPHRecoBuilder &builder, double mass=-1, double msig=-1)
 

Detailed Description

Description: High level class for reconstructed decay candidates:

Author
Paolo Ronchese INFN Padova

Definition at line 46 of file BPHRecoCandidate.h.

Constructor & Destructor Documentation

BPHRecoCandidate::BPHRecoCandidate ( const edm::EventSetup es)

Constructorcreate an "empty" object to add daughters later (see BPHDecayMomentum)

Definition at line 30 of file BPHRecoCandidate.cc.

Referenced by clone().

30 : BPHDecayVertex(es) {}
BPHDecayVertex(const BPHDecayVertex &x)=delete
BPHRecoCandidate::BPHRecoCandidate ( const edm::EventSetup es,
const BPHRecoBuilder::ComponentSet compSet 
)

Definition at line 32 of file BPHRecoCandidate.cc.

33  : BPHDecayMomentum(compList.daugMap, compList.compMap), BPHDecayVertex(this, es), BPHKinematicFit(this) {}
std::vector< Component > compList
BPHDecayVertex(const BPHDecayVertex &x)=delete
BPHRecoCandidate::BPHRecoCandidate ( const BPHRecoCandidate x)
delete
BPHRecoCandidate::~BPHRecoCandidate ( )
override

Destructor

Definition at line 38 of file BPHRecoCandidate.cc.

38 {}

Member Function Documentation

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

Operationsadd a simple particle giving it a name particles are cloned, eventually specifying a different mass and a sigma

Reimplemented in BPHPlusMinusCandidate.

Definition at line 69 of file BPHRecoCandidate.h.

Referenced by BPHX3872ToJPsiPiPiBuilder::build(), fill(), and counter.Counter::register().

69  {
70  addK(name, daug, "cfhpmig", mass, sigma);
71  return;
72  }
virtual void addK(const std::string &name, const reco::Candidate *daug, double mass=-1.0, double sigma=-1.0)
virtual ParticleMass mass() const
virtual void BPHRecoCandidate::add ( const std::string &  name,
const reco::Candidate daug,
const std::string &  searchList,
double  mass = -1.0,
double  sigma = -1.0 
)
inlinevirtual

Reimplemented in BPHPlusMinusCandidate.

Definition at line 73 of file BPHRecoCandidate.h.

References BPHKinematicFit::addK(), and BPHKinematicFit::mass().

Referenced by counter.Counter::register().

77  {
78  addK(name, daug, searchList, mass, sigma);
79  return;
80  }
virtual void addK(const std::string &name, const reco::Candidate *daug, double mass=-1.0, double sigma=-1.0)
virtual ParticleMass mass() const
virtual void BPHRecoCandidate::add ( const std::string &  name,
const BPHRecoConstCandPtr comp 
)
inlinevirtual

Definition at line 81 of file BPHRecoCandidate.h.

References BPHKinematicFit::addK().

Referenced by counter.Counter::register().

81  {
82  addK(name, comp);
83  return;
84  }
virtual void addK(const std::string &name, const reco::Candidate *daug, double mass=-1.0, double sigma=-1.0)
vector< BPHRecoConstCandPtr > BPHRecoCandidate::build ( const BPHRecoBuilder builder,
double  mass = -1,
double  msig = -1 
)
static

look for candidates starting from particle collections as specified in the BPHRecoBuilder

Definition at line 43 of file BPHRecoCandidate.cc.

References BPHDecayMomentum::cList, and BPHKinematicFit::mass().

Referenced by BPHBdToKxMuMuBuilder::build(), BPHDecayToResResBuilder::build(), BPHDecayToResFlyingBuilder::build(), and BPHDecayToResTrkBuilder::build().

43  {
44  // create a list of pointers to BPHRecoCandidate and fill it
45  // with particle combinations selected by the BPHRecoBuilder
46  vector<BPHRecoConstCandPtr> cList;
47  fill<BPHRecoCandidate>(cList, builder, mass, msig);
48  return cList;
49 }
std::vector< BPHRecoConstCandPtr > cList
virtual ParticleMass mass() const
BPHRecoCandidate * BPHRecoCandidate::clone ( int  level = -1) const
virtual

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

Reimplemented in BPHPlusMinusCandidate.

Definition at line 53 of file BPHRecoCandidate.cc.

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

Referenced by BPHKinematicFit::addParticles(), and BPHDecayToResFlyingBuilder::build().

53  {
55  fill(ptr, level);
56  return ptr;
57 }
const edm::EventSetup * getEventSetup() const
retrieve EventSetup
BPHRecoCandidate(const edm::EventSetup *es)
void fill(BPHRecoCandidate *ptr, int level) const override
tuple level
Definition: testEve_cfg.py:47
void BPHRecoCandidate::fill ( BPHRecoCandidate ptr,
int  level 
) const
overrideprotectedvirtual

Implements BPHDecayMomentum.

Definition at line 61 of file BPHRecoCandidate.cc.

References add(), c, BPHDecayMomentum::compNames(), BPHKinematicFit::constrMass(), BPHKinematicFit::constrSigma(), ztail::d, BPHDecayMomentum::daugNames(), BPHDecayMomentum::getComp(), BPHDecayMomentum::getDaug(), BPHKinematicFit::getIndependentFit(), BPHKinematicFit::getMassSigma(), BPHDecayVertex::getTrackSearchList(), gpuClustering::id, reco::Candidate::mass(), dqmiodumpmetadata::n, BPHDecayMomentum::nComp, BPHDecayMomentum::originalReco(), BPHKinematicFit::setConstraint(), and BPHKinematicFit::setIndependentFit().

Referenced by BPHPlusMinusCandidate::clone(), and clone().

61  {
63  const std::vector<std::string>& nDaug = daugNames();
64  int id;
65  int nd = nDaug.size();
66  for (id = 0; id < nd; ++id) {
67  const string& n = nDaug[id];
68  const reco::Candidate* d = getDaug(n);
69  ptr->add(n, originalReco(d), getTrackSearchList(d), d->mass(), getMassSigma(d));
70  }
71  const std::vector<std::string>& nComp = compNames();
72  int ic;
73  int nc = nComp.size();
74  for (ic = 0; ic < nc; ++ic) {
75  const string& n = nComp[ic];
77  if (level)
78  ptr->add(n, BPHRecoConstCandPtr(c->clone(level - 1)));
79  else
80  ptr->add(n, c);
81  if (getIndependentFit(n))
82  ptr->setIndependentFit(n);
83  }
84  return;
85 }
const edm::EventSetup & c
uint16_t *__restrict__ id
BPHGenericPtr< const BPHRecoCandidate >::type BPHRecoConstCandPtr
virtual double mass() const =0
mass
const std::string & getTrackSearchList(const reco::Candidate *cand) const
retrieve track search list
tuple d
Definition: ztail.py:151
double constrSigma() const
double constrMass() const
retrieve the constraint
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
virtual void add(const std::string &name, const reco::Candidate *daug, double mass=-1.0, double sigma=-1.0)
virtual const reco::Candidate * originalReco(const reco::Candidate *daug) const
get the original particle from the clone
virtual BPHRecoConstCandPtr getComp(const std::string &name) const
virtual const std::vector< std::string > & compNames() const
void setConstraint(double mass, double sigma)
apply a mass constraint
tuple level
Definition: testEve_cfg.py:47
virtual const std::vector< std::string > & daugNames() const
virtual const reco::Candidate * getDaug(const std::string &name) const
bool getIndependentFit(const std::string &name) const
retrieve independent fit flag
std::vector< std::string > nComp
double getMassSigma(const reco::Candidate *cand) const
retrieve particle mass sigma
template<class T >
void BPHRecoCandidate::fill ( std::vector< typename BPHGenericPtr< const T >::type > &  cList,
const BPHRecoBuilder builder,
double  mass = -1,
double  msig = -1 
)
staticprotected

Definition at line 109 of file BPHRecoCandidate.h.

References BPHRecoBuilder::accept(), BPHRecoBuilder::build(), BPHDecayMomentum::cList, BPHRecoBuilder::eventSetup(), mps_fire::i, and dqmiodumpmetadata::n.

112  {
113  // create particle combinations
114  const std::vector<BPHRecoBuilder::ComponentSet> dll = builder.build();
115  // loop over combinations and create reconstructed particles
116  int i;
117  int n = dll.size();
118  cList.reserve(n);
119  T* rc = nullptr;
120  for (i = 0; i < n; ++i) {
121  // create reconstructed particle
122  rc = new T(builder.eventSetup(), dll[i]);
123  // apply mass constraint, if requested
124  if (mass > 0)
125  rc->setConstraint(mass, msig);
126  // apply post selection
127  if (builder.accept(*rc))
128  cList.push_back(typename BPHGenericPtr<const T>::type(rc));
129  else
130  delete rc;
131  }
132  return;
133 }
std::vector< BPHRecoConstCandPtr > cList
std::shared_ptr< T > type
Definition: BPHGenericPtr.h:8
std::vector< ComponentSet > build() const
build a set of combinations of particles fulfilling the selections
virtual ParticleMass mass() const
bool accept(const BPHRecoCandidate &cand) const
const edm::EventSetup * eventSetup() const
get the EventSetup set in the constructor
long double T
BPHRecoCandidate& BPHRecoCandidate::operator= ( const BPHRecoCandidate x)
delete