File indexing completed on 2025-06-29 23:01:06
0001 #ifndef Mixing_Base_SecondaryEventProvider_h
0002 #define Mixing_Base_SecondaryEventProvider_h
0003
0004 #include "FWCore/Framework/interface/WorkerManager.h"
0005 #include "FWCore/Framework/interface/Frameworkfwd.h"
0006 #include "FWCore/ServiceRegistry/interface/ServiceRegistryfwd.h"
0007
0008 #include <memory>
0009 #include <string>
0010 #include <vector>
0011
0012 namespace edm {
0013 class ModuleCallingContext;
0014
0015 class SecondaryEventProvider {
0016 public:
0017 SecondaryEventProvider(std::vector<ParameterSet>& psets,
0018 SignallingProductRegistryFiller& pregistry,
0019 std::shared_ptr<ProcessConfiguration> processConfiguration);
0020
0021 void beginRun(RunPrincipal& run,
0022 const edm::EventSetupImpl& setup,
0023 ModuleCallingContext const*,
0024 StreamContext& sContext);
0025 void beginLuminosityBlock(LuminosityBlockPrincipal& lumi,
0026 const edm::EventSetupImpl& setup,
0027 ModuleCallingContext const*,
0028 StreamContext& sContext);
0029
0030 void endRun(RunPrincipal& run,
0031 const edm::EventSetupImpl& setup,
0032 ModuleCallingContext const*,
0033 StreamContext& sContext);
0034 void endLuminosityBlock(LuminosityBlockPrincipal& lumi,
0035 const edm::EventSetupImpl& setup,
0036 ModuleCallingContext const*,
0037 StreamContext& sContext);
0038
0039 void setupPileUpEvent(EventPrincipal& ep, const EventSetupImpl& setup, StreamContext& sContext);
0040
0041 void beginJob(ProductRegistry const& iRegistry,
0042 eventsetup::ESRecordsToProductResolverIndices const&,
0043 GlobalContext const&);
0044 void endJob(ExceptionCollector& exceptionCollector, GlobalContext const& globalContext);
0045
0046 void beginStream(edm::StreamID, StreamContext const&);
0047 void endStream(edm::StreamID, StreamContext const&, ExceptionCollector&);
0048
0049 private:
0050 std::unique_ptr<ExceptionToActionTable> exceptionToActionTable_;
0051 std::shared_ptr<ModuleRegistry> moduleRegistry_;
0052 std::shared_ptr<ActivityRegistry> activityRegistry_;
0053 WorkerManager workerManager_;
0054 std::vector<unsigned int> modulesThatFailed_;
0055 };
0056 }
0057 #endif