CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
evf::RecoEventOutputModuleForFU< Consumer > Class Template Reference

#include <RecoEventOutputModuleForFU.h>

Inheritance diagram for evf::RecoEventOutputModuleForFU< Consumer >:
edm::StreamerOutputModuleBase edm::one::OutputModule< one::WatchRuns, one::WatchLuminosityBlocks > edm::StreamerOutputModuleCommon edm::one::OutputModuleBase edm::core::OutputModuleCore edm::EDConsumerBase

Public Member Functions

 RecoEventOutputModuleForFU (edm::ParameterSet const &ps)
 
 ~RecoEventOutputModuleForFU () override
 
- Public Member Functions inherited from edm::StreamerOutputModuleBase
 StreamerOutputModuleBase (ParameterSet const &ps)
 
 ~StreamerOutputModuleBase () override
 
- Public Member Functions inherited from edm::one::OutputModule< one::WatchRuns, one::WatchLuminosityBlocks >
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::StreamerOutputModuleBase
static void fillDescription (ParameterSetDescription &desc)
 
- 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 beginJob () override
 
void beginLuminosityBlock (edm::LuminosityBlockForOutput const &) override
 
void doOutputEvent (EventMsgBuilder const &msg) override
 
void doOutputHeader (InitMsgBuilder const &init_message) override
 
void endLuminosityBlock (edm::LuminosityBlockForOutput const &) override
 
void initRun ()
 
void start () override
 
void stop () override
 

Private Attributes

jsoncollector::IntJ accepted_
 
std::unique_ptr< Consumer > c_
 
jsoncollector::IntJ errorEvents_
 
jsoncollector::IntJ fileAdler32_
 
jsoncollector::StringJ filelist_
 
jsoncollector::IntJ filesize_
 
evf::FastMonitoringServicefms_
 
jsoncollector::IntJ hltErrorEvents_
 
jsoncollector::StringJ inputFiles_
 
std::shared_ptr
< jsoncollector::FastMonitor
jsonMonitor_
 
jsoncollector::StringJ mergeType_
 
std::filesystem::path openDatChecksumFilePath_
 
std::filesystem::path openDatFilePath_
 
unsigned char * outBuf_ = nullptr
 
jsoncollector::DataPointDefinition outJsonDef_
 
jsoncollector::IntJ processed_
 
bool readAdler32Check_ = false
 
jsoncollector::IntJ retCodeMask_
 
std::string streamLabel_
 
jsoncollector::StringJ transferDestination_
 

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< B > consumes (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 () noexcept
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag) noexcept
 
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<typename Consumer>
class evf::RecoEventOutputModuleForFU< Consumer >

Definition at line 26 of file RecoEventOutputModuleForFU.h.

Constructor & Destructor Documentation

template<typename Consumer >
evf::RecoEventOutputModuleForFU< Consumer >::RecoEventOutputModuleForFU ( edm::ParameterSet const &  ps)
explicit
Consumers are supposed to provide

void doOutputHeader(InitMsgBuilder const& init_message) void doOutputEvent(EventMsgBuilder const& msg) void start() void stop() static void fillDescription(ParameterSetDescription&)

Definition at line 75 of file RecoEventOutputModuleForFU.h.

References Exception, evf::RecoEventOutputModuleForFU< Consumer >::fms_, evf::RecoEventOutputModuleForFU< Consumer >::streamLabel_, AlCaHLTBitMon_QueryRunRegistry::string, and to_lower().

78  c_(new Consumer(ps)),
79  streamLabel_(ps.getParameter<std::string>("@module_label")),
80  processed_(0),
81  accepted_(0),
82  errorEvents_(0),
83  retCodeMask_(0),
84  filelist_(),
85  filesize_(0),
86  inputFiles_(),
87  fileAdler32_(1),
89  mergeType_(),
90  hltErrorEvents_(0),
91  outBuf_(new unsigned char[1024 * 1024]) {
92  //replace hltOutoputA with stream if the HLT menu uses this convention
93  std::string testPrefix = "hltOutput";
94  if (streamLabel_.find(testPrefix) == 0)
95  streamLabel_ = std::string("stream") + streamLabel_.substr(testPrefix.size());
96 
97  if (streamLabel_.find('_') != std::string::npos) {
98  throw cms::Exception("RecoEventOutputModuleForFU") << "Underscore character is reserved can not be used for "
99  "stream names in FFF, but was detected in stream name -: "
100  << streamLabel_;
101  }
102 
103  std::string streamLabelLow = streamLabel_;
104  boost::algorithm::to_lower(streamLabelLow);
105  auto streampos = streamLabelLow.rfind("stream");
106  if (streampos != 0 && streampos != std::string::npos)
107  throw cms::Exception("RecoEventOutputModuleForFU")
108  << "stream (case-insensitive) sequence was found in stream suffix. This is reserved and can not be used for "
109  "names in FFF based HLT, but was detected in stream name";
110 
112  }
std::string to_lower(const std::string &s)
OutputModuleBase(ParameterSet const &pset)
template<typename Consumer >
evf::RecoEventOutputModuleForFU< Consumer >::~RecoEventOutputModuleForFU ( )
override

