11 #include "boost/ptr_container/ptr_list.hpp" 62 startingLumiBlock_(startingLumiBlock__),
64 tmpFileName_(tmpFileName__),
65 finalFileName_(finalFileName__),
67 indices_.reserve(indexReserve_);
70 int fedId()
const {
return fedId_; }
72 std::ofstream*
out()
const {
return out_.get(); }
75 std::vector<IndexRecord>*
indices() {
return &indices_; }
86 std::unique_ptr<std::ofstream>
out_;
177 int detailedTriggerType,
192 OutStreamList::iterator
closeOutStream(OutStreamList::iterator streamRecord);
372 bool storeFirstOrbitId_;
376 std::ofstream firstOrbitOut_;
384 uint32_t minOrbitId_;
473 #endif //EVENT_SELECT_H not defined
edm::InputTag fedRawDataCollectionTag_
OutStreamRecord * getStream(int fedId, edm::LuminosityBlockNumber_t lumiBlock)
std::vector< int > getFullyReadoutDccs(const FEDRawDataCollection &data) const
int maxFullReadoutDccError_
double nRestoredDcc
number of events whose DCC ID was restored based on FED block sizes
OutStreamRecord(int fedId__, edm::LuminosityBlockNumber_t startingLumiBlock__, std::ofstream *out__, std::string &tmpFileName__, std::string &finalFileName__)
static std::string toString(uint64_t t)
static const int ecalDccFedIdMin_
std::set< uint32_t > excludedOrbit_
static const int indexOffset32_
bool writeIndexTable(std::ofstream &out, std::vector< IndexRecord > &indices)
edm::LuminosityBlockNumber_t startingLumiBlock_
bool readIndexTable(std::ifstream &in, std::string &inName, OutStreamRecord &outRcd, std::string *err)
bool writeEvent(OutStreamRecord &out, const edm::Event &event, int detailedTriggerType, const FEDRawDataCollection &data)
edm::RunNumber_t runNumber_
void writeFileHeader(std::ofstream &out)
std::ofstream * out() const
void streamFileName(int fedId, edm::LuminosityBlockNumber_t lumiBlock, std::string &tmpName, std::string &finalName)
edm::LuminosityBlockNumber_t lumiBlock_
std::set< uint32_t > & excludedOrbit()
void getOutputFedList(const edm::Event &event, const FEDRawDataCollection &data, std::vector< unsigned > &fedIds) const
static const int matacqFedId_
OutStreamList::iterator closeOutStream(OutStreamList::iterator streamRecord)
unsigned int LuminosityBlockNumber_t
std::string finalFileName() const
std::vector< std::string > fedSubDirs_
std::vector< IndexRecord > indices_
struct timeval orbitZeroTime_
edm::LuminosityBlockNumber_t startingLumiBlock() const
std::unique_ptr< std::ofstream > out_
double nRead
number of events read out
unsigned char formatVersion_
std::vector< IndexRecord > * indices()
int dcc2Lme(int dccNum, int dccSide)
bool writeFedBlock(std::ofstream &out, const FEDRawData &data)
std::string outputListFile_
int getOrbitFromDcc(const edm::Handle< FEDRawDataCollection > &rawdata) const
static const std::string emptyString_
void beginRun(edm::Run const &, edm::EventSetup const &) override
bool overWriteLumiBlockId_
static const unsigned maxEvents_
void closeOldStreams(edm::LuminosityBlockNumber_t lumiBlock)
static const size_t indexReserve_
static const stats_t stats_init
int getDetailedTriggerType(const edm::Handle< FEDRawDataCollection > &rawdata, double *proba=nullptr)
boost::ptr_list< OutStreamRecord > OutStreamList
LaserSorter(const edm::ParameterSet &)
unsigned long long uint64_t
static const int ecalDccFedIdMax_
std::ofstream outputList_
int readFormatVersion(std::ifstream &in, const std::string &fileName)
int orbitCountInALumiBlock_
struct LaserSorter::stats_t stats_
char data[epos_bytes_allocation]
bool writeEventHeader(std::ofstream &out, const edm::Event &evt, int fedId, unsigned nFeds)
std::string finalFileName_
OutStreamList::iterator createOutStream(int fedId, edm::LuminosityBlockNumber_t lumiBlock)
edm::LuminosityBlockNumber_t lumiBlockPrev_
int iNoFullReadoutDccError_
void restoreStreamsOfLumiBlock(int lumiBlock)
std::string tmpFileName() const
double nWritten
number of events written out
edm::EDGetTokenT< FEDRawDataCollection > fedRawDataCollectionToken_
OutStreamList outStreamList_
bool operator<(const IndexRecord &i) const
void analyze(const edm::Event &, const edm::EventSetup &) override
bool renameAsBackup(const std::string &fileName, std::string &newFileName)
bool isDccEventEmpty(const FEDRawData &data, size_t *dccLen=nullptr, int *nTowerBlocks=nullptr) const