CMS 3D CMS Logo

List of all members | Classes | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
NanoAODOutputModule Class Reference
Inheritance diagram for NanoAODOutputModule:
edm::one::OutputModule<> edm::one::OutputModuleBase edm::EDConsumerBase

Classes

class  CommonEventBranches
 
class  CommonLumiBranches
 
class  CommonRunBranches
 

Public Member Functions

 NanoAODOutputModule (edm::ParameterSet const &pset)
 
 ~NanoAODOutputModule () override
 
- Public Member Functions inherited from edm::one::OutputModule<>
 OutputModule (edm::ParameterSet const &iPSet)
 
- Public Member Functions inherited from edm::one::OutputModuleBase
BranchIDLists const * branchIDLists ()
 
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 &)
 
SubProcessParentageHelper const * subProcessParentageHelper () const
 
ThinnedAssociationsHelper const * thinnedAssociationsHelper () const
 
bool wantAllEvents () const
 
bool wantsGlobalLuminosityBlocks () const
 
bool wantsGlobalRuns () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~OutputModuleBase () 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
 
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::vector< ModuleDescription const * > &modules, 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
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
virtual ~EDConsumerBase () noexcept(false)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- 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

bool isFileOpen () const override
 
void openFile (edm::FileBlock const &) override
 
void reallyCloseFile () override
 
void write (edm::EventForOutput const &e) override
 
void writeLuminosityBlock (edm::LuminosityBlockForOutput const &) override
 
void writeRun (edm::RunForOutput const &) override
 

Private Attributes

int m_autoFlush
 
class NanoAODOutputModule::CommonEventBranches m_commonBranches
 
class NanoAODOutputModule::CommonLumiBranches m_commonLumiBranches
 
class NanoAODOutputModule::CommonRunBranches m_commonRunBranches
 
std::string m_compressionAlgorithm
 
int m_compressionLevel
 
bool m_fakeName
 
std::unique_ptr< TFile > m_file
 
std::string m_fileName
 
edm::JobReport::Token m_jrToken
 
std::string m_logicalFileName
 
std::unique_ptr< TTree > m_lumiTree
 
std::unique_ptr< TTree > m_metaDataTree
 
std::vector< std::pair< std::string, edm::EDGetToken > > m_nanoMetadata
 
std::unique_ptr< TTree > m_parameterSetsTree
 
edm::ProcessHistoryRegistry m_processHistoryRegistry
 
std::vector< SummaryTableOutputBranchesm_runTables
 
std::unique_ptr< TTree > m_runTree
 
std::vector< TableOutputBranchesm_tables
 
std::unique_ptr< TTree > m_tree
 
std::vector< TriggerOutputBranchesm_triggers
 
bool m_writeProvenance
 

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

Definition at line 45 of file NanoAODOutputModule.cc.

Constructor & Destructor Documentation

NanoAODOutputModule::NanoAODOutputModule ( edm::ParameterSet const &  pset)

Definition at line 134 of file NanoAODOutputModule.cc.

134  :
137  m_fileName(pset.getUntrackedParameter<std::string>("fileName")),
138  m_logicalFileName(pset.getUntrackedParameter<std::string>("logicalFileName")),
139  m_compressionLevel(pset.getUntrackedParameter<int>("compressionLevel")),
140  m_compressionAlgorithm(pset.getUntrackedParameter<std::string>("compressionAlgorithm")),
141  m_writeProvenance(pset.getUntrackedParameter<bool>("saveProvenance", true)),
142  m_fakeName(pset.getUntrackedParameter<bool>("fakeNameForCrab", false)),
143  m_autoFlush(pset.getUntrackedParameter<int>("autoFlush", -10000000)),
145 {
146 }
OutputModuleBase(ParameterSet const &pset)
edm::ProcessHistoryRegistry m_processHistoryRegistry
std::string m_compressionAlgorithm
NanoAODOutputModule::~NanoAODOutputModule ( )
override

Definition at line 148 of file NanoAODOutputModule.cc.

