ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4_TopoClusterReco.C
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file G4_TopoClusterReco.C
1 #ifndef MACRO_G4TOPOCLUSTERRECO_C
2 #define MACRO_G4TOPOCLUSTERRECO_C
3 
4 #include <GlobalVariables.C>
5 
6 #include <caloreco/RawClusterBuilderTopo.h>
7 
9 
10 R__LOAD_LIBRARY(libcalo_reco.so)
11 
12 namespace Enable
13 {
14  bool TOPOCLUSTER = false;
16 } // namespace Enable
17 
19 {
21 
22  //---------------
23  // Fun4All server
24  //---------------
25 
27 
28  // topoClustering in all three layers
29  RawClusterBuilderTopo* ClusterBuilder = new RawClusterBuilderTopo("HcalRawClusterBuilderTopo");
30  ClusterBuilder->Verbosity(verbosity);
31  ClusterBuilder->set_nodename("TOPOCLUSTER_ALLCALO");
32  ClusterBuilder->set_enable_HCal(true);
33  ClusterBuilder->set_enable_EMCal(true);
34  ClusterBuilder->set_noise(0.0025, 0.006, 0.03);
35  ClusterBuilder->set_significance(4.0, 2.0, 0.0);
36  ClusterBuilder->allow_corner_neighbor(true);
37  ClusterBuilder->set_do_split(true);
38  ClusterBuilder->set_minE_local_max(1.0, 2.0, 0.5);
39  ClusterBuilder->set_R_shower(0.025);
40  se->registerSubsystem(ClusterBuilder);
41 
42  // topoClustering only in EMCal (needed for particle flow)
43  RawClusterBuilderTopo* ClusterBuilder1 = new RawClusterBuilderTopo("HcalRawClusterBuilderTopo1");
44  ClusterBuilder1->Verbosity(verbosity);
45  ClusterBuilder1->set_nodename("TOPOCLUSTER_EMCAL");
46  ClusterBuilder1->set_enable_HCal(false);
47  ClusterBuilder1->set_enable_EMCal(true);
48  ClusterBuilder1->set_noise(0.0025, 0.006, 0.03);
49  ClusterBuilder1->set_significance(4.0, 2.0, 0.0);
50  ClusterBuilder1->allow_corner_neighbor(true);
51  ClusterBuilder1->set_do_split(true);
52  ClusterBuilder1->set_minE_local_max(1.0, 2.0, 0.5);
53  ClusterBuilder1->set_R_shower(0.025);
54  se->registerSubsystem(ClusterBuilder1);
55 
56  // topoClustering only in I+OHCal (needed for particle flow)
57  RawClusterBuilderTopo* ClusterBuilder2 = new RawClusterBuilderTopo("HcalRawClusterBuilderTopo2");
58  ClusterBuilder2->Verbosity(verbosity);
59  ClusterBuilder2->set_nodename("TOPOCLUSTER_HCAL");
60  ClusterBuilder2->set_enable_HCal(true);
61  ClusterBuilder2->set_enable_EMCal(false);
62  ClusterBuilder2->set_noise(0.0025, 0.006, 0.03);
63  ClusterBuilder2->set_significance(4.0, 2.0, 0.0);
64  ClusterBuilder2->allow_corner_neighbor(true);
65  ClusterBuilder2->set_do_split(true);
66  ClusterBuilder2->set_minE_local_max(1.0, 2.0, 0.5);
67  ClusterBuilder2->set_R_shower(0.025);
68  se->registerSubsystem(ClusterBuilder2);
69 
70  return;
71 }
72 #endif