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

NTupleAlgorithm Class Reference

#include <NTupleAlgorithm.h>

List of all members.

Public Member Functions

StatusCode execute ()
StatusCode execute ()
StatusCode finalize ()
StatusCode finalize ()
StatusCode initialize ()
StatusCode initialize ()
 NTupleAlgorithm (const std::string &name, ISvcLocator *pSvcLocator)
 NTupleAlgorithm (const std::string &name, ISvcLocator *pSvcLocator)

Private Attributes

NTuple::Item< float > m_energy
NTuple::Item< float > m_energy
NTuple::Array< float > m_fNumbers
NTuple::Array< float > m_fNumbers
NTuple::Array< long > m_iNumbers
NTuple::Array< long > m_iNumbers
NTuple::Item< long > m_n
NTuple::Item< long > m_n
NTuple::Item< long > m_ntrk
NTuple::Item< long > m_ntrk
NTuple::Tuple * m_tuple1
NTuple::Tuple * m_tuple1
NTuple::Tuple * m_tuple2
NTuple::Tuple * m_tuple2


Constructor & Destructor Documentation

NTupleAlgorithm::NTupleAlgorithm const std::string &  name,
ISvcLocator *  pSvcLocator
 

00019                                                                                      :
00020                                                            Algorithm(name, pSvcLocator)
00021 //------------------------------------------------------------------------------
00022 {
00023   m_tuple1 = 0;
00024   m_tuple2 = 0;
00025 }

NTupleAlgorithm::NTupleAlgorithm const std::string &  name,
ISvcLocator *  pSvcLocator
 


Member Function Documentation

StatusCode NTupleAlgorithm::execute  ) 
 

StatusCode NTupleAlgorithm::execute  ) 
 

00074 {
00075   StatusCode status;
00076   MsgStream log( msgSvc(), name() );
00077 
00078   static int n = 0;
00079 
00080 
00081   m_ntrk   = long(sin(double(n)) * 52. + 50.);
00082   m_energy = sin(double(n)) * 52. + 50.;
00083 
00084 
00085   m_n      = abs((1234567*(n+1))%100);
00086 
00087   for( int i = 0; i < m_n; i++ ) {
00088     m_fNumbers[i] = cos(double(2*n)) * 52. + 50.;
00089     m_iNumbers[i] = long(cos(double(2*n)) * 52. + 50.);
00090   }
00091   n++;
00092 
00093   status = m_tuple1->write();
00094   if( status.isFailure() ){ 
00095     log << MSG::ERROR << "    Cannot fill N-tuple:" << long(m_tuple1) << endmsg;
00096     return StatusCode::FAILURE;
00097   }
00098   status = m_tuple2->write();
00099   if( status.isFailure() ){ 
00100     log << MSG::ERROR << "    Cannot fill N-tuple:" << long(m_tuple2) << endmsg;
00101     return StatusCode::FAILURE;
00102   }
00103 
00104   return StatusCode::SUCCESS;
00105 }

StatusCode NTupleAlgorithm::finalize  ) 
 

StatusCode NTupleAlgorithm::finalize  ) 
 

00111 {
00112   MsgStream log(msgSvc(), name());
00113   log << MSG::INFO << "Finalizing..." << endmsg;
00114 
00115         return StatusCode::SUCCESS;
00116 }

StatusCode NTupleAlgorithm::initialize  ) 
 

StatusCode NTupleAlgorithm::initialize  ) 
 

00031 {
00032   StatusCode status;
00033   MsgStream log( msgSvc(), name() );
00034  
00035   //  Book N-tuple 1
00036   NTuplePtr nt1(ntupleSvc(), "MyTuples/1");
00037   if ( nt1 ) m_tuple1 = nt1;
00038   else {
00039     m_tuple1 = ntupleSvc()->book ("MyTuples/1", CLID_RowWiseTuple, "Row-wise N-Tuple example");
00040     if ( m_tuple1 )    {
00041       status = m_tuple1->addItem ("Ntrack",   m_ntrk);
00042       status = m_tuple1->addItem ("Energy",   m_energy);
00043     }
00044     else    {   // did not manage to book the N tuple....
00045       log << MSG::ERROR << "    Cannot book N-tuple:" << long(m_tuple1) << endmsg;
00046       return StatusCode::FAILURE;
00047     }
00048   }
00049   
00050 
00051   //  Book N-tuple 2
00052   NTuplePtr nt2(ntupleSvc(), "MyTuples/simple/2");
00053   if ( nt2 ) m_tuple2 = nt2;
00054   else {
00055     m_tuple2 = ntupleSvc()->book ("MyTuples/simple/2", CLID_ColumnWiseTuple, "Col-Wise NTuple examples");
00056     if ( m_tuple2 )    {
00057       status = m_tuple2->addItem ("N", m_n, 0, 100);
00058       status = m_tuple2->addItem ("FNumbers", m_n, m_fNumbers);
00059       status = m_tuple2->addItem ("INumbers", m_n, m_iNumbers);
00060     }
00061     else    {   // did not manage to book the N tuple....
00062       log << MSG::ERROR << "    Cannot book N-tuple:" << long(m_tuple2) << endmsg;
00063       return StatusCode::FAILURE;
00064     }
00065   }
00066   log << MSG::INFO << "Finished booking NTuples" << endmsg;
00067   return StatusCode::SUCCESS;
00068 }


Member Data Documentation

NTuple::Item<float> NTupleAlgorithm::m_energy [private]
 

NTuple::Item<float> NTupleAlgorithm::m_energy [private]
 

NTuple::Array<float> NTupleAlgorithm::m_fNumbers [private]
 

NTuple::Array<float> NTupleAlgorithm::m_fNumbers [private]
 

NTuple::Array<long> NTupleAlgorithm::m_iNumbers [private]
 

NTuple::Array<long> NTupleAlgorithm::m_iNumbers [private]
 

NTuple::Item<long> NTupleAlgorithm::m_n [private]
 

NTuple::Item<long> NTupleAlgorithm::m_n [private]
 

NTuple::Item<long> NTupleAlgorithm::m_ntrk [private]
 

NTuple::Item<long> NTupleAlgorithm::m_ntrk [private]
 

NTuple::Tuple* NTupleAlgorithm::m_tuple1 [private]
 

NTuple::Tuple* NTupleAlgorithm::m_tuple1 [private]
 

NTuple::Tuple* NTupleAlgorithm::m_tuple2 [private]
 

NTuple::Tuple* NTupleAlgorithm::m_tuple2 [private]
 


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