149 {
150 }

Member Function Documentation

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

Definition at line 307 of file NanoAODOutputModule.cc.

References edm::ParameterSetDescription::add(), edm::ConfigurationDescriptions::addDefault(), edm::ParameterSetDescription::addUntracked(), DEFINE_FWK_MODULE, edm::OutputModule::fillDescription(), keep, edm::ParameterSetDescription::setAllowAnything(), and AlCaHLTBitMon_QueryRunRegistry::string.

307  {
309 
310  desc.addUntracked<std::string>("fileName");
311  desc.addUntracked<std::string>("logicalFileName","");
312 
313  desc.addUntracked<int>("compressionLevel", 9)
314  ->setComment("ROOT compression level of output file.");
315  desc.addUntracked<std::string>("compressionAlgorithm", "ZLIB")
316  ->setComment("Algorithm used to compress data in the ROOT output file, allowed values are ZLIB and LZMA");
317  desc.addUntracked<bool>("saveProvenance", true)
318  ->setComment("Save process provenance information, e.g. for edmProvDump");
319  desc.addUntracked<bool>("fakeNameForCrab", false)
320  ->setComment("Change the OutputModule name in the fwk job report to fake PoolOutputModule. This is needed to run on cran (and publish) till crab is fixed");
321 
322  //replace with whatever you want to get from the EDM by default
323  const std::vector<std::string> keep = {"drop *", "keep nanoaodFlatTable_*Table_*_*", "keep edmTriggerResults_*_*_*", "keep nanoaodMergeableCounterTable_*Table_*_*", "keep nanoaodUniqueString_nanoMetadata_*_*"};
325 
326  //Used by Workflow management for their own meta data
328  dataSet.setAllowAnything();
329  desc.addUntracked<edm::ParameterSetDescription>("dataset", dataSet)
330  ->setComment("PSet is only used by Data Operations and not by this module.");
331 
333  branchSet.setAllowAnything();
334  desc.add<edm::ParameterSetDescription>("branches", branchSet);
335 
336 
337 
338  descriptions.addDefault(desc);
339 
340 }
ParameterDescriptionBase * addUntracked(U const &iLabel, T const &value)
void setAllowAnything()
allow any parameter label/value pairs
const int keep
void addDefault(ParameterSetDescription const &psetDescription)
static void fillDescription(ParameterSetDescription &desc, std::vector< std::string > const &iDefaultOutputCommands=ProductSelectorRules::defaultSelectionStrings())
ParameterDescriptionBase * add(U const &iLabel, T const &value)
bool NanoAODOutputModule::isFileOpen ( ) const
overrideprivatevirtual

Reimplemented from edm::one::OutputModuleBase.

Definition at line 208 of file NanoAODOutputModule.cc.

References m_file.

208  {
209  return nullptr != m_file.get();
210 }
std::unique_ptr< TFile > m_file
void NanoAODOutputModule::openFile ( edm::FileBlock const &  )
overrideprivatevirtual

Reimplemented from edm::one::OutputModuleBase.

Definition at line 213 of file NanoAODOutputModule.cc.

References NanoAODOutputModule::CommonEventBranches::branch(), NanoAODOutputModule::CommonLumiBranches::branch(), NanoAODOutputModule::CommonRunBranches::branch(), edm::createGlobalIdentifier(), edm::one::OutputModuleBase::description(), cms::Digest::digest(), Exception, edm::InEvent, edm::InRun, keep, edm::one::OutputModuleBase::keptProducts(), m_autoFlush, m_commonBranches, m_commonLumiBranches, m_commonRunBranches, m_compressionAlgorithm, m_compressionLevel, m_fakeName, m_file, m_fileName, m_jrToken, m_logicalFileName, m_lumiTree, m_metaDataTree, m_nanoMetadata, m_parameterSetsTree, m_runTables, m_runTree, m_tables, m_tree, m_triggers, m_writeProvenance, SiStripPI::max, edm::poolNames::metaDataTreeName(), edm::poolNames::parameterSetsTreeName(), AlCaHLTBitMon_QueryRunRegistry::string, and cms::MD5Result::toString().

