]>
Commit | Line | Data |
---|---|---|
ce21fc51 | 1 | // #define VERBOSEARGS |
2 | // simrun.C | |
3 | { | |
4 | // set job and simulation variables as : | |
5 | // root.exe -b -q simrun.C --run <x> --event <y> --process <kPythia6/kPhojet> --field <kNoField/k5kG> --energy <900/10000> | |
6 | ||
7 | int nrun = 0; | |
8 | int nevent = 0;\0 | |
9 | int seed = 0; | |
10 | ||
11 | char sseed[1024]; | |
12 | char srun[1024]; | |
13 | char sevent[1024]; | |
14 | char sprocess[1024]; | |
15 | char sfield[1024]; | |
16 | char senergy[1024]; | |
17 | ||
18 | sprintf(srun,""); | |
19 | sprintf(sevent,""); | |
20 | sprintf(sprocess,""); | |
21 | sprintf(sfield,""); | |
22 | sprintf(senergy,""); | |
23 | ||
24 | for (int i=0; i< gApplication->Argc();i++){ | |
25 | #ifdef VERBOSEARGS | |
26 | printf("Arg %d: %s\n",i,gApplication->Argv(i)); | |
27 | #endif | |
28 | if (!(strcmp(gApplication->Argv(i),"--run"))) | |
29 | nrun = atoi(gApplication->Argv(i+1)); | |
30 | sprintf(srun,"%d",nrun); | |
31 | ||
32 | if (!(strcmp(gApplication->Argv(i),"--event"))) | |
33 | nevent = atoi(gApplication->Argv(i+1)); | |
34 | sprintf(sevent,"%d",nevent); | |
35 | ||
36 | if (!(strcmp(gApplication->Argv(i),"--process"))) | |
37 | sprintf(sprocess, gApplication->Argv(i+1)); | |
38 | ||
39 | if (!(strcmp(gApplication->Argv(i),"--field"))) | |
40 | sprintf(sfield,gApplication->Argv(i+1)); | |
41 | ||
42 | if (!(strcmp(gApplication->Argv(i),"--energy"))) | |
43 | sprintf(senergy,gApplication->Argv(i+1)); | |
44 | ||
45 | } | |
46 | ||
47 | seed = nrun * 100000 + nevent; | |
48 | sprintf(sseed,"%d",seed); | |
49 | ||
50 | if (seed==0) { | |
51 | fprintf(stderr,"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n"); | |
52 | fprintf(stderr,"!!!! WARNING! Seeding variable for MC is 0 !!!!\n"); | |
53 | fprintf(stderr,"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n"); | |
54 | } else { | |
55 | fprintf(stdout,"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n"); | |
56 | fprintf(stdout,"!!! MC Seed is %d \n",seed); | |
57 | fprintf(stdout,"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n"); | |
58 | } | |
59 | ||
60 | // set the seed environment variable | |
61 | gSystem->Setenv("CONFIG_SEED",sseed); | |
62 | gSystem->Setenv("CONFIG_RUN_TYPE",sprocess); // kPythia6 or kPhojet | |
63 | gSystem->Setenv("CONFIG_FIELD",sfield); // kNoField or k5kG | |
64 | gSystem->Setenv("CONFIG_ENERGY",senergy); // 900 or 10000 (GeV) | |
65 | gSystem->Setenv("DC_RUN",srun); // Not used in Config.C | |
66 | gSystem->Setenv("DC_EVENT",sevent); // Not used in Config.C | |
67 | ||
68 | // Needed to produce simulated RAW data | |
69 | gSystem->Setenv("ALIMDC_RAWDB1","./mdc1"); | |
70 | gSystem->Setenv("ALIMDC_RAWDB2","./mdc2"); | |
71 | gSystem->Setenv("ALIMDC_TAGDB","./mdc1/tag"); | |
72 | gSystem->Setenv("ALIMDC_RUNDB","./mdc1/meta"); | |
73 | cout<< "SIMRUN:: Run " << gSystem->Getenv("DC_RUN") << " Event " << gSystem->Getenv("DC_EVENT") | |
74 | << " Generator " << gSystem->Getenv("CONFIG_RUN_TYPE") | |
75 | << " Field " << gSystem->Getenv("CONFIG_FIELD") | |
76 | << " Energy " << gSystem->Getenv("CONFIG_ENERGY") | |
77 | << endl; | |
78 | ||
79 | cout<<">>>>> SIMULATION <<<<<"<<endl; | |
80 | gSystem->Exec("aliroot -b -q sim.C > sim.log 2>&1"); | |
81 | gSystem->Exec("mv syswatch.log simwatch.log"); | |
82 | cout<<">>>>> RECONSTRUCTION <<<<<"<<endl; | |
83 | gSystem->Exec("aliroot -b -q rec.C > rec.log 2>&1"); | |
84 | gSystem->Exec("mv syswatch.log recwatch.log"); | |
85 | cout<<">>>>> TAG <<<<<"<<endl; | |
86 | gSystem->Exec("aliroot -b -q tag.C > tag.log 2>&1"); | |
87 | cout<<">>>>> CHECK ESD <<<<<"<<endl; | |
88 | gSystem->Exec("aliroot -b -q CheckESD.C > check.log 2>&1"); | |
89 | cout<<">>>>> AOD <<<<<"<<endl; | |
90 | gSystem->Exec("aliroot -b -q CreateAODfromESD.C > aod.log 2>&1"); | |
91 | ||
92 | } |