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

MdcCalEvent Class Reference

#include <MdcCalEvent.h>

List of all members.

Public Member Functions

void clear ()
void clear ()
bool getEsCutFlag () const
bool getEsCutFlag () const
int getEsFlag () const
int getEsFlag () const
int getEvtNoOffline () const
int getEvtNoOffline () const
int getEvtNoOnline () const
int getEvtNoOnline () const
int getNesCutFlag () const
int getNesCutFlag () const
int getNRawHitTQ () const
int getNRawHitTQ () const
int getNTrk () const
int getNTrk () const
MdcCalRecTrkgetRecTrk (int index) const
MdcCalRecTrkgetRecTrk (int index) const
double getTes () const
double getTes () const
void setEvtNoOffline (int evtNo)
void setEvtNoOffline (int evtNo)
void setEvtNoOnline (int evtNo)
void setEvtNoOnline (int evtNo)
StatusCode setKalEvent ()
StatusCode setKalEvent ()
void setParam (MdcCalParams &param)
void setParam (MdcCalParams &param)
StatusCode setRecEvent ()
StatusCode setRecEvent ()

Private Attributes

bool m_esCutFg
int m_esFlag
int m_nEsCutFg
int m_nEvtOffline
int m_nEvtOnline
int m_nhitTQ
MdcCalParams m_param
std::vector< MdcCalRecTrk * > m_rectrk
std::vector< MdcCalRecTrk * > m_rectrk
double m_tes


Member Function Documentation

void MdcCalEvent::clear  ) 
 

void MdcCalEvent::clear  ) 
 

00178                        {
00179      unsigned int i;
00180      for(i=0; i<m_rectrk.size(); i++){
00181           delete m_rectrk[i];
00182      }
00183      m_rectrk.clear();
00184 }

bool MdcCalEvent::getEsCutFlag  )  const [inline]
 

00022 { return m_esCutFg; }

bool MdcCalEvent::getEsCutFlag  )  const [inline]
 

00022 { return m_esCutFg; }

int MdcCalEvent::getEsFlag  )  const [inline]
 

00021 { return m_esFlag; }

int MdcCalEvent::getEsFlag  )  const [inline]
 

00021 { return m_esFlag; }

int MdcCalEvent::getEvtNoOffline  )  const [inline]
 

00033 { return m_nEvtOffline; }

int MdcCalEvent::getEvtNoOffline  )  const [inline]
 

00033 { return m_nEvtOffline; }

int MdcCalEvent::getEvtNoOnline  )  const [inline]
 

00030 { return m_nEvtOnline; }

int MdcCalEvent::getEvtNoOnline  )  const [inline]
 

00030 { return m_nEvtOnline; }

int MdcCalEvent::getNesCutFlag  )  const [inline]
 

00023 { return m_nEsCutFg; }

int MdcCalEvent::getNesCutFlag  )  const [inline]
 

00023 { return m_nEsCutFg; }

int MdcCalEvent::getNRawHitTQ  )  const [inline]
 

00020 { return m_nhitTQ; }

int MdcCalEvent::getNRawHitTQ  )  const [inline]
 

00020 { return m_nhitTQ; }

int MdcCalEvent::getNTrk  )  const [inline]
 

00026 { return m_rectrk.size(); }

int MdcCalEvent::getNTrk  )  const [inline]
 

00026 { return m_rectrk.size(); }

MdcCalRecTrk* MdcCalEvent::getRecTrk int  index  )  const [inline]
 

00027 { return m_rectrk[index]; }

MdcCalRecTrk* MdcCalEvent::getRecTrk int  index  )  const [inline]
 

00027 { return m_rectrk[index]; }

double MdcCalEvent::getTes  )  const [inline]
 

00024 { return m_tes; }

double MdcCalEvent::getTes  )  const [inline]
 

00024 { return m_tes; }

void MdcCalEvent::setEvtNoOffline int  evtNo  )  [inline]
 

00032 { m_nEvtOffline = evtNo; }

void MdcCalEvent::setEvtNoOffline int  evtNo  )  [inline]
 

00032 { m_nEvtOffline = evtNo; }

void MdcCalEvent::setEvtNoOnline int  evtNo  )  [inline]
 

00029 { m_nEvtOnline = evtNo; }

