1#include "RawDataCnv/EventManagement/EmcMcHitBuilder.h"
2#include "Identifier/EmcID.h"
10 vector<uint32_t>::const_iterator& eiter,
EmcTruth_t& et ) {
11 uint32_t helpVal = *(
iter++ );
12 assert(
iter != eiter );
14 assert(
iter != eiter );
16 assert(
iter != eiter );
18 assert(
iter != eiter );
20 assert(
iter != eiter );
22 assert(
iter != eiter );
24 assert(
iter != eiter );
27 et.
trackIndex = ( helpVal & m_trackIndexMask ) >> m_trackIndexIndex;
28 et.
partId = ( helpVal & m_partIdMask ) >> m_partIdIndex;
29 et.
numTheta = ( helpVal & m_numThetaMask ) >> m_numThetaIndex;
30 et.
numPhi = ( helpVal & m_numPhiMask ) >> m_numPhiIndex;
70 return StatusCode::SUCCESS;
79 f.open( initFile.c_str() );
83 cerr <<
"Error: could not open file " << initFile << endl;
84 return StatusCode::FAILURE;
89 cerr <<
"Error: could not find '##EmcTruthConf' in file " << initFile << endl;
90 return StatusCode::FAILURE;
106 return StatusCode::FAILURE;
110 return StatusCode::SUCCESS;
117void EmcMcHitBuilder::makeEmcTruth( EmcMcHitCol::const_iterator& pEmcMcHit,
EmcTruth_t& et ) {
118 Identifier ident = ( *pEmcMcHit )->identify();
120 et.
trackIndex = ( *pEmcMcHit )->getTrackIndex();
124 et.
x = int( ( *pEmcMcHit )->getPositionX() *
m_xCoeff );
125 et.
y = int( ( *pEmcMcHit )->getPositionY() *
m_yCoeff );
126 et.
z = int( ( *pEmcMcHit )->getPositionZ() *
m_zCoeff );
127 et.
px = int( ( *pEmcMcHit )->getPx() *
m_pxCoeff );
128 et.
py = int( ( *pEmcMcHit )->getPy() *
m_pyCoeff );
129 et.
pz = int( ( *pEmcMcHit )->getPz() *
m_pzCoeff );
TFile f("ana_bhabha660a_dqa_mcPat_zy_old.root")
eformat::write::FullEventFragment WriteRawEvent
static bool find(ifstream &f, string msg, string fname)
static bool expect(ifstream &f, string msg, string fname)
static bool expectLong(ifstream &f, string msg, string fname, uint64_t &val)
static bool expectInt(ifstream &f, string msg, string fname, uint32_t &val1, uint32_t &val2)
static unsigned int barrel_ec(const Identifier &id)
Values of different levels (failure returns 0).
static unsigned int theta_module(const Identifier &id)
static unsigned int phi_module(const Identifier &id)
virtual StatusCode pack(EmcMcHitCol *emcMcHitCol, WriteRawEvent *&re)
virtual uint32_t getTEID(uint32_t teid)
virtual void unPack(vector< uint32_t >::const_iterator &, vector< uint32_t >::const_iterator &, EmcTruth_t &)
uint64_t m_totalEdepCoeff
virtual uint32_t getREID(uint32_t reid)
virtual StatusCode initialize(string &initFile)
ObjectVector< EmcMcHit > EmcMcHitCol