//========================================== // // Prereq -- filter module for selecting events by Trigger // // Authors: Kevin McFarland, Kirsten Tollefson // //========================================== #ifdef DEFECT_OLD_IOSTREAM_HEADERS #include #include #else #include #include #endif #ifndef DEFECT_NO_STDLIB_NAMESPACES using std::dec; using std::setw; using std::hex; using std::cout; using std::endl; using std::string; #endif #include "Level3Mods/RawTriggerQuery.hh" #include "TriggerObjects/TFRD_StorableBank.hh" #include "TriggerObjects/TL2D_StorableBank.hh" #include "TriggerObjects/TL3D_StorableBank.hh" #include "Level3Objects/Level3ModuleResults.hh" #include "BaBar/Cdf.hh" #include "Edm/EventRecord.hh" #include "Edm/ConstHandle.hh" #include "AbsEnv/AbsEnv.hh" //------------------- // ConsumerServerLogger headers -- used here for trigger bits //------------------- extern "C" { #include "ConsumerInterface/l3_cs_pointer_space.h" } bool RawTriggerQuery::fillL1TriggerMask ( int4* L1Mask, rawTriggerSource theSource ){ bool foundL1Bits = false; AbsEvent* theEvent = AbsEnv::theEvent(); if ( theSource.L1 == RawTriggerQuery::fromTFRD || theSource.L1 == RawTriggerQuery::fromTFRDunprescaled ) { // // Level-1 Trigger Bits From TFRD // EventRecord::ConstIterator TFRD_iter( theEvent, "TFRD_StorableBank" ); if ( TFRD_iter.is_valid() ) { foundL1Bits = true; ConstHandle tfrd( TFRD_iter ); for (int iw=0; iwgetL1NoPrescaleTrigDecision(ibit); else L1Mask[iw] = tfrd->getL1PrescaleTrigDecision(ibit); } if ( theSource.debug ) { cout << " TFRD L1 Trig Mask = " << hex << setw(8); for (int iw=0; iw tl2d( TL2D_iter ); for (int iw=0; iwgetL1TriggerBit(ibit); } if ( theSource.debug ) { cout << " TL2D L1 Trig Mask = " << hex << setw(8); for (int iw=0; iw tl2d( TL2D_iter ); for (int iw=0; iwgetL2TriggerBit(ibit); } if ( theSource.debug ) { cout << " TL2D L2 Trig Mask = " << hex << setw(8); for (int iw=0; iw