ROOT logo
#include "AliCorrectionManagerBase.h"
#include "AliOADBForward.h"
#include "AliForwardUtil.h"
#include <AliLog.h>
#include <TMath.h>
#include <iostream>
#include <TROOT.h>
#include <TSystem.h>
#include <TBrowser.h>
#include <TParameter.h>
#include <TFileMerger.h>
#include <TBits.h>
#include <TTree.h>

//____________________________________________________________________
AliCorrectionManagerBase::AliCorrectionManagerBase()
  : fCorrections(),
    fIsInit(false),
    fRun(kIgnoreValue), 
    fSys(kIgnoreValue), 
    fSNN(kIgnoreValue), 
    fField(kIgnoreField), 
    fMC(false), 
    fSatellite(false), 
    fDB(0),
    fDebug(false),
    fFallBack(false)
{
}

//____________________________________________________________________
AliCorrectionManagerBase::AliCorrectionManagerBase(Bool_t)
  : fCorrections(16),
    fIsInit(false),
    fRun(kIgnoreValue), 
    fSys(kIgnoreValue), 
    fSNN(kIgnoreValue), 
    fField(kIgnoreField), 
    fMC(false), 
    fSatellite(false), 
    fDB(0),
    fDebug(false),
    fFallBack(false)
{
  fCorrections.SetOwner(false);
  fCorrections.SetName("corrections");
}
//____________________________________________________________________
AliCorrectionManagerBase::AliCorrectionManagerBase(const 
						   AliCorrectionManagerBase& o)
  : TObject(o),
    fCorrections(),
    fIsInit(o.fIsInit),
    fRun(o.fRun), 
    fSys(o.fSys), 
    fSNN(o.fSNN), 
    fField(o.fField), 
    fMC(o.fMC), 
    fSatellite(o.fSatellite), 
    fDB(o.fDB),
    fDebug(o.fDebug),
    fFallBack(o.fFallBack)
{
  fCorrections.SetOwner(false);
  Int_t n = o.fCorrections.GetEntriesFast();
  for (Int_t i = 0; i < n; i++) { 
    fCorrections.AddAt(o.fCorrections.At(i), i);
  }
}
//____________________________________________________________________
AliCorrectionManagerBase&
AliCorrectionManagerBase::operator=(const AliCorrectionManagerBase& o)
{
  if (&o == this) return *this;

  fIsInit	= o.fIsInit;
  fRun		= o.fRun; 
  fSys		= o.fSys; 
  fSNN		= o.fSNN; 
  fField	= o.fField; 
  fMC		= o.fMC; 
  fSatellite 	= o.fSatellite;
  fDB		= o.fDB;
  fDebug        = o.fDebug;
  fFallBack     = o.fFallBack;

  fCorrections.Clear();
  Int_t n = o.fCorrections.GetEntriesFast();
  for (Int_t i = 0; i < n; i++) { 
    fCorrections.AddAt(o.fCorrections.At(i), i);
  }
  return *this;
}

//____________________________________________________________________
AliCorrectionManagerBase::~AliCorrectionManagerBase()
{
  // fCorrections.Delete();
}

