#include <HcalTTPTriggerRecord.h>
Public Member Functions | |
HcalTTPTriggerRecord (const edm::ParameterSet &ps) | |
virtual void | produce (edm::Event &e, const edm::EventSetup &c) |
virtual | ~HcalTTPTriggerRecord () |
Private Attributes | |
std::vector< std::string > | names_ |
std::vector< unsigned int > | ttpBits_ |
edm::InputTag | ttpDigis_ |
Definition at line 9 of file HcalTTPTriggerRecord.h.
HcalTTPTriggerRecord::HcalTTPTriggerRecord | ( | const edm::ParameterSet & | ps | ) | [explicit] |
Definition at line 10 of file HcalTTPTriggerRecord.cc.
References edm::ParameterSet::getParameter(), names_, ttpBits_, and ttpDigis_.
{ ttpDigis_ = ps.getParameter<edm::InputTag>("ttpDigiCollection") ; ttpBits_ = ps.getParameter< std::vector<unsigned int> >("ttpBits"); names_ = ps.getParameter< std::vector<std::string> >("ttpBitNames"); produces<L1GtTechnicalTriggerRecord>(); }
HcalTTPTriggerRecord::~HcalTTPTriggerRecord | ( | ) | [virtual] |
Definition at line 20 of file HcalTTPTriggerRecord.cc.
{ }
void HcalTTPTriggerRecord::produce | ( | edm::Event & | e, |
const edm::EventSetup & | c | ||
) | [virtual] |
Implements edm::EDProducer.
Definition at line 23 of file HcalTTPTriggerRecord.cc.
References edm::SortedCollection< T, SORT >::begin(), funct::false, edm::Event::getByLabel(), i, names_, convertSQLitetoXML_cfg::output, edm::Event::put(), ttpBits_, and ttpDigis_.
{ std::vector<L1GtTechnicalTrigger> vecTT(ttpBits_.size()) ; // Get Inputs edm::Handle<HcalTTPDigiCollection> ttpDigiCollection ; e.getByLabel(ttpDigis_,ttpDigiCollection) ; if ( !ttpDigiCollection.failedToGet() ) { const HcalTTPDigiCollection* ttpDigis = ttpDigiCollection.product() ; uint8_t ttpResults = ttpDigis->begin()->triggerOutput() ; bool bit8 = ttpResults & 0x1 ; bool bit9 = ttpResults & 0x2 ; bool bit10 = ttpResults & 0x4 ; for (unsigned int i=0; i<ttpBits_.size(); i++) { bool bitValue = false ; if ( ttpBits_.at(i) == 8 ) bitValue = bit8 ; if ( ttpBits_.at(i) == 9 ) bitValue = bit9 ; if ( ttpBits_.at(i) == 10 ) bitValue = bit10 ; vecTT.at(i) = L1GtTechnicalTrigger(names_.at(i), ttpBits_.at(i), 0, bitValue) ; } } else { vecTT.clear() ; } // Put output into event std::auto_ptr<L1GtTechnicalTriggerRecord> output(new L1GtTechnicalTriggerRecord()) ; output->setGtTechnicalTrigger(vecTT) ; e.put(output) ; }
std::vector<std::string> HcalTTPTriggerRecord::names_ [private] |
Definition at line 22 of file HcalTTPTriggerRecord.h.
Referenced by HcalTTPTriggerRecord(), and produce().
std::vector<unsigned int> HcalTTPTriggerRecord::ttpBits_ [private] |
Definition at line 21 of file HcalTTPTriggerRecord.h.
Referenced by HcalTTPTriggerRecord(), and produce().
edm::InputTag HcalTTPTriggerRecord::ttpDigis_ [private] |
Definition at line 20 of file HcalTTPTriggerRecord.h.
Referenced by HcalTTPTriggerRecord(), and produce().