26 virtual void endJob()
override ;
41 produces<FEDRawDataCollection>();
57 std::vector<int> selFEDs;
64 if ( fedData.
size() < 24 )
continue ;
66 if ( calibType < 0 ) {
69 if ( calibType != value )
70 edm::LogWarning(
"HcalCalibFEDSelector") <<
"Conflicting calibration types found: "
71 << calibType <<
" vs. " << value
79 bool duplicate =
false ;
80 for (
unsigned int j=0;
j<selFEDs.size();
j++) {
86 if ( !duplicate ) selFEDs.push_back(
extraFEDs_.at(
i) ) ;
95 for (uint32_t
k=0;
k<selFEDs.size();
k++)
102 if (!rightFED)
continue;
109 FEDRawData & fedDataProd = producedData->FEDData(
j);
110 if ( fedDataProd.
size() != 0 ) {
114 unsigned char *dataProd=fedDataProd.
data();
115 const unsigned char *
data=fedData.
data();
117 memcpy(dataProd, data, size);
121 iEvent.
put(producedData);
T getParameter(std::string const &) const
bool getByToken(EDGetToken token, Handle< PROD > &result) const
#define DEFINE_FWK_MODULE(type)
virtual void beginJob() override
virtual void endJob() override
HcalCalibFEDSelector(const edm::ParameterSet &)
size_t size() const
Lenght of the data buffer in bytes.
std::vector< int > extraFEDs_
virtual void produce(edm::Event &, const edm::EventSetup &) override
const FEDRawData & FEDData(int fedid) const
retrieve data for fed
void resize(size_t newsize)
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
edm::EDGetTokenT< FEDRawDataCollection > tok_fed_
T const * product() const
char data[epos_bytes_allocation]
const unsigned char * data() const
Return a const pointer to the beginning of the data buffer.
volatile std::atomic< bool > shutdown_flag false
std::vector< int > getListOfFEDs()
tuple size
Write out results.