#include "evt/Event.hh" #include #include #include #include //_____________________________________________________________________________ Int_t StntupleInitEmTimingBlock(TStnDataBlock* block, AbsEvent* event, int mode) { int ev_number = AbsEnv::instance()->trigNumber(); int rn_number = AbsEnv::instance()->runNumber(); if (block->Initialized(ev_number,rn_number)) return 0; TStnEmTimingBlock* emt_block = (TStnEmTimingBlock*) block; emt_block->Clear(); // There is a fully corrected object ("TimingCollMaker") // and a raw object ("TimingCollMaker-RAW") CalorTdcTowerColl::const_handle crHandle; CalorTdcTowerColl::Error collErr = CalorTdcTowerColl::find ( crHandle , "TimingCollMaker"); if(collErr==CalorTdcTowerColl::ERROR) return 1; CalorTdcTowerColl::collection_type towList = crHandle->contents(); for(CalorTdcTowerColl::iterator it = towList.begin(); it!=towList.end(); it++) { for(int icell=0; icellnCells(); icell++) { CalorTdcCell* cell = it->tdcCell(icell); if(cell) { for(int i=0; inHits(); i++) { emt_block->AddHit(cell->iPhi(), cell->iEta(), cell->cellKey()->detector(), cell->hitTime(i), cell->hitWidth(i), cell->status()); } } } } //----------------------------------------------------------------------------- // on return mark event and run as initialized //----------------------------------------------------------------------------- emt_block->Initialized(ev_number,rn_number); return 0; }