File indexing completed on 2023-03-17 11:05:01
0001 #include "catch.hpp"
0002 #include "FWCore/TestProcessor/interface/TestProcessor.h"
0003 #include "FWCore/Utilities/interface/Exception.h"
0004
0005 static constexpr auto s_tag = "[External Pythia8GeneratorFilter]";
0006
0007 TEST_CASE("Standard checks of ExternalGeneratorFilter with Pythia8GeneratorFilter", s_tag) {
0008 const std::string baseConfig{
0009 R"_(from FWCore.TestProcessor.TestProcess import *
0010 process = TestProcess()
0011 process.load("Configuration.StandardSequences.SimulationRandomNumberGeneratorSeeds_cff")
0012 process.RandomNumberGeneratorService.toTest = process.RandomNumberGeneratorService.generator.clone()
0013 from GeneratorInterface.Core.ExternalGeneratorFilter import ExternalGeneratorFilter
0014 _pythia8 = cms.EDFilter("Pythia8GeneratorFilter",
0015 comEnergy = cms.double(7000.),
0016 PythiaParameters = cms.PSet(
0017 pythia8_example02 = cms.vstring('HardQCD:all = on',
0018 'PhaseSpace:pTHatMin = 20.'),
0019 parameterSets = cms.vstring('pythia8_example02')
0020 )
0021 )
0022 process.toTest = ExternalGeneratorFilter(_pythia8)
0023
0024 process.add_(cms.Service('Tracer'))
0025
0026 process.moduleToTest(process.toTest)
0027 )_"};
0028
0029 edm::test::TestProcessor::Config config{baseConfig};
0030 SECTION("base configuration is OK") { REQUIRE_NOTHROW(edm::test::TestProcessor(config)); }
0031
0032 SECTION("No event data") {
0033 edm::test::TestProcessor tester(config);
0034
0035 REQUIRE_NOTHROW(tester.test());
0036 }
0037
0038 SECTION("beginJob and endJob only") {
0039 edm::test::TestProcessor tester(config);
0040
0041 REQUIRE_NOTHROW(tester.testBeginAndEndJobOnly());
0042 }
0043
0044 SECTION("Run with no LuminosityBlocks") {
0045 edm::test::TestProcessor tester(config);
0046
0047 REQUIRE_NOTHROW(tester.testRunWithNoLuminosityBlocks());
0048 }
0049
0050 SECTION("LuminosityBlock with no Events") {
0051 edm::test::TestProcessor tester(config);
0052
0053 REQUIRE_NOTHROW(tester.testLuminosityBlockWithNoEvents());
0054 }
0055 }
0056
0057