ROOT logo
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;
}
 CopyCorr.C:1
 CopyCorr.C:2
 CopyCorr.C:3
 CopyCorr.C:4
 CopyCorr.C:5
 CopyCorr.C:6
 CopyCorr.C:7
 CopyCorr.C:8
 CopyCorr.C:9
 CopyCorr.C:10
 CopyCorr.C:11
 CopyCorr.C:12
 CopyCorr.C:13
 CopyCorr.C:14
 CopyCorr.C:15
 CopyCorr.C:16
 CopyCorr.C:17
 CopyCorr.C:18
 CopyCorr.C:19
 CopyCorr.C:20
 CopyCorr.C:21
 CopyCorr.C:22
 CopyCorr.C:23
 CopyCorr.C:24
 CopyCorr.C:25
 CopyCorr.C:26
 CopyCorr.C:27
 CopyCorr.C:28
 CopyCorr.C:29
 CopyCorr.C:30
 CopyCorr.C:31
 CopyCorr.C:32
 CopyCorr.C:33
 CopyCorr.C:34
 CopyCorr.C:35
 CopyCorr.C:36
 CopyCorr.C:37
 CopyCorr.C:38
 CopyCorr.C:39
 CopyCorr.C:40
 CopyCorr.C:41
 CopyCorr.C:42
 CopyCorr.C:43
 CopyCorr.C:44
 CopyCorr.C:45
 CopyCorr.C:46
 CopyCorr.C:47
 CopyCorr.C:48
 CopyCorr.C:49
 CopyCorr.C:50
 CopyCorr.C:51
 CopyCorr.C:52
 CopyCorr.C:53
 CopyCorr.C:54
 CopyCorr.C:55
 CopyCorr.C:56
 CopyCorr.C:57
 CopyCorr.C:58