//----------------------------------------------------------------------------- // // InitTopSummaryBlock // // Author: Phillip Koehn // Date: Sept. 12 2001 // //----------------------------------------------------------------------------- #include "evt/Event.hh" #include #include #include #include "TopObjects/TopSummary.hh" #include #include #include // //_____________________________________________________________________________ Int_t StntupleInitTopSummaryBlock(TStnDataBlock* block, AbsEvent* event, int mode) { // initialize Top Summary block with the `event' data int ev_number, rn_number; char process[100], description[100], objType[100]; std::string metname; //----------------------------------------------------------------------------- // save time: don't do initialization twice for the same event //----------------------------------------------------------------------------- ev_number = AbsEnv::instance()->trigNumber(); rn_number = AbsEnv::instance()->runNumber(); if (block->Initialized(ev_number,rn_number)) return 0; TStnTopSummaryBlock* data = (TStnTopSummaryBlock*) block; data->Clear(); // Get description as specified by talk-to StntupleGetProcessName(data->CollName()->Data(),process,description,objType); EventRecord::ConstIterator ciEvent = StntupleGetIterator(event,"TopSummary",process,description); if (ciEvent.is_valid()) { ConstHandle topsum(ciEvent); data->fnTightEle = topsum->nTightEle(); data->fnTightMuo = topsum->nTightMu(); data->fnTightJet = topsum->nTightJet(); data->fnTightLepton = topsum->nTightLepton(); data->fnLooseEle = topsum->nLooseEle(); data->fnLooseMuo = topsum->nLooseMu(); data->fnLooseJet = topsum->nLooseJet(); data->fnLooseLepton = topsum->nLooseLepton(); data->fTopEventClass = topsum->eventCode(); data->frawMissingEt = topsum->rawMissingEt(); data->frawMissingEtPhi = topsum->rawMissingEtPhi(); data->fvertexCorrMissingEt = topsum->vertexCorrMissingEt(); data->fvertexCorrMissingEtPhi = topsum->vertexCorrMissingEtPhi(); data->fmuonCorrMissingEt = topsum->muonCorrMissingEt(); data->fmuonCorrMissingEtPhi = topsum->muonCorrMissingEtPhi(); data->fleptonZVertex = topsum->primaryZVertex(); data->fjetZVertex = topsum->jetZVertex(); //new for version 2 data->fhadSumEt = topsum->hadSumEt(); data->fhadSumEt3 = topsum->hadSumEt3(); data->fhadCentrality = topsum->hadCentrality(); data->fhadAplanarity = topsum->hadAplanarity(); data->fhadSphericity = topsum->hadSphericity(); //topsum->print(); //data->Print(); }else{ return -1; } return 0; }