NeutralDSelector Class Reference

#include <NeutralDSelector.h>

Inheritance diagram for NeutralDSelector:

DCSelectionFunction< CDDecay > unary_function List of all members.

Public Member Functions

 NeutralDSelector ()
void setebeam (double ebeam)
void setbeta (Hep3Vector beta)
bool operator() (CDDecay &theD)
bool operator() (CDDecay &iArg) const

Private Member Functions

 NeutralDSelector (const NeutralDSelector &)
const NeutralDSelectoroperator= (const NeutralDSelector &)

Private Attributes

double m_ebeam
Hep3Vector m_beta
bool m_useMbcCuts
bool m_useDeltaECuts
bool m_useDeltaMassCuts
double m_minMbc
double m_maxMbc
double m_minDeltaE
double m_maxDeltaE
double m_minDeltaMass
double m_maxDeltaMass

Detailed Description

Definition at line 7 of file NeutralDSelector.h.


Constructor & Destructor Documentation

NeutralDSelector::NeutralDSelector (  ) 

Definition at line 10 of file NeutralDSelector.cxx.

References m_maxDeltaE, m_maxDeltaMass, m_maxMbc, m_minDeltaE, m_minDeltaMass, m_minMbc, m_useDeltaECuts, m_useDeltaMassCuts, and m_useMbcCuts.

00010                                    {
00011   
00012   IJobOptionsSvc* jobSvc;
00013   Gaudi::svcLocator()->service("JobOptionsSvc", jobSvc);
00014   
00015   PropertyMgr m_propMgr;
00016   
00017   m_propMgr.declareProperty("UseMbcCuts",        m_useMbcCuts       = true );
00018   m_propMgr.declareProperty("UseDeltaECuts",     m_useDeltaECuts    = true );
00019   m_propMgr.declareProperty("UseDeltaMassCuts",  m_useDeltaMassCuts = false );
00020 
00021   m_propMgr.declareProperty("DMbcMinCut",        m_minMbc  = 1.83 );
00022   m_propMgr.declareProperty("DMbcMaxCut",        m_maxMbc  = 10.0 );
00023   m_propMgr.declareProperty("DDeltaEMinCut",     m_minDeltaE = -0.1 );
00024   m_propMgr.declareProperty("DDeltaEMaxCut",     m_maxDeltaE = +0.1 );
00025   m_propMgr.declareProperty("DDeltaMassMinCut",  m_minDeltaMass = -0.085 );
00026   m_propMgr.declareProperty("DDeltaMassMaxCut",  m_maxDeltaMass = +0.085 );
00027  
00028   jobSvc->setMyProperties("NeutralDSelector", &m_propMgr);
00029 }

NeutralDSelector::NeutralDSelector ( const NeutralDSelector  )  [private]


Member Function Documentation

bool DCSelectionFunction< CDDecay >::operator() ( CDDecay iArg  )  const [inline, inherited]

Definition at line 78 of file DCSelectionFunction.h.

00078                                        {
00079          return const_cast<DCSelectionFunction<Arg> *>(this)->operator()(iArg);
00080       }

bool NeutralDSelector::operator() ( CDDecay theD  )  [virtual]

Implements DCSelectionFunction< CDDecay >.

Definition at line 31 of file NeutralDSelector.cxx.

References CDCandidate::energy(), m_beta, m_ebeam, m_maxDeltaE, m_maxDeltaMass, m_maxMbc, m_minDeltaE, m_minDeltaMass, m_minMbc, m_useDeltaECuts, m_useDeltaMassCuts, m_useMbcCuts, CDCandidate::mass(), and CDCandidate::momentum().

00031                                                 {
00032   
00034   HepLorentzVector p4( theD.momentum(), theD.energy() );
00035   p4.boost(-m_beta);
00036   double mbc2 = m_ebeam*m_ebeam - p4.v().mag2();
00037   double mbc = mbc2 > 0 ? sqrt( mbc2 ) : -10;
00038   double deltaE = p4.t() - m_ebeam;
00039  
00040   if(m_useMbcCuts&&((mbc <= m_minMbc)||(mbc >= m_maxMbc))) return false;
00041   if(m_useDeltaECuts&&((deltaE <= m_minDeltaE)||(deltaE >= m_maxDeltaE))) return false;
00042 
00044   double neutralDMass = 1.8648;
00045   double deltaMass = theD.mass() - neutralDMass;
00046 
00047   if(m_useDeltaMassCuts &&
00048      ((deltaMass <= m_minDeltaMass)||(deltaMass >= m_maxDeltaMass))) return false;
00049 
00050 
00051   return true;
00052 }

const NeutralDSelector& NeutralDSelector::operator= ( const NeutralDSelector  )  [private]

void NeutralDSelector::setbeta ( Hep3Vector  beta  )  [inline]

Definition at line 14 of file NeutralDSelector.h.

References m_beta.

Referenced by NeutralDReconstruction::execute().

00014 {m_beta=beta;}

void NeutralDSelector::setebeam ( double  ebeam  )  [inline]

Definition at line 13 of file NeutralDSelector.h.

References m_ebeam.

Referenced by NeutralDReconstruction::execute().

00013 {m_ebeam=ebeam;}


Member Data Documentation

Hep3Vector NeutralDSelector::m_beta [private]

Definition at line 23 of file NeutralDSelector.h.

Referenced by operator()(), and setbeta().

double NeutralDSelector::m_ebeam [private]

Definition at line 22 of file NeutralDSelector.h.

Referenced by operator()(), and setebeam().

double NeutralDSelector::m_maxDeltaE [private]

Definition at line 32 of file NeutralDSelector.h.

Referenced by NeutralDSelector(), and operator()().

double NeutralDSelector::m_maxDeltaMass [private]

Definition at line 34 of file NeutralDSelector.h.

Referenced by NeutralDSelector(), and operator()().

double NeutralDSelector::m_maxMbc [private]

Definition at line 30 of file NeutralDSelector.h.

Referenced by NeutralDSelector(), and operator()().

double NeutralDSelector::m_minDeltaE [private]

Definition at line 31 of file NeutralDSelector.h.

Referenced by NeutralDSelector(), and operator()().

double NeutralDSelector::m_minDeltaMass [private]

Definition at line 33 of file NeutralDSelector.h.

Referenced by NeutralDSelector(), and operator()().

double NeutralDSelector::m_minMbc [private]

Definition at line 29 of file NeutralDSelector.h.

Referenced by NeutralDSelector(), and operator()().

bool NeutralDSelector::m_useDeltaECuts [private]

Definition at line 26 of file NeutralDSelector.h.

Referenced by NeutralDSelector(), and operator()().

bool NeutralDSelector::m_useDeltaMassCuts [private]

Definition at line 27 of file NeutralDSelector.h.

Referenced by NeutralDSelector(), and operator()().

bool NeutralDSelector::m_useMbcCuts [private]

Definition at line 25 of file NeutralDSelector.h.

Referenced by NeutralDSelector(), and operator()().


Generated on Tue Nov 29 23:20:38 2016 for BOSS_7.0.2 by  doxygen 1.4.7