41 fs::path file1 =
"plugin_test_input.root",
42 file2 =
"plugin_test_output.root";
44 BOOST_TEST_MESSAGE(
"Creating a tree" );
47 auto tOut = flow.GetOutputTree(file1);
49 pt::read_info(
"example.info",
config);
51 BOOST_TEST( metainfo.Get<
bool>(
"flags",
"isMC") ==
true );
53 auto recJets = flow.GetBranchWriteOnly<vector<DP::RecJet>>(
"recJets");
56 recJets->emplace_back(recJet);
58 auto genJets = flow.GetBranchWriteOnly<vector<DP::GenJet>>(
"genJets");
61 genJets->emplace_back(genJet);
66 BOOST_TEST_MESSAGE(
"Running the plugin on the tree" );
68 fs::path plugin_file =
"../plugins/libFlattener." DLL_EXT;
69 vector plugin_files(2, plugin_file);
73 auto tOut = flow.GetOutputTree(file2);
77 BOOST_TEST( metainfo.Get<
bool>(
"flags",
"isMC") ==
true );
80 plugin->Load(flow, metainfo);
91 BOOST_TEST_MESSAGE(
"Checking the result from the plugin" );
95 tIn->Scan(
"recJets.CorrPt():Jet_pt");
96 auto recJets = flow.GetBranchReadOnly<vector<DP::RecJet>>(
"recJets");
97 auto Jet_pt = flow.GetBranchReadOnly<vector<float>>(
"Jet_pt");
99 BOOST_TEST( 2*recJets->size() == Jet_pt->size() );
100 BOOST_TEST( recJets->front().CorrPt() == Jet_pt->front() );
104 BOOST_TEST_MESSAGE(
"Testing forbidden modes" );
108 auto tOut = flow.GetOutputTree(
"/dev/null");
110 BOOST_TEST( metainfo.Get<
bool>(
"flags",
"isMC") ==
true );
112 BOOST_TEST_MESSAGE(
"Testing an option forbidden by the plugin" );
113 auto plugins = flow.GetPlugins<
DT::IPlugin>(vector<fs::path>{
"../plugins/libFlattener." DLL_EXT});
115 BOOST_REQUIRE_NO_THROW( (*ranges::begin(
plugins))->Load(flow, metainfo,
DT::verbose) );
118 BOOST_TEST_MESSAGE(
"Testing veto" );
122 auto tOut = flow.GetOutputTree(
"/dev/null");
124 BOOST_TEST( metainfo.Get<
bool>(
"flags",
"isMC") ==
true );
125 auto plugins = flow.GetPlugins<
DT::IPlugin>(vector<fs::path>{
"libVetoPlugin." DLL_EXT});
127 BOOST_TEST_MESSAGE(
"Trying to veto DT::verbose" );
131 BOOST_TEST_MESSAGE(
"Trying default mode" );
133 BOOST_REQUIRE_NO_THROW( (*plugin)->Load(flow, metainfo,
DT::verbose) );