Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4_TrkrVariables.C
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file G4_TrkrVariables.C
1 #ifndef MACRO_G4TRKRVARIABLES_C
2 #define MACRO_G4TRKRVARIABLES_C
3 
4 #include <GlobalVariables.C>
5 
6 #include <g4intt/PHG4InttDefs.h>
7 #include <g4mvtx/PHG4MvtxDefs.h>
8 
9 namespace Enable
10 {
11  bool MVTX = false;
12  bool MVTX_OVERLAPCHECK = false;
13 
14  bool MVTX_CELL = false;
15  bool MVTX_CLUSTER = false;
16  bool MVTX_QA = false;
17  bool MVTX_SUPPORT = false;
18 
19  int MVTX_VERBOSITY = 0;
20 
21  bool INTT = false;
22  bool INTT_ABSORBER = false;
23  bool INTT_OVERLAPCHECK = false;
24  bool INTT_CELL = false;
25  bool INTT_CLUSTER = false;
26  bool INTT_QA = false;
27  bool INTT_SUPPORT = false;
28  int INTT_VERBOSITY = 0;
29 
30  bool TPC = false;
31  bool TPC_ABSORBER = false;
32  bool TPC_OVERLAPCHECK = false;
33  bool TPC_CELL = false;
34  bool TPC_CLUSTER = false;
35  bool TPC_QA = false;
36 
37  bool TPC_ENDCAP = true;
38 
39  int TPC_VERBOSITY = 0;
40 
42  bool MICROMEGAS_CELL = false;
43  bool MICROMEGAS_CLUSTER = false;
44  bool MICROMEGAS_QA = false;
45  bool MICROMEGAS_SUPPORT = false;
47 
48  bool TRACKING_TRACK = false;
49  bool TRACKING_EVAL = false;
50  bool TRACK_MATCHING = false;
51  bool TRACK_MATCHING_TREE = false;
53  // 0=no output TTree file, 1=output for tracks only, 2=tracks+clusters
54  int TRACKING_VERBOSITY = 0;
55  bool TRACKING_QA = false;
56  bool TRACKING_DIAGNOSTICS = false;
57 } // namespace Enable
58 
59 
60 namespace G4MVTX
61 {
62  int n_maps_layer = 3; // must be 0-3, setting it to zero removes Mvtx completely, n < 3 gives the first n layers
63  double radius_offset = 0.7; // clearance around radius
64 } // namespace G4MVTX
65 
66 namespace G4MVTXAlignment
67 {
68  std::string alignment_path = string(getenv("CALIBRATIONROOT")) + "/Tracking/MVTX/alignment";
69  double z_offset[] = {0.0, 0.0, 200.0};
70 }
71 
72 namespace G4INTT
73 {
74  int n_intt_layer = 4; // must be 4 or 0, setting to zero removes INTT completely
75  double intt_radius_max = 140.; // including stagger radius (mm)
79  PHG4InttDefs::SEGMENTATION_PHI};
80  int nladder[4] = {12, 12, 16, 16};
81  double sensor_radius[4] = {7.188 - 36e-4, 7.732 - 36e-4, 9.680 - 36e-4, 10.262 - 36e-4};
82 
83  enum enu_InttDeadMapType // Dead map options for INTT
84  {
85  kInttNoDeadMap = 0, // All channel in Intt is alive
86  kInttDeadMap = 1, // with dead channel
87  };
88  //enu_InttDeadMapType InttDeadMapOption = kInttNoDeadMap; // Choose Intt deadmap here
89  enu_InttDeadMapType InttDeadMapOption = kInttDeadMap; // Choose Intt deadmap here
90 
91 } // namespace G4INTT
92 
93 
94 namespace G4TPC
95 {
98  int n_tpc_layer_mid = 16;
101  double tpc_outer_radius = 77. + 2.;
102 
103  // drift velocity is set here for all relevant modules
104  double tpc_drift_velocity_sim= 8.0 / 1000.0; // cm/ns // this is the Ne version of the gas, it is very close to our Ar-CF4 mixture
105 // double tpc_drift_velocity_reco now set in GlobalVariables.C
106 // double tpc_drift_velocity_reco= 8.0 / 1000.0; // cm/ns // this is the Ne version of the gas
107 
108  // use simple clusterizer
110 
111  // distortions
113  auto static_distortion_filename = std::string(getenv("CALIBRATIONROOT")) + "/distortion_maps/static_only.distortion_map.hist.root";
114 
116  std::string time_ordered_distortion_filename = std::string(getenv("CALIBRATIONROOT")) + "/distortion_maps/TimeOrderedDistortions.root";
117 
118  // distortion corrections
119  bool ENABLE_CORRECTIONS = false;
120  auto correction_filename = std::string(getenv("CALIBRATIONROOT")) + "/distortion_maps/static_only_inverted_10-new.root";
121 
122  // enable central membrane g4hits generation
124 
125  // enable direct laser g4hits generation
127 
128  // save histograms
130 
131  // do cluster <-> hit association
132  bool DO_HIT_ASSOCIATION = true;
133 
134  // space charge calibration output file
135  std::string DIRECT_LASER_ROOTOUTPUT_FILENAME = "TpcSpaceChargeMatrices.root";
136  std::string DIRECT_LASER_HISTOGRAMOUTPUT_FILENAME = "TpcDirectLaserReconstruction.root";
137 
138 } // namespace G4TPC
139 
140 
141 namespace G4TRACKING
142 {
143  // Space Charge calibration flag
144  bool SC_CALIBMODE = false; // this is anded with G4TPC::ENABLE_DISTORTIONS in TrackingInit()
145  bool SC_USE_MICROMEGAS = true;
146  double SC_COLLISIONRATE = 50e3; // leave at 50 KHz for now, scaling of distortion map not implemented yet
147  std::string SC_ROOTOUTPUT_FILENAME = "TpcSpaceChargeMatrices.root"; // space charge calibration output file
148 
149  // Vertexing
150  bool g4eval_use_initial_vertex = true; // if true, g4eval uses initial vertices in SvtxVertexMap, not final vertices in SvtxVertexMapRefit
151 
152  // Truth seeding options for diagnostics (can use any or all)
153  bool use_truth_silicon_seeding = false; // if true runs truth silicon seeding instead of acts silicon seeding
154  bool use_truth_tpc_seeding = false; // if true runs truth silicon seeding instead of reco TPC seeding
155  bool use_truth_si_matching = false; // if true, associates silicon clusters using best truth track match to TPC seed tracks - for diagnostics only
156  // Full truth track seeding
157  bool use_full_truth_track_seeding = false; // makes track seeds using truth info, used for both Acts and Genfit
158  bool use_truth_vertexing = false; // if true runs truth vertexing, if false runs PHSimpleVertexFinder
159 
160  // Runs a converter from TrackSeed object to SvtxTrack object to enable
161  // use of the various evaluation tools already available
163 
164  // Runs a second pass of seeding to pick up missed seeds in the first pass
165  bool iterative_seeding = false;
166 
167  // Flag to run commissioning seeding workflow with tuned parameters for
168  // misaligned + distorted tracks
169  bool use_alignment = false;
171 
172 } // namespace G4TRACKING
173 
174 #endif