23int main(
int argc,
char** argv)
27 std::string configDir;
29 configDir = std::string(argv[1]);
32 fmt::print(
"Using top-level configuration directory {}\n", configDir);
35 for(
int example = 1; example <= 6; example++) {
39 auto algo = std::make_unique<iguana::clas12::ZVertexFilter>();
40 algo->SetLogLevel(
"debug");
48 auto key = algo->PrepareEvent(4800);
49 assert((algo->GetRunNum(key) == 4800));
50 fmt::println(
"Z-vertex cuts: {} to {}", algo->GetElectronZcuts(key).at(0), algo->GetElectronZcuts(key).at(1));
62 algo->SetElectronZcuts(-5.0, 3.0, key);
63 assert((algo->GetElectronZcuts(key).at(0) == -5.0));
64 assert((algo->GetElectronZcuts(key).at(1) == 3.0));
71 algo->SetConfigFile(configDir +
"/my_z_vertex_cuts.yaml");
73 auto key = algo->PrepareEvent(5500);
74 assert((algo->GetElectronZcuts(key).at(0) == -0.8));
75 assert((algo->GetElectronZcuts(key).at(1) == 0.7));
83 algo->SetConfigDirectory(configDir);
84 algo->SetConfigFile(
"my_z_vertex_cuts.yaml");
86 auto key = algo->PrepareEvent(0);
87 assert((algo->GetElectronZcuts(key).at(0) == -1.5));
88 assert((algo->GetElectronZcuts(key).at(1) == 1.3));
98 algo->SetConfigDirectory(configDir +
"/my_config_directory");
100 auto key = algo->PrepareEvent(0);
101 assert((algo->GetElectronZcuts(key).at(0) == -15.0));
102 assert((algo->GetElectronZcuts(key).at(1) == 15.0));
109 algo->SetConfigDirectory(configDir);
110 algo->SetConfigFile(
"my_combined_config_file.yaml");
112 auto key = algo->PrepareEvent(0);
113 assert((algo->GetElectronZcuts(key).at(0) == -33.0));
114 assert((algo->GetElectronZcuts(key).at(1) == 11.0));
120 fmt::print(stderr,
"ERROR: unknown example number '{}'\n", example);