CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Private Attributes
RawEventOutputModuleForBU< Consumer > Class Template Reference

#include <RawEventOutputModuleForBU.h>

Inheritance diagram for RawEventOutputModuleForBU< Consumer >:
edm::one::OutputModule< edm::one::WatchRuns, edm::one::WatchLuminosityBlocks > edm::one::OutputModuleBase edm::core::OutputModuleCore edm::EDConsumerBase

Public Member Functions

 RawEventOutputModuleForBU (edm::ParameterSet const &ps)
 
 ~RawEventOutputModuleForBU () override
 
- Public Member Functions inherited from edm::one::OutputModule< edm::one::WatchRuns, 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 Types

typedef unsigned int uint32
 

Private Member Functions

void beginLuminosityBlock (edm::LuminosityBlockForOutput const &) override
 
void beginRun (edm::RunForOutput const &) override
 
void endLuminosityBlock (edm::LuminosityBlockForOutput const &) override
 
void endRun (edm::RunForOutput const &) override
 
void write (edm::EventForOutput const &e) override
 
void writeLuminosityBlock (const edm::LuminosityBlockForOutput &) override
 
void writeRun (const edm::RunForOutput &) override
 

Private Attributes

bool firstLumi_ = true
 
const unsigned int frdVersion_
 
unsigned int index_ = 0
 
const unsigned int numEventsPerFile_
 
timeval startOfLastLumi
 
std::unique_ptr< Consumer > templateConsumer_
 
const edm::EDGetTokenT< FEDRawDataCollectiontoken_
 
unsigned int totevents = 0
 
unsigned long long totsize = 0LL
 
unsigned long long writtensize = 0LL
 
unsigned long long writtenSizeLast = 0LL
 

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

template<class Consumer>
class RawEventOutputModuleForBU< Consumer >

Definition at line 26 of file RawEventOutputModuleForBU.h.

Member Typedef Documentation

◆ uint32

template<class Consumer >
typedef unsigned int RawEventOutputModuleForBU< Consumer >::uint32
private

Definition at line 27 of file RawEventOutputModuleForBU.h.

Constructor & Destructor Documentation

◆ RawEventOutputModuleForBU()

template<class Consumer >
RawEventOutputModuleForBU< Consumer >::RawEventOutputModuleForBU ( edm::ParameterSet const &  ps)
explicit

Consumers are suppose to provide: void doOutputEvent(const FRDEventMsgView& msg) void start() void stop()

Definition at line 65 of file RawEventOutputModuleForBU.h.

68  templateConsumer_(new Consumer(ps)),
69  token_(consumes<FEDRawDataCollection>(ps.getParameter<edm::InputTag>("source"))),
70  numEventsPerFile_(ps.getParameter<unsigned int>("numEventsPerFile")),
71  frdVersion_(ps.getParameter<unsigned int>("frdVersion")) {}
std::unique_ptr< Consumer > templateConsumer_
const edm::EDGetTokenT< FEDRawDataCollection > token_
OutputModuleBase(ParameterSet const &pset)

◆ ~RawEventOutputModuleForBU()

template<class Consumer >
RawEventOutputModuleForBU< Consumer >::~RawEventOutputModuleForBU ( )
override

Definition at line 74 of file RawEventOutputModuleForBU.h.

74 {}

Member Function Documentation

◆ beginLuminosityBlock()

template<class Consumer >
void RawEventOutputModuleForBU< Consumer >::beginLuminosityBlock ( edm::LuminosityBlockForOutput const &  ls)
overrideprivate

Definition at line 179 of file RawEventOutputModuleForBU.h.

References gather_cfg::cout, corrVsCorr::filename, L1DTConfigBti_cff::LL, eostools::ls(), submitPVValidationJobs::now, and AlCaHLTBitMon_QueryRunRegistry::string.

