1#include "RawDataCnv/EventManagement/HltBuilder.h"
2#include "Identifier/HltID.h"
9 m_re2te =
new uint32_t[256];
10 memset( (
void*)m_re2te, 0xFF, 256 *
sizeof( uint32_t ) );
28 TEData1 = ( reDigi & m_algMask ) >> m_algIndex;
29 TEData2 = ( reDigi & m_criMask ) >> m_criIndex;
47 cerr <<
"HltBuilder::pack can't get digiCol" << endl;
48 return StatusCode::FAILURE;
54 uint32_t event_filter[4] = { 0, 0, 0, 0 };
56 HltRawCol::const_iterator pHltDigi = digiCol->begin();
57 for ( ; pHltDigi != digiCol->end(); pHltDigi++ )
59 id = ( *pHltDigi )->identify();
62 uint32_t alg = ( *pHltDigi )->getIntChannel();
67 else { cri = ( *pHltDigi )->getIntChannel(); }
68 hltdigi = ( ( alg << m_algIndex ) & m_algMask ) | ( ( cri << m_algIndex ) & m_criMask );
69 event_filter[1] = hltdigi;
73 cerr <<
"HltBuilder::pack(): HLT raw data error!" << endl;
74 return StatusCode::FAILURE;
78 hltdigi = ( *pHltDigi )->getIntChannel();
82 else m_buf[size++] = hltdigi;
90 return StatusCode::SUCCESS;
100 f.open( initFile.c_str() );
104 cerr <<
"Error: could not open file " << initFile << endl;
105 return StatusCode::FAILURE;
110 cerr <<
"Error: could not find '##HltRawConf' in file " << initFile << endl;
111 return StatusCode::FAILURE;
119 return StatusCode::FAILURE;
122 cout <<
"HltBuilder:: #Index mask" << endl
123 <<
" " << m_idIndex <<
" " << m_idMask << endl
124 <<
" " << m_algIndex <<
" " << m_algMask << endl
125 <<
" " << m_criIndex <<
" " << m_criMask << endl
126 <<
" " << m_varIndex <<
" " << m_varMask << endl;
130 for ( uint32_t i = 0; i < 256; i++ )
132 m_re2te[i] = ( 0x50000000 | i );
134 m_te2reMap.insert( TE2REMAP::value_type( m_re2te[i], i ) );
137 return StatusCode::SUCCESS;
142 TE2REMAP::iterator itr = m_te2reMap.find( teid );
145 if ( itr != m_te2reMap.end() ) reid = ( *itr ).second;
148 cout <<
"wrong teid in emc " << teid << endl;
TFile f("ana_bhabha660a_dqa_mcPat_zy_old.root")
ObjectVector< HltRaw > HltRawCol
eformat::write::FullEventFragment WriteRawEvent
void append2event(WriteRawEvent *&re, uint32_t source_id, uint32_t size, uint32_t shift=0)
static bool find(ifstream &f, string msg, string fname)
static bool expect(ifstream &f, string msg, string fname)
static bool expectInt(ifstream &f, string msg, string fname, uint32_t &val1, uint32_t &val2)
void unPack(uint32_t reDigi, uint32_t n, uint32_t &REId, uint32_t &TEData1, uint32_t &TEData2)
uint32_t getREID(uint32_t teid)
StatusCode pack(HltRawCol *digiCol, WriteRawEvent *&re)
StatusCode initialize(string &initFile)
static bool is_version(const Identifier &id)
static bool is_eventtype(const Identifier &id)
static bool is_algorithm(const Identifier &id)
static bool is_criteria(const Identifier &id)
static bool is_energy(const Identifier &id)