CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
FRDOutputModule Class Reference

#include <FRDOutputModule.h>

Inheritance diagram for FRDOutputModule:
edm::one::OutputModule< edm::one::WatchLuminosityBlocks > edm::one::OutputModuleBase edm::core::OutputModuleCore edm::EDConsumerBase

Public Member Functions

 FRDOutputModule (edm::ParameterSet const &ps)
 
 ~FRDOutputModule () override
 
- Public Member Functions inherited from edm::one::OutputModule< edm::one::WatchLuminosityBlocks >
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
const OutputModuleoperator= (const OutputModule &)=delete
 
 OutputModule (edm::ParameterSet const &iPSet)
 
 OutputModule (const OutputModule &)=delete
 
bool wantsGlobalLuminosityBlocks () const noexcept final
 
bool wantsGlobalRuns () const noexcept final
 
bool wantsInputProcessBlocks () const noexcept final
 
bool wantsProcessBlocks () const noexcept final
 
- Public Member Functions inherited from edm::one::OutputModuleBase
OutputModuleBaseoperator= (OutputModuleBase const &)=delete
 
 OutputModuleBase (ParameterSet const &pset)
 
 OutputModuleBase (OutputModuleBase const &)=delete
 
SharedResourcesAcquirersharedResourcesAcquirer ()
 
SubProcessParentageHelper const * subProcessParentageHelper () const
 
bool wantsStreamLuminosityBlocks () const noexcept
 
bool wantsStreamRuns () const noexcept
 
- Public Member Functions inherited from edm::core::OutputModuleCore
BranchIDLists const * branchIDLists () const
 
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::array< bool, NumBranchTypes > const & hasNewlyDroppedBranch () const
 
SelectedProductsForBranchType const & keptProducts () const
 
int maxEvents () const
 
const ModuleDescriptionmoduleDescription () const
 
OutputModuleCoreoperator= (OutputModuleCore const &)=delete
 
 OutputModuleCore (ParameterSet const &pset)
 
 OutputModuleCore (OutputModuleCore const &)=delete
 
OutputProcessBlockHelper const & outputProcessBlockHelper () const
 
std::string const & processName () const
 
int remainingEvents () const
 
bool selected (BranchDescription const &desc) const
 
void selectProducts (ProductRegistry const &preg, ThinnedAssociationsHelper const &, ProcessBlockHelperBase const &)
 
ThinnedAssociationsHelper const * thinnedAssociationsHelper () const
 
bool wantAllEvents () const
 
 ~OutputModuleCore () override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESResolverIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESResolverIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::array< std::vector< ModuleDescription const *> *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const *> const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProductResolverIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from edm::core::OutputModuleCore
static const std::string & baseType ()
 
static void fillDescription (ParameterSetDescription &desc, std::vector< std::string > const &iDefaultOutputCommands=ProductSelectorRules::defaultSelectionStrings())
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 

Private Member Functions

uint32_t adler32 () const
 
void beginLuminosityBlock (edm::LuminosityBlockForOutput const &) override
 
void endLuminosityBlock (edm::LuminosityBlockForOutput const &) override
 
void finishFileWrite (unsigned int run, int ls)
 
void write (edm::EventForOutput const &e) override
 
void writeLuminosityBlock (const edm::LuminosityBlockForOutput &) override
 
void writeRun (const edm::RunForOutput &) override
 

Private Attributes

uint32_t adlera_
 
uint32_t adlerb_
 
std::string fileName_
 
std::string filePrefix_
 
bool fileWritten_ = false
 
const uint32_t frdFileVersion_
 
const uint32_t frdVersion_
 
int outfd_ = -1
 
uint32_t perFileEventCount_
 
uint64_t perFileSize_
 
const edm::EDGetTokenT< FEDRawDataCollectiontoken_
 

Additional Inherited Members

- Public Types inherited from edm::one::OutputModuleBase
typedef OutputModuleBase ModuleType
 
- Public Types inherited from edm::core::OutputModuleCore
typedef OutputModuleCore ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Protected Member Functions inherited from edm::one::OutputModuleBase
void configure (OutputModuleDescription const &desc)
 
void doBeginJob ()
 
bool doEvent (EventTransitionInfo const &, ActivityRegistry *, ModuleCallingContext const *)
 
void doPreallocate (PreallocationConfiguration const &)
 
- Protected Member Functions inherited from edm::core::OutputModuleCore
void configure (OutputModuleDescription const &desc)
 
ModuleDescription const & description () const
 
void doAccessInputProcessBlock (ProcessBlockPrincipal const &, ModuleCallingContext const *)
 
