Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:12:09

0001 #include "FWCore/Framework/interface/EventForOutput.h"
0002 
0003 #include "DataFormats/Common/interface/TriggerResults.h"
0004 #include "FWCore/Common/interface/TriggerResultsByName.h"
0005 #include "FWCore/Framework/interface/EventPrincipal.h"
0006 #include "FWCore/Framework/interface/LuminosityBlockForOutput.h"
0007 #include "FWCore/Framework/interface/TransitionInfoTypes.h"
0008 #include "FWCore/ParameterSet/interface/Registry.h"
0009 #include "FWCore/Utilities/interface/Algorithms.h"
0010 #include "FWCore/Utilities/interface/InputTag.h"
0011 
0012 namespace edm {
0013 
0014   EventForOutput::EventForOutput(EventTransitionInfo const& info,
0015                                  ModuleDescription const& md,
0016                                  ModuleCallingContext const* mcc)
0017       : EventForOutput(info.principal(), md, mcc) {}
0018 
0019   EventForOutput::EventForOutput(EventPrincipal const& ep,
0020                                  ModuleDescription const& md,
0021                                  ModuleCallingContext const* moduleCallingContext)
0022       : OccurrenceForOutput(ep, md, moduleCallingContext, true /*always at end*/),
0023         aux_(ep.aux()),
0024         luminosityBlock_(ep.luminosityBlockPrincipalPtrValid()
0025                              ? new LuminosityBlockForOutput(
0026                                    ep.luminosityBlockPrincipal(), md, moduleCallingContext, false /*not at end*/)
0027                              : nullptr),
0028         streamID_(ep.streamID()) {}
0029 
0030   EventForOutput::~EventForOutput() {}
0031 
0032   EventPrincipal const& EventForOutput::eventPrincipal() const {
0033     return dynamic_cast<EventPrincipal const&>(principal());
0034   }
0035 
0036   RunForOutput const& EventForOutput::getRun() const { return getLuminosityBlock().getRun(); }
0037 
0038   EventSelectionIDVector const& EventForOutput::eventSelectionIDs() const {
0039     return eventPrincipal().eventSelectionIDs();
0040   }
0041 
0042   ProductProvenanceRetriever const* EventForOutput::productProvenanceRetrieverPtr() const {
0043     return eventPrincipal().productProvenanceRetrieverPtr();
0044   }
0045 
0046   BranchListIndexes const& EventForOutput::branchListIndexes() const { return eventPrincipal().branchListIndexes(); }
0047 
0048   EventToProcessBlockIndexes const& EventForOutput::eventToProcessBlockIndexes() const {
0049     return eventPrincipal().eventToProcessBlockIndexes();
0050   }
0051 
0052 }  // namespace edm