10 const int n_TPC_layers = 40;
12 string inputFile =
"/direct/phenix+u/spjeffas/temp/LQGENEP/LQeventgen/LQ_"+
type+
"_"+
seed+
"seed.1000event.root";
16 string outputFile =
"/gpfs/mnt/gpfs02/phenix/scratch/spjeffas/g4sim/G4_Leptoquark_DST_p"+pbeam+
"_e"+ebeam+
"_"+
n+
"events_"+seed+
"seed_SM.root";
36 const bool readhits =
false;
39 const bool readhepmc =
false;
42 const bool readeictree =
false;
45 const bool runpythia8 =
false;
48 const bool runpythia6 =
true;
51 const bool runhepgen =
false;
54 const bool runsartre =
false;
60 const bool particles =
false && !readhits;
62 const bool usegun =
false && !readhits;
64 const bool upsilons =
false && !readhits;
76 bool do_svtx_cell = do_svtx &&
true;
77 bool do_svtx_track = do_svtx_cell &&
true;
78 bool do_svtx_eval = do_svtx_track &&
true;
80 bool do_pstof =
false;
84 bool do_cemc_cell =
true;
85 bool do_cemc_twr =
true;
86 bool do_cemc_cluster =
true;
87 bool do_cemc_eval =
true;
89 bool do_hcalin =
true;
90 bool do_hcalin_cell =
true;
91 bool do_hcalin_twr =
true;
92 bool do_hcalin_cluster =
true;
93 bool do_hcalin_eval =
true;
95 bool do_cemc_cell = do_cemc &&
true;
96 bool do_cemc_twr = do_cemc_cell &&
true;
97 bool do_cemc_cluster = do_cemc_twr &&
true;
98 bool do_cemc_eval = do_cemc_cluster &&
true;
100 bool do_hcalin =
true;
101 bool do_hcalin_cell = do_hcalin &&
true;
102 bool do_hcalin_twr = do_hcalin_cell &&
true;
103 bool do_hcalin_cluster = do_hcalin_twr &&
true;
104 bool do_hcalin_eval = do_hcalin_cluster &&
true;
107 bool do_magnet =
true;
109 bool do_hcalout =
true;
111 bool do_hcalout_cell =
true;
112 bool do_hcalout_twr =
true;
113 bool do_hcalout_cluster =
true;
114 bool do_hcalout_eval =
true;
116 bool do_global =
true;
117 bool do_global_fastsim =
true;
119 bool do_jet_reco =
true;
120 bool do_jet_eval =
true;
122 bool do_fwd_jet_reco =
true;
123 bool do_fwd_jet_eval =
false;
125 bool do_hcalout_cell = do_hcalout &&
true;
126 bool do_hcalout_twr = do_hcalout_cell &&
true;
127 bool do_hcalout_cluster = do_hcalout_twr &&
true;
128 bool do_hcalout_eval = do_hcalout_cluster &&
true;
136 bool do_FGEM_track = do_FGEM &&
true;
139 bool do_Aerogel =
true;
142 bool do_FEMC_cell = do_FEMC &&
true;
143 bool do_FEMC_twr = do_FEMC_cell &&
true;
144 bool do_FEMC_cluster = do_FEMC_twr &&
true;
145 bool do_FEMC_eval = do_FEMC_cluster &&
true;
147 bool do_FHCAL =
true;
148 bool do_FHCAL_cell = do_FHCAL &&
true;
149 bool do_FHCAL_twr = do_FHCAL_cell &&
true;
150 bool do_FHCAL_cluster = do_FHCAL_twr &&
true;
151 bool do_FHCAL_eval = do_FHCAL_cluster &&
true;
155 bool do_EGEM_track = do_EGEM &&
true;
158 bool do_EEMC_cell = do_EEMC &&
true;
159 bool do_EEMC_twr = do_EEMC_cell &&
true;
160 bool do_EEMC_cluster = do_EEMC_twr &&
true;
161 bool do_EEMC_eval = do_EEMC_cluster &&
true;
164 bool do_lepto_analysis =
true;
167 bool do_global =
true;
168 bool do_global_fastsim =
false;
170 bool do_calotrigger =
false && do_cemc_twr && do_hcalin_twr && do_hcalout_twr;
172 bool do_jet_reco =
true;
173 bool do_jet_eval = do_jet_reco &&
true;
175 bool do_fwd_jet_reco =
true;
176 bool do_fwd_jet_eval = do_fwd_jet_reco &&
true;
181 bool do_HIjetreco =
false && do_jet_reco && do_cemc_twr && do_hcalin_twr && do_hcalout_twr;
184 bool do_dst_compress =
false;
187 bool do_DSTReader =
false;
193 gSystem->Load(
"libfun4all.so");
194 gSystem->Load(
"libg4detectors.so");
195 gSystem->Load(
"libphhepmc.so");
196 gSystem->Load(
"libg4testbench.so");
197 gSystem->Load(
"libg4hough.so");
198 gSystem->Load(
"libg4calo.so");
199 gSystem->Load(
"libg4eval.so");
200 gSystem->Load(
"libeicana.so");
204 gROOT->LoadMacro(
"G4Setup_EICDetector.C");
205 G4Init(do_svtx,do_cemc,do_hcalin,do_magnet,do_hcalout,do_pipe,do_FGEM,do_EGEM,do_FEMC,do_FHCAL,do_EEMC,do_DIRC,do_RICH,do_Aerogel,n_TPC_layers);
207 int absorberactive = 0;
209 const string magfield =
"/phenix/upgrades/decadal/fieldmaps/sPHENIX.2d.root";
248 else if (readeictree)
258 gSystem->Load(
"libPHPythia8.so");
262 pythia8->
set_config_file(
"/direct/phenix+u/spjeffas/coresoftware/generators/PHPythia8/phpythia8.cfg");
270 gSystem->Load(
"libPHPythia6.so");
289 gSystem->Load(
"libsHEPGen.so");
307 gSystem->Load(
"libPHSartre.so");
409 if (readhepmc || particles)
415 vgen->set_vtx_zrange(-10.0, +10.0);
430 else if (istate == 2)
447 cout <<
"Upsilon generator for istate = " << istate <<
" created and registered " << endl;
457 do_svtx,do_cemc,do_hcalin,do_magnet,do_hcalout,do_pipe,
458 do_FGEM,do_EGEM,do_FEMC,do_FHCAL,do_EEMC,do_DIRC,do_RICH,do_Aerogel,
469 gROOT->LoadMacro(
"G4_Bbc.C");
548 gROOT->LoadMacro(
"G4_Global.C");
552 else if (do_global_fastsim)
554 gROOT->LoadMacro(
"G4_Global.C");
564 gROOT->LoadMacro(
"G4_CaloTrigger.C");
599 gROOT->LoadMacro(
"G4_DSTReader_EICDetector.C");
635 if (nEvents == 0 && !readhits && !readhepmc)
637 cout <<
"using 0 for number of events is a bad idea when using particle generators" << endl;
638 cout <<
"it will run forever, so I just return without running anything" << endl;
649 std::cout <<
"All done" << std::endl;