Definition at line 182 of file RecoEventOutputModuleForFU.h.

182 {}

Member Function Documentation

template<typename Consumer >
void evf::RecoEventOutputModuleForFU< Consumer >::beginJob ( void  )
overrideprivatevirtual

Reimplemented from edm::core::OutputModuleCore.

Definition at line 258 of file RecoEventOutputModuleForFU.h.

References evf::MergeTypeDAT.

258  {
259  //get stream transfer destination
262  }
template<typename Consumer >
void evf::RecoEventOutputModuleForFU< Consumer >::beginLuminosityBlock ( edm::LuminosityBlockForOutput const &  ls)
overrideprivate

Definition at line 265 of file RecoEventOutputModuleForFU.h.

References edm::LuminosityBlockForOutput::luminosityBlock().

265  {
266  //edm::LogInfo("RecoEventOutputModuleForFU") << "begin lumi";
267  openDatFilePath_ = edm::Service<evf::EvFDaqDirector>()->getOpenDatFilePath(ls.luminosityBlock(), streamLabel_);
269  edm::Service<evf::EvFDaqDirector>()->getOpenDatFilePath(ls.luminosityBlock(), streamLabel_);
270  c_->setOutputFile(openDatFilePath_.string());
271  filelist_ = openDatFilePath_.filename().string();
272  }
def ls
Definition: eostools.py:349
template<typename Consumer >
void evf::RecoEventOutputModuleForFU< Consumer >::doOutputEvent ( EventMsgBuilder const &  msg)
overrideprivatevirtual

Implements edm::StreamerOutputModuleBase.

Definition at line 233 of file RecoEventOutputModuleForFU.h.

233  {
234  accepted_.value()++;
235  c_->doOutputEvent(msg); // You can't use msg in RecoEventOutputModuleForFU after this point
236  }
tuple msg
Definition: mps_check.py:285
template<typename Consumer >
void evf::RecoEventOutputModuleForFU< Consumer >::doOutputHeader ( InitMsgBuilder const &  init_message)
overrideprivatevirtual

Implements edm::StreamerOutputModuleBase.

Definition at line 200 of file RecoEventOutputModuleForFU.h.

References cms::Adler32(), Exception, LogDebug, alcazmumu_cfi::src, edm_modernize_messagelogger::stat, and AlCaHLTBitMon_QueryRunRegistry::string.

200  {
201  c_->doOutputHeader(init_message);
202 
203  const std::string openIniFileName = edm::Service<evf::EvFDaqDirector>()->getOpenInitFilePath(streamLabel_);
204  struct stat istat;
205  stat(openIniFileName.c_str(), &istat);
206  //read back file to check integrity of what was written
207  off_t readInput = 0;
208  uint32_t adlera = 1, adlerb = 0;
209  FILE* src = fopen(openIniFileName.c_str(), "r");
210  while (readInput < istat.st_size) {
211  size_t toRead = readInput + 1024 * 1024 < istat.st_size ? 1024 * 1024 : istat.st_size - readInput;
212  fread(outBuf_, toRead, 1, src);
213  cms::Adler32((const char*)outBuf_, toRead, adlera, adlerb);
214  readInput += toRead;
215  }
216  fclose(src);
217  //free output buffer needed only for the INI file
218  delete[] outBuf_;
219  outBuf_ = nullptr;
220 
221  uint32_t adler32c = (adlerb << 16) | adlera;
222  if (adler32c != c_->get_adler32_ini()) {
223  throw cms::Exception("RecoEventOutputModuleForFU")
224  << "Checksum mismatch of ini file -: " << openIniFileName << " expected:" << c_->get_adler32_ini()
225  << " obtained:" << adler32c;
226  } else {
227  LogDebug("RecoEventOutputModuleForFU") << "Ini file checksum -: " << streamLabel_ << " " << adler32c;
228  std::filesystem::rename(openIniFileName, edm::Service<evf::EvFDaqDirector>()->getInitFilePath(streamLabel_));
229  }
230  }
void Adler32(char const *data, size_t len, uint32_t &a, uint32_t &b)
#define LogDebug(id)
template<typename Consumer >
void evf::RecoEventOutputModuleForFU< Consumer >::endLuminosityBlock ( edm::LuminosityBlockForOutput const &  ls)
overrideprivate

