]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Added scripts to copy corrections. Modified CopySec to use
authorcholm <Christian.Holm.Christensen@cern.ch>
Fri, 1 Aug 2014 11:31:26 +0000 (13:31 +0200)
committercholm <Christian.Holm.Christensen@cern.ch>
Fri, 1 Aug 2014 11:31:26 +0000 (13:31 +0200)
generic CopyCorr.

PWGLF/FORWARD/analysis2/corrs/CopyCorr.C [new file with mode: 0644]
PWGLF/FORWARD/analysis2/corrs/CopyELoss.C [new file with mode: 0644]
PWGLF/FORWARD/analysis2/corrs/CopySec.C

diff --git a/PWGLF/FORWARD/analysis2/corrs/CopyCorr.C b/PWGLF/FORWARD/analysis2/corrs/CopyCorr.C
new file mode 100644 (file)
index 0000000..d8acfc4
--- /dev/null
@@ -0,0 +1,57 @@
+Bool_t
+CopyCorr(Bool_t      fmd, 
+        const char* table,
+        ULong_t     tgtRun, 
+        UShort_t    tgtSys,
+        UShort_t    tgtSNN, 
+        Short_t     tgtFld, 
+        ULong_t     srcRun, 
+        UShort_t    srcSys,
+        UShort_t    srcSNN, 
+        Short_t     srcFld,
+        Bool_t      mc)
+{
+  const char* fwd = "${ALICE_ROOT}/PWGLF/FORWARD/analysis2";
+  if (!gROOT->GetClass("AliOADBForward"))
+    gROOT->Macro(Form("%s/scripts/LoadLibs.C", fwd));
+
+  TString tab(table);
+  const char*  det        = fmd ? "fmd" : "spd";
+  const char*  possible[] = { "elossfits", 
+                            "secondary", 
+                            "noisegain", 
+                            "acceptance", 
+                            "merging", 
+                            "vertexbias", 
+                            "doublehit",
+                            0 };
+  const char** pTest      = possible;
+  while (*pTest) { 
+    if (tab.EqualTo(*pTest)) break;
+    pTest++;
+  }
+  if (!(*pTest)) { 
+    Warning("CopyCorr", "Unknown table: %s", table);
+    return false;
+  }
+        
+  if (tgtSys < 1)    tgtSys = srcSys;
+  if (tgtSNN < 1)    tgtSNN = srcSNN;
+  if (tgtFld >= 999) tgtFld = srcFld;
+
+  AliOADBForward* db = new AliOADBForward;
+  db->Open(Form("%s_corrections.root", det), tab, true);
+
+  if (!db->CopyEntry(tab, 
+                    srcRun, srcSys, srcSNN, srcFld, 
+                    tgtRun, tgtSys, tgtSNN, tgtFld,    
+                    mc, false)) {
+    Error("CopySec", 
+         "Failed to copy %s %lu/%hu/%hu/%hd/%s -> %lu/%hu/%hu/%hd/%s",
+         det,
+         srcRun, srcSys, srcSNN, srcFld, (mc ? "MC" : "Real"), 
+         tgtRun, tgtSys, tgtSNN, tgtFld, (mc ? "MC" : "Real"));
+    return false;
+  }
+  return true;
+}
diff --git a/PWGLF/FORWARD/analysis2/corrs/CopyELoss.C b/PWGLF/FORWARD/analysis2/corrs/CopyELoss.C
new file mode 100644 (file)
index 0000000..b3e67b2
--- /dev/null
@@ -0,0 +1,28 @@
+void
+CopyELoss(ULong_t     tgtRun, 
+         UShort_t    tgtSys,
+         UShort_t    tgtSNN, 
+         Short_t     tgtFld, 
+         ULong_t     srcRun, 
+         UShort_t    srcSys,
+         UShort_t    srcSNN, 
+         Short_t     srcFld,
+         Bool_t      mc)
+{
+  const char* fwd = "${ALICE_ROOT}/PWGLF/FORWARD/analysis2";
+  gROOT->LoadMacro(Form("%s/corrs/CopyCorr.C", fwd));
+
+  CopyCorr(true, "elossfits", 
+          tgtRun, tgtSys, tgtSNN, tgtFld, 
+          srcRun, srcSys, srcSNN, srcFld, mc);
+}
+//
+// EOF
+//
+
+
+
+
+
+
+
index aec00064b02fada5fa0211fa6e241af8255dbeaf..bdcb8daa17d3f8ff8eaef4339ff046d0d7e6345a 100644 (file)
@@ -1,27 +1,21 @@
 void
-CopySec(Bool_t fmd=true, UShort_t sys=2, UShort_t sNN=2760, Short_t fld=-5, ULong_t run=0)
+CopySec(Bool_t      fmd=true, 
+       ULong_t     tgtRun=0, 
+       UShort_t    tgtSys=2,
+       UShort_t    tgtSNN=2760, 
+       Short_t     tgtFld=-5, 
+       ULong_t     srcRun=118506, 
+       UShort_t    srcSys=1,
+       UShort_t    srcSNN=900, 
+       Short_t     srcFld=+5)
 {
+
   const char* fwd = "${ALICE_ROOT}/PWGLF/FORWARD/analysis2";
-  if (!gROOT->GetClass("AliOADBForward"))
-    gROOT->Macro(Form("%s/scripts/LoadLibs.C", fwd));
-
-  TString   table   = "secondary";
-  ULong_t   oldRun  = 118506;
-  UShort_t  oldSys  = 1; // pp
-  UShort_t  oldSNN  = 900;
-  Short_t   oldFld  = +5;
-  const char* det   = fmd ? "fmd" : "spd";
-  AliOADBForward* db = new AliOADBForward;
-  db->Open(Form("%s_corrections.root", det), table, true);
-
-  if (!db->CopyEntry(table, 
-                    oldRun, oldSys, oldSNN, oldFld, 
-                    run,    sys,    sNN,    fld,    
-                    false, false)) 
-    Warning("CopySec", "Failed to copy %s %lu/%hu/%hu/%hd -> %lu/%hu/%hu/%hd",
-           det,
-           oldRun, oldSys, oldSNN, oldFld, 
-           run,    sys,    sNN,    fld);
+  gROOT->LoadMacro(Form("%s/corrs/CopyCorr.C", fwd));
+
+  CopyCorr(true, "secondary", 
+          tgtRun, tgtSys, tgtSNN, tgtFld, 
+          srcRun, srcSys, srcSNN, srcFld);
 }
 //
 // EOF