Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

NeutralDSelector Class Reference

#include <NeutralDSelector.h>

Inheritance diagram for NeutralDSelector:

DCSelectionFunction< CDDecay > DCSelectionFunction< CDDecay > unary_function unary_function unary_function unary_function List of all members.

Public Member Functions

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

Private Member Functions

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

Private Attributes

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

Constructor & Destructor Documentation

NeutralDSelector::NeutralDSelector  ) 
 

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]
 

NeutralDSelector::NeutralDSelector  ) 
 

NeutralDSelector::NeutralDSelector const NeutralDSelector  )  [private]
 


Member Function Documentation

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

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

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

Implements DCSelectionFunction< CDDecay >.

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

Calculating mbc and deltaE

Calculating invariant mass difference

Implements DCSelectionFunction< CDDecay >.

00031                                                 {
00032   
00034   HepLorentzVector p4( theD.momentum(), theD.energy() );
00035   p4.boost(-0.011, 0, 0);
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]
 

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

void NeutralDSelector::setebeam double  ebeam  )  [inline]
 

00013 {m_ebeam=ebeam;}

void NeutralDSelector::setebeam double  ebeam  )  [inline]
 

00013 {m_ebeam=ebeam;}


Member Data Documentation

double NeutralDSelector::m_ebeam [private]
 

double NeutralDSelector::m_maxDeltaE [private]
 

double NeutralDSelector::m_maxDeltaMass [private]
 

double NeutralDSelector::m_maxMbc [private]
 

double NeutralDSelector::m_minDeltaE [private]
 

double NeutralDSelector::m_minDeltaMass [private]
 

double NeutralDSelector::m_minMbc [private]
 

bool NeutralDSelector::m_useDeltaECuts [private]
 

bool NeutralDSelector::m_useDeltaMassCuts [private]
 

bool NeutralDSelector::m_useMbcCuts [private]
 


The documentation for this class was generated from the following files:
Generated on Wed Feb 2 16:37:58 2011 for BOSS6.5.5 by  doxygen 1.3.9.1