#include <NeutralDSelector.h>
Inheritance diagram for NeutralDSelector:
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 NeutralDSelector & | operator= (const NeutralDSelector &) |
const NeutralDSelector & | operator= (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 |
|
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 }
|
|
|
|
|
|
|
|
00078 { 00079 return const_cast<DCSelectionFunction<Arg> *>(this)->operator()(iArg); 00080 }
|
|
Implements DCSelectionFunction< CDDecay >. |
|
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 }
|
|
|
|
|
|
00013 {m_ebeam=ebeam;}
|
|
00013 {m_ebeam=ebeam;}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|