BOSS 7.1.2
BESIII Offline Software System
Loading...
Searching...
No Matches
LambdaCSelector Class Reference

#include <LambdaCSelector.h>

+ Inheritance diagram for LambdaCSelector:

Public Member Functions

 LambdaCSelector ()
 
void setebeam (double ebeam)
 
void setbeta (Hep3Vector beta)
 
bool operator() (CDDecay &theD)
 
- Public Member Functions inherited from DCSelectionFunction< CDDecay >
 DCSelectionFunction ()
 
virtual ~DCSelectionFunction ()
 
bool operator() (CDDecay &iArg) const
 

Detailed Description

Definition at line 7 of file LambdaCSelector.h.

Constructor & Destructor Documentation

◆ LambdaCSelector()

LambdaCSelector::LambdaCSelector ( )

Definition at line 10 of file LambdaCSelector.cxx.

10 {
11
12 IJobOptionsSvc* jobSvc;
13 Gaudi::svcLocator()->service("JobOptionsSvc", jobSvc);
14
15 PropertyMgr m_propMgr;
16
17 m_propMgr.declareProperty("UseMbcCuts", m_useMbcCuts = true );
18 m_propMgr.declareProperty("UseDeltaECuts", m_useDeltaECuts = true );
19 m_propMgr.declareProperty("UseDeltaMassCuts", m_useDeltaMassCuts = false );
20
21 m_propMgr.declareProperty("MbcMinCut", m_minMbc = 2.2 );
22 m_propMgr.declareProperty("MbcMaxCut", m_maxMbc = 10.0 );
23 m_propMgr.declareProperty("DeltaEMinCut", m_minDeltaE = -0.15 );
24 m_propMgr.declareProperty("DeltaEMaxCut", m_maxDeltaE = +0.15 );
25 m_propMgr.declareProperty("DeltaMassMinCut", m_minDeltaMass = -0.15 );
26 m_propMgr.declareProperty("DeltaMassMaxCut", m_maxDeltaMass = +0.15 );
27
28 jobSvc->setMyProperties("LambdaCSelector", &m_propMgr);
29}

Member Function Documentation

◆ operator()()

bool LambdaCSelector::operator() ( CDDecay & theD)
virtual

Calculating mbc and deltaE

Calculating invariant mass difference

Implements DCSelectionFunction< CDDecay >.

Definition at line 31 of file LambdaCSelector.cxx.

31 {
32
33 /// Calculating mbc and deltaE
34 HepLorentzVector p4( theD.momentum(), theD.energy() );
35 p4.boost(-m_beta);
36 double mbc2 = m_ebeam*m_ebeam - p4.v().mag2();
37 double mbc = mbc2 > 0 ? sqrt( mbc2 ) : -10;
38 double deltaE = p4.t() - m_ebeam;
39
40 if(m_useMbcCuts&&((mbc <= m_minMbc)||(mbc >= m_maxMbc))) return false;
41 if(m_useDeltaECuts&&((deltaE <= m_minDeltaE)||(deltaE >= m_maxDeltaE))) return false;
42
43 /// Calculating invariant mass difference
44 double chargedDMass = 2.28646;
45 double deltaMass = theD.mass() - chargedDMass;
46
47 if(m_useDeltaMassCuts && ((deltaMass <= m_minDeltaMass)||(deltaMass >= m_maxDeltaMass))) return false;
48
49
50 return true;
51}
double energy() const
const Hep3Vector & momentum() const
double mass() const
double double double * p4
Definition qcdloop1.h:77

◆ setbeta()

void LambdaCSelector::setbeta ( Hep3Vector beta)
inline

Definition at line 14 of file LambdaCSelector.h.

14{m_beta=beta;}

Referenced by LambdaCReconstruction::execute().

◆ setebeam()

void LambdaCSelector::setebeam ( double ebeam)
inline

Definition at line 13 of file LambdaCSelector.h.

13{m_ebeam=ebeam;}
double ebeam

Referenced by LambdaCReconstruction::execute().


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