213  {
214  m_file = std::make_unique<TFile>(m_fileName.c_str(),"RECREATE","",m_compressionLevel);
216  cms::Digest branchHash;
217  m_jrToken = jr->outputFileOpened(m_fileName,
219  std::string(),
220  m_fakeName?"PoolOutputModule":"NanoAODOutputModule",
221  description().moduleLabel(),
223  std::string(),
224  branchHash.digest().toString(),
225  std::vector<std::string>()
226  );
227 
228  if (m_compressionAlgorithm == std::string("ZLIB")) {
229  m_file->SetCompressionAlgorithm(ROOT::kZLIB);
230  } else if (m_compressionAlgorithm == std::string("LZMA")) {
231  m_file->SetCompressionAlgorithm(ROOT::kLZMA);
232  } else {
233  throw cms::Exception("Configuration") << "NanoAODOutputModule configured with unknown compression algorithm '" << m_compressionAlgorithm << "'\n"
234  << "Allowed compression algorithms are ZLIB and LZMA\n";
235  }
236  /* Setup file structure here */
237  m_tables.clear();
238  m_triggers.clear();
239  m_runTables.clear();
240  const auto & keeps = keptProducts();
241  for (const auto & keep : keeps[edm::InEvent]) {
242  if(keep.first->className() == "nanoaod::FlatTable" )
243  m_tables.emplace_back(keep.first, keep.second);
244  else if(keep.first->className() == "edm::TriggerResults" )
245  {
246  m_triggers.emplace_back(keep.first, keep.second);
247  }
248  else throw cms::Exception("Configuration", "NanoAODOutputModule cannot handle class " + keep.first->className());
249  }
250 
251  for (const auto & keep : keeps[edm::InRun]) {
252  if(keep.first->className() == "nanoaod::MergeableCounterTable" )
253  m_runTables.push_back(SummaryTableOutputBranches(keep.first, keep.second));
254  else if(keep.first->className() == "nanoaod::UniqueString" && keep.first->moduleLabel() == "nanoMetadata")
255  m_nanoMetadata.emplace_back(keep.first->productInstanceName(), keep.second);
256  else throw cms::Exception("Configuration", "NanoAODOutputModule cannot handle class " + keep.first->className() + " in Run branch");
257  }
258 
259 
260  // create the trees
261  m_tree.reset(new TTree("Events","Events"));
263  m_tree->SetAutoFlush(m_autoFlush);
265 
266  m_lumiTree.reset(new TTree("LuminosityBlocks","LuminosityBlocks"));
269 
270  m_runTree.reset(new TTree("Runs","Runs"));
273 
274  if (m_writeProvenance) {
275  m_metaDataTree.reset(new TTree(edm::poolNames::metaDataTreeName().c_str(),"Job metadata"));
277  m_parameterSetsTree.reset(new TTree(edm::poolNames::parameterSetsTreeName().c_str(),"Parameter sets"));
279  }
280 }
std::unique_ptr< TTree > m_runTree
std::unique_ptr< TTree > m_lumiTree
ModuleDescription const & description() const
std::unique_ptr< TTree > m_tree
MD5Result digest() const
Definition: Digest.cc:194
std::vector< std::pair< std::string, edm::EDGetToken > > m_nanoMetadata
std::string const & parameterSetsTreeName()
Definition: BranchType.cc:251
std::unique_ptr< TTree > m_parameterSetsTree
class NanoAODOutputModule::CommonLumiBranches m_commonLumiBranches
std::unique_ptr< TTree > m_metaDataTree
const int keep
std::unique_ptr< TFile > m_file
std::vector< SummaryTableOutputBranches > m_runTables
std::vector< TableOutputBranches > m_tables
std::vector< TriggerOutputBranches > m_triggers
SelectedProductsForBranchType const & keptProducts() const
std::string const & metaDataTreeName()
Definition: BranchType.cc:168
std::string toString() const
Definition: Digest.cc:87
class NanoAODOutputModule::CommonRunBranches m_commonRunBranches
edm::JobReport::Token m_jrToken
class NanoAODOutputModule::CommonEventBranches m_commonBranches
std::string m_compressionAlgorithm
std::string createGlobalIdentifier()
void NanoAODOutputModule::reallyCloseFile ( )
overrideprivatevirtual

