generic CopyCorr.
--- /dev/null
+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;
+}
--- /dev/null
+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
+//
+
+
+
+
+
+
+
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