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 | Private Attributes
BPHMassSymSelect Class Reference

#include <BPHMassSymSelect.h>

Inheritance diagram for BPHMassSymSelect:
BPHMomentumSelect

Public Member Functions

bool accept (const BPHDecayMomentum &cand) const override
 select particle More...
 
 BPHMassSymSelect (const std::string &np, const std::string &nn, const BPHMassSelect *ms)
 
 BPHMassSymSelect (const BPHMassSymSelect &x)=delete
 
BPHMassSymSelectoperator= (const BPHMassSymSelect &x)=delete
 
 ~BPHMassSymSelect () override
 
- Public Member Functions inherited from BPHMomentumSelect
 BPHMomentumSelect ()
 
 BPHMomentumSelect (const BPHMomentumSelect &x)=delete
 
BPHMomentumSelectoperator= (const BPHMomentumSelect &x)=delete
 
virtual ~BPHMomentumSelect ()
 

Private Attributes

const BPHMassSelectmSel
 
std::string nNeg
 
std::string nPos
 

Additional Inherited Members

- Public Types inherited from BPHMomentumSelect
using AcceptArg = BPHDecayMomentum
 

Detailed Description

Description: Class for candidate selection by invariant mass (at momentum sum level) allowing for decay product mass swap

Author
Paolo Ronchese INFN Padova

Definition at line 33 of file BPHMassSymSelect.h.

Constructor & Destructor Documentation

BPHMassSymSelect::BPHMassSymSelect ( const std::string &  np,
const std::string &  nn,
const BPHMassSelect ms 
)
inline

Constructor

Definition at line 37 of file BPHMassSymSelect.h.

38  : nPos(np), nNeg(nn), mSel(ms) {}
int np
Definition: AMPTWrapper.h:43
int32_t *__restrict__ nn
const BPHMassSelect * mSel
BPHMassSymSelect::BPHMassSymSelect ( const BPHMassSymSelect x)
delete
BPHMassSymSelect::~BPHMassSymSelect ( )
inlineoverride

Destructor

Definition at line 46 of file BPHMassSymSelect.h.

46 {}

Member Function Documentation

bool BPHMassSymSelect::accept ( const BPHDecayMomentum cand) const
inlineoverridevirtual

select particle

Operations

Implements BPHMomentumSelect.

Definition at line 51 of file BPHMassSymSelect.h.

Referenced by esMonitoring.FDJsonServer::handle_accept().

51  {
52  if (mSel->accept(cand))
53  return true;
54 
55  const reco::Candidate* pp = cand.getDaug(nPos);
56  const reco::Candidate* np = cand.getDaug(nNeg);
57 
58  reco::Candidate* pc = cand.originalReco(pp)->clone();
59  reco::Candidate* nc = cand.originalReco(np)->clone();
60 
61  pc->setMass(np->p4().mass());
62  nc->setMass(pp->p4().mass());
63  const reco::Candidate::LorentzVector s4 = pc->p4() + nc->p4();
64  double mass = s4.mass();
65 
66  delete pc;
67  delete nc;
68  return ((mass >= mSel->getMassMin()) && (mass <= mSel->getMassMax()));
69  }
tuple pp
Definition: createTree.py:17
bool accept(const BPHDecayMomentum &cand) const override
select particle
Definition: BPHMassSelect.h:48
int np
Definition: AMPTWrapper.h:43
virtual const reco::Candidate * originalReco(const reco::Candidate *daug) const
get the original particle from the clone
virtual Candidate * clone() const =0
returns a clone of the Candidate object
double getMassMin() const
get current mass cuts
Definition: BPHMassCuts.h:58
math::XYZTLorentzVector LorentzVector
Lorentz vector.
Definition: Candidate.h:36
virtual const reco::Candidate * getDaug(const std::string &name) const
virtual void setMass(double m)=0
set particle mass
const BPHMassSelect * mSel
virtual const LorentzVector & p4() const =0
four-momentum Lorentz vector
BPHMassSymSelect& BPHMassSymSelect::operator= ( const BPHMassSymSelect x)
delete

Member Data Documentation

const BPHMassSelect* BPHMassSymSelect::mSel
private

Definition at line 74 of file BPHMassSymSelect.h.

std::string BPHMassSymSelect::nNeg
private

Definition at line 73 of file BPHMassSymSelect.h.

std::string BPHMassSymSelect::nPos
private

Definition at line 72 of file BPHMassSymSelect.h.