179  {
180  index_ = 0;
181  std::string filename = edm::Service<evf::EvFDaqDirector>()->getOpenRawFilePath(ls.id().luminosityBlock(), index_);
182  std::string destinationDir = edm::Service<evf::EvFDaqDirector>()->buBaseRunDir();
183  std::cout << " writing to destination dir " << destinationDir << " name: " << filename << std::endl;
184  templateConsumer_->initialize(destinationDir, filename, ls.id().luminosityBlock());
185  //edm::Service<evf::EvFDaqDirector>()->updateBuLock(ls.id().luminosityBlock()+1);
186  if (!firstLumi_) {
187  timeval now;
188  ::gettimeofday(&now, nullptr);
189  //long long elapsedusec = (now.tv_sec - startOfLastLumi.tv_sec)*1000000+now.tv_usec-startOfLastLumi.tv_usec;
190  /* std::cout << "(now.tv_sec - startOfLastLumi.tv_sec) " << now.tv_sec <<"-" << startOfLastLumi.tv_sec */
191  /* <<" (now.tv_usec-startOfLastLumi.tv_usec) " << now.tv_usec << "-" << startOfLastLumi.tv_usec << std::endl; */
192  /* std::cout << "elapsedusec " << elapsedusec << " totevents " << totevents << " size (GB)" << writtensize */
193  /* << " rate " << (writtensize-writtenSizeLast)/elapsedusec << " MB/s" <<std::endl; */
195  ::gettimeofday(&startOfLastLumi, nullptr);
196  //edm::Service<evf::EvFDaqDirector>()->writeLsStatisticsBU(ls.id().luminosityBlock(), totevents, totsize, elapsedusec);
197  } else
198  ::gettimeofday(&startOfLastLumi, nullptr);
199  totevents = 0;
200  totsize = 0LL;
201  firstLumi_ = false;
202 }
std::unique_ptr< Consumer > templateConsumer_
def ls(path, rec=False)
Definition: eostools.py:349

◆ beginRun()

template<class Consumer >
void RawEventOutputModuleForBU< Consumer >::beginRun ( edm::RunForOutput const &  )
overrideprivate

Definition at line 168 of file RawEventOutputModuleForBU.h.

168  {
169  // edm::Service<evf::EvFDaqDirector>()->updateBuLock(1);
170  templateConsumer_->start();
171 }
std::unique_ptr< Consumer > templateConsumer_

◆ endLuminosityBlock()

template<class Consumer >
void RawEventOutputModuleForBU< Consumer >::endLuminosityBlock ( edm::LuminosityBlockForOutput const &  ls)
overrideprivate

Definition at line 205 of file RawEventOutputModuleForBU.h.

References eostools::ls().

205  {
206  // templateConsumer_->touchlock(ls.id().luminosityBlock(),basedir);
207  templateConsumer_->endOfLS(ls.id().luminosityBlock());
208 }
std::unique_ptr< Consumer > templateConsumer_
def ls(path, rec=False)
Definition: eostools.py:349

◆ endRun()

template<class Consumer >
void RawEventOutputModuleForBU< Consumer >::endRun ( edm::RunForOutput const &  )
overrideprivate

Definition at line 174 of file RawEventOutputModuleForBU.h.

174  {
175  templateConsumer_->stop();
176 }
std::unique_ptr< Consumer > templateConsumer_

◆ fillDescriptions()

template<class Consumer >
void RawEventOutputModuleForBU< Consumer >::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 211 of file RawEventOutputModuleForBU.h.

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

211  {
213  desc.add<edm::InputTag>("source", edm::InputTag("rawDataCollector"));
214  desc.add<unsigned int>("numEventsPerFile", 100);
215  desc.add<unsigned int>("frdVersion", 6);
216  Consumer::extendDescription(desc);
217 
218  descriptions.addWithDefaultLabel(desc);
219 }
void addWithDefaultLabel(ParameterSetDescription const &psetDescription)

◆ write()

template<class Consumer >
void RawEventOutputModuleForBU< Consumer >::write ( edm::EventForOutput const &  e)
overrideprivatevirtual

Implements edm::core::OutputModuleCore.

