12 #include "boost/ptr_container/ptr_list.hpp"
59 std::string& tmpFileName__,
60 std::string& finalFileName__):
73 std::ofstream*
out()
const {
return out_.get(); }
88 std::auto_ptr<std::ofstream>
out_;
176 int detailedTriggerType,
192 OutStreamList::iterator
closeOutStream(OutStreamList::iterator streamRecord);
229 std::string& tmpName, std::string& finalName);
242 int* nTowerBlocks = 0)
const;
250 std::vector<unsigned>& fedIds)
const;
269 std::vector<IndexRecord>&
indices);
272 std::string& newFileName);
383 bool storeFirstOrbitId_;
387 std::ofstream firstOrbitOut_;
391 std::string firstOrbitOutputFile_;
395 uint32_t minOrbitId_;
462 #endif //EVENT_SELECT_H not defined
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 std::string emptyString_
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_
bool isDccEventEmpty(const FEDRawData &data, size_t *dccLen=0, int *nTowerBlocks=0) const
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_
edm::LuminosityBlockNumber_t startingLumiBlock() const
std::auto_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_
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of"!*"before the partial wildcard feature was incorporated).The per-event"cost"of each negative criterion with multiple relevant triggers is about the same as!*was in the past
static const unsigned maxEvents_
void closeOldStreams(edm::LuminosityBlockNumber_t lumiBlock)
int getDetailedTriggerType(const edm::Handle< FEDRawDataCollection > &rawdata, double *proba=0)
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)
struct LaserSorter::stats_t stats_
static stats_t stats_init
char data[epos_bytes_allocation]
bool writeEventHeader(std::ofstream &out, const edm::Event &evt, int fedId, unsigned nFeds)
static size_t indexReserve_
std::string finalFileName_
OutStreamList::iterator createOutStream(int fedId, edm::LuminosityBlockNumber_t lumiBlock)
int iNoFullReadoutDccError_
void restoreStreamsOfLumiBlock(int lumiBlock)
virtual void analyze(const edm::Event &, const edm::EventSetup &)
std::string tmpFileName() const
double nWritten
number of events written out
OutStreamList outStreamList_
bool operator<(const IndexRecord &i) const
bool renameAsBackup(const std::string &fileName, std::string &newFileName)