#include <NTupleAlgorithm.h>
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 |
|
00019 : 00020 Algorithm(name, pSvcLocator) 00021 //------------------------------------------------------------------------------ 00022 { 00023 m_tuple1 = 0; 00024 m_tuple2 = 0; 00025 }
|
|
|
|
|
|
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 }
|
|
|
|
00111 { 00112 MsgStream log(msgSvc(), name()); 00113 log << MSG::INFO << "Finalizing..." << endmsg; 00114 00115 return StatusCode::SUCCESS; 00116 }
|
|
|
|
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 }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|