void doBeginJob_ ()
 
bool doBeginLuminosityBlock (LumiTransitionInfo const &, ModuleCallingContext const *)
 
void doBeginProcessBlock (ProcessBlockPrincipal const &, ModuleCallingContext const *)
 
bool doBeginRun (RunTransitionInfo const &, ModuleCallingContext const *)
 
void doEndJob ()
 
bool doEndLuminosityBlock (LumiTransitionInfo const &, ModuleCallingContext const *)
 
void doEndProcessBlock (ProcessBlockPrincipal const &, ModuleCallingContext const *)
 
bool doEndRun (RunTransitionInfo const &, ModuleCallingContext const *)
 
bool doEvent_ (EventTransitionInfo const &, ActivityRegistry *, ModuleCallingContext const *)
 
void doPreallocate_ (PreallocationConfiguration const &)
 
std::map< BranchID::value_type, BranchID::value_type > const & droppedBranchIDToKeptBranchID ()
 
virtual void preallocLumis (unsigned int)
 
ParameterSetID selectorConfig () const
 
void setEventSelectionInfo (std::map< std::string, std::vector< std::pair< std::string, int >>> const &outputModulePathPositions, bool anyProductProduced)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< Bconsumes (edm::InputTag tag) noexcept
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes ()
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag)
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
void resetItemsToGetFrom (BranchType iType)
 
- Protected Attributes inherited from edm::core::OutputModuleCore
std::atomic< int > remainingEvents_
 

Detailed Description

Definition at line 15 of file FRDOutputModule.h.

Constructor & Destructor Documentation

◆ FRDOutputModule()

FRDOutputModule::FRDOutputModule ( edm::ParameterSet const &  ps)
explicit

Definition at line 27 of file FRDOutputModule.cc.

30  token_(consumes<FEDRawDataCollection>(ps.getParameter<edm::InputTag>("source"))),
31  frdVersion_(ps.getUntrackedParameter<unsigned int>("frdVersion")),
32  frdFileVersion_(ps.getUntrackedParameter<unsigned int>("frdFileVersion")),
33  filePrefix_(ps.getUntrackedParameter<std::string>("filePrefix")),
34  fileName_(ps.getUntrackedParameter<std::string>("fileName")) {}
const uint32_t frdFileVersion_
std::string filePrefix_
std::string fileName_
OutputModuleBase(ParameterSet const &pset)
const edm::EDGetTokenT< FEDRawDataCollection > token_
const uint32_t frdVersion_

◆ ~FRDOutputModule()

FRDOutputModule::~FRDOutputModule ( )
override

Definition at line 36 of file FRDOutputModule.cc.

36 {}

Member Function Documentation

◆ adler32()

uint32_t FRDOutputModule::adler32 ( ) const
inlineprivate

Definition at line 33 of file FRDOutputModule.h.

References adlera_, and adlerb_.

33 { return (adlerb_ << 16) | adlera_; }

◆ beginLuminosityBlock()

void FRDOutputModule::beginLuminosityBlock ( edm::LuminosityBlockForOutput const &  lumiBlock)
overrideprivate

Definition at line 135 of file FRDOutputModule.cc.

References adlera_, adlerb_, Exception, MillePedeFileConverter_cfg::fileName, fileName_, filePrefix_, fileWritten_, finishFileWrite(), frdFileVersion_, edm::LuminosityBlockForOutput::id(), eostools::ls(), edm::LuminosityBlockID::luminosityBlock(), outfd_, perFileEventCount_, perFileSize_, edm::LuminosityBlockForOutput::run(), contentValuesCheck::ss, and AlCaHLTBitMon_QueryRunRegistry::string.

