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

LocalPhotonSelector Class Reference

#include <LocalPhotonSelector.h>

Inheritance diagram for LocalPhotonSelector:

BesDCSelector< CDPhoton > BesDCSelector< CDPhoton > BesDCSelector< CDPhoton > BesDCSelector< CDPhoton > DCSelectionFunction< CDPhoton > DCSelectionFunction< CDPhoton > DCSelectionFunction< CDPhoton > DCSelectionFunction< CDPhoton > DCSelectionFunction< CDPhoton > DCSelectionFunction< CDPhoton > DCSelectionFunction< CDPhoton > DCSelectionFunction< CDPhoton > List of all members.

Public Member Functions

 LocalPhotonSelector ()
 LocalPhotonSelector ()
 LocalPhotonSelector ()
 LocalPhotonSelector ()
bool operator() (CDPhoton &iArg) const
bool operator() (CDPhoton &aPhoton)
bool operator() (CDPhoton &aPhoton)
bool operator() (CDPhoton &aPhoton)
bool operator() (CDPhoton &aPhoton)

Protected Member Functions

IDataProviderSvc * eventSvc ()
IDataProviderSvc * eventSvc ()
IVertexDbSvcvtxDbSvc ()
IVertexDbSvcvtxDbSvc ()

Private Member Functions

 LocalPhotonSelector (const LocalPhotonSelector &)
 LocalPhotonSelector (const LocalPhotonSelector &)
 LocalPhotonSelector (const LocalPhotonSelector &)
 LocalPhotonSelector (const LocalPhotonSelector &)
const LocalPhotonSelectoroperator= (const LocalPhotonSelector &)
const LocalPhotonSelectoroperator= (const LocalPhotonSelector &)
const LocalPhotonSelectoroperator= (const LocalPhotonSelector &)
const LocalPhotonSelectoroperator= (const LocalPhotonSelector &)

Private Attributes

double m_angleCut
bool m_applyDangCut
bool m_applyTimeCut
double m_deltaTime
double m_energyCut
double m_maxCosThetaBarrel
double m_maxCosThetaEndcap
double m_maxTime
double m_minCosThetaEndcap
double m_minDang
double m_minEndcapEnergy
double m_minEnergy
double m_minTime
bool m_useBarrelEndcap

Constructor & Destructor Documentation

LocalPhotonSelector::LocalPhotonSelector  ) 
 

00013 {
00014    IJobOptionsSvc* jobSvc;
00015    Gaudi::svcLocator()->service("JobOptionsSvc", jobSvc);
00016 
00017    PropertyMgr m_propMgr;
00018 
00019    //Declare the properties
00020    m_propMgr.declareProperty("EnergyThreshold", m_energyCut = 0.04);
00021    m_propMgr.declareProperty("GammaAngleCut",   m_angleCut  = 20.0);
00022 
00023    jobSvc->setMyProperties("LocalPhotonSelector", &m_propMgr);
00024 }

LocalPhotonSelector::LocalPhotonSelector const LocalPhotonSelector  )  [private]
 

LocalPhotonSelector::LocalPhotonSelector  ) 
 

LocalPhotonSelector::LocalPhotonSelector const LocalPhotonSelector  )  [private]
 

LocalPhotonSelector::LocalPhotonSelector  ) 
 

LocalPhotonSelector::LocalPhotonSelector const LocalPhotonSelector  )  [private]
 

LocalPhotonSelector::LocalPhotonSelector  ) 
 

LocalPhotonSelector::LocalPhotonSelector const LocalPhotonSelector  )  [private]
 


Member Function Documentation

IDataProviderSvc* BesDCSelector< CDPhoton >::eventSvc  )  [protected, inherited]
 

IDataProviderSvc* BesDCSelector< CDPhoton >::eventSvc  )  [protected, inherited]
 

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

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

bool LocalPhotonSelector::operator() CDPhoton aPhoton  )  [virtual]
 

Implements DCSelectionFunction< CDPhoton >.

