CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros 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::one::OutputModuleBase edm::EDConsumerBase

Public Member Functions

 RecoEventOutputModuleForFU (edm::ParameterSet const &ps)
 
virtual ~RecoEventOutputModuleForFU ()
 
- Public Member Functions inherited from edm::StreamerOutputModuleBase
 StreamerOutputModuleBase (ParameterSet const &ps)
 
virtual ~StreamerOutputModuleBase ()
 
- Public Member Functions inherited from edm::one::OutputModule< one::WatchRuns, one::WatchLuminosityBlocks >
 OutputModule (edm::ParameterSet const &iPSet)
 
- Public Member Functions inherited from edm::one::OutputModuleBase
BranchChildren const & branchChildren () const
 
BranchIDLists const * branchIDLists () const
 
std::array< bool,
NumBranchTypes > const & 
hasNewlyDroppedBranch () const
 
SelectedProductsForBranchType
const & 
keptProducts () const
 
int maxEvents () const
 
const ModuleDescriptionmoduleDescription () const
 
OutputModuleBaseoperator= (OutputModuleBase const &)=delete
 
 OutputModuleBase (ParameterSet const &pset)
 
 OutputModuleBase (OutputModuleBase const &)=delete
 
std::string const & processName () const
 
int remainingEvents () const
 
bool selected (BranchDescription const &desc) const
 
void selectProducts (ProductRegistry const &preg, ThinnedAssociationsHelper const &)
 
ThinnedAssociationsHelper const * thinnedAssociationsHelper () const
 
bool wantAllEvents () const
 
virtual ~OutputModuleBase ()
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (const std::string &iProcessName, std::vector< const char * > &oModuleLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

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::one::OutputModuleBase
static const std::string & baseType ()
 
static void fillDescription (ParameterSetDescription &desc)
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 

Private Member Functions

virtual void beginJob () override
 
virtual void beginLuminosityBlock (edm::LuminosityBlockPrincipal const &, edm::ModuleCallingContext const *) override
 
virtual void doOutputEvent (EventMsgBuilder const &msg) const
 
virtual void doOutputHeader (InitMsgBuilder const &init_message) const
 
virtual void endLuminosityBlock (edm::LuminosityBlockPrincipal const &, edm::ModuleCallingContext const *) override
 
virtual void start () const
 
virtual void stop () const
 

Private Attributes

IntJ accepted_
 
std::auto_ptr< Consumer > c_
 
IntJ errorEvents_
 
IntJ fileAdler32_
 
StringJ filelist_
 
IntJ filesize_
 
evf::FastMonitoringServicefms_
 
StringJ inputFiles_
 
boost::shared_ptr< FastMonitorjsonMonitor_
 
boost::filesystem::path openDatChecksumFilePath_
 
boost::filesystem::path openDatFilePath_
 
unsigned char * outBuf_ =0
 
DataPointDefinition outJsonDef_
 
IntJ processed_
 
bool readAdler32Check_ =false
 
IntJ retCodeMask_
 
std::string stream_label_
 
StringJ transferDestination_
 

Additional Inherited Members

- Public Types inherited from edm::one::OutputModuleBase
typedef OutputModuleBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Protected Member Functions inherited from edm::one::OutputModuleBase
void configure (OutputModuleDescription const &desc)
 
ModuleDescription const & description () const
 
void doBeginJob ()
 
bool doBeginLuminosityBlock (LuminosityBlockPrincipal const &lbp, EventSetup const &c, ModuleCallingContext const *)
 
bool doBeginRun (RunPrincipal const &rp, EventSetup const &c, ModuleCallingContext const *)
 
void doEndJob ()
 
bool doEndLuminosityBlock (LuminosityBlockPrincipal const &lbp, EventSetup const &c, ModuleCallingContext const *)
 
bool doEndRun (RunPrincipal const &rp, EventSetup const &c, ModuleCallingContext const *)
 
bool doEvent (EventPrincipal const &ep, EventSetup const &c, ActivityRegistry *, ModuleCallingContext const *)
 
void doPreallocate (PreallocationConfiguration const &)
 
std::map< BranchID::value_type,
BranchID::value_type > const & 
droppedBranchIDToKeptBranchID ()
 
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)
 
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 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)
 