Reimplemented from edm::one::OutputModuleBase.

Definition at line 282 of file NanoAODOutputModule.cc.

References edm::fillParameterSetBranch(), edm::fillProcessHistoryBranch(), m_file, m_jrToken, m_lumiTree, m_metaDataTree, m_parameterSetsTree, m_processHistoryRegistry, m_runTree, m_tree, m_writeProvenance, and edm::JobReport::outputFileClosed().

282  {
283  if (m_writeProvenance) {
284  int basketSize = 16384; // fixme configurable?
287  if (m_metaDataTree->GetNbranches() != 0) {
288  m_metaDataTree->SetEntries(-1);
289  }
290  if (m_parameterSetsTree->GetNbranches() != 0) {
291  m_parameterSetsTree->SetEntries(-1);
292  }
293  }
294  m_file->Write();
295  m_file->Close();
296  m_file.reset();
297  m_tree.release(); // apparently root has ownership
298  m_lumiTree.release(); //
299  m_runTree.release(); //
300  m_metaDataTree.release(); //
301  m_parameterSetsTree.release(); //
304 }
std::unique_ptr< TTree > m_runTree
std::unique_ptr< TTree > m_lumiTree
std::unique_ptr< TTree > m_tree
void fillParameterSetBranch(TTree *parameterSetsTree, int basketSize)
void fillProcessHistoryBranch(TTree *metaDataTree, int basketSize, ProcessHistoryRegistry const &processHistoryRegistry)
std::unique_ptr< TTree > m_parameterSetsTree
std::unique_ptr< TTree > m_metaDataTree
std::unique_ptr< TFile > m_file
void outputFileClosed(Token fileToken)
Definition: JobReport.cc:461
edm::JobReport::Token m_jrToken
edm::ProcessHistoryRegistry m_processHistoryRegistry
void NanoAODOutputModule::write ( edm::EventForOutput const &  e)
overrideprivatevirtual

Implements edm::one::OutputModuleBase.

Definition at line 153 of file NanoAODOutputModule.cc.

References edm::EventID::event(), edm::JobReport::eventWrittenToFile(), NanoAODOutputModule::CommonEventBranches::fill(), edm::EventForOutput::id(), m_commonBranches, m_jrToken, m_processHistoryRegistry, m_tables, m_tree, m_triggers, edm::OccurrenceForOutput::processHistory(), edm::ProcessHistoryRegistry::registerProcessHistory(), edm::EventID::run(), and lumiQTWidget::t.

153  {
154  //Get data from 'e' and write it to the file
156  jr->eventWrittenToFile(m_jrToken, iEvent.id().run(), iEvent.id().event());
157 
159  // fill all tables, starting from main tables and then doing extension tables
160  for (unsigned int extensions = 0; extensions <= 1; ++extensions) {
161  for (auto & t : m_tables) t.fill(iEvent,*m_tree,extensions);
162  }
163  // fill triggers
164  for (auto & t : m_triggers) t.fill(iEvent,*m_tree);
165  m_tree->Fill();
166 
168 }
std::unique_ptr< TTree > m_tree
bool registerProcessHistory(ProcessHistory const &processHistory)
int iEvent
Definition: GenABIO.cc:230
std::vector< TableOutputBranches > m_tables
std::vector< TriggerOutputBranches > m_triggers
void eventWrittenToFile(Token fileToken, RunNumber_t run, EventNumber_t event)
Definition: JobReport.cc:455
edm::JobReport::Token m_jrToken
class NanoAODOutputModule::CommonEventBranches m_commonBranches
edm::ProcessHistoryRegistry m_processHistoryRegistry
void NanoAODOutputModule::writeLuminosityBlock ( edm::LuminosityBlockForOutput const &  iLumi)
overrideprivatevirtual

