#include #include namespace RAT { void PollingCut::BeginOfRun(DS::Run&) { fHasWarned = false; } Processor::Result PollingCut::DSEvent(DS::Run&, DS::Entry& ds) { bool pass = true; // If any triggered event fails, they all fail for( size_t iEV = 0; iEV < ds.GetEVCount(); iEV++ ) if( Event(ds, ds.GetEV(iEV)) != OKTRUE ) pass = false; return pass ? OKTRUE : OKFALSE; } Processor::Result PollingCut::Event(DS::Entry&, DS::EV& ev) { int ext2_bit = 16; int mtca_mimic1_bit = 16; bool mtca_mimic = false; bool ext2 = false; // Check the MTCD EXT2 before the TUBii trig word Int_t mtcd_trig_word = ev.GetTrigType(); ext2 = (mtcd_trig_word & (1 << ext2_bit)) != 0; if(ext2) { if(!ev.TUBiiTrigExists()) { if (!fHasWarned) { warn<<"Can't perform Polling cut, tubii data is missing"<