char *mask = "v14*";
char *path = "/alice/cern.ch/user/m/miranov/test2007/"
// raw data
- char *mask = "07000015*.root";
- char *path = "/alice/data/2007/LHC07w_TPC/"
+ char *mask = "0000191*RecPo*.root";
+ char *path = "/alice/data/2008/LHC08a_TPC/"
AlienToolkit toolkit;
toolkit.MakeCollection(path,mask);
//
- toolkit.MakeJobList("job.list","root://gsiaf.gsi.de:1094/", "", "COPY");
+ toolkit.MakeJobList("job.list","", "", "rec");
*/
void Stage();
void LocalCopy(const char* destination);
void RemoteCopy(const char* destination="root://gsiaf.gsi.de:1094/", Int_t maxfiles=20);
+ void PrintPFN();
void MakeJobList(const char * outname, const char *outputPrefix, const char *action, const char *suffix);
static Bool_t IsDir(const char * name);
static Bool_t IsFile(const char * name);
static Bool_t ResubmitJobs();
+
public:
TGridCollection *fCollection;
TObjArray fInfoArray;
}
+void AlienToolkit::PrintPFN(){
+ //
+ //
+ //
+ Int_t entries = fInfoArray.GetEntries();
+ for (Int_t i=0; i<entries;i++){
+ TMap &map = *((TMap*)fInfoArray.At(i));
+ TObjString *lfn = (TObjString*)map("alienLFN");
+ TObjString *pfn = (TObjString*)map("alienSURL");
+ if (!lfn) continue;
+ if (!pfn) continue;
+ printf("%s\n",pfn->String().Data());
+ }
+}
+
void AlienToolkit::MakeJobList(const char * outname, const char *outputPrefix, const char *action, const char *suffix){
//
//
jobID.ReplaceAll("/","_");
//
//
+ //
+ //
TString outputDir=outputPrefix;
outputDir+=lfn->String().Data();
#3 TString outputDir
#4 TString action
+echo INPUT ARGUMENT FOR ACTION
echo $1
echo $2
echo $3
echo $4
+#
+#
+#
+olddir=`pwd`
+mkdir -p $jobhome/$1
+mkdir -p $jobhome/$1/$4
+cd $jobhome/$1/$4
+ln -sf $olddir home
+echo HOME DIR `pwd`
+#
+#
+#
+echo GETTING DATA - START
+date
+CISIZE=0
+if [ $AGENTINPUTTYPE -eq 2 ]; then
+ CINAME=`echo $2| sed s_root://voalice04.cern.ch:1094/__`
+ echo CASTOR COPY $CINAME ;
+ CISIZE=`nsls -l $CINAME | gawk '{print $5}'`
+ if [ $CISIZE -gt 1000000 ]; then
+ rfcp $CINAME data.root
+ else
+ echo FILE TOO SMALL
+ exit
+ fi;
+fi;
+if [ $AGENTINPUTTYPE -eq 0 ]; then
+ echo XRD COPY $2 ;
+ xrdcp -np $2 data.root
+fi;
+echo GETTING DATA - STOP
+date
+echo LS DATA
+ls -al
+
+CISIZE=`ls -l data.root | gawk '{print $5}'`
+if [ $CISIZE -lt 100000 ]; then
+ exit
+fi;
+#
+#
+#
+echo BEGIN ACTION
+date
+echo aliroot -b -q $olddir/macros/$4.C
+aliroot -b -q $olddir/macros/$4.C
+echo END ACTION $1
+date
+#
+#
+#
+rm data.root
+rm TPCsignal.root
+ls -al `pwd`
+echo CREATING ZIP FILE
+zip -n root $4 *.root *.log
-olddir=`pwd`
-mkdir -p /tmp/$USER/$1
-mkdir -p /tmp/$USER/$1/$4
+isxrd=`echo $3 | grep root://`
+mkdir $olddir/filelists
+flist=$olddir/filelists/$1.list
+touch $flist
-cd /tmp/$USER/$1/$4
-which xrdcp
+#
+# ALIEN - PROBLEM WITH HOST CERTIFICATE
+#
+if [ ${#alien_HOME} -gt 1 ]; then
+ dirname=`echo $alien_HOME$3/$4 | sed s/.root//g `
+ echo alien_mkdir $dirname
+ alien_mkdir -p $dirname
+ echo ALIEN COPY DATA START
+ echo alien_cp -n $4.zip alien:${dirname}/$4_se.zip@ALICE::GSI::SE
+ #echo alien_cp -n $4.zip alien:${dirname}$4.zip@ALICE::ALICE::CASTOR2
+ for name in `ls *.root`; do
+ echo alien_cp -n $name alien:${dirname}/$name@ALICE::GSI::SE
+ alien_cp -n $name alien:${dirname}/$name@ALICE::GSI::SE
+
+ done
+ alien_cp -n $4.zip alien:${dirname}/$4_se.zip@ALICE::GSI::SE
+ #alien_cp $4.zip -n alien:${dirname}$4.zip@ALICE::ALICE::CASTOR2
+ echo END OF ALIEN COPY
+fi;
-xrdcp -np $2 data.root
-echo aliroot -b -q $ALICE_ROOT/TPC/macros/testTPC/$4.C
-aliroot -b -q $ALICE_ROOT/TPC/macros/testTPC/$4.C
-echo END ACTION $1
+if [ ${#isxrd} -lt 1 ]; then
+ dirname=`echo $CASTOR_HOME$3/$4 | sed s/.root//g `
+ echo CASTOR COPPING DATA - START
+ echo DIRNAME - $dirname
+ echo XRD PATH = root://voalice04.cern.ch:1094/$dirname
+ echo
+ rfmkdir -p $dirname
+ #
+ for name in `ls *.root`; do
+ echo rfcp $name $dirname/$name
+ rfcp $name $dirname/$name
+ echo root://voalice04.cern.ch:1094/$dirname/$name >>$flist
+ done
+ echo rfcp $4.zip $dirname/$4.zip
+ rfcp $4.zip $dirname/$4.zip
+ echo root://voalice04.cern.ch:1094/$dirname/$4.zip >>$flist
+ echo END OF COPY
+else
+ echo XRD COPY DATA START
+ dirname=`echo $3/$4 | sed s/.root//g`
+ echo DIRNAME - $dirname
+ for name in `ls *.root`; do
+ echo xrdcp $name $dirname/$name
+ xrdcp -np $name $dirname/$name
+ echo $dirname/$name >>$flist
+ done
+ echo xrdcp -np $4.zip $dirname.zip
+ xrdcp -np $4.zip $dirname/$4.zip
+ echo $dirname/$4.zip >>$flist
+ echo END OF COPY
+fi;
-rm data.root
-ls -al
-echo CREATING ZIP FILE
-zip -n root $4 *.root
-echo COPING DATA
-for name in `ls *.root`; do
- echo xrdcp $name $3/$4/$name
- xrdcp -np $name $3/$4/$name
-done
-echo xrdcp -np $4.zip $3/$4.zip
- xrdcp -np $4.zip $3/$4.zip
cd $olddir
-void rec(const char *filename="data.root", const char *ocdbpath = "local:///d/alice12/miranov/testTPC/OCDB/")\r
+void rec(const char *filename="data.root")
{
+
+ char *ocdbpath = gSystem->Getenv("OCDB_PATH");
+ if (ocdbpath==0){
+ ocdbpath="alien://folder=/alice/data/2007/LHC07w/OCDB/";
+ }
+ printf("OCDB PATH = %s\n",ocdbpath);
+
+
//gSystem->Load("libXrdClient.so");
//gSystem->Load("libNetx.so");
AliLog::SetClassDebugLevel("AliTPCRawStream",-5);
rec.SetRunV0Finder(kFALSE);
rec.SetRunVertexFinder(kFALSE);
- rec.SetRunQA(kFALSE);
+ rec.SetRunQA(kTRUE);
// Detector options if any
rec.SetOption("MUON","SAVEDIGITS");
cout <<" EXITING RECONSTRUNCTION SESSION\n";
//
exit();
+ AliTPCcalibDB::Instance()->GetParameters()->Dump();
// AliQADataMakerSteer qas;
// qas.Merge();
}