]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Add fast merging option (Diego)
authormartinez <martinez@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 16 Nov 2011 08:34:38 +0000 (08:34 +0000)
committermartinez <martinez@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 16 Nov 2011 08:34:38 +0000 (08:34 +0000)
PWG3/muon/mergeGridFiles.C
PWG3/muon/runQA.sh

index 251261f6d48ac03c2dd1a64f2550b3336607e2f5..dc207fb1b989affeee61a3bdd7e6acc3bbde6a7d 100644 (file)
@@ -160,7 +160,7 @@ void ReadListFromFile(TString filename, TString& fileList, TString addPrefix)
 
 
 //___________________________________________________
-void completeProd(TString runListName="runList.txt", TString prodDir = "", TString baseDir="/alice/data/2010/LHC10h", TString outTaskFilename="QAresults.root", Int_t nFilesPerStep = 50, TString dirsToMerge = "MUON_QA MUON.TriggerEfficiencyMap", Bool_t overwriteExisting = kFALSE)
+void completeProd(TString runListName="runList.txt", TString prodDir = "", TString baseDir="/alice/data/2010/LHC10h", TString outTaskFilename="QAresults.root", Int_t nFilesPerStep = 50, TString dirsToMerge = "MUON_QA MUON.TriggerEfficiencyMap", Bool_t mergeFast = kFALSE, Bool_t overwriteExisting = kFALSE)
 {
   TString outFilename = "completeFileList.txt";
 
@@ -231,7 +231,9 @@ void completeProd(TString runListName="runList.txt", TString prodDir = "", TStri
     ofstream tmpFile(tmpFilename.Data());
     TString mergeFilename = "";
 
-    for ( Int_t ipattern=0; ipattern<2; ipattern++ ) {
+    Int_t nPatterns = ( mergeFast ) ? 1 : 2;
+    
+    for ( Int_t ipattern=0; ipattern<nPatterns; ipattern++ ) {
       TString command = ( prodDir.Contains("private") ) ? Form("find %s/ *%s/%s%s", baseDir.Data(), currRunString.Data(), filePattern[ipattern].Data(), outTaskFilename.Data()) : Form("find %s/*%s %s/%s%s", baseDir.Data(), currRunString.Data(), prodDir.Data(), filePattern[ipattern].Data(), outTaskFilename.Data());
 
       printf("%s\n", command.Data());
index b84dcb107d9cacc6d3760d332cd1cbbe008d36ae..d28c6861157675f850a1df4583a9f02fe08d4f8b 100755 (executable)
@@ -9,6 +9,7 @@ mergeLog="logMerge.txt"
 mergeOut=""
 terminateDir="${baseOutDir}/terminateRuns"
 outTaskName="QAresults.root"
+mergeFast=0
 
 execMerge=1
 execMergeAll=1
@@ -16,12 +17,13 @@ execTerminate=1
 execTrigQA=1
 execTrackQA=1
 isPrivateProd=0
-optList="mateko:pi:"
-inputTriggerList=""
+optList="mfateko:pi:"
+inputTriggerList="0x0"
 while getopts $optList option
 do
   case $option in
     m ) execMerge=0;;
+    f ) mergeFast=1;;
     a ) execMergeAll=0;;
     t ) execTerminate=0;;
     e ) execTrigQA=0;;
@@ -41,6 +43,7 @@ shift $(($OPTIND - 1))
 if [[ $# -ne 3 || "$EXIT" -eq 1 ]]; then
     echo "Usage: `basename $0` (-$optList) <runList.txt> <QAx> <alien:///alice/data/20XX/LHCXXy>"
     echo "       -m skip merging (default: run)"
+    echo "       -f merge fast, skip incomplete prod."
     echo "       -a skip final merging (default: run)"
     echo "       -t skip terminate (default: run)"
     echo "       -e skip run trigger efficiency QA (defult: run)"
@@ -62,7 +65,7 @@ function mergePerRun()
     alienBaseDir="$3"
     aliroot -b <<EOF &> $mergeLog
 .L $qaMacroDir/mergeGridFiles.C+
-completeProd("${runListName}","${prodDir}","${alienBaseDir}","${outTaskName}",50,"MUON_QA MUON.TriggerEfficiencyMap");
+completeProd("${runListName}","${prodDir}","${alienBaseDir}","${outTaskName}",50,"MUON_QA MUON.TriggerEfficiencyMap",${mergeFast});
 .q
 EOF
 }
@@ -143,18 +146,19 @@ function runTrackQA() {
     lhcPeriod=`echo ${alienBaseDir%"/"} | awk -F "/" ' { print $NF } '`
     aliroot -b <<EOF &> logTrackQA.txt
 ${loadLibs}
-.x $qaMacroDir/PlotMuonQApp.C+("${terminateDir}",0x0,"${inputTriggerList}",${physSel},"${lhcPeriod}","${outTaskName}");
+.x $qaMacroDir/PlotMuonQA.C+("${terminateDir}",0x0,${inputTriggerList},${physSel},"${lhcPeriod}","${outTaskName}");
 .q
 EOF
     cd $baseOutDir
 }
 
 # Use absolute path for file inputTriggerList
-if [ "${inputTriggerList}" != "" ]; then
+if [ "${inputTriggerList}" != "0x0" ]; then
   inputTriggerDir=`dirname ${inputTriggerList}`
   if [ "${inputTriggerDir}"="." ]; then
     inputTriggerList="`pwd`/${inputTriggerList}"
   fi
+  inputTriggerList="\"${inputTriggerList}\""
 fi
 
 qaProdName="$2"
@@ -186,10 +190,13 @@ if [ $execTerminate -eq 1 ]; then
 fi
 
 if [ $execTrigQA -eq 1 ]; then
-    minRun=`echo ${mergeOut} | cut -d "_" -f 2`
-    maxRun=`echo ${mergeOut} | cut -d "_" -f 3 | cut -d "." -f 1`
-    trigOutSuffix=`echo ${qaProdName} | awk -F "/" '{ print $NF }'`
-    outName="trigEffQA_${minRun}_${maxRun}_${trigOutSuffix}.root"
+#    minRun=`echo ${mergeOut} | cut -d "_" -f 2`
+#    maxRun=`echo ${mergeOut} | cut -d "_" -f 3 | cut -d "." -f 1`
+#    trigOutSuffix=`echo ${qaProdName} | awk -F "/" '{ print $NF }'`
+    trigOutSuffix=`echo $3 | awk -F "/" '{ print $NF }'`
+#    outName="trigEffQA_${minRun}_${maxRun}_${trigOutSuffix}.root"
+    outName="trigEffQA_${trigOutSuffix}.root"
+
     runTrigQA "${mergeOut}" "${outName}"
 fi