/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Validation/ValidRecMucTrack/ValidRecMucTrack-00-00-02/src/ValidRecMucTrackAlg.cxx

Go to the documentation of this file.
00001 #include "ValidRecMucTrack/ValidRecMucTrackAlg.h"
00002 #include "GaudiKernel/MsgStream.h"
00003 #include "GaudiKernel/SmartDataPtr.h"
00004 //#include "GaudiKernel/IHistogramSvc.h"
00005 
00006 #include "MucRecEvent/RecMucTrack.h"
00007 
00008 
00009 ValidRecMucTrackAlg::ValidRecMucTrackAlg(const std::string& name, ISvcLocator* pSvcLocator) :
00010    Algorithm(name, pSvcLocator) {
00011   
00012     m_tuple1 = 0;  
00013 }
00014 
00015 StatusCode ValidRecMucTrackAlg::initialize(){
00016 
00017    StatusCode status;
00018    MsgStream log( msgSvc(), name() );
00019    log << MSG::INFO << "Booking Histograms" << endreq;
00020 
00021    //  Book N-tuple 1
00022    NTuplePtr nt1(ntupleSvc(), "FILE105/T");
00023    if ( nt1 ) m_tuple1 = nt1;
00024    else {
00025      m_tuple1 = ntupleSvc()->book ("FILE105/T", CLID_RowWiseTuple, "MucTrack parameter");
00026      if ( m_tuple1 )    {
00027        status = m_tuple1->addItem("depth",m_depth);
00028        status = m_tuple1->addItem("distance",m_distance);
00029        status = m_tuple1->addItem("deltaPhi",m_deltaPhi);
00030        status = m_tuple1->addItem("maxHits",m_maxHits);
00031        status = m_tuple1->addItem("numLayers",m_numLayers);
00032        status = m_tuple1->addItem("numHits",m_numHits);
00033        status = m_tuple1->addItem("chi2",m_chi2);
00034        status = m_tuple1->addItem("xPos",m_xPos);
00035        status = m_tuple1->addItem("yPos",m_yPos);
00036        status = m_tuple1->addItem("zPos",m_zPos);
00037      }
00038      else    {   // did not manage to book the N tuple....
00039        log << MSG::ERROR << "    Cannot book N-tuple:" << long(m_tuple1) << endmsg;
00040        //return StatusCode::FAILURE;
00041      }
00042    }
00043    log << MSG::INFO << "Finished booking NTuples" << endmsg;
00044 
00045 
00046   return StatusCode::SUCCESS;
00047 
00048 
00049 }
00050 
00051 
00052 StatusCode ValidRecMucTrackAlg::execute() {
00053    MsgStream log(msgSvc(), name());
00054    SmartDataPtr<RecMucTrackCol> mucTracks(eventSvc(),"/Event/Recon/RecMucTrackCol");
00055    if( ! mucTracks )
00056       {
00057          log << MSG::ERROR << "Unable to retrieve RecMucTrackCol" << endreq;
00058          return  StatusCode::FAILURE;
00059       } else {
00060          log << MSG::DEBUG << "RecMucTrackCol retrieved of size "<< mucTracks->size() << endreq;
00061          for(RecMucTrackCol::iterator it=mucTracks->begin(); it!=mucTracks->end(); it++)
00062             {
00063 
00064                m_depth    = (*it)->depth();
00065                m_distance = (*it)->distance();
00066                m_deltaPhi = (*it)->deltaPhi();
00067                m_maxHits  = (*it)->maxHitsInLayer();
00068                m_numLayers= (*it)->numLayers();
00069                m_numHits  = (*it)->numHits();
00070                m_chi2     = (*it)->chi2();
00071                m_xPos     = (*it)->xPos();
00072                m_yPos     = (*it)->yPos();
00073                m_zPos     = (*it)->zPos();
00074 
00075                StatusCode status1 = m_tuple1->write();
00076                if ( status1.isFailure() )  {
00077                  log << MSG::ERROR << "Cannot fill Ntuple1" << endreq;
00078                }
00079             }
00080       }
00081      return StatusCode::SUCCESS;
00082 }
00083 
00084 
00085 StatusCode ValidRecMucTrackAlg::finalize() {
00086 
00087    MsgStream log(msgSvc(), name());
00088    log << MSG::INFO << "Finalizing..." << endreq;
00089 
00090 }
00091 
00092 
00093 

Generated on Tue Nov 29 23:14:46 2016 for BOSS_7.0.2 by  doxygen 1.4.7