File indexing completed on 2025-12-16 09:24:04
0001 #ifndef MACRO_G4TOPOCLUSTERRECO_C
0002 #define MACRO_G4TOPOCLUSTERRECO_C
0003
0004 #include <GlobalVariables.C>
0005
0006 #include <caloreco/RawClusterBuilderTopo.h>
0007
0008 #include <fun4all/Fun4AllServer.h>
0009
0010 #include <Rtypes.h> // resolves R__LOAD_LIBRARY for clang-tidy
0011
0012 R__LOAD_LIBRARY(libcalo_reco.so)
0013
0014 namespace Enable
0015 {
0016 bool TOPOCLUSTER = false;
0017 int TOPOCLUSTER_VERBOSITY = 0;
0018 }
0019
0020 void TopoClusterReco()
0021 {
0022 int verbosity = std::max(Enable::VERBOSITY, Enable::TOPOCLUSTER_VERBOSITY);
0023
0024
0025
0026
0027
0028 Fun4AllServer* se = Fun4AllServer::instance();
0029
0030
0031 RawClusterBuilderTopo* ClusterBuilder = new RawClusterBuilderTopo("HcalRawClusterBuilderTopo");
0032 ClusterBuilder->Verbosity(verbosity);
0033 ClusterBuilder->set_nodename("TOPOCLUSTER_ALLCALO");
0034 ClusterBuilder->set_enable_HCal(true);
0035 ClusterBuilder->set_enable_EMCal(true);
0036 ClusterBuilder->set_noise(0.0025, 0.006, 0.03);
0037 ClusterBuilder->set_significance(4.0, 2.0, 0.0);
0038 ClusterBuilder->allow_corner_neighbor(true);
0039 ClusterBuilder->set_do_split(true);
0040 ClusterBuilder->set_minE_local_max(1.0, 2.0, 0.5);
0041 ClusterBuilder->set_R_shower(0.025);
0042 ClusterBuilder->set_use_only_good_towers(true);
0043 ClusterBuilder->set_absE(true);
0044 se->registerSubsystem(ClusterBuilder);
0045
0046
0047 RawClusterBuilderTopo* ClusterBuilder1 = new RawClusterBuilderTopo("HcalRawClusterBuilderTopo1");
0048 ClusterBuilder1->Verbosity(verbosity);
0049 ClusterBuilder1->set_nodename("TOPOCLUSTER_EMCAL");
0050 ClusterBuilder1->set_enable_HCal(false);
0051 ClusterBuilder1->set_enable_EMCal(true);
0052 ClusterBuilder1->set_noise(0.0025, 0.006, 0.03);
0053 ClusterBuilder1->set_significance(4.0, 2.0, 0.0);
0054 ClusterBuilder1->allow_corner_neighbor(true);
0055 ClusterBuilder1->set_do_split(true);
0056 ClusterBuilder1->set_minE_local_max(1.0, 2.0, 0.5);
0057 ClusterBuilder1->set_R_shower(0.025);
0058 ClusterBuilder1->set_use_only_good_towers(true);
0059 ClusterBuilder1->set_absE(true);
0060 se->registerSubsystem(ClusterBuilder1);
0061
0062
0063 RawClusterBuilderTopo* ClusterBuilder2 = new RawClusterBuilderTopo("HcalRawClusterBuilderTopo2");
0064 ClusterBuilder2->Verbosity(verbosity);
0065 ClusterBuilder2->set_nodename("TOPOCLUSTER_HCAL");
0066 ClusterBuilder2->set_enable_HCal(true);
0067 ClusterBuilder2->set_enable_EMCal(false);
0068 ClusterBuilder2->set_noise(0.0025, 0.006, 0.03);
0069 ClusterBuilder2->set_significance(4.0, 2.0, 0.0);
0070 ClusterBuilder2->allow_corner_neighbor(true);
0071 ClusterBuilder2->set_do_split(true);
0072 ClusterBuilder2->set_minE_local_max(1.0, 2.0, 0.5);
0073 ClusterBuilder2->set_R_shower(0.025);
0074 ClusterBuilder2->set_use_only_good_towers(true);
0075 ClusterBuilder2->set_absE(true);
0076 se->registerSubsystem(ClusterBuilder2);
0077
0078 return;
0079 }
0080 #endif