CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Static Protected Member Functions | Private Member Functions | Private Attributes
BPHPlusMinusVertex Class Reference

#include <BPHPlusMinusVertex.h>

Inheritance diagram for BPHPlusMinusVertex:
BPHDecayVertex BPHDecayMomentum BPHPlusMinusCandidate

Public Member Functions

virtual const ClosestApproachInRPhicAppInRPhi () const
 compute distance of closest approach More...
 
 ~BPHPlusMinusVertex () override
 
- Public Member Functions inherited from BPHDecayVertex
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...
 
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 () const
 get reconstructed vertex More...
 
 ~BPHDecayVertex () override
 
- Public Member Functions inherited from BPHDecayMomentum
virtual const std::vector< std::string > & compNames () const
 
virtual const pat::CompositeCandidatecomposite () 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
 
virtual const reco::CandidateoriginalReco (const reco::Candidate *daug) const
 get the original particle from the clone More...
 
virtual ~BPHDecayMomentum ()
 

Protected Member Functions

 BPHPlusMinusVertex (const edm::EventSetup *es)
 
bool chkSize (const std::string &msg) const
 
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 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)
 

Private Member Functions

virtual void computeApp () const
 

Private Attributes

ClosestApproachInRPhiinRPhi
 
bool oldA
 

Detailed Description

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

Author
Paolo Ronchese INFN Padova

Definition at line 34 of file BPHPlusMinusVertex.h.

Constructor & Destructor Documentation

BPHPlusMinusVertex::~BPHPlusMinusVertex ( )
override

Constructor is protected this object can exist only as part of a derived classDestructor

Definition at line 42 of file BPHPlusMinusVertex.cc.

References inRPhi.

42  {
43  delete inRPhi;
44 }
ClosestApproachInRPhi * inRPhi
BPHPlusMinusVertex::BPHPlusMinusVertex ( const edm::EventSetup es)
protected

Definition at line 33 of file BPHPlusMinusVertex.cc.

33  :
34  BPHDecayVertex( es ),
35  oldA( true ),
36  inRPhi( nullptr ) {
37 }
BPHDecayVertex(const edm::EventSetup *es)
ClosestApproachInRPhi * inRPhi

Member Function Documentation

const ClosestApproachInRPhi & BPHPlusMinusVertex::cAppInRPhi ( ) const
virtual

compute distance of closest approach

Operations

Definition at line 49 of file BPHPlusMinusVertex.cc.

References chkSize(), computeApp(), BPHDecayMomentum::daughters(), inRPhi, mps_check::msg, and oldA.

49  {
50  if ( oldA ) computeApp();
51  if ( inRPhi == nullptr ) {
52  static const ClosestApproachInRPhi ca;
53  return ca;
54  }
55  return *inRPhi;
56 }
virtual void computeApp() const
ClosestApproachInRPhi * inRPhi
template<class T >
bool BPHPlusMinusVertex::chkName ( const T cont,
const std::string &  name,
const std::string &  msg 
)
staticprotected

Definition at line 82 of file BPHPlusMinusVertex.h.

84  {
85  if ( cont.find( name ) != cont.end() ) return true;
86  edm::LogPrint( "ParticleNotFound" ) << msg << ", " << name << " not found";
87  return false;
88 }
tuple msg
Definition: mps_check.py:279
template<class T >
bool BPHPlusMinusVertex::chkSize ( const T cont,
const std::string &  msg 
)
staticprotected

Definition at line 92 of file BPHPlusMinusVertex.h.

References gen::n.

Referenced by cAppInRPhi(), BPHPlusMinusCandidate::composite(), computeApp(), BPHPlusMinusCandidate::isCowboy(), and BPHPlusMinusCandidate::isSailor().

93  {
94  int n = cont.size();
95  if ( n == 2 ) return true;
96  edm::LogPrint( "WrongDataSize" ) << msg << ", size = " << n;
97  return false;
98 }
tuple msg
Definition: mps_check.py:279
bool BPHPlusMinusVertex::chkSize ( const std::string &  msg) const
protected
void BPHPlusMinusVertex::computeApp ( ) const
privatevirtual

Definition at line 71 of file BPHPlusMinusVertex.cc.

References ClosestApproachInRPhi::calculate(), chkSize(), reco::TransientTrack::impactPointTSCP(), inRPhi, mps_check::msg, oldA, TrajectoryStateClosestToPoint::theState(), and BPHDecayVertex::transientTracks().

Referenced by cAppInRPhi().

71  {
72  static const string msg =
73  "BPHPlusMinusVertex::computeApp: incomplete, no closest approach available";
74  delete inRPhi;
75  if ( !chkSize( msg ) ) {
76  inRPhi = nullptr;
77  return;
78  }
80  const vector<reco::TransientTrack>& ttk = transientTracks();
81  const reco::TransientTrack& ttp = ttk[0];
82  const reco::TransientTrack& ttn = ttk[1];
84  ttn.impactPointTSCP().theState() );
85  oldA = false;
86  return;
87 }
TrajectoryStateClosestToPoint impactPointTSCP() const
const FreeTrajectoryState & theState() const
static bool chkSize(const T &cont, const std::string &msg)
bool calculate(const TrajectoryStateOnSurface &sta, const TrajectoryStateOnSurface &stb) override
tuple msg
Definition: mps_check.py:279
const std::vector< reco::TransientTrack > & transientTracks() const
get list of TransientTracks
ClosestApproachInRPhi * inRPhi
void BPHPlusMinusVertex::setNotUpdated ( ) const
overrideprotectedvirtual

Reimplemented from BPHDecayVertex.

Definition at line 64 of file BPHPlusMinusVertex.cc.

References oldA, and BPHDecayVertex::setNotUpdated().

Referenced by BPHPlusMinusCandidate::setNotUpdated().

64  {
66  oldA = true;
67  return;
68 }
void setNotUpdated() const override

Member Data Documentation

ClosestApproachInRPhi* BPHPlusMinusVertex::inRPhi
mutableprivate

Definition at line 73 of file BPHPlusMinusVertex.h.

Referenced by cAppInRPhi(), computeApp(), and ~BPHPlusMinusVertex().

bool BPHPlusMinusVertex::oldA
mutableprivate

Definition at line 72 of file BPHPlusMinusVertex.h.

Referenced by cAppInRPhi(), computeApp(), and setNotUpdated().