CMS 3D CMS Logo

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, const std::string &searchList, double mass=-1.0, double sigma=-1.0) override
 
void add (const std::string &name, const reco::Candidate *daug, double mass=-1.0, double sigma=-1.0) override
 
 BPHPlusMinusCandidate (const BPHPlusMinusCandidate &x)=delete
 
 BPHPlusMinusCandidate (const edm::EventSetup *es)
 
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 BPHRecoCandidate &x)=delete
 
 BPHRecoCandidate (const edm::EventSetup *es)
 
 BPHRecoCandidate (const edm::EventSetup *es, const BPHRecoBuilder::ComponentSet &compSet)
 
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 RefCountedKinematicTreekinematicTree () const
 perform the kinematic fit and get the result More...
 
virtual const RefCountedKinematicTreekinematicTree (const std::string &name) const
 
virtual const RefCountedKinematicTreekinematicTree (const std::string &name, double mass) const
 
virtual const RefCountedKinematicTreekinematicTree (const std::string &name, double mass, double sigma) const
 
virtual const RefCountedKinematicTreekinematicTree (const std::string &name, KinematicConstraint *kc) const
 
virtual const RefCountedKinematicTreekinematicTree (const std::string &name, MultiTrackKinematicConstraint *kc) const
 
virtual const std::vector< RefCountedKinematicParticle > & kinParticles () const
 get kinematic particles More...
 
virtual std::vector< RefCountedKinematicParticlekinParticles (const std::vector< std::string > &names) const
 
virtual ParticleMass mass () const
 
BPHKinematicFitoperator= (const BPHKinematicFit &x)=delete
 
virtual const math::XYZTLorentzVectorp4 () 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 ClosestApproachInRPhicAppInRPhi () const
 compute distance of closest approach More...
 
BPHPlusMinusVertexoperator= (const BPHPlusMinusVertex &x)=delete
 
 ~BPHPlusMinusVertex () override
 

Static Public Member Functions

static std::vector< BPHPlusMinusConstCandPtrbuild (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< BPHRecoConstCandPtrbuild (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 BPHRecoConstCandPtr &comp)
 add a previously reconstructed particle giving it a name More...
 
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 reco::Candidate *daug, double mass=-1.0, double sigma=-1.0)
 
 BPHKinematicFit ()
 
 BPHKinematicFit (const BPHKinematicFit *ptr)
 
- Protected Member Functions inherited from BPHDecayVertex
virtual void addV (const std::string &name, const BPHRecoConstCandPtr &comp)
 add a previously reconstructed particle giving it a name More...
 
virtual void addV (const std::string &name, const reco::Candidate *daug, const std::string &searchList, double mass)
 
 BPHDecayVertex (const BPHDecayVertex *ptr, const edm::EventSetup *es)
 
 BPHDecayVertex (const edm::EventSetup *es)
 
- Protected Member Functions inherited from BPHDecayMomentum
virtual void addP (const std::string &name, const BPHRecoConstCandPtr &comp)
 add a previously reconstructed particle giving it a name More...
 
virtual void addP (const std::string &name, const reco::Candidate *daug, double mass=-1.0)
 
 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() [1/3]

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

Constructor

Definition at line 37 of file BPHPlusMinusCandidate.cc.

Referenced by clone().

◆ BPHPlusMinusCandidate() [2/3]

BPHPlusMinusCandidate::BPHPlusMinusCandidate ( const BPHPlusMinusCandidate x)
delete

◆ ~BPHPlusMinusCandidate()

BPHPlusMinusCandidate::~BPHPlusMinusCandidate ( )
override

Destructor

Definition at line 50 of file BPHPlusMinusCandidate.cc.

50 {}

◆ BPHPlusMinusCandidate() [3/3]

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),

Member Function Documentation

◆ add() [1/2]

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().

◆ add() [2/2]

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

Operations add 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(), and counter.Counter::register().

◆ build()

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.

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 }

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

Referenced by BPHOniaToMuMuBuilder::build().

◆ clone()

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.

108  {
110  fill(ptr, level);
111  return ptr;
112 }

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

◆ composite()

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.

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 }

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

Referenced by BPHWriteSpecificDecay::fill().

◆ isCowboy()

bool BPHPlusMinusCandidate::isCowboy ( ) const

get cowboy/sailor classification

Definition at line 122 of file BPHPlusMinusCandidate.cc.

122  {
123  static const string msg = "BPHPlusMinusCandidate incomplete, no cowboy/sailor classification";
124  return (chkSize(msg) && phiDiff());
125 }

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

Referenced by BPHWriteSpecificDecay::write().

◆ isSailor()