void MdcCalEvent::setEvtNoOnline int  evtNo  )  [inline]
 

00029 { m_nEvtOnline = evtNo; }

StatusCode MdcCalEvent::setKalEvent  ) 
 

StatusCode MdcCalEvent::setKalEvent  ) 
 

00107                                    {
00108      IMessageSvc *msgSvc;
00109      Gaudi::svcLocator()->service("MessageSvc", msgSvc);
00110      MsgStream log(msgSvc, "MdcCalEvent");
00111      log << MSG::INFO << "MdcCalEvent::setKalEvent" << endreq;
00112 
00113      IDataProviderSvc* eventSvc = NULL;
00114      Gaudi::svcLocator()->service("EventDataSvc", eventSvc);
00115 
00116      // retrieve Mdc digi
00117      SmartDataPtr<MdcDigiCol> mdcDigiCol(eventSvc,"/Event/Digi/MdcDigiCol");
00118      if (!mdcDigiCol) {
00119           log << MSG::FATAL << "Could not find event" << endreq;
00120      }
00121 
00122      MdcDigiCol::iterator iter = mdcDigiCol->begin();
00123      m_nhitTQ = 0;
00124      for(; iter != mdcDigiCol->end(); iter++) {
00125           MdcDigi *aDigi = (*iter);
00126           unsigned fgOverFlow = (aDigi) -> getOverflow();
00127           if ( ((fgOverFlow & 3) !=0 ) || ((fgOverFlow & 12) != 0) ||
00128                (aDigi->getTimeChannel() == 0x7FFFFFFF) ||
00129                (aDigi->getChargeChannel() == 0x7FFFFFFF) ) continue;
00130           m_nhitTQ++;
00131      }
00132 
00133      // get EsTimeCol
00134      SmartDataPtr<RecEsTimeCol> aevtimeCol(eventSvc,"/Event/Recon/RecEsTimeCol");
00135      if( (!aevtimeCol) || (aevtimeCol->size()==0) ){
00136           m_tes = -9999.0;
00137           m_esFlag = -1;
00138      }else{
00139           RecEsTimeCol::iterator iter_evt = aevtimeCol->begin();
00140           for(; iter_evt!=aevtimeCol->end(); iter_evt++){
00141                m_tes = (*iter_evt)->getTest();
00142                m_esFlag = (*iter_evt)->getStat();
00143           }
00144      }
00145      m_esCutFg = false;
00146      m_nEsCutFg = -1;
00147      bool flagTes = false;
00148      for(int iEs=0; iEs<m_param.nEsFlag; iEs++){
00149           if(m_esFlag == m_param.esFlag[iEs]){
00150                flagTes = true;
00151                m_nEsCutFg = iEs;
00152                break;
00153           }
00154      }
00155      if( flagTes && (m_tes > m_param.tesMin) && (m_tes < m_param.tesMax) ) m_esCutFg = true;
00156 
00157      SmartDataPtr<RecMdcKalTrackCol> kaltrkCol(eventSvc,"/Event/Recon/RecMdcKalTrackCol");
00158      if (!kaltrkCol) {
00159           log << MSG::FATAL << "Could not find RecMdcKalTrackCol" << endreq;
00160           return StatusCode::FAILURE;
00161      }
00162 
00163      int i = 0;
00164      MdcCalRecTrk* rectrk;
00165      RecMdcKalTrackCol::iterator iter_trk = kaltrkCol->begin();
00166      for(; iter_trk != kaltrkCol->end(); iter_trk++) {
00167           rectrk = new MdcCalRecTrk(m_param.particle);
00168           rectrk -> setKalTrk(iter_trk);
00169           m_rectrk.push_back(rectrk);
00170 
00171           i++;
00172      }
00173      log << MSG::INFO << "KalTrack ntrk = " << i << endreq;
00174 
00175      return StatusCode::SUCCESS;
00176 }

void MdcCalEvent::setParam MdcCalParams param  )  [inline]
 

00015 { m_param = param; }

void MdcCalEvent::setParam MdcCalParams param  )  [inline]
 

00015 { m_param = param; }

StatusCode MdcCalEvent::setRecEvent  ) 
 

StatusCode MdcCalEvent::setRecEvent  ) 
 

