BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
ChargedDSelector Class Reference

#include <ChargedDSelector.h>

Inheritance diagram for ChargedDSelector:

Public Member Functions

 ChargedDSelector (const std::string &type, const std::string &name, const IInterface *parent)
void setebeam (double ebeam) override
void setbeta (Hep3Vector beta) override
bool operator() (CDDecay &theD) override

Detailed Description

Definition at line 6 of file ChargedDSelector.h.

Constructor & Destructor Documentation

◆ ChargedDSelector()

ChargedDSelector::ChargedDSelector ( const std::string & type,
const std::string & name,
const IInterface * parent )

Definition at line 7 of file ChargedDSelector.cxx.

9 : base_class( type, name, parent ) {
10 declareProperty( "UseMbcCuts", m_useMbcCuts = true );
11 declareProperty( "UseDeltaECuts", m_useDeltaECuts = true );
12 declareProperty( "UseDeltaMassCuts", m_useDeltaMassCuts = false );
13
14 declareProperty( "DMbcMinCut", m_minMbc = 1.83 );
15 declareProperty( "DMbcMaxCut", m_maxMbc = 10.0 );
16 declareProperty( "DDeltaEMinCut", m_minDeltaE = -0.1 );
17 declareProperty( "DDeltaEMaxCut", m_maxDeltaE = +0.1 );
18 declareProperty( "DDeltaMassMinCut", m_minDeltaMass = -0.085 );
19 declareProperty( "DDeltaMassMaxCut", m_maxDeltaMass = +0.085 );
20}

Referenced by ChargedDSelector().

Member Function Documentation

◆ operator()()

bool ChargedDSelector::operator() ( CDDecay & theD)
override

Calculating mbc and deltaE

Calculating invariant mass difference

Definition at line 22 of file ChargedDSelector.cxx.

22 {
23
24 /// Calculating mbc and deltaE
25 HepLorentzVector p4( theD.momentum(), theD.energy() );
26 p4.boost( -m_beta );
27 double mbc2 = m_ebeam * m_ebeam - p4.v().mag2();
28 double mbc = mbc2 > 0 ? sqrt( mbc2 ) : -10;
29 double deltaE = p4.t() - m_ebeam;
30
31 if ( m_useMbcCuts && ( ( mbc <= m_minMbc ) || ( mbc >= m_maxMbc ) ) ) return false;
32 if ( m_useDeltaECuts && ( ( deltaE <= m_minDeltaE ) || ( deltaE >= m_maxDeltaE ) ) )
33 return false;
34
35 /// Calculating invariant mass difference
36 double chargedDMass = 1.8696;
37 double deltaMass = theD.mass() - chargedDMass;
38
39 if ( m_useDeltaMassCuts &&
40 ( ( deltaMass <= m_minDeltaMass ) || ( deltaMass >= m_maxDeltaMass ) ) )
41 return false;
42
43 return true;
44}
double energy() const
const Hep3Vector & momentum() const
double mass() const

◆ setbeta()

void ChargedDSelector::setbeta ( Hep3Vector beta)
inlineoverride

Definition at line 12 of file ChargedDSelector.h.

12{ m_beta = beta; }

◆ setebeam()

void ChargedDSelector::setebeam ( double ebeam)
inlineoverride

Definition at line 11 of file ChargedDSelector.h.

11{ m_ebeam = ebeam; }
double ebeam

The documentation for this class was generated from the following files: