35 char nodedir_cint[1024];
36 TGlobal* GLOBAL = (TGlobal*)gROOT->GetGlobal(
"nodedir",
true);
38 memcpy((
void*)&nodedir_cint,(
void*)GLOBAL->GetAddress(),1024*
sizeof(char));
40 sprintf(cmd,
"chmod g+r %s",nodedir_cint);
44 unsigned int Pid = gSystem->GetPid();
51 char _sstage[16];
sprintf(_sstage,
"%d",jstage);
54 TString sstage = CWB::cwb::GetStageString(jstage);
58 sprintf(tmpOut,
"%s/%s_%s_%s_%d.out", nodedir_cint,srunID.Data(),slabel.Data(),sstage.Data(),Pid);
60 cout << tmpOut << endl; cout << outLog << endl;
63 sprintf(tmpErr,
"%s/%s_%s_%s_%d.err", nodedir_cint,srunID.Data(),slabel.Data(),sstage.Data(),Pid);
65 cout << tmpErr << endl; cout << errLog << endl;
67 if(gSystem->Getenv(
"_USE_PEGASUS")==NULL) {
71 sprintf(cmd,
"rm -f %s;ln -sf %s %s;touch %s",outLog,tmpOut,outLog,outLog);
74 sprintf(cmd,
"rm -f %s;ln -sf %s %s;touch %s",errLog,tmpErr,errLog,errLog);
79 freopen(tmpOut,
"w",stdout);
80 freopen(tmpErr,
"w",stderr);
90 if(eced) cfg->
Import(gSystem->ExpandPathName(
"$CWB_MACROS/cwb_eced.C"));
91 cfg->
Import(gSystem->ExpandPathName(
"$CWB_MACROS/cwb_inet.C"));
101 char nodedir_cint[1024];
102 TGlobal* GLOBAL = (TGlobal*)gROOT->GetGlobal(
"nodedir",
true);
104 memcpy((
void*)&nodedir_cint,(
void*)GLOBAL->GetAddress(),1024*
sizeof(char));
112 if(eced) gROOT->Macro(gSystem->ExpandPathName(
"$CWB_MACROS/cwb_eced.C"));
113 cfg->
Import(gSystem->ExpandPathName(
"$CWB_MACROS/cwb_inet.C"));
127 cout <<
"cwb_xnet - Error : analysis must be 1G or 2G" << endl;
132 if(ftell(stdout)!=-1)
fclose(stdout);
133 if(ftell(stderr)!=-1)
fclose(stderr);
140 estat = gSystem->GetPathInfo(tmpOut,&
id,&size,&flags,&mt);
141 if (estat==0 && size<1000000) {
142 sprintf(cmd,
"mv %s %s",tmpOut,outLog);
147 estat = gSystem->GetPathInfo(tmpErr,&
id,&size,&flags,&mt);
148 if (estat==0 && size<1000000) {
149 sprintf(cmd,
"mv %s %s",tmpErr,errLog);
169 while(ecommand&&(ntry<maxtry)) {
170 ecommand=gSystem->Exec(command);
171 if(ecommand) gSystem->Sleep(
int(gRandom->Uniform(1000,3000)));
174 if(ecommand) {cout <<
"cwb_xnet.C - Error -> " << command << endl;gSystem->Exit(1);}
void Import(TString umacro="")
void SetupStage(CWB_STAGE jstage)
virtual void run(int runID=0)
CWB::config * GetConfig()
PrintLogoCWB(GetLALVersion())
sprintf(tfres,"(1/%g)x(%g) (sec)x(Hz)", 2 *df, df)
void cwb_xnet(TString fName, CWB_STAGE jstage=CWB_STAGE_FULL, TString uName="", bool batch=false, bool eced=false)
void SystemExec(char *command, int maxtry=3)