Definition at line 275 of file RecoEventOutputModuleForFU.h.

References edm::LuminosityBlockForOutput::luminosityBlock(), edm_modernize_messagelogger::stat, and AlCaHLTBitMon_QueryRunRegistry::string.

275  {
276  //edm::LogInfo("RecoEventOutputModuleForFU") << "end lumi";
277  long filesize = 0;
278  fileAdler32_.value() = c_->get_adler32();
279  c_->closeOutputFile();
280  bool abortFlag = false;
281  processed_.value() = fms_->getEventsProcessedForLumi(ls.luminosityBlock(), &abortFlag);
282 
283  if (abortFlag) {
284  edm::LogInfo("RecoEventOutputModuleForFU") << "output suppressed";
285  return;
286  }
287 
288  if (processed_.value() != 0) {
289  //lock
290  struct stat istat;
291  stat(openDatFilePath_.string().c_str(), &istat);
292  filesize = istat.st_size;
293  std::filesystem::rename(openDatFilePath_.string().c_str(),
294  edm::Service<evf::EvFDaqDirector>()->getDatFilePath(ls.luminosityBlock(), streamLabel_));
295  } else {
296  filelist_ = "";
297  fileAdler32_.value() = -1;
298  }
299 
300  //remove file
301  remove(openDatFilePath_.string().c_str());
302  filesize_ = filesize;
303 
304  jsonMonitor_->snap(ls.luminosityBlock());
305  const std::string outputJsonNameStream =
306  edm::Service<evf::EvFDaqDirector>()->getOutputJsonFilePath(ls.luminosityBlock(), streamLabel_);
307  jsonMonitor_->outputFullJSON(outputJsonNameStream, ls.luminosityBlock());
308 
309  // reset monitoring params
310  accepted_.value() = 0;
311  filelist_ = "";
312  }
def ls
Definition: eostools.py:349
Log< level::Info, false > LogInfo
std::shared_ptr< jsoncollector::FastMonitor > jsonMonitor_
unsigned int getEventsProcessedForLumi(unsigned int lumi, bool *abortFlag=nullptr)
template<typename Consumer >
void evf::RecoEventOutputModuleForFU< Consumer >::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 239 of file RecoEventOutputModuleForFU.h.

References edm::ConfigurationDescriptions::addDefault(), submitPVResolutionJobs::desc, and edm::StreamerOutputModuleBase::fillDescription().

239  {
242  Consumer::fillDescription(desc);
243  // Use addDefault here instead of add for 4 reasons:
244  // 1. Because EvFOutputModule_cfi.py is explicitly defined it does not need to be autogenerated
245  // The explicitly defined version overrides the autogenerated version of the cfi file.
246  // 2. That cfi file is not used anywhere in the release anyway
247  // 3. There are two plugin names used for the same template instantiation of this
248  // type, "ShmStreamConsumer" and "EvFOutputModule" and this causes name conflict
249  // problems for the cfi generation code which are avoided with addDefault.
250  // 4. At the present time, there is only one type of Consumer used to instantiate
251  // instances of this template, but if there were more than one type then this function
252  // would need to be specialized for each type unless the descriptions were the same
253  // and addDefault was used.
254  descriptions.addDefault(desc);
255  }
static void fillDescription(ParameterSetDescription &desc)
void addDefault(ParameterSetDescription const &psetDescription)
template<typename Consumer >
void evf::RecoEventOutputModuleForFU< Consumer >::initRun ( )
private

Definition at line 115 of file RecoEventOutputModuleForFU.h.

References jsoncollector::DataPointDefinition::ADLER32, jsoncollector::DataPointDefinition::BINARYOR, jsoncollector::DataPointDefinition::CAT, ws_sso_content_reader::content, LogDebug, jsoncollector::DataPointDefinition::MERGE, jsoncollector::DataPointDefinition::SAME, jsoncollector::JSONSerializer::serialize(), contentValuesCheck::ss, edm_modernize_messagelogger::stat, AlCaHLTBitMon_QueryRunRegistry::string, jsoncollector::DataPointDefinition::SUM, and jsoncollector::FileIO::writeStringToFile().