bool BPHPlusMinusCandidate::isSailor ( ) const

Definition at line 127 of file BPHPlusMinusCandidate.cc.

127  {
128  static const string msg = "BPHPlusMinusCandidate incomplete, no cowboy/sailor classification";
129  return (chkSize(msg) && !phiDiff());
130 }

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

◆ operator=()

BPHPlusMinusCandidate& BPHPlusMinusCandidate::operator= ( const BPHPlusMinusCandidate x)
delete

◆ phiDiff()

bool BPHPlusMinusCandidate::phiDiff ( ) const
private

Definition at line 132 of file BPHPlusMinusCandidate.cc.

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 }

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

Referenced by isCowboy(), and isSailor().

◆ setNotUpdated()

void BPHPlusMinusCandidate::setNotUpdated ( ) const
inlineoverrideprotectedvirtual

Friends And Related Function Documentation

◆ BPHRecoCandidate

friend class BPHRecoCandidate
friend

Definition at line 33 of file BPHPlusMinusCandidate.h.

personalPlayback.level
level
Definition: personalPlayback.py:22
BPHRecoBuilder::filter
void filter(const std::string &name, const BPHRecoSelect &sel) const
BPHRecoSelect
Definition: BPHRecoSelect.h:35
BPHPlusMinusVertex::setNotUpdated
void setNotUpdated() const override
Definition: BPHPlusMinusVertex.cc:52
BPHRecoCandidate::fill
void fill(BPHRecoCandidate *ptr, int level) const override
Definition: BPHRecoCandidate.cc:61
reco::deltaPhi
constexpr double deltaPhi(double phi1, double phi2)
Definition: deltaPhi.h:26
BPHDecayMomentum::composite
virtual const pat::CompositeCandidate & composite() const
get a composite by the simple sum of simple particles
Definition: BPHDecayMomentum.cc:63
pat::CompositeCandidate
Analysis-level particle class.
Definition: CompositeCandidate.h:31
BPHPlusMinusCandidate::BPHRecoCandidate
friend class BPHRecoCandidate
Definition: BPHPlusMinusCandidate.h:33
BPHDecayVertex::getEventSetup
const edm::EventSetup * getEventSetup() const
retrieve EventSetup
Definition: BPHDecayVertex.cc:152
BPHPlusMinusCandidate
Definition: BPHPlusMinusCandidate.h:32
mps_check.msg
tuple msg
Definition: mps_check.py:285
BPHPlusMinusVertex::BPHPlusMinusVertex
BPHPlusMinusVertex(const BPHPlusMinusVertex &x)=delete
BPHDecayVertex::BPHDecayVertex
BPHDecayVertex(const BPHDecayVertex &x)=delete
BPHDecayMomentum::compList
std::vector< Component > compList
Definition: BPHDecayMomentum.h:134
accept
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
Definition: TopDQMHelpers.h:31
BPHKinematicFit::BPHKinematicFit
BPHKinematicFit()
Definition: BPHKinematicFit.cc:39
BPHDecayMomentum::BPHDecayMomentum
BPHDecayMomentum()
Definition: BPHDecayMomentum.cc:32
BPHPlusMinusCandidate::BPHPlusMinusCandidate
BPHPlusMinusCandidate(const edm::EventSetup *es)
Definition: BPHPlusMinusCandidate.cc:37
ALCARECOTkAlJpsiMuMu_cff.charge
charge
Definition: ALCARECOTkAlJpsiMuMu_cff.py:47
cand
Definition: decayParser.h:32
BPHKinematicFit::mass
virtual ParticleMass mass() const
Definition: BPHKinematicFit.cc:297
reco::Candidate
Definition: Candidate.h:27
BPHPlusMinusCandidate::phiDiff
bool phiDiff() const
Definition: BPHPlusMinusCandidate.cc:132
DDAxes::phi
BPHKinematicFit::setNotUpdated
void setNotUpdated() const override
Definition: BPHKinematicFit.cc:354
BPHDecayMomentum::daughters
virtual const std::vector< const reco::Candidate * > & daughters() const
Definition: BPHDecayMomentum.cc:73
c
auto & c
Definition: CAHitNtupletGeneratorKernelsImpl.h:46
BPHPlusMinusVertex::chkSize
static bool chkSize(const T &cont, const std::string &msg)
Definition: BPHPlusMinusVertex.h:83
BPHDecayMomentum::cList
std::vector< BPHRecoConstCandPtr > cList
Definition: BPHDecayMomentum.h:143
BPHDecayMomentum::compCand
pat::CompositeCandidate compCand
Definition: BPHDecayMomentum.h:156