Implements edm::one::OutputModuleBase.

Definition at line 171 of file NanoAODOutputModule.cc.

References NanoAODOutputModule::CommonLumiBranches::fill(), edm::LuminosityBlockForOutput::id(), m_commonLumiBranches, m_jrToken, m_lumiTree, m_processHistoryRegistry, edm::OccurrenceForOutput::processHistory(), edm::ProcessHistoryRegistry::registerProcessHistory(), edm::JobReport::reportLumiSection(), edm::LuminosityBlockID::run(), and edm::LuminosityBlockID::value().

171  {
173  jr->reportLumiSection(m_jrToken, iLumi.id().run(), iLumi.id().value());
174 
175  m_commonLumiBranches.fill(iLumi.id());
176  m_lumiTree->Fill();
177 
178  m_processHistoryRegistry.registerProcessHistory(iLumi.processHistory());
179 }
std::unique_ptr< TTree > m_lumiTree
bool registerProcessHistory(ProcessHistory const &processHistory)
void fill(const edm::LuminosityBlockID &id)
class NanoAODOutputModule::CommonLumiBranches m_commonLumiBranches
edm::JobReport::Token m_jrToken
edm::ProcessHistoryRegistry m_processHistoryRegistry
void reportLumiSection(JobReport::Token token, unsigned int run, unsigned int lumiSectId, unsigned long nEvents=0)
Definition: JobReport.cc:487
void NanoAODOutputModule::writeRun ( edm::RunForOutput const &  iRun)
overrideprivatevirtual

Implements edm::one::OutputModuleBase.

Definition at line 182 of file NanoAODOutputModule.cc.

References NanoAODOutputModule::CommonRunBranches::fill(), edm::OccurrenceForOutput::getByToken(), edm::RunForOutput::id(), m_commonRunBranches, m_file, m_jrToken, m_nanoMetadata, m_processHistoryRegistry, m_runTables, m_runTree, AlCaHLTBitMon_ParallelJobs::p, edm::OccurrenceForOutput::processHistory(), edm::ProcessHistoryRegistry::registerProcessHistory(), edm::JobReport::reportRunNumber(), edm::RunID::run(), nanoaod::UniqueString::str(), and lumiQTWidget::t.

182  {
184  jr->reportRunNumber(m_jrToken, iRun.id().run());
185 
186  m_commonRunBranches.fill(iRun.id());
187 
188  for (auto & t : m_runTables) t.fill(iRun,*m_runTree);
189 
191  for (const auto & p : m_nanoMetadata) {
192  iRun.getByToken(p.second, hstring);
193  TObjString *tos = dynamic_cast<TObjString *>(m_file->Get(p.first.c_str()));
194  if (tos) {
195  if (hstring->str() != tos->GetString()) throw cms::Exception("LogicError", "Inconsistent nanoMetadata " + p.first + " (" + hstring->str() +")");
196  } else {
197  auto ostr = std::make_unique<TObjString>(hstring->str().c_str());
198  m_file->WriteTObject(ostr.release(), p.first.c_str());
199  }
200  }
201 
202  m_runTree->Fill();
203 
204  m_processHistoryRegistry.registerProcessHistory(iRun.processHistory());
205 }
std::unique_ptr< TTree > m_runTree
bool registerProcessHistory(ProcessHistory const &processHistory)
void reportRunNumber(JobReport::Token token, unsigned int run)
Definition: JobReport.cc:497
std::vector< std::pair< std::string, edm::EDGetToken > > m_nanoMetadata
std::unique_ptr< TFile > m_file
std::vector< SummaryTableOutputBranches > m_runTables
class NanoAODOutputModule::CommonRunBranches m_commonRunBranches
edm::JobReport::Token m_jrToken
const std::string & str() const
Definition: UniqueString.h:12
edm::ProcessHistoryRegistry m_processHistoryRegistry

