afea418a |
1 | //#define VERBOSEARGS\r |
2 | {\r |
3 | // set job and simulation variables as : alienoutner needed for seed\r |
4 | // root run.C --run <x> --event <y> --aliencounter <counter> --process <proc> --minhard <min> --maxhard <max> --minpt <minpt>\r |
5 | \r |
6 | \r |
7 | char* program = "aliroot";\r |
8 | // char* program = "alienaliroot";\r |
9 | \r |
10 | int nrun = 0;\r |
11 | int nevent = 0;\r |
12 | int seed = 0;\r |
13 | int naliencounter = 0;\r |
14 | \r |
15 | char sseed[1024];\r |
16 | char srun[1024];\r |
17 | char sevent[1024];\r |
18 | char saliencounter[1024];\r |
19 | char sprocess[1024];\r |
20 | char sminpthard[1024];\r |
21 | char smaxpthard[1024];\r |
22 | char sminptgammapi0[1024];\r |
23 | char squench[1024];\r |
24 | char sqhat[1024];\r |
25 | \r |
26 | Int_t npthardbin = 0;\r |
27 | const Int_t nPtHardBins = 3;\r |
28 | const Int_t ptHardLo[nPtHardBins] = {15,50,100};\r |
29 | const Int_t ptHardHi[nPtHardBins] = {50,100,-1};\r |
30 | \r |
31 | \r |
32 | \r |
33 | \r |
34 | sprintf(srun,"");\r |
35 | sprintf(sevent,"");\r |
36 | sprintf(saliencounter,"");\r |
37 | sprintf(sprocess,"");\r |
38 | sprintf(sminpthard,"");\r |
39 | sprintf(smaxpthard,"");\r |
40 | sprintf(sminptgammapi0,"");\r |
41 | sprintf(squench,"");\r |
42 | sprintf(sqhat,"");\r |
43 | \r |
44 | for (int i=0; i< gApplication->Argc();i++){\r |
45 | #ifdef VERBOSEARGS\r |
46 | printf("Arg %d: %s\n",i,gApplication->Argv(i));\r |
47 | #endif\r |
48 | if (!(strcmp(gApplication->Argv(i),"--run")))\r |
49 | nrun = atoi(gApplication->Argv(i+1));\r |
50 | sprintf(srun,"%d",nrun);\r |
51 | if (!(strcmp(gApplication->Argv(i),"--event")))\r |
52 | nevent = atoi(gApplication->Argv(i+1));\r |
53 | sprintf(sevent,"%d",nevent);\r |
54 | if (!(strcmp(gApplication->Argv(i),"--aliencounter")))\r |
55 | naliencounter = atoi(gApplication->Argv(i+1));\r |
56 | sprintf(saliencounter,"%d",naliencounter);\r |
57 | \r |
58 | if (!(strcmp(gApplication->Argv(i),"--process")))\r |
59 | sprintf(sprocess, gApplication->Argv(i+1));\r |
60 | \r |
61 | if (!(strcmp(gApplication->Argv(i),"--pthardbin")))\r |
62 | npthardbin = atoi(gApplication->Argv(i+1));\r |
63 | \r |
64 | \r |
65 | if (!(strcmp(gApplication->Argv(i),"--minhard")))\r |
66 | sprintf(sminpthard,gApplication->Argv(i+1));\r |
67 | \r |
68 | if (!(strcmp(gApplication->Argv(i),"--maxhard")))\r |
69 | sprintf(smaxpthard,gApplication->Argv(i+1));\r |
70 | \r |
71 | \r |
72 | if (!(strcmp(gApplication->Argv(i),"--minpt")))\r |
73 | sprintf(sminptgammapi0,gApplication->Argv(i+1));\r |
74 | \r |
75 | if (!(strcmp(gApplication->Argv(i),"--quench")))\r |
76 | sprintf(squench,gApplication->Argv(i+1));\r |
77 | \r |
78 | if (!(strcmp(gApplication->Argv(i),"--qhat")))\r |
79 | sprintf(sqhat,gApplication->Argv(i+1));\r |
80 | \r |
81 | }\r |
82 | \r |
83 | if(!(strcmp(sminpthard,""))){\r |
84 | sprintf(sminpthard,"%d",ptHardLo[npthardbin%nPtHardBins]);\r |
85 | Printf(">>> MinPtHard %s %d",sminpthard,npthardbin%nPtHardBins);\r |
86 | }\r |
87 | if(!(strcmp(smaxpthard,""))){\r |
88 | sprintf(smaxpthard,"%d",ptHardHi[npthardbin%nPtHardBins]);\r |
89 | Printf(">>> MaxPtHard %s %d",smaxpthard,npthardbin%nPtHardBins);\r |
90 | }\r |
91 | \r |
92 | \r |
93 | \r |
94 | /*\r |
95 | char cmd[200] ; \r |
96 | sprintf(cmd, ".! tar zxvf DBpp.tgz") ; \r |
97 | gROOT->ProcessLine(cmd) ; \r |
98 | sprintf(cmd, ".! tar zxvf TPCCalib_v4-16-Rev-01.tgz") ; \r |
99 | gROOT->ProcessLine(cmd) ; \r |
100 | */\r |
101 | gSystem->Exec("echo $PWD ");\r |
102 | gSystem->Exec("ls -l ");\r |
103 | \r |
104 | seed = nrun * 100000 + naliencounter * 1000 + nevent;\r |
105 | sprintf(sseed,"%d",seed);\r |
106 | \r |
107 | if (seed==0) {\r |
108 | fprintf(stderr,"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");\r |
109 | fprintf(stderr,"!!!! WARNING! Seeding variable for MC is 0 !!!!\n");\r |
110 | fprintf(stderr,"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");\r |
111 | } else {\r |
112 | fprintf(stdout,"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");\r |
113 | fprintf(stdout,"!!! MC Seed is %d \n",seed);\r |
114 | fprintf(stdout,"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");\r |
115 | }\r |
116 | \r |
117 | // set the seed environment variable\r |
118 | gSystem->Setenv("CONFIG_SEED",sseed);\r |
119 | gSystem->Setenv("DC_RUN",srun);\r |
120 | gSystem->Setenv("DC_EVENT",sevent);\r |
121 | gSystem->Setenv("DC_RUN_TYPE",sprocess);//"kPyGammaJetPHOS");\r |
122 | gSystem->Setenv("PTHARDMIN",sminpthard);//"20");\r |
123 | gSystem->Setenv("PTHARDMAX",smaxpthard);//"30");\r |
124 | // gSystem->Setenv("DC_RUN_TYPE","kPyJetJet");\r |
125 | // gSystem->Setenv("PTHARDMIN","40");\r |
126 | // gSystem->Setenv("PTHARDMAX","-1");\r |
127 | \r |
128 | gSystem->Setenv("PTGAMMAPI0MIN",sminptgammapi0);//"1");\r |
129 | gSystem->Setenv("QUENCHING",squench);\r |
130 | gSystem->Setenv("QHAT",sqhat);\r |
131 | // gSystem->Setenv("QUENCHING","0");\r |
132 | // gSystem->Setenv("QHAT","0");\r |
133 | \r |
134 | gSystem->Setenv("ECMS","10000");\r |
135 | // gSystem->Setenv("ECMS","14000");\r |
136 | gSystem->Setenv("ALIMDC_RAWDB1","./mdc1");\r |
137 | gSystem->Setenv("ALIMDC_RAWDB2","./mdc2");\r |
138 | gSystem->Setenv("ALIMDC_TAGDB","./mdc1/tag");\r |
139 | gSystem->Setenv("ALIMDC_RUNDB","./mdc1/meta");\r |
140 | cout<< "SIMRUN:: Run " << gSystem->Getenv("DC_RUN") << " Event " << gSystem->Getenv("DC_EVENT") \r |
141 | << " Process " << gSystem->Getenv("DC_RUN_TYPE") \r |
142 | << " minpthard " << gSystem->Getenv("PTHARDMIN") \r |
143 | << " maxpthard " << gSystem->Getenv("PTHARDMAX") \r |
144 | << " minpt " << gSystem->Getenv("PTGAMMAPI0MIN") \r |
145 | << endl;\r |
146 | //gSystem->Exec("cp $ROOTSYS/etc/system.rootrc .rootrc");\r |
147 | cout<<">>>>> SIMULATION <<<<<"<<endl;\r |
148 | \r |
149 | gSystem->Exec("echo ALICE_ROOT $ALICE_ROOT");\r |
150 | gSystem->Exec("echo ROOTSYS $ROOTSYS");\r |
151 | gSystem->Exec("echo LD_LIB $LD_LIBRARY_PATH");\r |
152 | gSystem->Exec("echo PATH $PATH");\r |
153 | gSystem->Exec("ls -l $ALICE_ROOT/bin/");\r |
154 | gSystem->Exec("ls -l $ALICE_ROOT/bin/*");\r |
155 | \r |
156 | gSystem->Exec(Form("%s -b -q \"sim.C(%d)\" > sim.log 2>&1",program,nevent));\r |
157 | \r |
158 | \r |
159 | // residual\r |
160 | \r |
161 | \r |
162 | gSystem->MakeDirectory("residual");\r |
163 | gSystem->Exec("rm residual/*.root");\r |
164 | gSystem->Exec("ln -s ${PWD}/*.root residual/");\r |
165 | \r |
166 | // residual_trd\r |
167 | gSystem->MakeDirectory("residual_trd");\r |
168 | gSystem->Exec("rm residual_trd/*.root");\r |
169 | gSystem->Exec("ln -s ${PWD}/*.root residual_trd/");\r |
170 | \r |
171 | gSystem->ChangeDirectory("residual");\r |
172 | cout<<">>>>> RECONSTRUCTION <<<<<"<<endl;\r |
173 | Int_t iStatus = 0;\r |
174 | iStatus = gSystem->Exec(Form("%s -b -q ../rec.C > rec.log 2>&1",program));\r |
175 | Printf("%d",iStatus);\r |
176 | cout<<">>>>> TAG <<<<<"<<endl;\r |
177 | // iStatus = gSystem->Exec("aliroot -b -q ../tag.C 2>&1 tag.log");\r |
178 | iStatus = gSystem->Exec(Form("%s -b -q ../tag.C > tag.log 2>&1",program));\r |
179 | Printf("%d",iStatus);\r |
180 | cout<<">>>>> CHECK ESD <<<<<"<<endl;\r |
181 | iStatus = gSystem->Exec(Form("%s -b -q ../CheckESD.C > check.log 2>&1",program));\r |
182 | cout<<">>>>> CREATE AOD <<<<<"<<endl;\r |
183 | iStatus = gSystem->Exec(Form("%s -b -q ../runAODFilterJets.C > aod.log 2>&1",program));\r |
184 | Printf("%d",iStatus);\r |
185 | \r |
186 | gSystem->Exec(Form("mv Run*tag.root ../"));\r |
187 | gSystem->Exec(Form("mv *RecPoints.root ../")); // for debugging\r |
188 | TString addString("");\r |
189 | // logs\r |
190 | gSystem->Exec(Form("mv rec.log ../rec%s.log",addString.Data()));\r |
191 | gSystem->Exec(Form("mv tag.log ../tag%s.log",addString.Data()));\r |
192 | gSystem->Exec(Form("mv check.log ../check%s.log",addString.Data()));\r |
193 | gSystem->Exec(Form("mv aod.log ../aod%s.log",addString.Data()));\r |
194 | // roots\r |
195 | gSystem->Exec(Form("mv AliESDs.root ../AliESDs%s.root",addString.Data()));\r |
196 | gSystem->Exec(Form("mv AliESDfriends.root ../AliESDfriends%s.root",addString.Data()));\r |
197 | gSystem->Exec(Form("mv AliAOD.root ../AliAOD%s.root",addString.Data()));\r |
198 | gSystem->ChangeDirectory("../");\r |
199 | \r |
200 | \r |
201 | \r |
202 | \r |
203 | // residual_trd\r |
204 | \r |
205 | gSystem->ChangeDirectory("residual_trd");\r |
206 | /*\r |
207 | sprintf(cmd, ".! tar zxvf ../DBpp.tgz") ; \r |
208 | gROOT->ProcessLine(cmd) ; \r |
209 | sprintf(cmd, ".! tar zxvf ../TPCCalib_v4-16-Rev-01.tgz") ; \r |
210 | gROOT->ProcessLine(cmd) ; \r |
211 | */\r |
212 | gSystem->Exec("ls -l");\r |
213 | cout<<">>>>> REC <<<<<"<<endl;\r |
214 | iStatus = gSystem->Exec(Form("%s -b -q ../rec2.C > rec.log 2>&1",program));\r |
215 | \r |
216 | Printf("%d",iStatus);\r |
217 | cout<<">>>>> CHECK ESD <<<<<"<<endl;\r |
218 | iStatus = gSystem->Exec(Form("%s -b -q ../CheckESD.C > check.log 2>&1",program));\r |
219 | Printf("%d",iStatus);\r |
220 | cout<<">>>>> CREATE AOD <<<<<"<<endl;\r |
221 | iStatus = gSystem->Exec(Form("%s -b -q ../runAODFilterJets.C > aod.log 2>&1",program));\r |
222 | Printf("%d",iStatus);\r |
223 | TString addString("TRD");\r |
224 | // logs\r |
225 | gSystem->Exec(Form("mv rec.log ../rec%s.log",addString.Data()));\r |
226 | gSystem->Exec(Form("mv check.log ../check%s.log",addString.Data()));\r |
227 | gSystem->Exec(Form("mv aod.log ../aod%s.log",addString.Data()));\r |
228 | // roots\r |
229 | gSystem->Exec(Form("mv AliESDs.root ../AliESDs%s.root",addString.Data()));\r |
230 | gSystem->Exec(Form("mv AliESDfriends.root ../AliESDfriends%s.root",addString.Data()));\r |
231 | gSystem->Exec(Form("mv AliAOD.root ../AliAOD%s.root",addString.Data()));\r |
232 | gSystem->ChangeDirectory("../");\r |
233 | gSystem->Exec("ls -l");\r |
234 | }\r |