CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
evf::EvFOutputModule Class Reference

#include <EvFOutputModule.h>

Inheritance diagram for evf::EvFOutputModule:
edm::one::OutputModule< T > edm::one::OutputModuleBase edm::core::OutputModuleCore edm::EDConsumerBase

Public Member Functions

 EvFOutputModule (edm::ParameterSet const &ps)
 
 ~EvFOutputModule () override
 
- Public Member Functions inherited from edm::one::OutputModule< T >
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
const OutputModuleoperator= (const OutputModule &)=delete
 
 OutputModule (edm::ParameterSet const &iPSet)
 
 OutputModule (const OutputModule &)=delete
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
bool wantsInputProcessBlocks () const final
 
bool wantsProcessBlocks () const 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
 
bool wantsStreamRuns () const
 
- Public Member Functions inherited from edm::core::OutputModuleCore
BranchIDLists const * branchIDLists () const
 
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
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESProxyIndex > 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
 
bool registeredToConsumeMany (TypeID const &, 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::ESRecordsToProxyIndices 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

void beginRun (edm::RunForOutput const &run) override
 
void endRun (edm::RunForOutput const &) override
 
Trig getTriggerResults (edm::EDGetTokenT< edm::TriggerResults > const &token, edm::EventForOutput const &e) const
 
std::shared_ptr< EvFOutputEventWriterglobalBeginLuminosityBlock (edm::LuminosityBlockForOutput const &iLB) const override
 
void globalEndLuminosityBlock (edm::LuminosityBlockForOutput const &iLB) override
 
void write (edm::EventForOutput const &e) override
 
void writeLuminosityBlock (edm::LuminosityBlockForOutput const &) override
 
void writeRun (edm::RunForOutput const &) override
 

Private Attributes

evf::FastMonitoringServicefms_
 
std::unique_ptr< evf::EvFOutputJSONWriterjsonWriter_
 
edm::ParameterSet const & ps_
 
edm::EDGetTokenT< edm::SendJobHeader::ParameterSetMappsetToken_
 
std::string streamLabel_
 
edm::EDGetTokenT< edm::TriggerResultstrToken_
 

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 ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
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 74 of file EvFOutputModule.h.

Constructor & Destructor Documentation

◆ EvFOutputModule()

evf::EvFOutputModule::EvFOutputModule ( edm::ParameterSet const &  ps)
explicit

Definition at line 109 of file EvFOutputModule.cc.

References Exception, fms_, streamLabel_, AlCaHLTBitMon_QueryRunRegistry::string, and to_lower().

112  ps_(ps),
113  streamLabel_(ps.getParameter<std::string>("@module_label")),
114  trToken_(consumes<edm::TriggerResults>(edm::InputTag("TriggerResults"))),
115  psetToken_(consumes<edm::SendJobHeader::ParameterSetMap, edm::InRun>(
116  ps.getUntrackedParameter<edm::InputTag>("psetMap"))) {
117  //replace hltOutoputA with stream if the HLT menu uses this convention
118  std::string testPrefix = "hltOutput";
119  if (streamLabel_.find(testPrefix) == 0)
120  streamLabel_ = std::string("stream") + streamLabel_.substr(testPrefix.size());
121 
122  if (streamLabel_.find('_') != std::string::npos) {
123  throw cms::Exception("EvFOutputModule") << "Underscore character is reserved can not be used for stream names in "
124  "FFF, but was detected in stream name -: "
125  << streamLabel_;
126  }
127 
128  std::string streamLabelLow = streamLabel_;
129  boost::algorithm::to_lower(streamLabelLow);
130  auto streampos = streamLabelLow.rfind("stream");
131  if (streampos != 0 && streampos != std::string::npos)
132  throw cms::Exception("EvFOutputModule")
133  << "stream (case-insensitive) sequence was found in stream suffix. This is reserved and can not be used for "
134  "names in FFF based HLT, but was detected in stream name";
135 
137  }
edm::ParameterSet const & ps_
std::string to_lower(const std::string &s)
std::string streamLabel_
edm::one::OutputModule< edm::one::WatchRuns, edm::LuminosityBlockCache< evf::EvFOutputEventWriter > > EvFOutputModuleType
edm::EDGetTokenT< edm::TriggerResults > trToken_
edm::EDGetTokenT< edm::SendJobHeader::ParameterSetMap > psetToken_
evf::FastMonitoringService * fms_

◆ ~EvFOutputModule()

evf::EvFOutputModule::~EvFOutputModule ( )
override

Definition at line 139 of file EvFOutputModule.cc.

139 {}

Member Function Documentation

◆ beginRun()

void evf::EvFOutputModule::beginRun ( edm::RunForOutput const &  run)
overrideprivate

Definition at line 150 of file EvFOutputModule.cc.

References cms::Adler32(), StreamerOutputFile::adler32(), edm::core::OutputModuleCore::branchIDLists(), StreamerOutputFile::close(), edm::core::OutputModuleCore::description(), Exception, edm::InEvent, edm::Hash< I >::isValid(), jsonWriter_, edm::core::OutputModuleCore::keptProducts(), LogDebug, edm::ModuleDescription::mainParameterSetID(), edm::core::OutputModuleCore::moduleDescription(), edm::ModuleDescription::moduleLabel(), SimL1EmulatorRepack_CalouGT_cff::processName, ps_, psetToken_, writedatasetfile::run, TrackRefitter_38T_cff::src, edm_modernize_messagelogger::stat, streamLabel_, AlCaHLTBitMon_QueryRunRegistry::string, edm::core::OutputModuleCore::thinnedAssociationsHelper(), and StreamerOutputFile::write().

150  {
151  //create run Cache holding JSON file writer and variables
152  jsonWriter_ = std::make_unique<EvFOutputJSONWriter>(
154 
155  //output INI file (non-const). This doesn't require globalBeginRun to be finished
156  const std::string openIniFileName = edm::Service<evf::EvFDaqDirector>()->getOpenInitFilePath(streamLabel_);
157  edm::LogInfo("EvFOutputModule") << "beginRun init stream -: " << openIniFileName;
158 
159  StreamerOutputFile stream_writer_preamble(openIniFileName);
160  uint32 preamble_adler32 = 1;
161  edm::BranchIDLists const* bidlPtr = branchIDLists();
162 
163  auto psetMapHandle = run.getHandle(psetToken_);
164 
165  std::unique_ptr<InitMsgBuilder> init_message =
166  jsonWriter_->streamerCommon_.serializeRegistry(*jsonWriter_->streamerCommon_.getSerializerBuffer(),
167  *bidlPtr,
172  psetMapHandle.isValid() ? psetMapHandle.product() : nullptr);
173 
174  //Let us turn it into a View
175  InitMsgView view(init_message->startAddress());
176 
177  //output header
178  stream_writer_preamble.write(view);
179  preamble_adler32 = stream_writer_preamble.adler32();
180  stream_writer_preamble.close();
181 
182  struct stat istat;
183  stat(openIniFileName.c_str(), &istat);
184  //read back file to check integrity of what was written
185  off_t readInput = 0;
186  uint32_t adlera = 1, adlerb = 0;
187  FILE* src = fopen(openIniFileName.c_str(), "r");
188 
189  //allocate buffer to write INI file
190  unsigned char* outBuf = new unsigned char[1024 * 1024];
191  while (readInput < istat.st_size) {
192  size_t toRead = readInput + 1024 * 1024 < istat.st_size ? 1024 * 1024 : istat.st_size - readInput;
193  fread(outBuf, toRead, 1, src);
194  cms::Adler32((const char*)outBuf, toRead, adlera, adlerb);
195  readInput += toRead;
196  }
197  fclose(src);
198 
199  //clear serialization buffers
200  jsonWriter_->streamerCommon_.getSerializerBuffer()->clearHeaderBuffer();
201 
202  //free output buffer needed only for the file write
203  delete[] outBuf;
204  outBuf = nullptr;
205 
206  uint32_t adler32c = (adlerb << 16) | adlera;
207  if (adler32c != preamble_adler32) {
208  throw cms::Exception("EvFOutputModule") << "Checksum mismatch of ini file -: " << openIniFileName
209  << " expected:" << preamble_adler32 << " obtained:" << adler32c;
210  } else {
211  LogDebug("EvFOutputModule") << "Ini file checksum -: " << streamLabel_ << " " << adler32c;
212  std::filesystem::rename(openIniFileName, edm::Service<evf::EvFDaqDirector>()->getInitFilePath(streamLabel_));
213  }
214  }
std::unique_ptr< evf::EvFOutputJSONWriter > jsonWriter_
std::vector< BranchIDList > BranchIDLists
Definition: BranchIDList.h:19
edm::ParameterSet const & ps_
ParameterSetID const & mainParameterSetID() const
ModuleDescription const & description() const
bool isValid() const
Definition: Hash.h:141
ThinnedAssociationsHelper const * thinnedAssociationsHelper() const
std::string streamLabel_
BranchIDLists const * branchIDLists() const
unsigned int uint32
Definition: MsgTools.h:13
Log< level::Info, false > LogInfo
void Adler32(char const *data, size_t len, uint32_t &a, uint32_t &b)
SelectedProductsForBranchType const & keptProducts() const
edm::EDGetTokenT< edm::SendJobHeader::ParameterSetMap > psetToken_
const ModuleDescription & moduleDescription() const
std::string const & moduleLabel() const
#define LogDebug(id)

◆ endRun()

void evf::EvFOutputModule::endRun ( edm::RunForOutput const &  )
inlineoverrideprivate

Definition at line 87 of file EvFOutputModule.h.

87 {}

◆ fillDescriptions()

void evf::EvFOutputModule::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 141 of file EvFOutputModule.cc.

References edm::ConfigurationDescriptions::add(), submitPVResolutionJobs::desc, edm::StreamerOutputModuleCommon::fillDescription(), and edm::core::OutputModuleCore::fillDescription().

141  {
145  desc.addUntracked<edm::InputTag>("psetMap", {"hltPSetMap"})
146  ->setComment("Optionally allow the map of ParameterSets to be calculated externally.");
147  descriptions.add("evfOutputModule", desc);
148  }
static void fillDescription(ParameterSetDescription &desc)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
static void fillDescription(ParameterSetDescription &desc, std::vector< std::string > const &iDefaultOutputCommands=ProductSelectorRules::defaultSelectionStrings())

◆ getTriggerResults()

Trig evf::EvFOutputModule::getTriggerResults ( edm::EDGetTokenT< edm::TriggerResults > const &  token,
edm::EventForOutput const &  e 
) const
private

◆ globalBeginLuminosityBlock()

std::shared_ptr< EvFOutputEventWriter > evf::EvFOutputModule::globalBeginLuminosityBlock ( edm::LuminosityBlockForOutput const &  iLB) const
overrideprivate

Definition at line 223 of file EvFOutputModule.cc.

References edm::LuminosityBlockForOutput::luminosityBlock(), and streamLabel_.

224  {
225  auto openDatFilePath = edm::Service<evf::EvFDaqDirector>()->getOpenDatFilePath(iLB.luminosityBlock(), streamLabel_);
226 
227  return std::make_shared<EvFOutputEventWriter>(openDatFilePath);
228  }
std::string streamLabel_

◆ globalEndLuminosityBlock()

void evf::EvFOutputModule::globalEndLuminosityBlock ( edm::LuminosityBlockForOutput const &  iLB)
overrideprivate

Definition at line 251 of file EvFOutputModule.cc.

References fms_, evf::FastMonitoringService::getEventsProcessedForLumi(), edm::LuminosityBlockForOutput::index(), jsonWriter_, edm::LuminosityBlockForOutput::luminosityBlock(), castor_dqm_sourceclient_file_cfg::path, edm_modernize_messagelogger::stat, streamLabel_, and AlCaHLTBitMon_QueryRunRegistry::string.

251  {
252  auto lumiWriter = luminosityBlockCache(iLB.index());
253  //close dat file
254  lumiWriter->close();
255 
256  jsonWriter_->fileAdler32_.value() = lumiWriter->get_adler32();
257  jsonWriter_->accepted_.value() = lumiWriter->getAccepted();
258 
259  bool abortFlag = false;
260  jsonWriter_->processed_.value() = fms_->getEventsProcessedForLumi(iLB.luminosityBlock(), &abortFlag);
261  if (abortFlag) {
262  edm::LogInfo("EvFOutputModule") << "Abort flag has been set. Output is suppressed";
263  return;
264  }
265 
266  if (jsonWriter_->processed_.value() != 0) {
267  struct stat istat;
268  std::filesystem::path openDatFilePath = lumiWriter->getFilePath();
269  stat(openDatFilePath.string().c_str(), &istat);
270  jsonWriter_->filesize_ = istat.st_size;
271  std::filesystem::rename(openDatFilePath.string().c_str(),
272  edm::Service<evf::EvFDaqDirector>()->getDatFilePath(iLB.luminosityBlock(), streamLabel_));
273  jsonWriter_->filelist_ = openDatFilePath.filename().string();
274  } else {
275  //remove empty file when no event processing has occurred
276  remove(lumiWriter->getFilePath().c_str());
277  jsonWriter_->filesize_ = 0;
278  jsonWriter_->filelist_ = "";
279  jsonWriter_->fileAdler32_.value() = -1; //no files in signed long
280  }
281 
282  //produce JSON file
283  jsonWriter_->jsonMonitor_->snap(iLB.luminosityBlock());
284  const std::string outputJsonNameStream =
285  edm::Service<evf::EvFDaqDirector>()->getOutputJsonFilePath(iLB.luminosityBlock(), streamLabel_);
286  jsonWriter_->jsonMonitor_->outputFullJSON(outputJsonNameStream, iLB.luminosityBlock());
287  }
std::unique_ptr< evf::EvFOutputJSONWriter > jsonWriter_
std::string streamLabel_
Log< level::Info, false > LogInfo
unsigned int getEventsProcessedForLumi(unsigned int lumi, bool *abortFlag=nullptr)
evf::FastMonitoringService * fms_

◆ write()

void evf::EvFOutputModule::write ( edm::EventForOutput const &  e)
overrideprivatevirtual

Implements edm::core::OutputModuleCore.

Definition at line 230 of file EvFOutputModule.cc.

References MillePedeFileConverter_cfg::e, getTriggerResults(), jsonWriter_, svgfig::load(), mps_check::msg, edm::core::OutputModuleCore::selectorConfig(), edm::shutdown_flag, triggerResults, and trToken_.

Referenced by pkg.AbstractPkg::generate().

230  {
231  unsigned int counter = 0;
232  while (edm::Service<evf::EvFDaqDirector>()->inputThrottled()) {
233  if (edm::shutdown_flag.load(std::memory_order_relaxed))
234  break;
235  if (!(counter % 100))
236  edm::LogWarning("FedRawDataInputSource") << "Input throttled detected, writing is paused...";
237  usleep(100000);
238  counter++;
239  }
240 
242 
243  //auto lumiWriter = const_cast<EvFOutputEventWriter*>(luminosityBlockCache(e.getLuminosityBlock().index() ));
244  auto lumiWriter = luminosityBlockCache(e.getLuminosityBlock().index());
245  std::unique_ptr<EventMsgBuilder> msg = jsonWriter_->streamerCommon_.serializeEvent(
246  *jsonWriter_->streamerCommon_.getSerializerBuffer(), e, triggerResults, selectorConfig());
247  lumiWriter->incAccepted();
248  lumiWriter->doOutputEvent(*msg); //msg is written and discarded at this point
249  }
std::unique_ptr< evf::EvFOutputJSONWriter > jsonWriter_
volatile std::atomic< bool > shutdown_flag
Trig getTriggerResults(edm::EDGetTokenT< edm::TriggerResults > const &token, edm::EventForOutput const &e) const
static std::string const triggerResults
Definition: EdmProvDump.cc:47
ParameterSetID selectorConfig() const
def load(fileName)
Definition: svgfig.py:547
edm::EDGetTokenT< edm::TriggerResults > trToken_
tuple msg
Definition: mps_check.py:286
Log< level::Warning, false > LogWarning

◆ writeLuminosityBlock()

void evf::EvFOutputModule::writeLuminosityBlock ( edm::LuminosityBlockForOutput const &  )
inlineoverrideprivatevirtual

Implements edm::core::OutputModuleCore.

Definition at line 85 of file EvFOutputModule.h.

85 {}

◆ writeRun()

void evf::EvFOutputModule::writeRun ( edm::RunForOutput const &  )
inlineoverrideprivatevirtual

Implements edm::core::OutputModuleCore.

Definition at line 86 of file EvFOutputModule.h.

86 {}

Member Data Documentation

◆ fms_

evf::FastMonitoringService* evf::EvFOutputModule::fms_
private

Definition at line 100 of file EvFOutputModule.h.

Referenced by EvFOutputModule(), and globalEndLuminosityBlock().

◆ jsonWriter_

std::unique_ptr<evf::EvFOutputJSONWriter> evf::EvFOutputModule::jsonWriter_
private

Definition at line 102 of file EvFOutputModule.h.

Referenced by beginRun(), globalEndLuminosityBlock(), and write().

◆ ps_

edm::ParameterSet const& evf::EvFOutputModule::ps_
private

Definition at line 95 of file EvFOutputModule.h.

Referenced by beginRun().

◆ psetToken_

edm::EDGetTokenT<edm::SendJobHeader::ParameterSetMap> evf::EvFOutputModule::psetToken_
private

Definition at line 98 of file EvFOutputModule.h.

Referenced by beginRun().

◆ streamLabel_

std::string evf::EvFOutputModule::streamLabel_
private

◆ trToken_

edm::EDGetTokenT<edm::TriggerResults> evf::EvFOutputModule::trToken_
private

Definition at line 97 of file EvFOutputModule.h.

Referenced by write().