bool LocalPhotonSelector::operator() CDPhoton aPhoton  )  [virtual]
 

Implements DCSelectionFunction< CDPhoton >.

bool LocalPhotonSelector::operator() CDPhoton aPhoton  )  [virtual]
 

Implements DCSelectionFunction< CDPhoton >.

bool LocalPhotonSelector::operator() CDPhoton aPhoton  )  [virtual]
 

Minimum energy

Barrel/Endcap

Time, only apply timing cuts if "recEvt->totalCharged() > 0"

Dang

Implements DCSelectionFunction< CDPhoton >.

00026                                                        {
00027 
00028    SmartDataPtr<EvtRecEvent> evtRecEvent(eventSvc(), EventModel::EvtRec::EvtRecEvent);
00029    SmartDataPtr<EvtRecTrackCol> evtRecTrkCol(eventSvc(), EventModel::EvtRec::EvtRecTrackCol);
00030 
00031    EvtRecTrack* recTrk = const_cast<EvtRecTrack*>( aPhoton.photon() );
00032 
00033    if ( recTrk->isEmcShowerValid() ) {
00034       RecEmcShower *emcTrk = recTrk->emcShower();
00035       Hep3Vector emcpos(emcTrk->x(), emcTrk->y(), emcTrk->z());
00036 
00037       double dthe = 200.;
00038       double dphi = 200.;
00039       double dang = 200.; 
00040       for(int j = 0; j < evtRecEvent->totalCharged(); j++) {
00041          EvtRecTrackIterator jtTrk = evtRecTrkCol->begin() + j;
00042          if(!(*jtTrk)->isExtTrackValid()) continue;
00043          RecExtTrack *extTrk = (*jtTrk)->extTrack();
00044          if(extTrk->emcVolumeNumber() == -1) continue;
00045          Hep3Vector extpos = extTrk->emcPosition();
00046          double angd = extpos.angle(emcpos);
00047          double thed = extpos.theta() - emcpos.theta();
00048          double phid = extpos.deltaPhi(emcpos);
00049          thed = fmod(thed+CLHEP::twopi+CLHEP::twopi+pi, CLHEP::twopi) - CLHEP::pi;
00050          phid = fmod(phid+CLHEP::twopi+CLHEP::twopi+pi, CLHEP::twopi) - CLHEP::pi;
00051          if(angd < dang){
00052             dang = angd;
00053             dthe = thed;
00054             dphi = phid;
00055          }
00056       }
00057 
00058       double eraw = emcTrk->energy();
00059       dang = dang * 180 / (CLHEP::pi);
00060       if (eraw > m_energyCut && fabs(dang) > m_angleCut) return true;
00061    }
00062 
00063    return false;
00064 }

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

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

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

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

IVertexDbSvc* BesDCSelector< CDPhoton >::vtxDbSvc  )  [protected, inherited]
 

IVertexDbSvc* BesDCSelector< CDPhoton >::vtxDbSvc  )  [protected, inherited]
 


Member Data Documentation

double LocalPhotonSelector::m_angleCut [private]
 

bool LocalPhotonSelector::m_applyDangCut [private]
 

bool LocalPhotonSelector::m_applyTimeCut [private]
 

double LocalPhotonSelector::m_deltaTime [private]
 

double LocalPhotonSelector::m_energyCut [private]
 

double LocalPhotonSelector::m_maxCosThetaBarrel [private]
 

double LocalPhotonSelector::m_maxCosThetaEndcap [private]
 

double LocalPhotonSelector::m_maxTime [private]
 

double LocalPhotonSelector::m_minCosThetaEndcap [private]
 

double LocalPhotonSelector::m_minDang [private]
 

double LocalPhotonSelector::m_minEndcapEnergy [private]
 

double LocalPhotonSelector::m_minEnergy [private]
 

double LocalPhotonSelector::m_minTime [private]
 

bool LocalPhotonSelector::m_useBarrelEndcap [private]
 


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