Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Trkr_Clustering.C
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file Trkr_Clustering.C
1 #ifndef MACRO_TRKRCLUS_C
2 #define MACRO_TRKRCLUS_C
3 
4 #include <GlobalVariables.C>
5 
6 #include <G4_TrkrVariables.C>
7 #include <G4_ActsGeom.C>
8 
9 #include <mvtx/MvtxHitPruner.h>
10 #include <mvtx/MvtxClusterizer.h>
11 #include <intt/InttClusterizer.h>
12 
13 #pragma GCC diagnostic push
14 #pragma GCC diagnostic ignored "-Wundefined-internal"
15 #include <tpc/TpcClusterizer.h>
16 #pragma GCC diagnostic pop
17 
18 #include <tpc/TpcClusterCleaner.h>
19 
21 
22 #include <fun4all/Fun4AllServer.h>
23 
24 R__LOAD_LIBRARY(libmvtx.so)
25 R__LOAD_LIBRARY(libintt.so)
26 R__LOAD_LIBRARY(libtpc.so)
27 R__LOAD_LIBRARY(libmicromegas.so)
28 R__LOAD_LIBRARY(libtrack_reco.so)
29 
31 {
33 }
34 
36 {
39 
40  // prune the extra MVTX hits due to multiple strobes per hit
41  MvtxHitPruner* mvtxhitpruner = new MvtxHitPruner();
42  mvtxhitpruner->Verbosity(verbosity);
43  se->registerSubsystem(mvtxhitpruner);
44 
45  // For the Mvtx layers
46  //================
47  MvtxClusterizer* mvtxclusterizer = new MvtxClusterizer("MvtxClusterizer");
48  mvtxclusterizer->Verbosity(verbosity);
49  se->registerSubsystem(mvtxclusterizer);
50 }
51 
53 {
56 
57  InttClusterizer* inttclusterizer = new InttClusterizer("InttClusterizer", G4MVTX::n_maps_layer, G4MVTX::n_maps_layer + G4INTT::n_intt_layer - 1);
58  inttclusterizer->Verbosity(verbosity);
59  // no Z clustering for Intt type 1 layers (we DO want Z clustering for type 0 layers)
60  // turning off phi clustering for type 0 layers is not necessary, there is only one strip
61  // per sensor in phi
63  {
65  {
66  inttclusterizer->set_z_clustering(i, false);
67  }
68  }
69  se->registerSubsystem(inttclusterizer);
70 }
71 
72 
74 {
78 
79  //-------------
80  // Cluster Hits
81  //-------------
82 
83  // For the Tpc
84  //==========
85 
86  auto tpcclusterizer = new TpcClusterizer;
87  tpcclusterizer->Verbosity(verbosity);
88  tpcclusterizer->set_do_hit_association( G4TPC::DO_HIT_ASSOCIATION );
89  se->registerSubsystem(tpcclusterizer);
90 
91  auto tpcclustercleaner = new TpcClusterCleaner;
92  tpcclustercleaner->Verbosity(verbosity);
93  se->registerSubsystem(tpcclustercleaner);
94 
95 }
96 
98 {
99  auto se = Fun4AllServer::instance();
100  auto mm_clus = new MicromegasClusterizer;
101  se->registerSubsystem(mm_clus);
102 }
103 
104 
105 #endif