1 #ifndef FWCore_TestProcessor_TestProcessor_h 2 #define FWCore_TestProcessor_TestProcessor_h 25 #include "oneapi/tbb/global_control.h" 26 #include "oneapi/tbb/task_arena.h" 27 #include "oneapi/tbb/task_group.h" 64 class ThinnedAssociationsHelper;
65 class ExceptionToActionTable;
66 class HistoryAppender;
67 class ModuleTypeResolverMaker;
69 namespace eventsetup {
70 class EventSetupProvider;
71 class EventSetupsController;
75 class TestProcessorConfig;
76 class EventSetupTestHelper;
112 template <
typename T>
121 template <
typename REC,
typename T>
123 auto rk = eventsetup::EventSetupRecordKey::makeKey<REC>();
176 return testImpl(std::forward<T>(iArgs)...);
179 template <
typename...
T>
183 template <
typename...
T>
188 template <
typename...
T>
192 template <
typename...
T>
254 template <
typename T,
typename...
U>
257 return testImpl(std::forward<U>(iArgs)...);
260 template <
typename T,
typename...
U>
263 return testImpl(std::forward<U>(iArgs)...);
266 template <
typename T>
268 put(iPut.first.index(), std::make_unique<edm::Wrapper<T>>(
std::move(iPut.second)));
271 template <
typename T>
277 void put(
unsigned int, std::unique_ptr<WrapperBase>);
281 template <
typename T,
typename...
U>
291 template <
typename T,
typename...
U>
299 template <
typename T,
typename...
U>
307 template <
typename T,
typename...
U>
329 std::shared_ptr<RunPrincipal>
endRun();
341 std::shared_ptr<ProductRegistry>
preg_;
348 std::shared_ptr<eventsetup::EventSetupProvider>
esp_;
369 std::vector<std::pair<edm::BranchDescription, std::unique_ptr<WrapperBase>>>
dataProducts_;
edm::test::LuminosityBlock testBeginLuminosityBlock(edm::LuminosityBlockNumber_t iNum, T &&... iArgs)
void put(std::pair< edm::EDPutTokenT< T >, std::unique_ptr< T >> &&iPut)
std::shared_ptr< LuminosityBlockPrincipal > endLuminosityBlock()
std::shared_ptr< ActivityRegistry > actReg_
edm::test::ProcessBlock testBeginProcessBlockImpl()
edm::test::LuminosityBlock testEndRunImpl(std::pair< edm::test::ESPutTokenT< T >, std::unique_ptr< T >> &&iPut, U &&... iArgs)
std::vector< std::pair< edm::BranchDescription, std::unique_ptr< WrapperBase > > > dataProducts_
std::vector< ESProduceEntry > esProduceEntries_
bool respondToOpenInputFileCalled_
LuminosityBlockNumber_t lumiNumber_
unsigned long long EventNumber_t
edm::test::LuminosityBlock testEndLuminosityBlockImpl()
edm::EDPutTokenT< T > produces(std::string iModuleLabel, std::string iProductInstanceLabel=std::string(), ProcessToken iToken=ProcessToken())
EventNumber_t eventNumber_
void put(std::pair< edm::test::ESPutTokenT< T >, std::unique_ptr< T >> &&iPut)
std::string const & pythonConfiguration() const
bool openOutputFilesCalled_
oneapi::tbb::global_control globalControl_
std::shared_ptr< RunPrincipal > runPrincipal_
ProcessContext processContext_
edm::test::Run testBeginRunImpl(edm::RunNumber_t iNum, std::pair< edm::test::ESPutTokenT< T >, std::unique_ptr< T >> &&iPut, U &&... iArgs)
unsigned int LuminosityBlockNumber_t
void beginLuminosityBlock()
oneapi::tbb::task_group taskGroup_
PreallocationConfiguration preallocations_
~TestProcessor() noexcept(false)
std::unique_ptr< ModuleTypeResolverMaker const > moduleTypeResolverMaker_
std::vector< std::string > const & extraProcesses() const
void setEventNumber(edm::EventNumber_t)
std::shared_ptr< BranchIDListHelper > branchIDListHelper_
edm::test::LuminosityBlock testEndLuminosityBlockImpl(std::pair< edm::test::ESPutTokenT< T >, std::unique_ptr< T >> &&iPut, U &&... iArgs)
edm::test::Event testImpl(std::pair< edm::EDPutTokenT< T >, std::unique_ptr< T >> &&iPut, U &&... iArgs)
void testRunWithNoLuminosityBlocks()
const TestProcessor & operator=(const TestProcessor &)=delete
static int undefinedIndex()
void respondToOpenInputFile()
edm::test::ESPutTokenT< T > esProduces(std::string iLabel=std::string())
std::shared_ptr< EventSetupTestHelper > esHelper_
std::vector< ProduceEntry > produceEntries_
void setPythonConfiguration(std::string iConfig)
std::shared_ptr< ThinnedAssociationsHelper > thinnedAssociationsHelper_
ProduceEntry(edm::TypeID const &iType, std::string moduleLabel, std::string instanceLabel, std::string processName)
std::string labelOfTestModule_
std::unique_ptr< eventsetup::EventSetupsController > espController_
edm::test::Event testImpl()
std::shared_ptr< eventsetup::EventSetupProvider > esp_
edm::test::Run testBeginRun(edm::RunNumber_t iNum, T &&... iArgs)
void teardownProcessing()
std::unique_ptr< Schedule > schedule_
std::shared_ptr< ProcessConfiguration const > processConfiguration_
ServiceToken serviceToken_
edm::test::LuminosityBlock testBeginLuminosityBlockImpl(edm::LuminosityBlockNumber_t iNum, std::pair< edm::test::ESPutTokenT< T >, std::unique_ptr< T >> &&iPut, U &&... iArgs)
def template(fileName, svg, replaceme="REPLACEME")
edm::test::Event testImpl(std::pair< edm::test::ESPutTokenT< T >, std::unique_ptr< T >> &&iPut, U &&... iArgs)
edm::test::ProcessBlock testEndProcessBlockImpl()
edm::test::ProcessBlock testBeginProcessBlock()
std::shared_ptr< ModuleRegistry > moduleRegistry_
std::vector< ProduceEntry > const & produceEntries() const
std::vector< ESProduceEntry > const & esProduceEntries() const
std::string instanceLabel_
bool beginProcessBlockCalled_
edm::test::LuminosityBlock testEndLuminosityBlock(T &&... iArgs)
void setLuminosityBlockNumber(edm::LuminosityBlockNumber_t)
ProcessToken addExtraProcess(std::string const &iProcessName)
PrincipalCache principalCache_
ProcessBlockPrincipal const * endProcessBlock()
std::shared_ptr< ProductRegistry > preg_
edm::test::Run testEndRun(T &&... iArgs)
MergeableRunProductProcesses mergeableRunProductProcesses_
std::unique_ptr< ExceptionToActionTable const > act_table_
void testLuminosityBlockWithNoEvents()
ProcessHistory processHistory_
std::vector< std::string > extraProcesses_
edm::test::ProcessBlock testEndProcessBlock()
oneapi::tbb::task_arena arena_
edm::test::Run testEndRunImpl()
void setRunNumber(edm::RunNumber_t)
std::unique_ptr< HistoryAppender > historyAppender_
std::string const & labelOfTestModule() const
TestProcessor(Config const &iConfig, ServiceToken iToken=ServiceToken())
TestProcessorConfig(std::string const &iPythonConfiguration)
std::shared_ptr< LuminosityBlockPrincipal > lumiPrincipal_
std::shared_ptr< ProcessBlockHelper > processBlockHelper_
ProcessHistoryRegistry processHistoryRegistry_
std::shared_ptr< RunPrincipal > endRun()
std::string processName(ProcessToken iToken)
void testBeginAndEndJobOnly()
friend TestProcessorConfig
void respondToCloseInputFile()