Detailed Description

template<typename Consumer>
class evf::RecoEventOutputModuleForFU< Consumer >

Definition at line 25 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 74 of file RecoEventOutputModuleForFU.h.

References evf::RecoEventOutputModuleForFU< Consumer >::accepted_, jsoncollector::DataPointDefinition::addLegendItem(), ws_sso_content_reader::content, evf::RecoEventOutputModuleForFU< Consumer >::errorEvents_, edm::hlt::Exception, evf::RecoEventOutputModuleForFU< Consumer >::fileAdler32_, evf::RecoEventOutputModuleForFU< Consumer >::filelist_, evf::RecoEventOutputModuleForFU< Consumer >::filesize_, evf::RecoEventOutputModuleForFU< Consumer >::fms_, evf::RecoEventOutputModuleForFU< Consumer >::inputFiles_, evf::RecoEventOutputModuleForFU< Consumer >::jsonMonitor_, LogDebug, evf::RecoEventOutputModuleForFU< Consumer >::outJsonDef_, evf::RecoEventOutputModuleForFU< Consumer >::processed_, evf::RecoEventOutputModuleForFU< Consumer >::readAdler32Check_, evf::RecoEventOutputModuleForFU< Consumer >::retCodeMask_, cond::serialize(), jsoncollector::DataPointDefinition::setDefaultGroup(), jsoncollector::JsonMonitorable::setName(), contentValuesCheck::ss, evf::RecoEventOutputModuleForFU< Consumer >::stream_label_, AlCaHLTBitMon_QueryRunRegistry::string, SUM, and evf::RecoEventOutputModuleForFU< Consumer >::transferDestination_.