#define PF(N,V,...)					\
  AliForwardUtil::PrintField(N,V, ## __VA_ARGS__)
#define PFB(N,FLAG)				\
  do {									\
    AliForwardUtil::PrintName(N);					\
    std::cout << std::boolalpha << (FLAG) << std::noboolalpha << std::endl; \
  } while(false)
#define PFV(N,VALUE)					\
  do {							\
    AliForwardUtil::PrintName(N);			\
    std::cout << (VALUE) << std::endl; } while(false)

//____________________________________________________________________
void
AliCorrectionManagerBase::Print(Option_t* option) const
{
  AliForwardUtil::PrintTask(*this);
  gROOT->IncreaseDirLevel();
  PFB("Initialized", fIsInit);
  if (fIsInit) {
    PFV("Run number", fRun);
    PFV("Collision system", AliForwardUtil::CollisionSystemString(fSys));
    PFV("Sqrt(s_NN)",AliForwardUtil::CenterOfMassEnergyString(fSNN));
    PFV("Magnetic field", AliForwardUtil::MagneticFieldString(fField));
    PFB("For simulations", fMC);
    PFB("For satellites", fSatellite);
  }
  TString opt(option);
  opt.ToUpper();
  if (opt.Contains("R")) {
    // gROOT->IncreaseDirLevel();
    Int_t n = fCorrections.GetEntriesFast();
    for (Int_t id = 0; id < n; id++) { 
      const Correction* c = GetCorrection(id);
      c->Print(option);
    }
    // gROOT->DecreaseDirLevel();  
  }
  gROOT->DecreaseDirLevel();  
}

//____________________________________________________________________
void
AliCorrectionManagerBase::Browse(TBrowser* b)
{
  b->Add(&fCorrections);
}

//____________________________________________________________________
void
AliCorrectionManagerBase::SetPrefix(const TString& prefix)
{
  Int_t n = fCorrections.GetEntriesFast();
  for (Int_t id = 0; id < n; id++) { 
    Correction* c = GetCorrection(id);
    const char* old = c->GetTitle();
    TString     oldf(gSystem->BaseName(old));
    c->SetFile(gSystem->ConcatFileName(prefix, oldf));
  }
}

//____________________________________________________________________
Bool_t
AliCorrectionManagerBase::Store(TObject*     o,
				ULong_t     runNo,
				UShort_t    sys, 
				UShort_t    sNN, 
				Short_t     field, 
				Bool_t      mc,
				Bool_t      sat, 
				const char* file,
				const char* meth) const
{
  Bool_t ret = false;
  Int_t n = fCorrections.GetEntriesFast();
  for (Int_t id = 0; id < n; id++) { 
    const Correction* c = GetCorrection(id);
    if (!o->IsA()->InheritsFrom(c->fCls)) continue;

    ret = c->StoreIt(fDB, o, runNo, sys, sNN, field, mc, sat, file, meth);
    break;
  }
  return ret;
}
    
//____________________________________________________________________
Bool_t
AliCorrectionManagerBase::Append(const TString& addition, 
				 const TString& destination) const
{
  if (addition.IsNull()) {
    AliWarning("No addition specified");
    return false;
  }
  if (destination.IsNull()) { 
    AliWarning("No destination storage specified");
    return false;
  }
  TFileMerger merger;
  merger.SetPrintLevel(1);
  merger.OutputFile(destination, "UPDATE");
  merger.AddFile(addition);
  if (!merger.PartialMerge()) {
    AliInfoF("Failed to merge %s with %s", 
	     addition.Data(), destination.Data());
    return false;
  }
  if (destination.BeginsWith("$OADB_PATH") ||
      destination.BeginsWith("$ALICE_ROOT"))
    AliInfoF("Now commit %s to git", destination.Data());
  return true;
}
//____________________________________________________________________
Bool_t
AliCorrectionManagerBase::CleanUp(const TString& destination, Bool_t verb) const
{
  AliOADBForward* db = fDB;
  if (!db) db = new AliOADBForward;

  for (Int_t i = 0; i < 32; i++) {
    const Correction* c = GetCorrection(i);
    if (!c) continue;

    if (!c->fEnabled) {
      Info("CleanUp", "Table %s not enabled", c->GetName());
      continue;
    }
    Info("CleanUp", "Will clean up table %s", c->GetName());
    c->CleanIt(db, destination, verb);
  }
  return true;
}
 
  
//____________________________________________________________________
void
AliCorrectionManagerBase::EnableCorrections(UInt_t what)
{
  for (Int_t i = 0; i < 32; i++) {
    if (!GetCorrection(i)) continue;
    EnableCorrection(i, (1 << i) & what);
  }
}
//____________________________________________________________________
Bool_t
AliCorrectionManagerBase::CheckCorrections(UInt_t what, Bool_t verbose) const
{
  Bool_t ret = true;
  for (Int_t i = 0; i < 32; i++) {
    Bool_t enabled = (1 << i) & what;
    if (!enabled) continue;
    const Correction* c = GetCorrection(i);
    if (!c) {
      ret = false;
      if (verbose) 
	AliWarningF("No correction registered for bit %d", i);
      continue;
    }
    const TObject* o = c->Get();
    if (!o) { 
      ret = false;
      if (verbose) 
	AliWarningF("Correction %s (bit %d) not initialized!", c->GetName(), i);
      continue;
    }
  }
  return ret;
}

//____________________________________________________________________
void
AliCorrectionManagerBase::RegisterCorrection(Int_t id, Correction* corr)
{
  fCorrections.AddAtAndExpand(corr, id);
}

//____________________________________________________________________
void
AliCorrectionManagerBase::RegisterCorrection(Int_t id, 
					     const TString& tableName, 
					     const TString& fileName, 
					     TClass*        cls, 
					     UShort_t       fields,
					     Bool_t         enabled)
{
  RegisterCorrection(id,new Correction(tableName,fileName,cls,fields,enabled));
}

//____________________________________________________________________
AliCorrectionManagerBase::Correction*
AliCorrectionManagerBase::GetCorrection(Int_t id)
{
  if (id < 0 || id > fCorrections.GetEntriesFast()) return 0;
  return static_cast<Correction*>(fCorrections.At(id));
}

//____________________________________________________________________
const AliCorrectionManagerBase::Correction*
AliCorrectionManagerBase::GetCorrection(Int_t id) const
{
  if (id < 0 || id > fCorrections.GetEntriesFast()) return 0;
  return static_cast<Correction*>(fCorrections.At(id));
}

//____________________________________________________________________
void 
AliCorrectionManagerBase::SetCorrectionFile(Int_t id, const TString& fileName)
{
  Correction* c = GetCorrection(id);
  if (!c) return;
  c->SetFile(fileName);
}

//____________________________________________________________________
Int_t
AliCorrectionManagerBase::GetId(const TString& what) const
{
  Int_t n = fCorrections.GetEntriesFast();
  for (Int_t id = 0; id < n; id++) { 
    const Correction* c = GetCorrection(id);
    if (what.EqualTo(c->GetName(), TString::kIgnoreCase)) return id;
  }
  return -1;
}

//____________________________________________________________________
void
AliCorrectionManagerBase::EnableCorrection(Int_t id, Bool_t enable)
{
  Correction* c = GetCorrection(id);
  if (!c) { 
    AliWarningF("Cannot enable non-existing correction at %d", id);
    return;
  }
  c->fEnabled = enable;
}

//____________________________________________________________________
Int_t
AliCorrectionManagerBase::GetId(const TObject* obj) const
{
  Int_t   n   = fCorrections.GetEntriesFast();
  TClass* ocl = obj->IsA();
  for (Int_t id = 0; id < n; id++) { 
    const Correction* c = GetCorrection(id);
    if (ocl->InheritsFrom(c->fCls)) return id;
  }
  return -1;
}
//____________________________________________________________________
TObject*
AliCorrectionManagerBase::Get(Int_t id)
{
  Correction* c = GetCorrection(id);
  if (!c) {
    AliWarningF("Cannot find correction with id %d", id);
    return 0;
  }
  return c->Get();
}
//____________________________________________________________________
const TObject*
AliCorrectionManagerBase::Get(Int_t id) const
{
  const Correction* c = GetCorrection(id);
  if (!c) {
    AliWarningF("Cannot find correction with id %d", id);
    return 0;
  }
  return c->Get();
}

//____________________________________________________________________
Bool_t
AliCorrectionManagerBase::InitCorrections(ULong_t    run, 
					  UShort_t   sys, 
					  UShort_t   sNN, 
					  Short_t    fld, 
					  Bool_t     mc, 
					  Bool_t     sat,
					  Bool_t     force)
{
  if (force) fIsInit = false;
  if (!CheckConditions(run, sys, sNN, fld, mc, sat)) return false;
  if (!ReadCorrections(run, sys, sNN, fld, mc, sat)) return false;
  fIsInit = true;

  if (fDB) {
    delete fDB;
    fDB = 0;
  }

  return true;
}

//____________________________________________________________________
Bool_t
AliCorrectionManagerBase::CheckConditions(ULong_t    run, 
					  UShort_t   sys, 
					  UShort_t   sNN, 
					  Short_t    fld, 
					  Bool_t     mc, 
					  Bool_t     sat)
{
  if (!fIsInit) return true;

  AliInfo("We are already initialised - checking settings...");
  Bool_t same = true;
  if (fRun != run) {
    same = false;
  }
  if (fSys != sys) { 
    AliWarningF("Initialised collision system %s (%d) and "
		"passed same %s (%d) does not match", 
		AliForwardUtil::CollisionSystemString(fSys), fSys,
		AliForwardUtil::CollisionSystemString(sys), sys);
    same = false;
  }
  if (TMath::Abs(fSNN - sNN) >= 10) {
    AliWarningF("Initialised center of mass energy per nuclean "
		"%s (%d) and passed same %s (%d) does not match",
		AliForwardUtil::CenterOfMassEnergyString(fSNN), fSNN,
		AliForwardUtil::CenterOfMassEnergyString(sNN), sNN);
    same = false;
  }
  if (fField != fld) {
      AliWarningF("Initialied L3 magnetic field %s (%d) and passed "
		  "same %s (%d) does not match", 
		  AliForwardUtil::MagneticFieldString(fField), fField,
		  AliForwardUtil::MagneticFieldString(fld), fld);
      same = false;
  }
  if (fMC != mc) {
    AliWarningF("Initialied data type (%s) and passed "
		"same (%s) does not match", 
		(fMC ? "MC" : "real"), (mc ? "MC" : "real"));
    same = false;
  }
  if (fSatellite != sat) {
    AliWarningF("Initialied collision ip type (%s) and passed "
		"same (%s) does not match", 
		(fSatellite ? "satellite" : "nominal"), 
		(sat ? "satellite" : "nominal"));
    same = false;
  }
  if (!same) {
    AliWarning("Intialised parameters and these are not the same " 
	       "- PROCEED WITH CAUTION!");
  }
  else
    AliInfo("Initialized values consistent with data");
  
  return true;

}

//____________________________________________________________________
Bool_t
AliCorrectionManagerBase::ReadCorrection(Int_t      id,
					 ULong_t    run, 
					 UShort_t   sys, 
					 UShort_t   sNN, 
					 Short_t    fld, 
					 Bool_t     mc, 
					 Bool_t     sat)
{
  if (!fDB) {
    // We should always open the database, since we're not
    // streamingthat object to disk.
    fDB = new AliOADBForward;
  }

  Correction* c = GetCorrection(id);
  if (!c->fEnabled) return true;
  return c->ReadIt(fDB, run, sys, sNN, fld, mc, sat, fDebug, fFallBack);
}

//____________________________________________________________________
Bool_t
AliCorrectionManagerBase::ReadCorrections(ULong_t    run, 
					  UShort_t   sys, 
					  UShort_t   sNN, 
					  Short_t    fld, 
					  Bool_t     mc, 
					  Bool_t     sat)
{
  if (fIsInit) return true;
  if (fRun       == run && 
      fSys       == sys && 
      fField     == fld && 
      fMC        == mc  && 
      fSatellite == sat &&
      TMath::Abs(fSNN - sNN) < 11) { 
    // Already initialized for this - return
    fIsInit = true;
    return true;
  }
  if (!fDB) {
    // We should always open the database, since we're not
    // streamingthat object to disk.
    fDB = new AliOADBForward;
  }

  fRun       = run;
  fSys       = sys; 
  fSNN       = sNN;
  fField     = fld;
  fMC        = mc;
  fSatellite = sat;
  Int_t  n   = fCorrections.GetEntriesFast();
  Bool_t ret = true;
  for (Int_t id = 0; id < n; id++) 
    if (!ReadCorrection(id, run, sys, sNN, fld, mc, sat)) ret = false;
  return ret;
}

//====================================================================
AliCorrectionManagerBase::Correction::Correction() 
  : TNamed(), 
    fCls(0), 
    fClientCls(""),
    fQueryFields(0), 
    fEnabled(false), 
    fLastEntry(),
    fObject(0)
{}

//____________________________________________________________________
AliCorrectionManagerBase::Correction::Correction(const TString& tableName, 
						 const TString& fileName, 
						 TClass*        cls,
						 UShort_t       fields,
						 Bool_t         enabled) 
  : TNamed(tableName, fileName), 
    fCls(cls), 
    fClientCls(cls->GetName()),
    fQueryFields(fields), 
    fEnabled(enabled), 
    fLastEntry(""),
    fObject(0)
{}

//____________________________________________________________________
AliCorrectionManagerBase::Correction::Correction(const Correction& o)
  : TNamed(o), 
    fCls(o.fCls), 
    fClientCls(o.fClientCls),
    fQueryFields(o.fQueryFields),
    fEnabled(o.fEnabled), 
    fLastEntry(o.fLastEntry),
    fObject(o.fObject)
{}

//____________________________________________________________________
AliCorrectionManagerBase::Correction&
AliCorrectionManagerBase::Correction::operator=(const Correction& o)
{
  if (&o == this) return *this;
  SetName(o.GetName());
  SetTitle(o.GetTitle());
  fCls       	   = o.fCls;
  //fClientCls       = o.fClientCls;
  fQueryFields     = o.fQueryFields;
  fEnabled   	   = o.fEnabled;
  fLastEntry 	   = o.fLastEntry;
  fObject    	   = o.fObject;
  return *this;
}

//____________________________________________________________________
void
AliCorrectionManagerBase::Correction::MassageFields(ULong_t&  run,
						    UShort_t& sys,
						    UShort_t& sNN, 
						    Short_t & fld, 
						    Bool_t&   mc, 
						    Bool_t&   sat) const
{
  // Massage fields according to settings 
  if (!(fQueryFields & kRun))       run = kIgnoreValue;
  if (!(fQueryFields & kSys))       sys = kIgnoreValue;
  if (!(fQueryFields & kSNN))       sNN = kIgnoreValue;
  if (!(fQueryFields & kField))     fld = AliOADBForward::kInvalidField; 
  if (!(fQueryFields & kMC))        mc  = false;
  if (!(fQueryFields & kSatellite)) sat = false;
}

//____________________________________________________________________
Bool_t
AliCorrectionManagerBase::Correction::OpenIt(AliOADBForward* db, 
					     Bool_t vrb, 
					     Bool_t fallback) const
{
  if (!db) {
    Warning("OpenIt", "No DB passed");
    return false;
  }

  // Check if table is open
  if (db->FindTable(fName, true)) return true;

  //  if not try to open it 
  if (db->Open(fTitle, fName, false, vrb, fallback)) return true;

  // Give warning 
  AliWarningF("Failed to open table %s from %s", GetName(), GetTitle());
  AliWarningF("content of %s for %s:", 
	      gSystem->WorkingDirectory(), GetName());
  gSystem->Exec("pwd; ls -l");
  return false;
}
 
//____________________________________________________________________
Bool_t
AliCorrectionManagerBase::Correction::ReadIt(AliOADBForward* db, 
					     ULong_t         run, 
					     UShort_t        sys, 
					     UShort_t        sNN, 
					     Short_t         fld, 
					     Bool_t          mc, 
					     Bool_t          sat,
					     Bool_t          vrb,
					     Bool_t          fallback)
{
  if (!fEnabled) {
    AliWarningF("Correction %s not enabled", GetName());
    return 0;
  }

  // Assume failure 
  fObject = 0;

  // Massage fields according to settings 
  MassageFields(run, sys, sNN, fld, mc, sat);

  if (!OpenIt(db, vrb, fallback)) return false;

  // Query database 
  AliOADBForward::Entry* e = db->Get(fName, run, AliOADBForward::kDefault, 
				     sys, sNN, fld, mc, sat);
  // Check return value 
  if (!e || !e->fData) {
    AliWarningF("Failed to get %s from database in %s with "
		"run=%lu sys=%hu sNN=%hu fld=%hd %s %s", 
		GetName(), GetTitle(), run, sys, sNN, fld, 
		(mc ? "MC" : "real"), (sat ? "satellite" : "nominal"));
    return false;
  }

  // Ge the returned data
  TObject* o = e->fData;

  const TClass* cl = TheClass();
  // Check return class 
  if (!o->IsA()->InheritsFrom(cl)) { 
    AliWarningF("%p is not pointer to a %s object but a %s", 
		o, fCls->GetName(), o->ClassName());
    return false;
  }

  // Success 
  fObject    = o;
  fLastEntry = e->GetTitle();

  return true;
}

//____________________________________________________________________
Bool_t
AliCorrectionManagerBase::Correction::StoreIt(AliOADBForward* db, 
					      TObject*        obj,
					      ULong_t         run, 
					      UShort_t        sys, 
					      UShort_t        sNN, 
					      Short_t         fld, 
					      Bool_t          mc, 
					      Bool_t          sat,
					      const char*     file, 
					      const char*     meth) const
{
  // Info("StoreIt", "Storing run=%lu sys=%hy sNN=%d fld=%d mc=%d sat=%d", 
  //       run, sys, sNN, fld, mc, sat);
  const TClass* cl = TheClass();

  // Check value class 
  if (!obj->IsA()->InheritsFrom(cl)) { 
    AliWarningF("%p is not pointer to a %s object but a %s", 
		obj, cl->GetName(), obj->ClassName());
    return false;
  }

  Bool_t          local    = file || !db;
  TString         fileName = (local ? file : fTitle.Data());
  AliOADBForward* tdb      = (local ? new AliOADBForward : db);
  
  // Try to open the table read/write 
  if (!tdb->Open(fileName, Form("%s/%s", GetName(), meth), true, false)) {
    AliWarningF("Failed to open table %s in %s", GetName(), fileName.Data());
    return false;
  }

  // Massage fields according to settings 
  MassageFields(run, sys, sNN, fld, mc, sat);
  
  // Try to insert the object 
  if (!tdb->Insert(fName, obj, run, sys, sNN, fld, mc, sat)) { 
    AliWarningF("Failed to insert into %s off database in %s with "
		"run=%lu sys=%hu sNN=%hu fld=%hd %s %s", 
		GetName(), GetTitle(), run, sys, sNN, fld, 
		(mc ? "MC" : "real"), (sat ? "satellite" : "nominal"));
    return false;
  }

  if (local) { 
    tdb->Close();
    delete tdb;

    AliInfoF("Correction object %s written to DB in %s - merge this with "
	     "%s to store for good", obj->GetName(), fileName.Data(), 
	     GetTitle());
  }

  // Success 
  return true;
}
//____________________________________________________________________
TObject*
AliCorrectionManagerBase::Correction::Get()   
{
  if (!fEnabled) {
    AliWarningF("Correction %s not enabled", GetName());
    return 0;
  }
  return fObject;
}
//____________________________________________________________________
const TObject*
AliCorrectionManagerBase::Correction::Get() const
{
  if (!fEnabled) {
    AliWarningF("Correction %s not enabled", GetName());
    return 0;
  }
  return fObject;
}

//____________________________________________________________________
const TClass*
AliCorrectionManagerBase::Correction::TheClass() const
{
  if (fCls) return fCls;
  if (fClientCls.IsNull()) { 
    AliErrorF("No class name set for correction %s", GetName());
    return 0;
  }
  fCls = gROOT->GetClass(fClientCls);
  if (!fCls) { 
    AliErrorF("Couldn't get class %s for correction %s", 
	      fClientCls.Data(), GetName());
    return 0;
  }
  return fCls;
}

//____________________________________________________________________
void
AliCorrectionManagerBase::Correction::Print(Option_t* option) const
{
  AliForwardUtil::PrintTask(*this);
  gROOT->IncreaseDirLevel();
  PFB("Enabled", fEnabled);
  if (!fEnabled) {
    gROOT->DecreaseDirLevel();
    return;
  }

  TString flds;
  if (fQueryFields & kRun)       flds.Append("run");
  if (fQueryFields & kSys)       flds.Append("|sys");
  if (fQueryFields & kSNN)       flds.Append("|sNN");
  if (fQueryFields & kField)     flds.Append("|field");
  if (fQueryFields & kMC)        flds.Append("|MC");
  if (fQueryFields & kSatellite) flds.Append("|Satellite");
  if (flds.BeginsWith("|")) flds.Remove(0,1);

  const TClass* cl = TheClass();

  PFV("Path",GetTitle());
  PFV("Data class", cl->GetName());
  PFV("Query fields", flds);
  
  if (fObject && !fLastEntry.IsNull())  PF("Entry", fLastEntry);
  
  TString opt(option);
  opt.ToUpper();
  if (opt.Contains("D") && fObject) {
    gROOT->IncreaseDirLevel();
    fObject->Print();
    gROOT->DecreaseDirLevel();
  }
  gROOT->DecreaseDirLevel();
}

//____________________________________________________________________
void
AliCorrectionManagerBase::Correction::Browse(TBrowser* b)
{
  b->Add(const_cast<TClass*>(fCls), "Class");
  TString flds;
  if (fQueryFields & kRun)       flds.Append("run");
  if (fQueryFields & kSys)       flds.Append("|sys");
  if (fQueryFields & kSNN)       flds.Append("|sNN");
  if (fQueryFields & kField)     flds.Append("|field");
  if (fQueryFields & kMC)        flds.Append("|MC");
  if (fQueryFields & kSatellite) flds.Append("|Satellite");
  if (flds.BeginsWith("|")) flds.Remove(0,1);

  b->Add(new TObjString(flds), "Query fields");
  b->Add(new TParameter<bool>("Enabled", fEnabled));
  b->Add(new TObjString(fLastEntry), "Entry");
  if (fObject) b->Add(fObject);
}
//____________________________________________________________________
Bool_t
AliCorrectionManagerBase::Correction::CleanIt(AliOADBForward* db,
					      const TString& dest,
					      Bool_t verb) const
{
  // Open the table for this correction 
  if (!OpenIt(db, verb , false)) {
    Warning("CleanIt", "Failed to open table for %s", GetName());
    return false;
  }

  // Get our table - should be here if the above succeeded
  AliOADBForward::Table* t = db->FindTable(fName, !verb);
  if (!t) {
    Warning("CleanIt", "Failed to get table for %s", GetName());
    return false;
  }

  // Get some pointers and make a bit mask of entries to copy
  TTree* tree = t->fTree;
  Int_t  nEnt = tree->GetEntries();
  TBits  copy(nEnt);
  copy.ResetAllBits(false);
  // TString runs;

  // Loop over all entries 
  Info("CleanIt", "Looping over %d entries in tree", nEnt);
  for (Int_t i = 0; i < nEnt; i++) { 
    // Read in next entry 
    tree->GetEntry(i);

    // Check if we got an object 
    AliOADBForward::Entry* e = t->fEntry;    
    if (!e) continue;
    
    // Let's see it 
    // if (verb) e->Print();

    // Now query the DB with this entry's fields 
    ULong_t  run = e->fRunNo;
    UShort_t sys = e->fSys;
    UShort_t sNN = e->fSNN;
    Short_t  fld = e->fField;
    Bool_t   mc  = e->fMC;
    Bool_t   sat = e->fSatellite;
    TString  txt = e->GetTitle();
    MassageFields(run, sys, sNN, fld, mc, sat);

    
    Int_t r = t->GetEntry(run, AliOADBForward::kDefault, 
			  sys, sNN, fld, mc, sat);
    if (r < 0) { 
      Warning("CleanIt","Uh! didn't get an entry for %s (%d)",
	      txt.Data(), i);
      r = i;
      // continue;
    }
#if 0
    // Here, we hard-code some fixes to remove bad entries 
    if (fld != AliOADBForward::kInvalidField) {
      switch (sys) {
      case 1:
	if      (sNN ==  900 &&  fld <= 0) r = -1;
	else if (sNN == 7000 &&  fld >= 0) r = -1;
	else if (sNN == 2760 &&  fld >= 0) r = -1;
	break;
      case 2:
	if (fld >= 0) r = -1;
	break;
      }
    }
#endif

    Printf("%-10s (%3d %3d): %s %s", 
	   (i==r ? "copied" : "ignored"), i, r, txt.Data(), GetName());

    if (r != i) continue;

    // If the entry found by the query and this entry is the same, 
    // then we should keep it 
	 copy.SetBitNumber(i,true);
    // runs.Append(Form("%7lu", run));
  }
  
  // Now loop over the entries of the tree again, this time 
  // checking if we should copy or not. 
  // Loop over all entries 
  for (Int_t i = 0; i < nEnt; i++) { 
    // If not marked for copy, continue to the next. 
    if (!copy.TestBitNumber(i)) continue; 

    // Read in next entry 
    tree->GetEntry(i);

    // Check if we got an object 
    AliOADBForward::Entry* e = t->fEntry;    
    if (!e) continue;
  
    // Let's get the entry data and store that in a new correction
    // table
    ULong_t  run = e->fRunNo;
    UShort_t sys = e->fSys;
    UShort_t sNN = e->fSNN;
    Short_t  fld = e->fField;
    Bool_t   mc  = e->fMC;
    Bool_t   sat = e->fSatellite;
    TObject* obj = e->fData;
    TString  txt = e->GetTitle();
    Printf("Storing %3d: %s %s", i, txt.Data(), GetName());
    if (!StoreIt(0, obj, run, sys, sNN, fld, mc, sat, dest.Data(),
		 AliOADBForward::Mode2String(t->fMode))) {
      Warning("CleanIt", "Failed to write new entry to %s", dest.Data());
      continue;
    }
  }
  // Printf("Runs: %s", runs.Data());
  return true;
}

//
// EOF
//
 AliCorrectionManagerBase.cxx:1
 AliCorrectionManagerBase.cxx:2
 AliCorrectionManagerBase.cxx:3
 AliCorrectionManagerBase.cxx:4
 AliCorrectionManagerBase.cxx:5
 AliCorrectionManagerBase.cxx:6
 AliCorrectionManagerBase.cxx:7
 AliCorrectionManagerBase.cxx:8
 AliCorrectionManagerBase.cxx:9
 AliCorrectionManagerBase.cxx:10
 AliCorrectionManagerBase.cxx:11
 AliCorrectionManagerBase.cxx:12
 AliCorrectionManagerBase.cxx:13
 AliCorrectionManagerBase.cxx:14
 AliCorrectionManagerBase.cxx:15
 AliCorrectionManagerBase.cxx:16
 AliCorrectionManagerBase.cxx:17
 AliCorrectionManagerBase.cxx:18
 AliCorrectionManagerBase.cxx:19
 AliCorrectionManagerBase.cxx:20
 AliCorrectionManagerBase.cxx:21
 AliCorrectionManagerBase.cxx:22
 AliCorrectionManagerBase.cxx:23
 AliCorrectionManagerBase.cxx:24
 AliCorrectionManagerBase.cxx:25
 AliCorrectionManagerBase.cxx:26
 AliCorrectionManagerBase.cxx:27
 AliCorrectionManagerBase.cxx:28
 AliCorrectionManagerBase.cxx:29
 AliCorrectionManagerBase.cxx:30
 AliCorrectionManagerBase.cxx:31
 AliCorrectionManagerBase.cxx:32
 AliCorrectionManagerBase.cxx:33
 AliCorrectionManagerBase.cxx:34
 AliCorrectionManagerBase.cxx:35
 AliCorrectionManagerBase.cxx:36
 AliCorrectionManagerBase.cxx:37
 AliCorrectionManagerBase.cxx:38
 AliCorrectionManagerBase.cxx:39
 AliCorrectionManagerBase.cxx:40
 AliCorrectionManagerBase.cxx:41
 AliCorrectionManagerBase.cxx:42
 AliCorrectionManagerBase.cxx:43
 AliCorrectionManagerBase.cxx:44
 AliCorrectionManagerBase.cxx:45
 AliCorrectionManagerBase.cxx:46
 AliCorrectionManagerBase.cxx:47
 AliCorrectionManagerBase.cxx:48
 AliCorrectionManagerBase.cxx:49
 AliCorrectionManagerBase.cxx:50
 AliCorrectionManagerBase.cxx:51
 AliCorrectionManagerBase.cxx:52
 AliCorrectionManagerBase.cxx:53
 AliCorrectionManagerBase.cxx:54
 AliCorrectionManagerBase.cxx:55
 AliCorrectionManagerBase.cxx:56
 AliCorrectionManagerBase.cxx:57
 AliCorrectionManagerBase.cxx:58
 AliCorrectionManagerBase.cxx:59
 AliCorrectionManagerBase.cxx:60
 AliCorrectionManagerBase.cxx:61
 AliCorrectionManagerBase.cxx:62
 AliCorrectionManagerBase.cxx:63
 AliCorrectionManagerBase.cxx:64
 AliCorrectionManagerBase.cxx:65
 AliCorrectionManagerBase.cxx:66
 AliCorrectionManagerBase.cxx:67
 AliCorrectionManagerBase.cxx:68
 AliCorrectionManagerBase.cxx:69
 AliCorrectionManagerBase.cxx:70
 AliCorrectionManagerBase.cxx:71
 AliCorrectionManagerBase.cxx:72
 AliCorrectionManagerBase.cxx:73
 AliCorrectionManagerBase.cxx:74
 AliCorrectionManagerBase.cxx:75
 AliCorrectionManagerBase.cxx:76
 AliCorrectionManagerBase.cxx:77
 AliCorrectionManagerBase.cxx:78
 AliCorrectionManagerBase.cxx:79
 AliCorrectionManagerBase.cxx:80
 AliCorrectionManagerBase.cxx:81
 AliCorrectionManagerBase.cxx:82
 AliCorrectionManagerBase.cxx:83
 AliCorrectionManagerBase.cxx:84
 AliCorrectionManagerBase.cxx:85
 AliCorrectionManagerBase.cxx:86
 AliCorrectionManagerBase.cxx:87
 AliCorrectionManagerBase.cxx:88
 AliCorrectionManagerBase.cxx:89
 AliCorrectionManagerBase.cxx:90
 AliCorrectionManagerBase.cxx:91
 AliCorrectionManagerBase.cxx:92
 AliCorrectionManagerBase.cxx:93
 AliCorrectionManagerBase.cxx:94
 AliCorrectionManagerBase.cxx:95
 AliCorrectionManagerBase.cxx:96
 AliCorrectionManagerBase.cxx:97
 AliCorrectionManagerBase.cxx:98
 AliCorrectionManagerBase.cxx:99
 AliCorrectionManagerBase.cxx:100
 AliCorrectionManagerBase.cxx:101
 AliCorrectionManagerBase.cxx:102
 AliCorrectionManagerBase.cxx:103
 AliCorrectionManagerBase.cxx:104
 AliCorrectionManagerBase.cxx:105
 AliCorrectionManagerBase.cxx:106
 AliCorrectionManagerBase.cxx:107
 AliCorrectionManagerBase.cxx:108
 AliCorrectionManagerBase.cxx:109
 AliCorrectionManagerBase.cxx:110
 AliCorrectionManagerBase.cxx:111
 AliCorrectionManagerBase.cxx:112
 AliCorrectionManagerBase.cxx:113
 AliCorrectionManagerBase.cxx:114
 AliCorrectionManagerBase.cxx:115
 AliCorrectionManagerBase.cxx:116
 AliCorrectionManagerBase.cxx:117
 AliCorrectionManagerBase.cxx:118
 AliCorrectionManagerBase.cxx:119
 AliCorrectionManagerBase.cxx:120
 AliCorrectionManagerBase.cxx:121
 AliCorrectionManagerBase.cxx:122
 AliCorrectionManagerBase.cxx:123
 AliCorrectionManagerBase.cxx:124
 AliCorrectionManagerBase.cxx:125
 AliCorrectionManagerBase.cxx:126
 AliCorrectionManagerBase.cxx:127
 AliCorrectionManagerBase.cxx:128
 AliCorrectionManagerBase.cxx:129
 AliCorrectionManagerBase.cxx:130
 AliCorrectionManagerBase.cxx:131
 AliCorrectionManagerBase.cxx:132
 AliCorrectionManagerBase.cxx:133
 AliCorrectionManagerBase.cxx:134
 AliCorrectionManagerBase.cxx:135
 AliCorrectionManagerBase.cxx:136
 AliCorrectionManagerBase.cxx:137
 AliCorrectionManagerBase.cxx:138
 AliCorrectionManagerBase.cxx:139
 AliCorrectionManagerBase.cxx:140
 AliCorrectionManagerBase.cxx:141
 AliCorrectionManagerBase.cxx:142
 AliCorrectionManagerBase.cxx:143
 AliCorrectionManagerBase.cxx:144
 AliCorrectionManagerBase.cxx:145
 AliCorrectionManagerBase.cxx:146
 AliCorrectionManagerBase.cxx:147
 AliCorrectionManagerBase.cxx:148
 AliCorrectionManagerBase.cxx:149
 AliCorrectionManagerBase.cxx:150
 AliCorrectionManagerBase.cxx:151
 AliCorrectionManagerBase.cxx:152
 AliCorrectionManagerBase.cxx:153
 AliCorrectionManagerBase.cxx:154
 AliCorrectionManagerBase.cxx:155
 AliCorrectionManagerBase.cxx:156
 AliCorrectionManagerBase.cxx:157
 AliCorrectionManagerBase.cxx:158
 AliCorrectionManagerBase.cxx:159
 AliCorrectionManagerBase.cxx:160
 AliCorrectionManagerBase.cxx:161
 AliCorrectionManagerBase.cxx:162
 AliCorrectionManagerBase.cxx:163
 AliCorrectionManagerBase.cxx:164
 AliCorrectionManagerBase.cxx:165
 AliCorrectionManagerBase.cxx:166
 AliCorrectionManagerBase.cxx:167
 AliCorrectionManagerBase.cxx:168
 AliCorrectionManagerBase.cxx:169
 AliCorrectionManagerBase.cxx:170
 AliCorrectionManagerBase.cxx:171
 AliCorrectionManagerBase.cxx:172
 AliCorrectionManagerBase.cxx:173
 AliCorrectionManagerBase.cxx:174
 AliCorrectionManagerBase.cxx:175
 AliCorrectionManagerBase.cxx:176
 AliCorrectionManagerBase.cxx:177
 AliCorrectionManagerBase.cxx:178
 AliCorrectionManagerBase.cxx:179
 AliCorrectionManagerBase.cxx:180
 AliCorrectionManagerBase.cxx:181
 AliCorrectionManagerBase.cxx:182
 AliCorrectionManagerBase.cxx:183
 AliCorrectionManagerBase.cxx:184
 AliCorrectionManagerBase.cxx:185
 AliCorrectionManagerBase.cxx:186
 AliCorrectionManagerBase.cxx:187
 AliCorrectionManagerBase.cxx:188
 AliCorrectionManagerBase.cxx:189
 AliCorrectionManagerBase.cxx:190
 AliCorrectionManagerBase.cxx:191
 AliCorrectionManagerBase.cxx:192
 AliCorrectionManagerBase.cxx:193
 AliCorrectionManagerBase.cxx:194
 AliCorrectionManagerBase.cxx:195
 AliCorrectionManagerBase.cxx:196
 AliCorrectionManagerBase.cxx:197
 AliCorrectionManagerBase.cxx:198
 AliCorrectionManagerBase.cxx:199
 AliCorrectionManagerBase.cxx:200
 AliCorrectionManagerBase.cxx:201
 AliCorrectionManagerBase.cxx:202
 AliCorrectionManagerBase.cxx:203
 AliCorrectionManagerBase.cxx:204
 AliCorrectionManagerBase.cxx:205
 AliCorrectionManagerBase.cxx:206
 AliCorrectionManagerBase.cxx:207
 AliCorrectionManagerBase.cxx:208
 AliCorrectionManagerBase.cxx:209
 AliCorrectionManagerBase.cxx:210
 AliCorrectionManagerBase.cxx:211
 AliCorrectionManagerBase.cxx:212
 AliCorrectionManagerBase.cxx:213
 AliCorrectionManagerBase.cxx:214
 AliCorrectionManagerBase.cxx:215
 AliCorrectionManagerBase.cxx:216
 AliCorrectionManagerBase.cxx:217
 AliCorrectionManagerBase.cxx:218
 AliCorrectionManagerBase.cxx:219
 AliCorrectionManagerBase.cxx:220
 AliCorrectionManagerBase.cxx:221
 AliCorrectionManagerBase.cxx:222
 AliCorrectionManagerBase.cxx:223
 AliCorrectionManagerBase.cxx:224
 AliCorrectionManagerBase.cxx:225
 AliCorrectionManagerBase.cxx:226
 AliCorrectionManagerBase.cxx:227
 AliCorrectionManagerBase.cxx:228
 AliCorrectionManagerBase.cxx:229
 AliCorrectionManagerBase.cxx:230
 AliCorrectionManagerBase.cxx:231
 AliCorrectionManagerBase.cxx:232
 AliCorrectionManagerBase.cxx:233
 AliCorrectionManagerBase.cxx:234
 AliCorrectionManagerBase.cxx:235
 AliCorrectionManagerBase.cxx:236
 AliCorrectionManagerBase.cxx:237
 AliCorrectionManagerBase.cxx:238
 AliCorrectionManagerBase.cxx:239
 AliCorrectionManagerBase.cxx:240
 AliCorrectionManagerBase.cxx:241
 AliCorrectionManagerBase.cxx:242
 AliCorrectionManagerBase.cxx:243
 AliCorrectionManagerBase.cxx:244
 AliCorrectionManagerBase.cxx:245
 AliCorrectionManagerBase.cxx:246
 AliCorrectionManagerBase.cxx:247
 AliCorrectionManagerBase.cxx:248
 AliCorrectionManagerBase.cxx:249
 AliCorrectionManagerBase.cxx:250
 AliCorrectionManagerBase.cxx:251
 AliCorrectionManagerBase.cxx:252
 AliCorrectionManagerBase.cxx:253
 AliCorrectionManagerBase.cxx:254
 AliCorrectionManagerBase.cxx:255
 AliCorrectionManagerBase.cxx:256
 AliCorrectionManagerBase.cxx:257
 AliCorrectionManagerBase.cxx:258
 AliCorrectionManagerBase.cxx:259
 AliCorrectionManagerBase.cxx:260
 AliCorrectionManagerBase.cxx:261
 AliCorrectionManagerBase.cxx:262
 AliCorrectionManagerBase.cxx:263
 AliCorrectionManagerBase.cxx:264
 AliCorrectionManagerBase.cxx:265
 AliCorrectionManagerBase.cxx:266
 AliCorrectionManagerBase.cxx:267
 AliCorrectionManagerBase.cxx:268
 AliCorrectionManagerBase.cxx:269
 AliCorrectionManagerBase.cxx:270
 AliCorrectionManagerBase.cxx:271
 AliCorrectionManagerBase.cxx:272
 AliCorrectionManagerBase.cxx:273
 AliCorrectionManagerBase.cxx:274
 AliCorrectionManagerBase.cxx:275
 AliCorrectionManagerBase.cxx:276
 AliCorrectionManagerBase.cxx:277
 AliCorrectionManagerBase.cxx:278
 AliCorrectionManagerBase.cxx:279
 AliCorrectionManagerBase.cxx:280
 AliCorrectionManagerBase.cxx:281
 AliCorrectionManagerBase.cxx:282
 AliCorrectionManagerBase.cxx:283
 AliCorrectionManagerBase.cxx:284
 AliCorrectionManagerBase.cxx:285
 AliCorrectionManagerBase.cxx:286
 AliCorrectionManagerBase.cxx:287
 AliCorrectionManagerBase.cxx:288
 AliCorrectionManagerBase.cxx:289
 AliCorrectionManagerBase.cxx:290
 AliCorrectionManagerBase.cxx:291
 AliCorrectionManagerBase.cxx:292
 AliCorrectionManagerBase.cxx:293
 AliCorrectionManagerBase.cxx:294
 AliCorrectionManagerBase.cxx:295
 AliCorrectionManagerBase.cxx:296
 AliCorrectionManagerBase.cxx:297
 AliCorrectionManagerBase.cxx:298
 AliCorrectionManagerBase.cxx:299
 AliCorrectionManagerBase.cxx:300
 AliCorrectionManagerBase.cxx:301
 AliCorrectionManagerBase.cxx:302
 AliCorrectionManagerBase.cxx:303
 AliCorrectionManagerBase.cxx:304
 AliCorrectionManagerBase.cxx:305
 AliCorrectionManagerBase.cxx:306
 AliCorrectionManagerBase.cxx:307
 AliCorrectionManagerBase.cxx:308
 AliCorrectionManagerBase.cxx:309
 AliCorrectionManagerBase.cxx:310
 AliCorrectionManagerBase.cxx:311
 AliCorrectionManagerBase.cxx:312
 AliCorrectionManagerBase.cxx:313
 AliCorrectionManagerBase.cxx:314
 AliCorrectionManagerBase.cxx:315
 AliCorrectionManagerBase.cxx:316
 AliCorrectionManagerBase.cxx:317
 AliCorrectionManagerBase.cxx:318
 AliCorrectionManagerBase.cxx:319
 AliCorrectionManagerBase.cxx:320
 AliCorrectionManagerBase.cxx:321
 AliCorrectionManagerBase.cxx:322
 AliCorrectionManagerBase.cxx:323
 AliCorrectionManagerBase.cxx:324
 AliCorrectionManagerBase.cxx:325
 AliCorrectionManagerBase.cxx:326
 AliCorrectionManagerBase.cxx:327
 AliCorrectionManagerBase.cxx:328
 AliCorrectionManagerBase.cxx:329
 AliCorrectionManagerBase.cxx:330
 AliCorrectionManagerBase.cxx:331
 AliCorrectionManagerBase.cxx:332
 AliCorrectionManagerBase.cxx:333
 AliCorrectionManagerBase.cxx:334
 AliCorrectionManagerBase.cxx:335
 AliCorrectionManagerBase.cxx:336
 AliCorrectionManagerBase.cxx:337
 AliCorrectionManagerBase.cxx:338
 AliCorrectionManagerBase.cxx:339
 AliCorrectionManagerBase.cxx:340
 AliCorrectionManagerBase.cxx:341
 AliCorrectionManagerBase.cxx:342
 AliCorrectionManagerBase.cxx:343
 AliCorrectionManagerBase.cxx:344
 AliCorrectionManagerBase.cxx:345
 AliCorrectionManagerBase.cxx:346
 AliCorrectionManagerBase.cxx:347
 AliCorrectionManagerBase.cxx:348
 AliCorrectionManagerBase.cxx:349
 AliCorrectionManagerBase.cxx:350
 AliCorrectionManagerBase.cxx:351
 AliCorrectionManagerBase.cxx:352
 AliCorrectionManagerBase.cxx:353
 AliCorrectionManagerBase.cxx:354
 AliCorrectionManagerBase.cxx:355
 AliCorrectionManagerBase.cxx:356
 AliCorrectionManagerBase.cxx:357
 AliCorrectionManagerBase.cxx:358
 AliCorrectionManagerBase.cxx:359
 AliCorrectionManagerBase.cxx:360
 AliCorrectionManagerBase.cxx:361
 AliCorrectionManagerBase.cxx:362
 AliCorrectionManagerBase.cxx:363
 AliCorrectionManagerBase.cxx:364
 AliCorrectionManagerBase.cxx:365
 AliCorrectionManagerBase.cxx:366
 AliCorrectionManagerBase.cxx:367
 AliCorrectionManagerBase.cxx:368
 AliCorrectionManagerBase.cxx:369
 AliCorrectionManagerBase.cxx:370
 AliCorrectionManagerBase.cxx:371
 AliCorrectionManagerBase.cxx:372
 AliCorrectionManagerBase.cxx:373
 AliCorrectionManagerBase.cxx:374
 AliCorrectionManagerBase.cxx:375
 AliCorrectionManagerBase.cxx:376
 AliCorrectionManagerBase.cxx:377
 AliCorrectionManagerBase.cxx:378
 AliCorrectionManagerBase.cxx:379
 AliCorrectionManagerBase.cxx:380
 AliCorrectionManagerBase.cxx:381
 AliCorrectionManagerBase.cxx:382
 AliCorrectionManagerBase.cxx:383
 AliCorrectionManagerBase.cxx:384
 AliCorrectionManagerBase.cxx:385
 AliCorrectionManagerBase.cxx:386
 AliCorrectionManagerBase.cxx:387
 AliCorrectionManagerBase.cxx:388
 AliCorrectionManagerBase.cxx:389
 AliCorrectionManagerBase.cxx:390
 AliCorrectionManagerBase.cxx:391
 AliCorrectionManagerBase.cxx:392
 AliCorrectionManagerBase.cxx:393
 AliCorrectionManagerBase.cxx:394
 AliCorrectionManagerBase.cxx:395
 AliCorrectionManagerBase.cxx:396
 AliCorrectionManagerBase.cxx:397
 AliCorrectionManagerBase.cxx:398
 AliCorrectionManagerBase.cxx:399
 AliCorrectionManagerBase.cxx:400
 AliCorrectionManagerBase.cxx:401
 AliCorrectionManagerBase.cxx:402
 AliCorrectionManagerBase.cxx:403
 AliCorrectionManagerBase.cxx:404
 AliCorrectionManagerBase.cxx:405
 AliCorrectionManagerBase.cxx:406
 AliCorrectionManagerBase.cxx:407
 AliCorrectionManagerBase.cxx:408
 AliCorrectionManagerBase.cxx:409
 AliCorrectionManagerBase.cxx:410
 AliCorrectionManagerBase.cxx:411
 AliCorrectionManagerBase.cxx:412
 AliCorrectionManagerBase.cxx:413
 AliCorrectionManagerBase.cxx:414
 AliCorrectionManagerBase.cxx:415
 AliCorrectionManagerBase.cxx:416
 AliCorrectionManagerBase.cxx:417
 AliCorrectionManagerBase.cxx:418
 AliCorrectionManagerBase.cxx:419
 AliCorrectionManagerBase.cxx:420
 AliCorrectionManagerBase.cxx:421
 AliCorrectionManagerBase.cxx:422
 AliCorrectionManagerBase.cxx:423
 AliCorrectionManagerBase.cxx:424
 AliCorrectionManagerBase.cxx:425
 AliCorrectionManagerBase.cxx:426
 AliCorrectionManagerBase.cxx:427
 AliCorrectionManagerBase.cxx:428
 AliCorrectionManagerBase.cxx:429
 AliCorrectionManagerBase.cxx:430
 AliCorrectionManagerBase.cxx:431
 AliCorrectionManagerBase.cxx:432
 AliCorrectionManagerBase.cxx:433
 AliCorrectionManagerBase.cxx:434
 AliCorrectionManagerBase.cxx:435
 AliCorrectionManagerBase.cxx:436
 AliCorrectionManagerBase.cxx:437
 AliCorrectionManagerBase.cxx:438
 AliCorrectionManagerBase.cxx:439
 AliCorrectionManagerBase.cxx:440
 AliCorrectionManagerBase.cxx:441
 AliCorrectionManagerBase.cxx:442
 AliCorrectionManagerBase.cxx:443
 AliCorrectionManagerBase.cxx:444
 AliCorrectionManagerBase.cxx:445
 AliCorrectionManagerBase.cxx:446
 AliCorrectionManagerBase.cxx:447
 AliCorrectionManagerBase.cxx:448
 AliCorrectionManagerBase.cxx:449
 AliCorrectionManagerBase.cxx:450
 AliCorrectionManagerBase.cxx:451
 AliCorrectionManagerBase.cxx:452
 AliCorrectionManagerBase.cxx:453
 AliCorrectionManagerBase.cxx:454
 AliCorrectionManagerBase.cxx:455
 AliCorrectionManagerBase.cxx:456
 AliCorrectionManagerBase.cxx:457
 AliCorrectionManagerBase.cxx:458
 AliCorrectionManagerBase.cxx:459
 AliCorrectionManagerBase.cxx:460
 AliCorrectionManagerBase.cxx:461
 AliCorrectionManagerBase.cxx:462
 AliCorrectionManagerBase.cxx:463
 AliCorrectionManagerBase.cxx:464
 AliCorrectionManagerBase.cxx:465
 AliCorrectionManagerBase.cxx:466
 AliCorrectionManagerBase.cxx:467
 AliCorrectionManagerBase.cxx:468
 AliCorrectionManagerBase.cxx:469
 AliCorrectionManagerBase.cxx:470
 AliCorrectionManagerBase.cxx:471
 AliCorrectionManagerBase.cxx:472
 AliCorrectionManagerBase.cxx:473
 AliCorrectionManagerBase.cxx:474
 AliCorrectionManagerBase.cxx:475
 AliCorrectionManagerBase.cxx:476
 AliCorrectionManagerBase.cxx:477
 AliCorrectionManagerBase.cxx:478
 AliCorrectionManagerBase.cxx:479
 AliCorrectionManagerBase.cxx:480
 AliCorrectionManagerBase.cxx:481
 AliCorrectionManagerBase.cxx:482
 AliCorrectionManagerBase.cxx:483
 AliCorrectionManagerBase.cxx:484
 AliCorrectionManagerBase.cxx:485
 AliCorrectionManagerBase.cxx:486
 AliCorrectionManagerBase.cxx:487
 AliCorrectionManagerBase.cxx:488
 AliCorrectionManagerBase.cxx:489
 AliCorrectionManagerBase.cxx:490
 AliCorrectionManagerBase.cxx:491
 AliCorrectionManagerBase.cxx:492
 AliCorrectionManagerBase.cxx:493
 AliCorrectionManagerBase.cxx:494
 AliCorrectionManagerBase.cxx:495
 AliCorrectionManagerBase.cxx:496
 AliCorrectionManagerBase.cxx:497
 AliCorrectionManagerBase.cxx:498
 AliCorrectionManagerBase.cxx:499
 AliCorrectionManagerBase.cxx:500
 AliCorrectionManagerBase.cxx:501
 AliCorrectionManagerBase.cxx:502
 AliCorrectionManagerBase.cxx:503
 AliCorrectionManagerBase.cxx:504
 AliCorrectionManagerBase.cxx:505
 AliCorrectionManagerBase.cxx:506
 AliCorrectionManagerBase.cxx:507
 AliCorrectionManagerBase.cxx:508
 AliCorrectionManagerBase.cxx:509
 AliCorrectionManagerBase.cxx:510
 AliCorrectionManagerBase.cxx:511
 AliCorrectionManagerBase.cxx:512
 AliCorrectionManagerBase.cxx:513
 AliCorrectionManagerBase.cxx:514
 AliCorrectionManagerBase.cxx:515
 AliCorrectionManagerBase.cxx:516
 AliCorrectionManagerBase.cxx:517
 AliCorrectionManagerBase.cxx:518
 AliCorrectionManagerBase.cxx:519
 AliCorrectionManagerBase.cxx:520
 AliCorrectionManagerBase.cxx:521
 AliCorrectionManagerBase.cxx:522
 AliCorrectionManagerBase.cxx:523
 AliCorrectionManagerBase.cxx:524
 AliCorrectionManagerBase.cxx:525
 AliCorrectionManagerBase.cxx:526
 AliCorrectionManagerBase.cxx:527
 AliCorrectionManagerBase.cxx:528
 AliCorrectionManagerBase.cxx:529
 AliCorrectionManagerBase.cxx:530
 AliCorrectionManagerBase.cxx:531
 AliCorrectionManagerBase.cxx:532
 AliCorrectionManagerBase.cxx:533
 AliCorrectionManagerBase.cxx:534
 AliCorrectionManagerBase.cxx:535
 AliCorrectionManagerBase.cxx:536
 AliCorrectionManagerBase.cxx:537
 AliCorrectionManagerBase.cxx:538
 AliCorrectionManagerBase.cxx:539
 AliCorrectionManagerBase.cxx:540
 AliCorrectionManagerBase.cxx:541
 AliCorrectionManagerBase.cxx:542
 AliCorrectionManagerBase.cxx:543
 AliCorrectionManagerBase.cxx:544
 AliCorrectionManagerBase.cxx:545
 AliCorrectionManagerBase.cxx:546
 AliCorrectionManagerBase.cxx:547
 AliCorrectionManagerBase.cxx:548
 AliCorrectionManagerBase.cxx:549
 AliCorrectionManagerBase.cxx:550
 AliCorrectionManagerBase.cxx:551
 AliCorrectionManagerBase.cxx:552
 AliCorrectionManagerBase.cxx:553
 AliCorrectionManagerBase.cxx:554
 AliCorrectionManagerBase.cxx:555
 AliCorrectionManagerBase.cxx:556
 AliCorrectionManagerBase.cxx:557
 AliCorrectionManagerBase.cxx:558
 AliCorrectionManagerBase.cxx:559
 AliCorrectionManagerBase.cxx:560
 AliCorrectionManagerBase.cxx:561
 AliCorrectionManagerBase.cxx:562
 AliCorrectionManagerBase.cxx:563
 AliCorrectionManagerBase.cxx:564
 AliCorrectionManagerBase.cxx:565
 AliCorrectionManagerBase.cxx:566
 AliCorrectionManagerBase.cxx:567
 AliCorrectionManagerBase.cxx:568
 AliCorrectionManagerBase.cxx:569
 AliCorrectionManagerBase.cxx:570
 AliCorrectionManagerBase.cxx:571
 AliCorrectionManagerBase.cxx:572
 AliCorrectionManagerBase.cxx:573
 AliCorrectionManagerBase.cxx:574
 AliCorrectionManagerBase.cxx:575
 AliCorrectionManagerBase.cxx:576
 AliCorrectionManagerBase.cxx:577
 AliCorrectionManagerBase.cxx:578
 AliCorrectionManagerBase.cxx:579
 AliCorrectionManagerBase.cxx:580
 AliCorrectionManagerBase.cxx:581
 AliCorrectionManagerBase.cxx:582
 AliCorrectionManagerBase.cxx:583
 AliCorrectionManagerBase.cxx:584
 AliCorrectionManagerBase.cxx:585
 AliCorrectionManagerBase.cxx:586
 AliCorrectionManagerBase.cxx:587
 AliCorrectionManagerBase.cxx:588
 AliCorrectionManagerBase.cxx:589
 AliCorrectionManagerBase.cxx:590
 AliCorrectionManagerBase.cxx:591
 AliCorrectionManagerBase.cxx:592
 AliCorrectionManagerBase.cxx:593
 AliCorrectionManagerBase.cxx:594
 AliCorrectionManagerBase.cxx:595
 AliCorrectionManagerBase.cxx:596
 AliCorrectionManagerBase.cxx:597
 AliCorrectionManagerBase.cxx:598
 AliCorrectionManagerBase.cxx:599
 AliCorrectionManagerBase.cxx:600
 AliCorrectionManagerBase.cxx:601
 AliCorrectionManagerBase.cxx:602
 AliCorrectionManagerBase.cxx:603
 AliCorrectionManagerBase.cxx:604
 AliCorrectionManagerBase.cxx:605
 AliCorrectionManagerBase.cxx:606
 AliCorrectionManagerBase.cxx:607
 AliCorrectionManagerBase.cxx:608
 AliCorrectionManagerBase.cxx:609
 AliCorrectionManagerBase.cxx:610
 AliCorrectionManagerBase.cxx:611
 AliCorrectionManagerBase.cxx:612
 AliCorrectionManagerBase.cxx:613
 AliCorrectionManagerBase.cxx:614
 AliCorrectionManagerBase.cxx:615
 AliCorrectionManagerBase.cxx:616
 AliCorrectionManagerBase.cxx:617
 AliCorrectionManagerBase.cxx:618
 AliCorrectionManagerBase.cxx:619
 AliCorrectionManagerBase.cxx:620
 AliCorrectionManagerBase.cxx:621
 AliCorrectionManagerBase.cxx:622
 AliCorrectionManagerBase.cxx:623
 AliCorrectionManagerBase.cxx:624
 AliCorrectionManagerBase.cxx:625
 AliCorrectionManagerBase.cxx:626
 AliCorrectionManagerBase.cxx:627
 AliCorrectionManagerBase.cxx:628
 AliCorrectionManagerBase.cxx:629
 AliCorrectionManagerBase.cxx:630
 AliCorrectionManagerBase.cxx:631
 AliCorrectionManagerBase.cxx:632
 AliCorrectionManagerBase.cxx:633
 AliCorrectionManagerBase.cxx:634
 AliCorrectionManagerBase.cxx:635
 AliCorrectionManagerBase.cxx:636
 AliCorrectionManagerBase.cxx:637
 AliCorrectionManagerBase.cxx:638
 AliCorrectionManagerBase.cxx:639
 AliCorrectionManagerBase.cxx:640
 AliCorrectionManagerBase.cxx:641
 AliCorrectionManagerBase.cxx:642
 AliCorrectionManagerBase.cxx:643
 AliCorrectionManagerBase.cxx:644
 AliCorrectionManagerBase.cxx:645
 AliCorrectionManagerBase.cxx:646
 AliCorrectionManagerBase.cxx:647
 AliCorrectionManagerBase.cxx:648
 AliCorrectionManagerBase.cxx:649
 AliCorrectionManagerBase.cxx:650
 AliCorrectionManagerBase.cxx:651
 AliCorrectionManagerBase.cxx:652
 AliCorrectionManagerBase.cxx:653
 AliCorrectionManagerBase.cxx:654
 AliCorrectionManagerBase.cxx:655
 AliCorrectionManagerBase.cxx:656
 AliCorrectionManagerBase.cxx:657
 AliCorrectionManagerBase.cxx:658
 AliCorrectionManagerBase.cxx:659
 AliCorrectionManagerBase.cxx:660
 AliCorrectionManagerBase.cxx:661
 AliCorrectionManagerBase.cxx:662
 AliCorrectionManagerBase.cxx:663
 AliCorrectionManagerBase.cxx:664
 AliCorrectionManagerBase.cxx:665
 AliCorrectionManagerBase.cxx:666
 AliCorrectionManagerBase.cxx:667
 AliCorrectionManagerBase.cxx:668
 AliCorrectionManagerBase.cxx:669
 AliCorrectionManagerBase.cxx:670
 AliCorrectionManagerBase.cxx:671
 AliCorrectionManagerBase.cxx:672
 AliCorrectionManagerBase.cxx:673
 AliCorrectionManagerBase.cxx:674
 AliCorrectionManagerBase.cxx:675
 AliCorrectionManagerBase.cxx:676
 AliCorrectionManagerBase.cxx:677
 AliCorrectionManagerBase.cxx:678
 AliCorrectionManagerBase.cxx:679
 AliCorrectionManagerBase.cxx:680
 AliCorrectionManagerBase.cxx:681
 AliCorrectionManagerBase.cxx:682
 AliCorrectionManagerBase.cxx:683
 AliCorrectionManagerBase.cxx:684
 AliCorrectionManagerBase.cxx:685
 AliCorrectionManagerBase.cxx:686
 AliCorrectionManagerBase.cxx:687
 AliCorrectionManagerBase.cxx:688
 AliCorrectionManagerBase.cxx:689
 AliCorrectionManagerBase.cxx:690
 AliCorrectionManagerBase.cxx:691
 AliCorrectionManagerBase.cxx:692
 AliCorrectionManagerBase.cxx:693
 AliCorrectionManagerBase.cxx:694
 AliCorrectionManagerBase.cxx:695
 AliCorrectionManagerBase.cxx:696
 AliCorrectionManagerBase.cxx:697
 AliCorrectionManagerBase.cxx:698
 AliCorrectionManagerBase.cxx:699
 AliCorrectionManagerBase.cxx:700
 AliCorrectionManagerBase.cxx:701
 AliCorrectionManagerBase.cxx:702
 AliCorrectionManagerBase.cxx:703
 AliCorrectionManagerBase.cxx:704
 AliCorrectionManagerBase.cxx:705
 AliCorrectionManagerBase.cxx:706
 AliCorrectionManagerBase.cxx:707
 AliCorrectionManagerBase.cxx:708
 AliCorrectionManagerBase.cxx:709
 AliCorrectionManagerBase.cxx:710
 AliCorrectionManagerBase.cxx:711
 AliCorrectionManagerBase.cxx:712
 AliCorrectionManagerBase.cxx:713
 AliCorrectionManagerBase.cxx:714
 AliCorrectionManagerBase.cxx:715
 AliCorrectionManagerBase.cxx:716
 AliCorrectionManagerBase.cxx:717
 AliCorrectionManagerBase.cxx:718
 AliCorrectionManagerBase.cxx:719
 AliCorrectionManagerBase.cxx:720
 AliCorrectionManagerBase.cxx:721
 AliCorrectionManagerBase.cxx:722
 AliCorrectionManagerBase.cxx:723
 AliCorrectionManagerBase.cxx:724
 AliCorrectionManagerBase.cxx:725
 AliCorrectionManagerBase.cxx:726
 AliCorrectionManagerBase.cxx:727
 AliCorrectionManagerBase.cxx:728
 AliCorrectionManagerBase.cxx:729
 AliCorrectionManagerBase.cxx:730
 AliCorrectionManagerBase.cxx:731
 AliCorrectionManagerBase.cxx:732
 AliCorrectionManagerBase.cxx:733
 AliCorrectionManagerBase.cxx:734
 AliCorrectionManagerBase.cxx:735
 AliCorrectionManagerBase.cxx:736
 AliCorrectionManagerBase.cxx:737
 AliCorrectionManagerBase.cxx:738
 AliCorrectionManagerBase.cxx:739
 AliCorrectionManagerBase.cxx:740
 AliCorrectionManagerBase.cxx:741
 AliCorrectionManagerBase.cxx:742
 AliCorrectionManagerBase.cxx:743
 AliCorrectionManagerBase.cxx:744
 AliCorrectionManagerBase.cxx:745
 AliCorrectionManagerBase.cxx:746
 AliCorrectionManagerBase.cxx:747
 AliCorrectionManagerBase.cxx:748
 AliCorrectionManagerBase.cxx:749
 AliCorrectionManagerBase.cxx:750
 AliCorrectionManagerBase.cxx:751
 AliCorrectionManagerBase.cxx:752
 AliCorrectionManagerBase.cxx:753
 AliCorrectionManagerBase.cxx:754
 AliCorrectionManagerBase.cxx:755
 AliCorrectionManagerBase.cxx:756
 AliCorrectionManagerBase.cxx:757
 AliCorrectionManagerBase.cxx:758
 AliCorrectionManagerBase.cxx:759
 AliCorrectionManagerBase.cxx:760
 AliCorrectionManagerBase.cxx:761
 AliCorrectionManagerBase.cxx:762
 AliCorrectionManagerBase.cxx:763
 AliCorrectionManagerBase.cxx:764
 AliCorrectionManagerBase.cxx:765
 AliCorrectionManagerBase.cxx:766
 AliCorrectionManagerBase.cxx:767
 AliCorrectionManagerBase.cxx:768
 AliCorrectionManagerBase.cxx:769
 AliCorrectionManagerBase.cxx:770
 AliCorrectionManagerBase.cxx:771
 AliCorrectionManagerBase.cxx:772
 AliCorrectionManagerBase.cxx:773
 AliCorrectionManagerBase.cxx:774
 AliCorrectionManagerBase.cxx:775
 AliCorrectionManagerBase.cxx:776
 AliCorrectionManagerBase.cxx:777
 AliCorrectionManagerBase.cxx:778
 AliCorrectionManagerBase.cxx:779
 AliCorrectionManagerBase.cxx:780
 AliCorrectionManagerBase.cxx:781
 AliCorrectionManagerBase.cxx:782
 AliCorrectionManagerBase.cxx:783
 AliCorrectionManagerBase.cxx:784
 AliCorrectionManagerBase.cxx:785
 AliCorrectionManagerBase.cxx:786
 AliCorrectionManagerBase.cxx:787
 AliCorrectionManagerBase.cxx:788
 AliCorrectionManagerBase.cxx:789
 AliCorrectionManagerBase.cxx:790
 AliCorrectionManagerBase.cxx:791
 AliCorrectionManagerBase.cxx:792
 AliCorrectionManagerBase.cxx:793
 AliCorrectionManagerBase.cxx:794
 AliCorrectionManagerBase.cxx:795
 AliCorrectionManagerBase.cxx:796
 AliCorrectionManagerBase.cxx:797
 AliCorrectionManagerBase.cxx:798
 AliCorrectionManagerBase.cxx:799
 AliCorrectionManagerBase.cxx:800
 AliCorrectionManagerBase.cxx:801
 AliCorrectionManagerBase.cxx:802
 AliCorrectionManagerBase.cxx:803
 AliCorrectionManagerBase.cxx:804
 AliCorrectionManagerBase.cxx:805
 AliCorrectionManagerBase.cxx:806
 AliCorrectionManagerBase.cxx:807
 AliCorrectionManagerBase.cxx:808
 AliCorrectionManagerBase.cxx:809
 AliCorrectionManagerBase.cxx:810
 AliCorrectionManagerBase.cxx:811
 AliCorrectionManagerBase.cxx:812
 AliCorrectionManagerBase.cxx:813
 AliCorrectionManagerBase.cxx:814
 AliCorrectionManagerBase.cxx:815
 AliCorrectionManagerBase.cxx:816
 AliCorrectionManagerBase.cxx:817
 AliCorrectionManagerBase.cxx:818
 AliCorrectionManagerBase.cxx:819
 AliCorrectionManagerBase.cxx:820
 AliCorrectionManagerBase.cxx:821
 AliCorrectionManagerBase.cxx:822
 AliCorrectionManagerBase.cxx:823
 AliCorrectionManagerBase.cxx:824
 AliCorrectionManagerBase.cxx:825
 AliCorrectionManagerBase.cxx:826
 AliCorrectionManagerBase.cxx:827
 AliCorrectionManagerBase.cxx:828
 AliCorrectionManagerBase.cxx:829
 AliCorrectionManagerBase.cxx:830
 AliCorrectionManagerBase.cxx:831
 AliCorrectionManagerBase.cxx:832
 AliCorrectionManagerBase.cxx:833
 AliCorrectionManagerBase.cxx:834
 AliCorrectionManagerBase.cxx:835
 AliCorrectionManagerBase.cxx:836
 AliCorrectionManagerBase.cxx:837
 AliCorrectionManagerBase.cxx:838
 AliCorrectionManagerBase.cxx:839
 AliCorrectionManagerBase.cxx:840
 AliCorrectionManagerBase.cxx:841
 AliCorrectionManagerBase.cxx:842
 AliCorrectionManagerBase.cxx:843
 AliCorrectionManagerBase.cxx:844
 AliCorrectionManagerBase.cxx:845
 AliCorrectionManagerBase.cxx:846
 AliCorrectionManagerBase.cxx:847
 AliCorrectionManagerBase.cxx:848
 AliCorrectionManagerBase.cxx:849
 AliCorrectionManagerBase.cxx:850
 AliCorrectionManagerBase.cxx:851
 AliCorrectionManagerBase.cxx:852
 AliCorrectionManagerBase.cxx:853
 AliCorrectionManagerBase.cxx:854
 AliCorrectionManagerBase.cxx:855
 AliCorrectionManagerBase.cxx:856
 AliCorrectionManagerBase.cxx:857
 AliCorrectionManagerBase.cxx:858
 AliCorrectionManagerBase.cxx:859
 AliCorrectionManagerBase.cxx:860
 AliCorrectionManagerBase.cxx:861
 AliCorrectionManagerBase.cxx:862
 AliCorrectionManagerBase.cxx:863
 AliCorrectionManagerBase.cxx:864
 AliCorrectionManagerBase.cxx:865
 AliCorrectionManagerBase.cxx:866
 AliCorrectionManagerBase.cxx:867
 AliCorrectionManagerBase.cxx:868
 AliCorrectionManagerBase.cxx:869
 AliCorrectionManagerBase.cxx:870
 AliCorrectionManagerBase.cxx:871
 AliCorrectionManagerBase.cxx:872
 AliCorrectionManagerBase.cxx:873
 AliCorrectionManagerBase.cxx:874
 AliCorrectionManagerBase.cxx:875
 AliCorrectionManagerBase.cxx:876
 AliCorrectionManagerBase.cxx:877
 AliCorrectionManagerBase.cxx:878
 AliCorrectionManagerBase.cxx:879
 AliCorrectionManagerBase.cxx:880
 AliCorrectionManagerBase.cxx:881
 AliCorrectionManagerBase.cxx:882
 AliCorrectionManagerBase.cxx:883
 AliCorrectionManagerBase.cxx:884
 AliCorrectionManagerBase.cxx:885
 AliCorrectionManagerBase.cxx:886
 AliCorrectionManagerBase.cxx:887
 AliCorrectionManagerBase.cxx:888
 AliCorrectionManagerBase.cxx:889
 AliCorrectionManagerBase.cxx:890
 AliCorrectionManagerBase.cxx:891
 AliCorrectionManagerBase.cxx:892
 AliCorrectionManagerBase.cxx:893
 AliCorrectionManagerBase.cxx:894
 AliCorrectionManagerBase.cxx:895
 AliCorrectionManagerBase.cxx:896
 AliCorrectionManagerBase.cxx:897
 AliCorrectionManagerBase.cxx:898
 AliCorrectionManagerBase.cxx:899
 AliCorrectionManagerBase.cxx:900
 AliCorrectionManagerBase.cxx:901
 AliCorrectionManagerBase.cxx:902
 AliCorrectionManagerBase.cxx:903
 AliCorrectionManagerBase.cxx:904
 AliCorrectionManagerBase.cxx:905
 AliCorrectionManagerBase.cxx:906
 AliCorrectionManagerBase.cxx:907
 AliCorrectionManagerBase.cxx:908
 AliCorrectionManagerBase.cxx:909
 AliCorrectionManagerBase.cxx:910
 AliCorrectionManagerBase.cxx:911
 AliCorrectionManagerBase.cxx:912
 AliCorrectionManagerBase.cxx:913
 AliCorrectionManagerBase.cxx:914
 AliCorrectionManagerBase.cxx:915
 AliCorrectionManagerBase.cxx:916
 AliCorrectionManagerBase.cxx:917
 AliCorrectionManagerBase.cxx:918
 AliCorrectionManagerBase.cxx:919
 AliCorrectionManagerBase.cxx:920
 AliCorrectionManagerBase.cxx:921
 AliCorrectionManagerBase.cxx:922
 AliCorrectionManagerBase.cxx:923
 AliCorrectionManagerBase.cxx:924
 AliCorrectionManagerBase.cxx:925
 AliCorrectionManagerBase.cxx:926
 AliCorrectionManagerBase.cxx:927
 AliCorrectionManagerBase.cxx:928
 AliCorrectionManagerBase.cxx:929
 AliCorrectionManagerBase.cxx:930
 AliCorrectionManagerBase.cxx:931
 AliCorrectionManagerBase.cxx:932
 AliCorrectionManagerBase.cxx:933
 AliCorrectionManagerBase.cxx:934
 AliCorrectionManagerBase.cxx:935
 AliCorrectionManagerBase.cxx:936
 AliCorrectionManagerBase.cxx:937
 AliCorrectionManagerBase.cxx:938
 AliCorrectionManagerBase.cxx:939
 AliCorrectionManagerBase.cxx:940
 AliCorrectionManagerBase.cxx:941
 AliCorrectionManagerBase.cxx:942
 AliCorrectionManagerBase.cxx:943
 AliCorrectionManagerBase.cxx:944
 AliCorrectionManagerBase.cxx:945