115  {
116  std::string baseRunDir = edm::Service<evf::EvFDaqDirector>()->baseRunDir();
117  readAdler32Check_ = edm::Service<evf::EvFDaqDirector>()->outputAdler32Recheck();
118  LogDebug("RecoEventOutputModuleForFU") << "writing .dat files to -: " << baseRunDir;
119  // create open dir if not already there
120  edm::Service<evf::EvFDaqDirector>()->createRunOpendirMaybe();
121 
122  processed_.setName("Processed");
123  accepted_.setName("Accepted");
124  errorEvents_.setName("ErrorEvents");
125  retCodeMask_.setName("ReturnCodeMask");
126  filelist_.setName("Filelist");
127  filesize_.setName("Filesize");
128  inputFiles_.setName("InputFiles");
129  fileAdler32_.setName("FileAdler32");
130  transferDestination_.setName("TransferDestination");
131  mergeType_.setName("MergeType");
132  hltErrorEvents_.setName("HLTErrorEvents");
133 
143  outJsonDef_.addLegendItem("TransferDestination", "string", jsoncollector::DataPointDefinition::SAME);
146  std::stringstream tmpss, ss;
147  tmpss << baseRunDir << "/open/"
148  << "output_" << getpid() << ".jsd";
149  ss << baseRunDir << "/"
150  << "output_" << getpid() << ".jsd";
151  std::string outTmpJsonDefName = tmpss.str();
152  std::string outJsonDefName = ss.str();
153 
154  edm::Service<evf::EvFDaqDirector>()->lockInitLock();
155  struct stat fstat;
156  if (stat(outJsonDefName.c_str(), &fstat) != 0) { //file does not exist
157  LogDebug("RecoEventOutputModuleForFU") << "writing output definition file -: " << outJsonDefName;
160  jsoncollector::FileIO::writeStringToFile(outTmpJsonDefName, content);
161  std::filesystem::rename(outTmpJsonDefName, outJsonDefName);
162  }
163  edm::Service<evf::EvFDaqDirector>()->unlockInitLock();
164 
166  jsonMonitor_->setDefPath(outJsonDefName);
167  jsonMonitor_->registerGlobalMonitorable(&processed_, false);
168  jsonMonitor_->registerGlobalMonitorable(&accepted_, false);
169  jsonMonitor_->registerGlobalMonitorable(&errorEvents_, false);
170  jsonMonitor_->registerGlobalMonitorable(&retCodeMask_, false);
171  jsonMonitor_->registerGlobalMonitorable(&filelist_, false);
172  jsonMonitor_->registerGlobalMonitorable(&filesize_, false);
173  jsonMonitor_->registerGlobalMonitorable(&inputFiles_, false);
174  jsonMonitor_->registerGlobalMonitorable(&fileAdler32_, false);
175  jsonMonitor_->registerGlobalMonitorable(&transferDestination_, false);
176  jsonMonitor_->registerGlobalMonitorable(&mergeType_, false);
177  jsonMonitor_->registerGlobalMonitorable(&hltErrorEvents_, false);
178  jsonMonitor_->commit(nullptr);
179  }
void addLegendItem(std::string const &name, std::string const &type, std::string const &operation)
static bool serialize(JsonSerializable *pObj, std::string &output)
virtual void setName(std::string name)
static void writeStringToFile(std::string const &filename, std::string &content)
Definition: FileIO.cc:21
jsoncollector::DataPointDefinition outJsonDef_
std::shared_ptr< jsoncollector::FastMonitor > jsonMonitor_
void setDefaultGroup(std::string const &group)
#define LogDebug(id)
template<typename Consumer >
void evf::RecoEventOutputModuleForFU< Consumer >::start ( )
overrideprivatevirtual

Implements edm::StreamerOutputModuleBase.

Definition at line 185 of file RecoEventOutputModuleForFU.h.

References AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by progressbar.ProgressBar::__next__(), Types.LuminosityBlockRange::cppID(), and Types.EventRange::cppID().

185  {
186  initRun();
187  const std::string openInitFileName = edm::Service<evf::EvFDaqDirector>()->getOpenInitFilePath(streamLabel_);
188  edm::LogInfo("RecoEventOutputModuleForFU")
189  << "start() method, initializing streams. init stream -: " << openInitFileName;
190  c_->setInitMessageFile(openInitFileName);
191  c_->start();
192  }
Log< level::Info, false > LogInfo
template<typename Consumer >
void evf::RecoEventOutputModuleForFU< Consumer >::stop ( )
overrideprivatevirtual