00036                                    {
00037      IMessageSvc *msgSvc;
00038      Gaudi::svcLocator()->service("MessageSvc", msgSvc);
00039      MsgStream log(msgSvc, "MdcCalEvent");
00040      log << MSG::INFO << "MdcCalEvent::setRecEvent" << endreq;
00041 
00042      IDataProviderSvc* eventSvc = NULL;
00043      Gaudi::svcLocator()->service("EventDataSvc", eventSvc);
00044 
00045      // retrieve Mdc digi
00046      SmartDataPtr<MdcDigiCol> mdcDigiCol(eventSvc,"/Event/Digi/MdcDigiCol");
00047      if (!mdcDigiCol) {
00048           log << MSG::FATAL << "Could not find event" << endreq;
00049      }
00050 
00051      MdcDigiCol::iterator iter = mdcDigiCol->begin();
00052      m_nhitTQ = 0;
00053      for(; iter != mdcDigiCol->end(); iter++) {
00054           MdcDigi *aDigi = (*iter);
00055           unsigned fgOverFlow = (aDigi) -> getOverflow();
00056           if ( ((fgOverFlow & 3) !=0 ) || ((fgOverFlow & 12) != 0) ||
00057                (aDigi->getTimeChannel() == 0x7FFFFFFF) ||
00058                (aDigi->getChargeChannel() == 0x7FFFFFFF) ) continue;
00059           m_nhitTQ++;
00060      }
00061 
00062      // get EsTimeCol
00063      SmartDataPtr<RecEsTimeCol> aevtimeCol(eventSvc,"/Event/Recon/RecEsTimeCol");
00064      if( (!aevtimeCol) || (aevtimeCol->size()==0) ){
00065           m_tes = -9999.0;
00066           m_esFlag = -1;
00067      }else{
00068           RecEsTimeCol::iterator iter_evt = aevtimeCol->begin();
00069           for(; iter_evt!=aevtimeCol->end(); iter_evt++){
00070                m_tes = (*iter_evt)->getTest();
00071                m_esFlag = (*iter_evt)->getStat();
00072           }
00073      }
00074      m_esCutFg = false;
00075      m_nEsCutFg = -1;
00076      bool flagTes = false;
00077      for(int iEs=0; iEs<m_param.nEsFlag; iEs++){
00078           if(m_esFlag == m_param.esFlag[iEs]){
00079                flagTes = true;
00080                m_nEsCutFg = iEs;
00081                break;
00082           }
00083      }
00084      if( flagTes && (m_tes > m_param.tesMin) && (m_tes < m_param.tesMax) ) m_esCutFg = true;
00085 
00086      SmartDataPtr<RecMdcTrackCol> newtrkCol(eventSvc, "/Event/Recon/RecMdcTrackCol");
00087      if(!newtrkCol){
00088           log << MSG::ERROR << "Could not find RecMdcTrackCol" << endreq;
00089           return ( StatusCode::FAILURE );
00090      }
00091 
00092      int i = 0;
00093      MdcCalRecTrk* rectrk;
00094      RecMdcTrackCol::iterator it_trk = newtrkCol->begin();
00095      for(; it_trk != newtrkCol->end(); it_trk++){
00096           rectrk = new MdcCalRecTrk(m_param.particle);
00097           rectrk -> setRecTrk(it_trk);
00098           m_rectrk.push_back(rectrk);
00099 
00100           i++;
00101      }
00102 //      log << MSG::WARNING << "RecTrack ntrk = " << i << endreq;
00103 
00104      return StatusCode::SUCCESS;
00105 }


Member Data Documentation

bool MdcCalEvent::m_esCutFg [private]
 

int MdcCalEvent::m_esFlag [private]
 

int MdcCalEvent::m_nEsCutFg [private]
 

int MdcCalEvent::m_nEvtOffline [private]
 

int MdcCalEvent::m_nEvtOnline [private]
 

int MdcCalEvent::m_nhitTQ [private]
 

MdcCalParams MdcCalEvent::m_param [private]
 

std::vector<MdcCalRecTrk*> MdcCalEvent::m_rectrk [private]
 

std::vector<MdcCalRecTrk*> MdcCalEvent::m_rectrk [private]
 

double MdcCalEvent::m_tes [private]
 


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