Definition at line 77 of file RawEventOutputModuleForBU.h.

References cms::Adler32(), cms::cuda::assert(), crc32c(), FEDRawData::data(), MillePedeFileConverter_cfg::e, FEDRawDataCollection::FEDData(), corrVsCorr::filename, HLT_2024v14_cff::flags, edm::streamer::FRDEVENT_MASK_ISGENDATA, edm::streamer::FRDHeaderMaxVersion, edm::streamer::FRDHeaderVersionSize, heavyIonCSV_trainingSettings::idx, FEDNumbering::lastFEDId(), eostools::ls(), mps_check::msg, FEDRawData::size(), and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by pkg.AbstractPkg::generate().

77  {
78  using namespace edm::streamer;
79 
80  unsigned int ls = e.luminosityBlock();
81  if (totevents > 0 && totevents % numEventsPerFile_ == 0) {
82  index_++;
84  std::string destinationDir = edm::Service<evf::EvFDaqDirector>()->buBaseRunDir();
85  templateConsumer_->initialize(destinationDir, filename, ls);
86  }
87  totevents++;
88  // serialize the FEDRawDataCollection into the format that we expect for
89  // FRDEventMsgView objects (may be better ways to do this)
91  e.getByToken(token_, fedBuffers);
92 
93  // determine the expected size of the FRDEvent IN BYTES !!!!!
96  int expectedSize = headerSize;
97  int nFeds = frdVersion_ < 3 ? 1024 : FEDNumbering::lastFEDId() + 1;
98 
99  for (int idx = 0; idx < nFeds; ++idx) {
100  FEDRawData singleFED = fedBuffers->FEDData(idx);
101  expectedSize += singleFED.size();
102  }
103 
104  totsize += expectedSize;
105  // build the FRDEvent into a temporary buffer
106  std::unique_ptr<std::vector<unsigned char>> workBuffer(
107  std::make_unique<std::vector<unsigned char>>(expectedSize + 256));
108  uint32* bufPtr = (uint32*)(workBuffer.get()->data());
109  if (frdVersion_ <= 5) {
110  *bufPtr++ = (uint32)frdVersion_; // version number only
111  } else {
112  uint16 flags = 0;
113  if (!e.eventAuxiliary().isRealData())
115  *(uint16*)bufPtr = (uint16)(frdVersion_ & 0xffff);
116  *((uint16*)bufPtr + 1) = flags;
117  bufPtr++;
118  }
119  *bufPtr++ = (uint32)e.id().run();
120  *bufPtr++ = (uint32)e.luminosityBlock();
121  *bufPtr++ = (uint32)e.id().event();
122  if (frdVersion_ == 4)
123  *bufPtr++ = 0; //64-bit event id high part
124 
125  if (frdVersion_ < 3) {
126  uint32 fedsize[1024];
127  for (int idx = 0; idx < 1024; ++idx) {
128  FEDRawData singleFED = fedBuffers->FEDData(idx);
129  fedsize[idx] = singleFED.size();
130  //std::cout << "fed size " << singleFED.size()<< std::endl;
131  }
132  memcpy(bufPtr, fedsize, 1024 * sizeof(uint32));
133  bufPtr += 1024;
134  } else {
135  *bufPtr++ = expectedSize - headerSize;
136  *bufPtr++ = 0;
137  if (frdVersion_ <= 4)
138  *bufPtr++ = 0;
139  }
140  uint32* payloadPtr = bufPtr;
141  for (int idx = 0; idx < nFeds; ++idx) {
142  FEDRawData singleFED = fedBuffers->FEDData(idx);
143  if (singleFED.size() > 0) {
144  memcpy(bufPtr, singleFED.data(), singleFED.size());
145  bufPtr += singleFED.size() / 4;
146  }
147  }
148  if (frdVersion_ > 4) {
149  //crc32c checksum
150  uint32_t crc = 0;
151  *(payloadPtr - 1) = crc32c(crc, (const unsigned char*)payloadPtr, expectedSize - headerSize);
152  } else if (frdVersion_ >= 3) {
153  //adler32 checksum
154  uint32 adlera = 1;
155  uint32 adlerb = 0;
156  cms::Adler32((const char*)payloadPtr, expectedSize - headerSize, adlera, adlerb);
157  *(payloadPtr - 1) = (adlerb << 16) | adlera;
158  }
159 
160  // create the FRDEventMsgView and use the template consumer to write it out
161  edm::streamer::FRDEventMsgView msg(workBuffer.get()->data());
162  writtensize += msg.size();
163 
164  templateConsumer_->doOutputEvent(msg);
165 }
std::unique_ptr< Consumer > templateConsumer_
const edm::EDGetTokenT< FEDRawDataCollection > token_
constexpr std::array< uint32, FRDHeaderMaxVersion+1 > FRDHeaderVersionSize
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
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)
def ls(path, rec=False)
Definition: eostools.py:349
tuple msg
Definition: mps_check.py:286
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