Implements edm::StreamerOutputModuleBase.

Definition at line 195 of file RecoEventOutputModuleForFU.h.

195  {
196  c_->stop();
197  }

Member Data Documentation

template<typename Consumer >
jsoncollector::IntJ evf::RecoEventOutputModuleForFU< Consumer >::accepted_
mutableprivate

Definition at line 57 of file RecoEventOutputModuleForFU.h.

template<typename Consumer >
std::unique_ptr<Consumer> evf::RecoEventOutputModuleForFU< Consumer >::c_
private

Definition at line 52 of file RecoEventOutputModuleForFU.h.

template<typename Consumer >
jsoncollector::IntJ evf::RecoEventOutputModuleForFU< Consumer >::errorEvents_
private

Definition at line 58 of file RecoEventOutputModuleForFU.h.

template<typename Consumer >
jsoncollector::IntJ evf::RecoEventOutputModuleForFU< Consumer >::fileAdler32_
private

Definition at line 63 of file RecoEventOutputModuleForFU.h.

template<typename Consumer >
jsoncollector::StringJ evf::RecoEventOutputModuleForFU< Consumer >::filelist_
private

Definition at line 60 of file RecoEventOutputModuleForFU.h.

template<typename Consumer >
jsoncollector::IntJ evf::RecoEventOutputModuleForFU< Consumer >::filesize_
private

Definition at line 61 of file RecoEventOutputModuleForFU.h.

template<typename Consumer >
evf::FastMonitoringService* evf::RecoEventOutputModuleForFU< Consumer >::fms_
private
template<typename Consumer >
jsoncollector::IntJ evf::RecoEventOutputModuleForFU< Consumer >::hltErrorEvents_
private

Definition at line 66 of file RecoEventOutputModuleForFU.h.

template<typename Consumer >
jsoncollector::StringJ evf::RecoEventOutputModuleForFU< Consumer >::inputFiles_
private

Definition at line 62 of file RecoEventOutputModuleForFU.h.

template<typename Consumer >
std::shared_ptr<jsoncollector::FastMonitor> evf::RecoEventOutputModuleForFU< Consumer >::jsonMonitor_
private

Definition at line 67 of file RecoEventOutputModuleForFU.h.

template<typename Consumer >
jsoncollector::StringJ evf::RecoEventOutputModuleForFU< Consumer >::mergeType_
private

Definition at line 65 of file RecoEventOutputModuleForFU.h.

template<typename Consumer >
std::filesystem::path evf::RecoEventOutputModuleForFU< Consumer >::openDatChecksumFilePath_
private

Definition at line 55 of file RecoEventOutputModuleForFU.h.

template<typename Consumer >
std::filesystem::path evf::RecoEventOutputModuleForFU< Consumer >::openDatFilePath_
private

Definition at line 54 of file RecoEventOutputModuleForFU.h.

template<typename Consumer >
unsigned char* evf::RecoEventOutputModuleForFU< Consumer >::outBuf_ = nullptr
private

Definition at line 70 of file RecoEventOutputModuleForFU.h.

template<typename Consumer >
jsoncollector::DataPointDefinition evf::RecoEventOutputModuleForFU< Consumer >::outJsonDef_
private

Definition at line 69 of file RecoEventOutputModuleForFU.h.

template<typename Consumer >
jsoncollector::IntJ evf::RecoEventOutputModuleForFU< Consumer >::processed_
private

Definition at line 56 of file RecoEventOutputModuleForFU.h.

template<typename Consumer >
bool evf::RecoEventOutputModuleForFU< Consumer >::readAdler32Check_ = false
private

Definition at line 71 of file RecoEventOutputModuleForFU.h.

template<typename Consumer >
jsoncollector::IntJ evf::RecoEventOutputModuleForFU< Consumer >::retCodeMask_
private

Definition at line 59 of file RecoEventOutputModuleForFU.h.

template<typename Consumer >
std::string evf::RecoEventOutputModuleForFU< Consumer >::streamLabel_
private
template<typename Consumer >
jsoncollector::StringJ evf::RecoEventOutputModuleForFU< Consumer >::transferDestination_
private

Definition at line 64 of file RecoEventOutputModuleForFU.h.