74  :
77  c_(new Consumer(ps)),
78  stream_label_(ps.getParameter<std::string>("@module_label")),
79  processed_(0),
80  accepted_(0),
81  errorEvents_(0),
82  retCodeMask_(0),
83  filelist_(),
84  filesize_(0),
85  inputFiles_(),
86  fileAdler32_(1),
88  outBuf_(new unsigned char[1024*1024])
89  {
90  std::string baseRunDir = edm::Service<evf::EvFDaqDirector>()->baseRunDir();
91  readAdler32Check_ = edm::Service<evf::EvFDaqDirector>()->outputAdler32Recheck();
92  LogDebug("RecoEventOutputModuleForFU") << "writing .dat files to -: " << baseRunDir;
93  // create open dir if not already there
94  edm::Service<evf::EvFDaqDirector>()->createRunOpendirMaybe();
95 
96  //replace hltOutoputA with stream if the HLT menu uses this convention
97  std::string testPrefix="hltOutput";
98  if (stream_label_.find(testPrefix)==0)
99  stream_label_=std::string("stream")+stream_label_.substr(testPrefix.size());
100 
101  if (stream_label_.find("_")!=std::string::npos) {
102  throw cms::Exception("RecoEventOutputModuleForFU")
103  << "Underscore character is reserved can not be used for stream names in FFF, but was detected in stream name -: " << stream_label_;
104  }
105 
106 
107  std::string stream_label_lo = stream_label_;
108  boost::algorithm::to_lower(stream_label_lo);
109  auto streampos = stream_label_lo.rfind("stream");
110  if (streampos !=0 && streampos!=std::string::npos)
111  throw cms::Exception("RecoEventOutputModuleForFU")
112  << "stream (case-insensitive) sequence was found in stream suffix. This is reserved and can not be used for names in FFF based HLT, but was detected in stream name";
113 
115 
116  processed_.setName("Processed");
117  accepted_.setName("Accepted");
118  errorEvents_.setName("ErrorEvents");
119  retCodeMask_.setName("ReturnCodeMask");
120  filelist_.setName("Filelist");
121  filesize_.setName("Filesize");
122  inputFiles_.setName("InputFiles");
123  fileAdler32_.setName("FileAdler32");
124  transferDestination_.setName("TransferDestination");
125 
127  outJsonDef_.addLegendItem("Processed","integer",DataPointDefinition::SUM);
128  outJsonDef_.addLegendItem("Accepted","integer",DataPointDefinition::SUM);
129  outJsonDef_.addLegendItem("ErrorEvents","integer",DataPointDefinition::SUM);
130  outJsonDef_.addLegendItem("ReturnCodeMask","integer",DataPointDefinition::BINARYOR);
131  outJsonDef_.addLegendItem("Filelist","string",DataPointDefinition::MERGE);
132  outJsonDef_.addLegendItem("Filesize","integer",DataPointDefinition::SUM);
133  outJsonDef_.addLegendItem("InputFiles","string",DataPointDefinition::CAT);
134  outJsonDef_.addLegendItem("FileAdler32","integer",DataPointDefinition::ADLER32);
135  outJsonDef_.addLegendItem("TransferDestination","string",DataPointDefinition::SAME);
136  std::stringstream tmpss,ss;
137  tmpss << baseRunDir << "/open/" << "output_" << getpid() << ".jsd";
138  ss << baseRunDir << "/" << "output_" << getpid() << ".jsd";
139  std::string outTmpJsonDefName = tmpss.str();
140  std::string outJsonDefName = ss.str();
141 
142  edm::Service<evf::EvFDaqDirector>()->lockInitLock();
143  struct stat fstat;
144  if (stat (outJsonDefName.c_str(), &fstat) != 0) { //file does not exist
145  LogDebug("RecoEventOutputModuleForFU") << "writing output definition file -: " << outJsonDefName;
148  FileIO::writeStringToFile(outTmpJsonDefName, content);
149  boost::filesystem::rename(outTmpJsonDefName,outJsonDefName);
150  }
151  edm::Service<evf::EvFDaqDirector>()->unlockInitLock();
152 
153  jsonMonitor_.reset(new FastMonitor(&outJsonDef_,true));
154  jsonMonitor_->setDefPath(outJsonDefName);
155  jsonMonitor_->registerGlobalMonitorable(&processed_,false);
156  jsonMonitor_->registerGlobalMonitorable(&accepted_,false);
157  jsonMonitor_->registerGlobalMonitorable(&errorEvents_,false);
158  jsonMonitor_->registerGlobalMonitorable(&retCodeMask_,false);
159  jsonMonitor_->registerGlobalMonitorable(&filelist_,false);
160  jsonMonitor_->registerGlobalMonitorable(&filesize_,false);
161  jsonMonitor_->registerGlobalMonitorable(&inputFiles_,false);
162  jsonMonitor_->registerGlobalMonitorable(&fileAdler32_,false);
163  jsonMonitor_->registerGlobalMonitorable(&transferDestination_,false);
164  jsonMonitor_->commit(nullptr);
165 
166  }
#define LogDebug(id)
void addLegendItem(std::string const &name, std::string const &type, std::string const &operation)
boost::shared_ptr< FastMonitor > jsonMonitor_
virtual void setName(std::string name)
OutputModuleBase(ParameterSet const &pset)
#define SUM(A, B)
std::pair< Binary, Binary > serialize(const T &payload, bool packingOnly=false)
Definition: Serialization.h:55
void setDefaultGroup(std::string const &group)
template<typename Consumer >
evf::RecoEventOutputModuleForFU< Consumer >::~RecoEventOutputModuleForFU ( )
virtual

Definition at line 169 of file RecoEventOutputModuleForFU.h.

169 {}

Member Function Documentation

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

Reimplemented from edm::StreamerOutputModuleBase.

Definition at line 239 of file RecoEventOutputModuleForFU.h.

240  {
241  //get stream transfer destination
243  }
template<typename Consumer >
void evf::RecoEventOutputModuleForFU< Consumer >::beginLuminosityBlock ( edm::LuminosityBlockPrincipal const &  ls,
edm::ModuleCallingContext const *   
)
overrideprivatevirtual

Definition at line 247 of file RecoEventOutputModuleForFU.h.