◆ writeLuminosityBlock()

template<class Consumer >
void RawEventOutputModuleForBU< Consumer >::writeLuminosityBlock ( const edm::LuminosityBlockForOutput )
inlineoverrideprivatevirtual

Implements edm::core::OutputModuleCore.

Definition at line 46 of file RawEventOutputModuleForBU.h.

46 {}

◆ writeRun()

template<class Consumer >
void RawEventOutputModuleForBU< Consumer >::writeRun ( const edm::RunForOutput )
inlineoverrideprivatevirtual

Implements edm::core::OutputModuleCore.

Definition at line 45 of file RawEventOutputModuleForBU.h.

45 {}

Member Data Documentation

◆ firstLumi_

template<class Consumer >
bool RawEventOutputModuleForBU< Consumer >::firstLumi_ = true
private

Definition at line 61 of file RawEventOutputModuleForBU.h.

◆ frdVersion_

template<class Consumer >
const unsigned int RawEventOutputModuleForBU< Consumer >::frdVersion_
private

Definition at line 54 of file RawEventOutputModuleForBU.h.

◆ index_

template<class Consumer >
unsigned int RawEventOutputModuleForBU< Consumer >::index_ = 0
private

Definition at line 59 of file RawEventOutputModuleForBU.h.

◆ numEventsPerFile_

template<class Consumer >
const unsigned int RawEventOutputModuleForBU< Consumer >::numEventsPerFile_
private

Definition at line 53 of file RawEventOutputModuleForBU.h.

◆ startOfLastLumi

template<class Consumer >
timeval RawEventOutputModuleForBU< Consumer >::startOfLastLumi
private

Definition at line 60 of file RawEventOutputModuleForBU.h.

◆ templateConsumer_

template<class Consumer >
std::unique_ptr<Consumer> RawEventOutputModuleForBU< Consumer >::templateConsumer_
private

Definition at line 51 of file RawEventOutputModuleForBU.h.

◆ token_

template<class Consumer >
const edm::EDGetTokenT<FEDRawDataCollection> RawEventOutputModuleForBU< Consumer >::token_
private

Definition at line 52 of file RawEventOutputModuleForBU.h.

◆ totevents

template<class Consumer >
unsigned int RawEventOutputModuleForBU< Consumer >::totevents = 0
private

Definition at line 58 of file RawEventOutputModuleForBU.h.

◆ totsize

template<class Consumer >
unsigned long long RawEventOutputModuleForBU< Consumer >::totsize = 0LL
private

Definition at line 55 of file RawEventOutputModuleForBU.h.

◆ writtensize

template<class Consumer >
unsigned long long RawEventOutputModuleForBU< Consumer >::writtensize = 0LL
private

Definition at line 56 of file RawEventOutputModuleForBU.h.

◆ writtenSizeLast

template<class Consumer >
unsigned long long RawEventOutputModuleForBU< Consumer >::writtenSizeLast = 0LL
private

Definition at line 57 of file RawEventOutputModuleForBU.h.