135  {
136  int ls = lumiBlock.id().luminosityBlock();
137 
138  if (outfd_ != -1)
139  finishFileWrite(lumiBlock.run(), ls);
140 
141  if (fileWritten_)
142  throw cms::Exception("RawEventFileWriterForBU", "beginLuminosityBlock")
143  << "Multiple lumisections not supported in the same FRD file!";
144 
146  if (fileName_.empty()) {
147  std::stringstream ss;
148  ss << (filePrefix_.empty() ? "" : filePrefix_ + "_") << "run" << std::setfill('0') << std::setw(6)
149  << lumiBlock.run() << "_ls" << std::setfill('0') << std::setw(4) << ls << "_index000000.raw";
150  fileName = ss.str();
151  } else {
152  //use exact filename (will be overwritten by last LS content if input contains multiple lumisections)
154  }
155 
156  outfd_ = open(fileName.c_str(), O_WRONLY | O_CREAT, S_IRWXU | S_IRWXG | S_IRWXO);
157  ftruncate(outfd_, 0);
158 
159  if (outfd_ < 0) { //attention here... it may happen that outfd_ is *not* set (e.g. missing initialize call...)
160  throw cms::Exception("RawEventFileWriterForBU", "beginLuminosityBlock")
161  << "Error opening FED Raw Data event output file: " << fileName << ": " << strerror(errno) << "\n";
162  }
163  edm::LogInfo("RawEventFileWriterForBU") << " Opened " << fileName;
164 
165  perFileEventCount_ = 0;
166  perFileSize_ = 0;
167 
168  adlera_ = 1;
169  adlerb_ = 0;
170 
171  if (frdFileVersion_ == 1) {
172  //reserve space for file header
173  ftruncate(outfd_, sizeof(FRDFileHeader_v1));
174  lseek(outfd_, sizeof(FRDFileHeader_v1), SEEK_SET);
175  perFileSize_ = sizeof(FRDFileHeader_v1);
176  } else if (frdFileVersion_ == 2) {
177  ftruncate(outfd_, sizeof(FRDFileHeader_v2));
178  lseek(outfd_, sizeof(FRDFileHeader_v2), SEEK_SET);
179  perFileSize_ = sizeof(FRDFileHeader_v2);
180  } else
181  throw cms::Exception("RawEventFileWriterForBU", "beginLuminosityBlock")
182  << "Unsupported FRD version " << frdFileVersion_;
183 }
void finishFileWrite(unsigned int run, int ls)
const uint32_t frdFileVersion_
uint32_t perFileEventCount_
uint64_t perFileSize_
std::string filePrefix_
std::string fileName_
Log< level::Info, false > LogInfo
def ls(path, rec=False)
Definition: eostools.py:349

◆ endLuminosityBlock()

void FRDOutputModule::endLuminosityBlock ( edm::LuminosityBlockForOutput const &  lumiBlock)
overrideprivate

Definition at line 185 of file FRDOutputModule.cc.

References finishFileWrite(), edm::LuminosityBlockForOutput::id(), edm::LuminosityBlockID::luminosityBlock(), and edm::LuminosityBlockForOutput::run().

185  {
186  finishFileWrite(lumiBlock.run(), lumiBlock.id().luminosityBlock());
187 }
void finishFileWrite(unsigned int run, int ls)

◆ fillDescriptions()

void FRDOutputModule::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 38 of file FRDOutputModule.cc.

References edm::ConfigurationDescriptions::addWithDefaultLabel(), submitPVResolutionJobs::desc, ProducerED_cfi::InputTag, and AlCaHLTBitMon_QueryRunRegistry::string.

38  {
40  desc.add<edm::InputTag>("source", edm::InputTag("rawDataCollector"));
41  desc.addUntracked<unsigned int>("frdFileVersion", 1), desc.addUntracked<unsigned int>("frdVersion", 6);
42  desc.addUntracked<std::string>("filePrefix", "");
43  desc.addUntracked<std::string>("fileName", "");
44  descriptions.addWithDefaultLabel(desc);
45 }
void addWithDefaultLabel(ParameterSetDescription const &psetDescription)

◆ finishFileWrite()

void FRDOutputModule::finishFileWrite ( unsigned int  run,
int  ls 
)
private

Definition at line 189 of file FRDOutputModule.cc.

References fileName_, fileWritten_, frdFileVersion_, eostools::ls(), outfd_, perFileEventCount_, perFileSize_, writedatasetfile::run, and write().

Referenced by beginLuminosityBlock(), and endLuminosityBlock().

189  {
190  if (outfd_ == -1)
191  return;
192 
193  if (frdFileVersion_ == 1) {
194  //rewind
195  lseek(outfd_, 0, SEEK_SET);
196  FRDFileHeader_v1 frdFileHeader(perFileEventCount_, (uint32_t)ls, perFileSize_);
197  ::write(outfd_, (char*)&frdFileHeader, sizeof(FRDFileHeader_v1));
198  } else if (frdFileVersion_ == 2) {
199  lseek(outfd_, 0, SEEK_SET);
200  FRDFileHeader_v2 frdFileHeader(0, perFileEventCount_, (uint32_t)run, (uint32_t)ls, perFileSize_);
201  ::write(outfd_, (char*)&frdFileHeader, sizeof(FRDFileHeader_v2));
202  }
203  close(outfd_);
204  outfd_ = -1;
205  if (!fileName_.empty())
206  fileWritten_ = true;
207 
208  edm::LogInfo("FRDOutputModule") << "closed RAW input file";
209 }
const uint32_t frdFileVersion_
uint32_t perFileEventCount_
uint64_t perFileSize_
std::string fileName_
Log< level::Info, false > LogInfo
def ls(path, rec=False)
Definition: eostools.py:349
void write(edm::EventForOutput const &e) override