References edm::LuminosityBlockPrincipal::luminosityBlock().

248  {
249  //edm::LogInfo("RecoEventOutputModuleForFU") << "begin lumi";
250  openDatFilePath_ = edm::Service<evf::EvFDaqDirector>()->getOpenDatFilePath(ls.luminosityBlock(),stream_label_);
251  openDatChecksumFilePath_ = edm::Service<evf::EvFDaqDirector>()->getOpenDatFilePath(ls.luminosityBlock(),stream_label_);
252  c_->setOutputFile(openDatFilePath_.string());
253  filelist_ = openDatFilePath_.filename().string();
254  }
boost::filesystem::path openDatChecksumFilePath_
template<typename Consumer >
void evf::RecoEventOutputModuleForFU< Consumer >::doOutputEvent ( EventMsgBuilder const &  msg) const
privatevirtual

Implements edm::StreamerOutputModuleBase.

Definition at line 224 of file RecoEventOutputModuleForFU.h.

224  {
225  accepted_.value()++;
226  c_->doOutputEvent(msg); // You can't use msg in RecoEventOutputModuleForFU after this point
227  }
template<typename Consumer >
void evf::RecoEventOutputModuleForFU< Consumer >::doOutputHeader ( InitMsgBuilder const &  init_message) const
privatevirtual

Implements edm::StreamerOutputModuleBase.

Definition at line 192 of file RecoEventOutputModuleForFU.h.

References cms::Adler32(), edm::hlt::Exception, alcazmumu_cfi::src, and AlCaHLTBitMon_QueryRunRegistry::string.

193  {
194  c_->doOutputHeader(init_message);
195 
196  const std::string openIniFileName = edm::Service<evf::EvFDaqDirector>()->getOpenInitFilePath(stream_label_);
197  struct stat istat;
198  stat(openIniFileName.c_str(), &istat);
199  //read back file to check integrity of what was written
200  off_t readInput=0;
201  uint32_t adlera=1,adlerb=0;
202  FILE *src = fopen(openIniFileName.c_str(),"r");
203  while (readInput<istat.st_size)
204  {
205  size_t toRead= readInput+1024*1024 < istat.st_size ? 1024*1024 : istat.st_size-readInput;
206  fread(outBuf_,toRead,1,src);
207  cms::Adler32((const char*)outBuf_,toRead,adlera,adlerb);
208  readInput+=toRead;
209  }
210  fclose(src);
211  uint32_t adler32c = (adlerb << 16) | adlera;
212  if (adler32c != c_->get_adler32_ini()) {
213  throw cms::Exception("RecoEventOutputModuleForFU") << "Checksum mismatch of ini file -: " << openIniFileName
214  << " expected:" << c_->get_adler32_ini() << " obtained:" << adler32c;
215  }
216  else {
217  edm::LogWarning("RecoEventOutputModuleForFU") << "Ini file checksum -: "<< stream_label_ << " " << adler32c;
218  boost::filesystem::rename(openIniFileName,edm::Service<evf::EvFDaqDirector>()->getInitFilePath(stream_label_));
219  }
220  }
void Adler32(char const *data, size_t len, uint32_t &a, uint32_t &b)
template<typename Consumer >
void evf::RecoEventOutputModuleForFU< Consumer >::endLuminosityBlock ( edm::LuminosityBlockPrincipal const &  ls,
edm::ModuleCallingContext const *   
)
overrideprivatevirtual

Definition at line 257 of file RecoEventOutputModuleForFU.h.

References cms::Adler32(), edm::hlt::Exception, edm::LuminosityBlockPrincipal::luminosityBlock(), NULL, alcazmumu_cfi::src, and AlCaHLTBitMon_QueryRunRegistry::string.

