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

#include <NeutralDSelector.h>

Inheritance diagram for NeutralDSelector:

Public Member Functions

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

Detailed Description

Definition at line 6 of file NeutralDSelector.h.

Constructor & Destructor Documentation

◆ NeutralDSelector()

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

Definition at line 7 of file NeutralDSelector.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 NeutralDSelector().

Member Function Documentation

◆ operator()()

bool NeutralDSelector::operator() ( CDDecay & theD)

Calculating mbc and deltaE

Calculating invariant mass difference

Definition at line 22 of file NeutralDSelector.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 neutralDMass = 1.8648;
37 double deltaMass = theD.mass() - neutralDMass;
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 NeutralDSelector::setbeta ( Hep3Vector beta)
inline

Definition at line 12 of file NeutralDSelector.h.

12{ m_beta = beta; }

◆ setebeam()

void NeutralDSelector::setebeam ( double ebeam)
inline

Definition at line 11 of file NeutralDSelector.h.

11{ m_ebeam = ebeam; }
double ebeam

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