◆ write()

void FRDOutputModule::write ( edm::EventForOutput const &  e)
overrideprivatevirtual

Implements edm::core::OutputModuleCore.

Definition at line 47 of file FRDOutputModule.cc.

References cms::Adler32(), cms::cuda::assert(), crc32c(), FEDRawData::data(), MillePedeFileConverter_cfg::e, Exception, FEDRawDataCollection::FEDData(), fileName_, HLT_2024v14_cff::flags, edm::streamer::FRDEVENT_MASK_ISGENDATA, edm::streamer::FRDHeaderMaxVersion, edm::streamer::FRDHeaderVersionSize, frdVersion_, heavyIonCSV_trainingSettings::idx, FEDNumbering::lastFEDId(), mps_check::msg, outfd_, perFileEventCount_, perFileSize_, FEDRawData::size(), and token_.

Referenced by finishFileWrite(), and pkg.AbstractPkg::generate().

47  {
48  // serialize the FEDRawDataCollection into the format that we expect for
49  // FRDEventMsgView objects (may be better ways to do this)
51  e.getByToken(token_, fedBuffers);
52 
53  // determine the expected size of the FRDEvent IN BYTES !!!!!
55  int headerSize = FRDHeaderVersionSize[frdVersion_];
56  int expectedSize = headerSize;
57  int nFeds = frdVersion_ < 3 ? 1024 : FEDNumbering::lastFEDId() + 1;
58 
59  for (int idx = 0; idx < nFeds; ++idx) {
60  FEDRawData singleFED = fedBuffers->FEDData(idx);
61  expectedSize += singleFED.size();
62  }
63 
64  // build the FRDEvent into a temporary buffer
65  std::unique_ptr<std::vector<unsigned char>> workBuffer(
66  std::make_unique<std::vector<unsigned char>>(expectedSize + 256));
67  uint32* bufPtr = (uint32*)(workBuffer.get()->data());
68  if (frdVersion_ <= 5) {
69  *bufPtr++ = (uint32)frdVersion_; // version number only
70  } else {
71  uint16 flags = 0;
72  if (!e.eventAuxiliary().isRealData())
74  *(uint16*)bufPtr = (uint16)(frdVersion_ & 0xffff);
75  *((uint16*)bufPtr + 1) = flags;
76  bufPtr++;
77  }
78  *bufPtr++ = (uint32)e.id().run();
79  *bufPtr++ = (uint32)e.luminosityBlock();
80  *bufPtr++ = (uint32)e.id().event();
81  if (frdVersion_ == 4)
82  *bufPtr++ = 0; //64-bit event id high part
83 
84  if (frdVersion_ < 3) {
85  uint32 fedsize[1024];
86  for (int idx = 0; idx < 1024; ++idx) {
87  FEDRawData singleFED = fedBuffers->FEDData(idx);
88  fedsize[idx] = singleFED.size();
89  //std::cout << "fed size " << singleFED.size()<< std::endl;
90  }
91  memcpy(bufPtr, fedsize, 1024 * sizeof(uint32));
92  bufPtr += 1024;
93  } else {
94  *bufPtr++ = expectedSize - headerSize;
95  *bufPtr++ = 0;
96  if (frdVersion_ <= 4)
97  *bufPtr++ = 0;
98  }
99  uint32* payloadPtr = bufPtr;
100  for (int idx = 0; idx < nFeds; ++idx) {
101  FEDRawData singleFED = fedBuffers->FEDData(idx);
102  if (singleFED.size() > 0) {
103  memcpy(bufPtr, singleFED.data(), singleFED.size());
104  bufPtr += singleFED.size() / 4;
105  }
106  }
107  if (frdVersion_ > 4) {
108  //crc32c checksum
109  uint32_t crc = 0;
110  *(payloadPtr - 1) = crc32c(crc, (const unsigned char*)payloadPtr, expectedSize - headerSize);
111  } else if (frdVersion_ >= 3) {
112  //adler32 checksum
113  uint32 adlera = 1;
114  uint32 adlerb = 0;
115  cms::Adler32((const char*)payloadPtr, expectedSize - headerSize, adlera, adlerb);
116  *(payloadPtr - 1) = (adlerb << 16) | adlera;
117  }
118 
119  // create the FRDEventMsgView and use the template consumer to write it out
120  FRDEventMsgView msg(workBuffer.get()->data());
121 
122  //write
123  ssize_t retval = ::write(outfd_, (void*)msg.startAddress(), msg.size());
124 
125  if ((unsigned)retval != msg.size()) {
126  throw cms::Exception("FRDOutputModule", "write")
127  << "Error writing FED Raw Data event data to " << fileName_ << ". Possibly the output disk "
128  << "is full?" << std::endl;
129  }
130 
132  perFileSize_ += msg.size();
133 }
uint32_t perFileEventCount_
constexpr std::array< uint32, FRDHeaderMaxVersion+1 > FRDHeaderVersionSize
uint64_t perFileSize_
constexpr size_t FRDHeaderMaxVersion
size_t size() const
Lenght of the data buffer in bytes.
Definition: FEDRawData.h:48
assert(be >=bs)
const uint16 FRDEVENT_MASK_ISGENDATA
const FEDRawData & FEDData(int fedid) const
retrieve data for fed
std::string fileName_
uint32_t crc32c(uint32_t crc, const unsigned char *buf, size_t len)
Definition: crc32c.cc:340
void Adler32(char const *data, size_t len, uint32_t &a, uint32_t &b)
const edm::EDGetTokenT< FEDRawDataCollection > token_
tuple msg
Definition: mps_check.py:286
const uint32_t frdVersion_
const unsigned char * data() const
Return a const pointer to the beginning of the data buffer.
Definition: FEDRawData.cc:24
unsigned short uint16
Definition: MsgTools.h:13
unsigned int uint32
Definition: MsgTools.h:14
static constexpr int lastFEDId()
Definition: FEDNumbering.h:19
void write(edm::EventForOutput const &e) override

