]> git.uio.no Git - u/mrichter/AliRoot.git/blame - test/vmctest/production/simrun.C
Update config
[u/mrichter/AliRoot.git] / test / vmctest / production / simrun.C
CommitLineData
ba2958c4 1// $Id$\r
2//\r
ccf91ec3 3// #define VERBOSEARGS\r
4// simrun.C\r
5//\r
ba2958c4 6// Set job and simulation variables as :\r
ccf91ec3 7// root.exe -b -q simrun.C --run <x> --event <y> --process <kPythia6/kPhojet/kPythia6ATLAS_Flat/kPythia6D6T> --field <kNoField/k5kG> --energy <900/2360/10000> --physicslist <QGSP_BERT_CHIPS/CHIPS/QGSP_BERT_EMV>\r
ba2958c4 8//\r
6b4f7fc0 9// For production test:\r
2e572f07 10// root.exe -b -q simrun.C --run 126007 --event 1 --process kPythiaPerugia0 --field k5kG --energy 7000 --physicslist FTFP_BERT_EMV_OPTICAL\r
fd03ab3d 11//\r
ba2958c4 12// By E. Sicking, CERN\r
ccf91ec3 13{\r
b2b18d9e 14 int nrun = 0;\r
15 int nevent = 0;\r
16 int seed = 0;\r
17\r
18 char sseed[1024];\r
19 char srun[1024];\r
20 char sevent[1024];\r
21 char sprocess[1024];\r
22 char sfield[1024];\r
23 char senergy[1024];\r
24 char sphysicslist[1024];\r
25\r
26 sprintf(srun,"");\r
27 sprintf(sevent,"");\r
28 sprintf(sprocess,"");\r
29 sprintf(sfield,"");\r
30 sprintf(senergy,"");\r
31 sprintf(sphysicslist,"");\r
32\r
33 for (int i=0; i< gApplication->Argc();i++){\r
34#ifdef VERBOSEARGS\r
35 printf("Arg %d: %s\n",i,gApplication->Argv(i));\r
36#endif\r
37 if (!(strcmp(gApplication->Argv(i),"--run")))\r
38 nrun = atoi(gApplication->Argv(i+1));\r
39 sprintf(srun,"%d",nrun);\r
40\r
41 if (!(strcmp(gApplication->Argv(i),"--event")))\r
42 nevent = atoi(gApplication->Argv(i+1));\r
43 sprintf(sevent,"%d",nevent);\r
44\r
45 if (!(strcmp(gApplication->Argv(i),"--process")))\r
46 sprintf(sprocess, gApplication->Argv(i+1));\r
47\r
48 if (!(strcmp(gApplication->Argv(i),"--field")))\r
49 sprintf(sfield,gApplication->Argv(i+1));\r
50\r
51 if (!(strcmp(gApplication->Argv(i),"--energy")))\r
52 sprintf(senergy,gApplication->Argv(i+1));\r
53\r
54 if (!(strcmp(gApplication->Argv(i),"--physicslist")))\r
55 sprintf(sphysicslist,gApplication->Argv(i+1));\r
56 }\r
57\r
58 seed = nrun * 100000 + nevent;\r
fd03ab3d 59 //seed = nrun + nevent; // LHC10c9 production test \r
b2b18d9e 60 sprintf(sseed,"%d",seed);\r
61\r
62 if (seed==0) {\r
63 fprintf(stderr,"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");\r
64 fprintf(stderr,"!!!! WARNING! Seeding variable for MC is 0 !!!!\n");\r
65 fprintf(stderr,"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");\r
66 } else {\r
67 fprintf(stdout,"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");\r
68 fprintf(stdout,"!!! MC Seed is %d \n",seed);\r
69 fprintf(stdout,"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");\r
70 }\r
71 \r
72// set the seed environment variable\r
73 gSystem->Setenv("CONFIG_SEED",sseed);\r
74 gSystem->Setenv("CONFIG_RUN_TYPE",sprocess); // kPythia6 or kPhojet\r
75 gSystem->Setenv("CONFIG_FIELD",sfield); // kNoField or k5kG\r
76 gSystem->Setenv("CONFIG_ENERGY",senergy); // 900 or 10000 (GeV)\r
77 gSystem->Setenv("CONFIG_PHYSICSLIST",sphysicslist); // "QGSP_BERT_EMV", "CHIPS", "QGSP_BERT_CHIPS", \r
78 // also plus "_OPTICAL" to the 3 names\r
79 gSystem->Setenv("DC_RUN",srun); // Not used in Config.C\r
80 gSystem->Setenv("DC_EVENT",sevent); // Not used in Config.C\r
81 \r
82// Needed to produce simulated RAW data\r
83 gSystem->Setenv("ALIMDC_RAWDB1","./mdc1");\r
84 gSystem->Setenv("ALIMDC_RAWDB2","./mdc2");\r
85 gSystem->Setenv("ALIMDC_TAGDB","./mdc1/tag");\r
86 gSystem->Setenv("ALIMDC_RUNDB","./mdc1/meta");\r
87 cout<< "SIMRUN:: Run " << gSystem->Getenv("DC_RUN") << " Event " << gSystem->Getenv("DC_EVENT")\r
88 << " Generator " << gSystem->Getenv("CONFIG_RUN_TYPE")\r
89 << " Field " << gSystem->Getenv("CONFIG_FIELD")\r
90 << " Energy " << gSystem->Getenv("CONFIG_ENERGY")\r
91 << " Physics list " << gSystem->Getenv("CONFIG_PHYSICSLIST")\r
92 << endl;\r
93\r
94 cout<<">>>>> SIMULATION <<<<<"<<endl;\r
95 gSystem->Exec("aliroot -b -q sim.C > sim.log 2>&1");\r
96 gSystem->Exec("mv syswatch.log simwatch.log");\r
97 cout<<">>>>> RECONSTRUCTION <<<<<"<<endl;\r
98 gSystem->Exec("aliroot -b -q rec.C > rec.log 2>&1");\r
99 // gSystem->Exec("mv syswatch.log recwatch.log");\r
100 // cout<<">>>>> TAG <<<<<"<<endl;\r
101 // gSystem->Exec("aliroot -b -q tag.C > tag.log 2>&1");\r
102 // cout<<">>>>> CHECK ESD <<<<<"<<endl;\r
103 // gSystem->Exec("aliroot -b -q CheckESD.C > check.log 2>&1");\r
104 // cout<<">>>>> AOD <<<<<"<<endl;\r
105 // gSystem->Exec("aliroot -b -q CreateAODfromESD.C > aod.log 2>&1");\r
106 \r
107}\r