18 m_quiet(pset.getUntrackedParameter<bool>(
"quiet",
true)),
19 m_onlyRemapped(pset.getUntrackedParameter<bool>(
"onlyRemapped",
false)),
20 m_skip(pset.getUntrackedParameter<uint32_t>(
"skipEvents", 0)) {
27 produces<FEDRawDataCollection>();
31 for (std::vector<std::string>::const_iterator
i = params.begin();
i != params.end();
i++) {
32 unsigned long pos =
i->find(
':');
35 if (pos != std::string::npos)
36 remapTo = atoi(
i->c_str() + pos + 1);
38 m_sourceIdRemap.insert(std::pair<std::string, int>(streamName, remapTo));
40 edm::LogInfo(
"HCAL") << streamName <<
" --> " << remapTo << endl;
42 edm::LogInfo(
"HCAL") << streamName <<
" using fedid in file" << endl;
62 m_file = TFile::Open(filename.c_str());
64 edm::LogError(
"HCAL") <<
"Unable to open " << filename << endl;
74 edm::LogError(
"HCAL") <<
"Unable to find CMSRAW tree" << endl;
79 edm::LogInfo(
"HCAL") <<
"Opening '" << filename <<
"' with " <<
m_tree->GetEntries() <<
" events.\n";
82 TObjArray* lb =
m_tree->GetListOfBranches();
84 for (
int i = 0;
i < lb->GetSize();
i++) {
85 TBranch*
b = (TBranch*)lb->At(
i);
88 if (!strcmp(b->GetClassName(),
"CDFEventInfo")) {
92 if (strcmp(b->GetClassName(),
"CDFChunk"))
99 edm::LogInfo(
"HCAL") <<
"Also reading branch " << b->GetName();
151 time = present_time + time_between_events;
156 auto bare_product = std::make_unique<FEDRawDataCollection>();
170 unsigned int* header = (
unsigned int*)fed.
data();
171 header[0] = (header[0] & 0xFFF000FFu) | (
id << 8);
175 edm::LogInfo(
"HCAL") <<
"Reading " << len <<
" bytes for FED " <<
id << std::endl;
T getUntrackedParameter(std::string const &, T const &) const
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
Log< level::Error, false > LogError
unsigned int timeBetweenEvents() const
void openFile(const std::string &filename)
void resize(size_t newsize)
ClassImp(AliDaqEventHeader)
Global information about an event such as event number and run number.
LuminosityBlockNumber_t luminosityBlock() const
unsigned long long TimeValue_t
UInt_t getRunNumber() const
get the run number
CDFChunk * m_chunks[CHUNK_COUNT]
Log< level::Info, false > LogInfo
int m_chunkIds[CHUNK_COUNT]
HcalTBSource(const edm::ParameterSet &pset, edm::InputSourceDescription const &desc)
void unpackSetup(const std::vector< std::string > ¶ms)
char data[epos_bytes_allocation]
const unsigned char * data() const
Return a const pointer to the beginning of the data buffer.
std::map< std::string, int > m_sourceIdRemap
CDFEventInfo * m_eventInfo
bool setRunAndEventInfo(edm::EventID &id, edm::TimeValue_t &time, edm::EventAuxiliary::ExperimentType &) override
Int_t getDataLength() const
TimeValue_t presentTime() const
ULong64_t getEventNumber() const
get the event number
tuple size
Write out results.
void produce(edm::Event &e) override
std::vector< std::string > fileNames(unsigned iCatalog) const