◆ writeLuminosityBlock()

void FRDOutputModule::writeLuminosityBlock ( const edm::LuminosityBlockForOutput )
inlineoverrideprivatevirtual

Implements edm::core::OutputModuleCore.

Definition at line 27 of file FRDOutputModule.h.

27 {}

◆ writeRun()

void FRDOutputModule::writeRun ( const edm::RunForOutput )
inlineoverrideprivatevirtual

Implements edm::core::OutputModuleCore.

Definition at line 26 of file FRDOutputModule.h.

26 {}

Member Data Documentation

◆ adlera_

uint32_t FRDOutputModule::adlera_
private

Definition at line 43 of file FRDOutputModule.h.

Referenced by adler32(), and beginLuminosityBlock().

◆ adlerb_

uint32_t FRDOutputModule::adlerb_
private

Definition at line 44 of file FRDOutputModule.h.

Referenced by adler32(), and beginLuminosityBlock().

◆ fileName_

std::string FRDOutputModule::fileName_
private

Definition at line 40 of file FRDOutputModule.h.

Referenced by beginLuminosityBlock(), finishFileWrite(), and write().

◆ filePrefix_

std::string FRDOutputModule::filePrefix_
private

Definition at line 39 of file FRDOutputModule.h.

Referenced by beginLuminosityBlock().

◆ fileWritten_

bool FRDOutputModule::fileWritten_ = false
private

Definition at line 49 of file FRDOutputModule.h.

Referenced by beginLuminosityBlock(), and finishFileWrite().

◆ frdFileVersion_

const uint32_t FRDOutputModule::frdFileVersion_
private

Definition at line 38 of file FRDOutputModule.h.

Referenced by beginLuminosityBlock(), and finishFileWrite().

◆ frdVersion_

const uint32_t FRDOutputModule::frdVersion_
private

Definition at line 37 of file FRDOutputModule.h.

Referenced by write().

◆ outfd_

int FRDOutputModule::outfd_ = -1
private

Definition at line 42 of file FRDOutputModule.h.

Referenced by beginLuminosityBlock(), finishFileWrite(), and write().

◆ perFileEventCount_

uint32_t FRDOutputModule::perFileEventCount_
private

Definition at line 46 of file FRDOutputModule.h.

Referenced by beginLuminosityBlock(), finishFileWrite(), and write().

◆ perFileSize_

uint64_t FRDOutputModule::perFileSize_
private

Definition at line 47 of file FRDOutputModule.h.

Referenced by beginLuminosityBlock(), finishFileWrite(), and write().

◆ token_

const edm::EDGetTokenT<FEDRawDataCollection> FRDOutputModule::token_
private

Definition at line 35 of file FRDOutputModule.h.

Referenced by write().