File indexing completed on 2025-08-05 08:18:30
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021 #include <iostream>
0022 #include <time.h>
0023 #include <chrono>
0024 #include <thread>
0025
0026
0027 #include "JetScape.h"
0028 #include "JetEnergyLoss.h"
0029 #include "JetEnergyLossManager.h"
0030 #include "JetScapeWriterStream.h"
0031 #ifdef USE_HEPMC
0032 #include "JetScapeWriterHepMC.h"
0033 #endif
0034
0035
0036
0037 #include "AdSCFT.h"
0038 #include "Matter.h"
0039 #include "LBT.h"
0040 #include "Martini.h"
0041 #include "Brick.h"
0042 #include "GubserHydro.h"
0043 #include "HydroFromFile.h"
0044 #include "PythiaGun.h"
0045 #include "HadronizationManager.h"
0046 #include "Hadronization.h"
0047 #include "ColoredHadronization.h"
0048 #include "ColorlessHadronization.h"
0049
0050 #ifdef USE_HDF5
0051 #include "InitialFromFile.h"
0052 #endif
0053
0054
0055 #include "TrentoInitial.h"
0056
0057 #include <chrono>
0058 #include <thread>
0059
0060 using namespace Jetscape;
0061
0062
0063 void Show();
0064
0065
0066
0067 int main(int argc, char** argv)
0068 {
0069 clock_t t; t = clock();
0070 time_t start, end; time(&start);
0071
0072 cout<<endl;
0073
0074
0075
0076 JetScapeLogger::Instance()->SetInfo(true);
0077 JetScapeLogger::Instance()->SetDebug(false);
0078 JetScapeLogger::Instance()->SetRemark(false);
0079
0080
0081 JetScapeLogger::Instance()->SetVerboseLevel(0);
0082
0083 Show();
0084
0085 auto jetscape = make_shared<JetScape>();
0086 jetscape->SetXMLMainFileName("../config/jetscape_main.xml");
0087 jetscape->SetXMLUserFileName("../config/jetscape_user.xml");
0088
0089 jetscape->SetId("primary");
0090 jetscape->SetReuseHydro (true);
0091 jetscape->SetNReuseHydro (20);
0092
0093 auto jlossmanager = make_shared<JetEnergyLossManager> ();
0094 auto jloss = make_shared<JetEnergyLoss> ();
0095 auto hydro = make_shared<HydroFromFile> ();
0096
0097
0098 auto matter = make_shared<Matter> ();
0099 auto lbt = make_shared<LBT> ();
0100 auto martini = make_shared<Martini> ();
0101 auto adscft = make_shared<AdSCFT> ();
0102
0103
0104
0105
0106
0107
0108
0109 auto pythiaGun= make_shared<PythiaGun> ();
0110
0111 auto hadroMgr = make_shared<HadronizationManager> ();
0112 auto hadro = make_shared<Hadronization> ();
0113 auto hadroModule = make_shared<ColoredHadronization> ();
0114 auto colorless = make_shared<ColorlessHadronization> ();
0115
0116
0117 auto writer= make_shared<JetScapeWriterAscii> ("test_out.dat");
0118
0119 #ifdef USE_HEPMC
0120 auto writerhepmc= make_shared<JetScapeWriterHepMC> ("test_out.hepmc");
0121 jetscape->Add(writerhepmc);
0122 #endif
0123
0124
0125
0126
0127
0128 #ifdef USE_HDF5
0129 auto initial = make_shared<InitialFromFile>();
0130 jetscape->Add(initial);
0131 #endif
0132
0133 jetscape->Add(pythiaGun);
0134
0135
0136
0137 jetscape->Add(hydro);
0138
0139
0140
0141
0142
0143 jloss->Add(matter);
0144 jloss->Add(lbt);
0145
0146
0147
0148 jlossmanager->Add(jloss);
0149
0150 jetscape->Add(jlossmanager);
0151
0152
0153 hadro->Add(colorless);
0154 hadroMgr->Add(hadro);
0155 jetscape->Add(hadroMgr);
0156
0157 jetscape->Add(writer);
0158
0159
0160 jetscape->Init();
0161
0162
0163 jetscape->Exec();
0164
0165
0166
0167 jetscape->Finish();
0168
0169 INFO_NICE<<"Finished!";
0170 cout<<endl;
0171
0172
0173
0174 writer->WriteComment ( "EVENT GENERATION INFORMATION" );
0175 Pythia8::Info& info = pythiaGun->info;
0176 std::ostringstream oss;
0177 oss.str(""); oss << "nTried = " << info.nTried();
0178 writer->WriteComment ( oss.str() );
0179 oss.str(""); oss << "nSelected = " << info.nSelected();
0180 writer->WriteComment ( oss.str() );
0181 oss.str(""); oss << "nAccepted = " << info.nAccepted();
0182 writer->WriteComment ( oss.str() );
0183 oss.str(""); oss << "sigmaGen = " << info.sigmaGen();
0184 writer->WriteComment ( oss.str() );
0185 oss.str(""); oss << "sigmaErr = " << info.sigmaErr();
0186 writer->WriteComment ( oss.str() );
0187
0188 oss.str(""); oss << "eCM = " << info.eCM();
0189 writer->WriteComment ( oss.str() );
0190 oss.str(""); oss << "pTHatMin = " << pythiaGun->GetpTHatMin();
0191 writer->WriteComment ( oss.str() );
0192 oss.str(""); oss << "pTHatMax = " << pythiaGun->GetpTHatMax();
0193
0194
0195 writer->WriteComment ( oss.str() );
0196 writer->WriteComment ( "/EVENT GENERATION INFORMATION" );
0197
0198 t = clock() - t;
0199 time(&end);
0200 printf ("CPU time: %f seconds.\n",((float)t)/CLOCKS_PER_SEC);
0201 printf ("Real time: %f seconds.\n",difftime(end,start));
0202
0203
0204
0205
0206
0207
0208 cout << " nTried = " << info.nTried() << endl;
0209 cout << " nSelected = " << info.nSelected() << endl;
0210 cout << " nAccepted = " << info.nAccepted() << endl;
0211 cout << " sigmaGen = " << info.sigmaGen() << endl;
0212 cout << " sigmaErr = " << info.sigmaErr() << endl;
0213
0214
0215 return 0;
0216 }
0217
0218
0219
0220 void Show()
0221 {
0222 INFO_NICE<<"------------------------------------------------------";
0223 INFO_NICE<<"| Jet in hydro from file Test JetScape Framework ... |";
0224 INFO_NICE<<"------------------------------------------------------";
0225 INFO_NICE;
0226 }