258  {
259  //edm::LogInfo("RecoEventOutputModuleForFU") << "end lumi";
260  long filesize=0;
261  fileAdler32_.value() = c_->get_adler32();
262  c_->closeOutputFile();
263  bool abortFlag = false;
264  processed_.value() = fms_->getEventsProcessedForLumi(ls.luminosityBlock(),&abortFlag);
265 
266  if (abortFlag) {
267  edm::LogInfo("RecoEventOutputModuleForFU") << "output suppressed";
268  return;
269  }
270 
271  if(processed_.value()!=0) {
272 
273  //lock
274  FILE *des = edm::Service<evf::EvFDaqDirector>()->maybeCreateAndLockFileHeadForStream(ls.luminosityBlock(),stream_label_);
275 
276  std::string deschecksum = edm::Service<evf::EvFDaqDirector>()->getMergedDatChecksumFilePath(ls.luminosityBlock(), stream_label_);
277 
278  struct stat istat;
279  FILE * cf = NULL;
280  uint32_t mergedAdler32=1;
281  //get adler32 accumulated checksum for the merged file
282  if (!stat(deschecksum.c_str(), &istat)) {
283  if (istat.st_size) {
284  cf = fopen(deschecksum.c_str(),"r");
285  if (!cf) throw cms::Exception("RecoEventOutputModuleForFU") << "Unable to open checksum file -: " << deschecksum.c_str();
286  fscanf(cf,"%u",&mergedAdler32);
287  fclose(cf);
288  }
289  else edm::LogWarning("RecoEventOutputModuleForFU") << "Checksum file size is empty -: "<< deschecksum.c_str();
290  }
291 
292  FILE *src = fopen(openDatFilePath_.string().c_str(),"r");
293 
294  stat(openDatFilePath_.string().c_str(), &istat);
295  off_t readInput=0;
296  uint32_t adlera=1;
297  uint32_t adlerb=0;
298  while (readInput<istat.st_size) {
299  size_t toRead= readInput+1024*1024 < istat.st_size ? 1024*1024 : istat.st_size-readInput;
300  fread(outBuf_,toRead,1,src);
301  fwrite(outBuf_,toRead,1,des);
302  if (readAdler32Check_)
303  cms::Adler32((const char*)outBuf_,toRead,adlera,adlerb);
304  readInput+=toRead;
305  filesize+=toRead;
306  }
307 
308  //if(des != 0 && src !=0){
309  // while((b=fgetc(src))!= EOF){
310  // fputc((unsigned char)b,des);
311  // filesize++;
312  // }
313  //}
314 
315  //write new string representation of the checksum value
316  cf = fopen(deschecksum.c_str(),"w");
317  if (!cf) throw cms::Exception("RecoEventOutputModuleForFU") << "Unable to open or rewind checksum file for writing -:" << deschecksum.c_str();
318 
319  //write adler32 combine to checksum file
320  mergedAdler32 = adler32_combine(mergedAdler32,fileAdler32_.value(),filesize);
321 
322  fprintf(cf,"%u",mergedAdler32);
323  fclose(cf);
324 
325  edm::Service<evf::EvFDaqDirector>()->unlockAndCloseMergeStream();
326  fclose(src);
327 
328  if (readAdler32Check_ && ((adlerb << 16) | adlera) != fileAdler32_.value()) {
329 
330  throw cms::Exception("RecoEventOutputModuleForFU") << "Adler32 checksum mismatch after reading file -: "
331  << openDatFilePath_.string() <<" in LS " << ls.luminosityBlock() << std::endl;
332  }
333 
334  } else {
335  //return if not in empty lumisectio mode
336  if (!edm::Service<evf::EvFDaqDirector>()->emptyLumisectionMode())
337  return;
338  filelist_ = "";
339  fileAdler32_.value()=-1;
340  }
341 
342  //remove file
343  remove(openDatFilePath_.string().c_str());
344  filesize_=filesize;
345 
346  jsonMonitor_->snap(ls.luminosityBlock());
347  const std::string outputJsonNameStream =
348  edm::Service<evf::EvFDaqDirector>()->getOutputJsonFilePath(ls.luminosityBlock(),stream_label_);
349  jsonMonitor_->outputFullJSON(outputJsonNameStream,ls.luminosityBlock());
350 
351  // reset monitoring params
352  accepted_.value() = 0;
353  filelist_ = "";
354  }
unsigned int getEventsProcessedForLumi(unsigned int lumi, bool *abortFlag=0)
#define NULL
Definition: scimark2.h:8
boost::shared_ptr< FastMonitor > jsonMonitor_
void Adler32(char const *data, size_t len, uint32_t &a, uint32_t &b)
template<typename Consumer >
void evf::RecoEventOutputModuleForFU< Consumer >::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 231 of file RecoEventOutputModuleForFU.h.