Member Data Documentation

int NanoAODOutputModule::m_autoFlush
private

Definition at line 66 of file NanoAODOutputModule.cc.

Referenced by openFile().

class NanoAODOutputModule::CommonEventBranches NanoAODOutputModule::m_commonBranches
private

Referenced by openFile(), and write().

class NanoAODOutputModule::CommonLumiBranches NanoAODOutputModule::m_commonLumiBranches
private

Referenced by openFile(), and writeLuminosityBlock().

class NanoAODOutputModule::CommonRunBranches NanoAODOutputModule::m_commonRunBranches
private

Referenced by openFile(), and writeRun().

std::string NanoAODOutputModule::m_compressionAlgorithm
private

Definition at line 63 of file NanoAODOutputModule.cc.

Referenced by openFile().

int NanoAODOutputModule::m_compressionLevel
private

Definition at line 62 of file NanoAODOutputModule.cc.

Referenced by openFile().

bool NanoAODOutputModule::m_fakeName
private

Definition at line 65 of file NanoAODOutputModule.cc.

Referenced by openFile().

std::unique_ptr<TFile> NanoAODOutputModule::m_file
private

Definition at line 69 of file NanoAODOutputModule.cc.

Referenced by isFileOpen(), openFile(), reallyCloseFile(), and writeRun().

std::string NanoAODOutputModule::m_fileName
private

Definition at line 60 of file NanoAODOutputModule.cc.

Referenced by openFile().

edm::JobReport::Token NanoAODOutputModule::m_jrToken
private
std::string NanoAODOutputModule::m_logicalFileName
private

Definition at line 61 of file NanoAODOutputModule.cc.

Referenced by openFile().

std::unique_ptr<TTree> NanoAODOutputModule::m_lumiTree
private

Definition at line 70 of file NanoAODOutputModule.cc.

Referenced by openFile(), reallyCloseFile(), and writeLuminosityBlock().

std::unique_ptr<TTree> NanoAODOutputModule::m_metaDataTree
private

Definition at line 70 of file NanoAODOutputModule.cc.

Referenced by openFile(), and reallyCloseFile().

std::vector<std::pair<std::string,edm::EDGetToken> > NanoAODOutputModule::m_nanoMetadata
private

Definition at line 118 of file NanoAODOutputModule.cc.

Referenced by openFile(), and writeRun().

std::unique_ptr<TTree> NanoAODOutputModule::m_parameterSetsTree
private

Definition at line 70 of file NanoAODOutputModule.cc.

Referenced by openFile(), and reallyCloseFile().

edm::ProcessHistoryRegistry NanoAODOutputModule::m_processHistoryRegistry
private

Definition at line 67 of file NanoAODOutputModule.cc.

Referenced by reallyCloseFile(), write(), writeLuminosityBlock(), and writeRun().

std::vector<SummaryTableOutputBranches> NanoAODOutputModule::m_runTables
private

Definition at line 116 of file NanoAODOutputModule.cc.

Referenced by openFile(), and writeRun().

std::unique_ptr<TTree> NanoAODOutputModule::m_runTree
private

Definition at line 70 of file NanoAODOutputModule.cc.

Referenced by openFile(), reallyCloseFile(), and writeRun().

std::vector<TableOutputBranches> NanoAODOutputModule::m_tables
private

Definition at line 113 of file NanoAODOutputModule.cc.

Referenced by openFile(), and write().

std::unique_ptr<TTree> NanoAODOutputModule::m_tree
private

Definition at line 70 of file NanoAODOutputModule.cc.

Referenced by openFile(), reallyCloseFile(), and write().

std::vector<TriggerOutputBranches> NanoAODOutputModule::m_triggers
private

Definition at line 114 of file NanoAODOutputModule.cc.

Referenced by openFile(), and write().

bool NanoAODOutputModule::m_writeProvenance
private

Definition at line 64 of file NanoAODOutputModule.cc.

Referenced by openFile(), and reallyCloseFile().