References edm::ConfigurationDescriptions::add(), and edm::StreamerOutputModuleBase::fillDescription().

231  {
234  Consumer::fillDescription(desc);
235  descriptions.add("streamerOutput", desc);
236  }
static void fillDescription(ParameterSetDescription &desc)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
template<typename Consumer >
void evf::RecoEventOutputModuleForFU< Consumer >::start ( void  ) const
privatevirtual

Implements edm::StreamerOutputModuleBase.

Definition at line 173 of file RecoEventOutputModuleForFU.h.

References AlCaHLTBitMon_QueryRunRegistry::string.

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

174  {
175  const std::string openInitFileName = edm::Service<evf::EvFDaqDirector>()->getOpenInitFilePath(stream_label_);
176  edm::LogInfo("RecoEventOutputModuleForFU") << "start() method, initializing streams. init stream -: "
177  << openInitFileName;
178  c_->setInitMessageFile(openInitFileName);
179  c_->start();
180 
181  }
template<typename Consumer >
void evf::RecoEventOutputModuleForFU< Consumer >::stop ( ) const
privatevirtual

Implements edm::StreamerOutputModuleBase.

Definition at line 185 of file RecoEventOutputModuleForFU.h.

186  {
187  c_->stop();
188  }

Member Data Documentation

template<typename Consumer >
IntJ evf::RecoEventOutputModuleForFU< Consumer >::accepted_
mutableprivate
template<typename Consumer >
std::auto_ptr<Consumer> evf::RecoEventOutputModuleForFU< Consumer >::c_
private

Definition at line 51 of file RecoEventOutputModuleForFU.h.

template<typename Consumer >
IntJ evf::RecoEventOutputModuleForFU< Consumer >::errorEvents_
private
template<typename Consumer >
IntJ evf::RecoEventOutputModuleForFU< Consumer >::fileAdler32_
private
template<typename Consumer >
StringJ evf::RecoEventOutputModuleForFU< Consumer >::filelist_
private
template<typename Consumer >
IntJ evf::RecoEventOutputModuleForFU< Consumer >::filesize_
private
template<typename Consumer >
evf::FastMonitoringService* evf::RecoEventOutputModuleForFU< Consumer >::fms_
private
template<typename Consumer >
StringJ evf::RecoEventOutputModuleForFU< Consumer >::inputFiles_
private
template<typename Consumer >
boost::shared_ptr<FastMonitor> evf::RecoEventOutputModuleForFU< Consumer >::jsonMonitor_
private
template<typename Consumer >
boost::filesystem::path evf::RecoEventOutputModuleForFU< Consumer >::openDatChecksumFilePath_
private

Definition at line 54 of file RecoEventOutputModuleForFU.h.

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

Definition at line 53 of file RecoEventOutputModuleForFU.h.

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

Definition at line 67 of file RecoEventOutputModuleForFU.h.

template<typename Consumer >
DataPointDefinition evf::RecoEventOutputModuleForFU< Consumer >::outJsonDef_
private
template<typename Consumer >
IntJ evf::RecoEventOutputModuleForFU< Consumer >::processed_
private
template<typename Consumer >
bool evf::RecoEventOutputModuleForFU< Consumer >::readAdler32Check_ =false
private
template<typename Consumer >
IntJ evf::RecoEventOutputModuleForFU< Consumer >::retCodeMask_
private
template<typename Consumer >
std::string evf::RecoEventOutputModuleForFU< Consumer >::stream_label_
private
template<typename Consumer >
StringJ evf::RecoEventOutputModuleForFU< Consumer >::transferDestination_
private