ROOT logo
//
// Macro to Setup OCDB  
// This is just example macro - using the alien OCDB
// Responsible: marian.ivanov@cern.ch
// To be used:
// 1. Before invocation of the calibration - in the calibration trains
// 2. To setup calibration viewer.
//  
// ConfigOCDB  - setup default and specific data storage
// SetupCustom - user sepcific configuration 
//             - Values in local cache of OCDB are overwritten



void SetupCustom(Int_t run);

void ConfigOCDBAlien(Int_t crun=-1){
  // 
  TGrid * alien =     TGrid::Connect("alien://",0,0,"t"); 
  printf("SETUP OCBD for TPC\n");
  //
  AliCDBManager::Instance()->SetDefaultStorage("raw://");
   
  Int_t run =crun;
  if (run<0) run =0;
  AliCDBManager::Instance()->SetRun(run);
  AliTPCcalibDB::Instance()->SetRun(run);
  SetupCustom(run);
}


void SetupCustom(Int_t run){
  //
  //
  // Custom part - to be empty once we are happy with the calibration
  //
  //
  // Setup magnetic field - In future this should be part of GRP functionality
  //
  AliGRPObject *grp = AliTPCcalibDB::GetGRP(run);
  Float_t current = 0;
  Float_t bz      = 0;
  if (grp){
    current = grp->GetL3Current((AliGRPObject::Stats)0);
    bz = 5*current/30000.;
    printf("Run%d\tL3 current%f\tBz\t%f\n",run,current,bz);
  }
  else{
    printf("Run%d\tL3 current%f\tBz\t%f\n",run,current,bz);
  }
  AliMagF::BMap_t smag = AliMagF::k5kG;
  Double_t bzfac = bz/5;
  Double_t bzfacOrig=bzfac;
  if (TMath::Abs(bzfac)<0.01) {  // force default magnetic field if 0 field used
    bzfac=1;
    bz=5;
  }
  AliMagF * magF = new AliMagF("Maps","Maps", 2, bzfac, 1., smag);
  TGeoGlobalMagField::Instance()->SetField(magF);
  printf("\n\nSET EXB FIELD\t\n\n");
  AliTPCcalibDB::Instance()->SetExBField(magF);
  
  AliTPCClusterParam * paramCl = AliTPCcalibDB::Instance()->GetClusterParam(); 
  AliTPCParam   * paramTPC = AliTPCcalibDB::Instance()->GetParameters();
  paramCl->SetInstance(paramCl);

   if (TMath::Abs(bzfacOrig)<0.05){
    tpcRecoParam->SetUseExBCorrection(kFALSE);
  }
  //
  //
  //
   printf("END of SETUP OCBD for TPC\n");
}


 ConfigOCDBAlien.C:1
 ConfigOCDBAlien.C:2
 ConfigOCDBAlien.C:3
 ConfigOCDBAlien.C:4
 ConfigOCDBAlien.C:5
 ConfigOCDBAlien.C:6
 ConfigOCDBAlien.C:7
 ConfigOCDBAlien.C:8
 ConfigOCDBAlien.C:9
 ConfigOCDBAlien.C:10
 ConfigOCDBAlien.C:11
 ConfigOCDBAlien.C:12
 ConfigOCDBAlien.C:13
 ConfigOCDBAlien.C:14
 ConfigOCDBAlien.C:15
 ConfigOCDBAlien.C:16
 ConfigOCDBAlien.C:17
 ConfigOCDBAlien.C:18
 ConfigOCDBAlien.C:19
 ConfigOCDBAlien.C:20
 ConfigOCDBAlien.C:21
 ConfigOCDBAlien.C:22
 ConfigOCDBAlien.C:23
 ConfigOCDBAlien.C:24
 ConfigOCDBAlien.C:25
 ConfigOCDBAlien.C:26
 ConfigOCDBAlien.C:27
 ConfigOCDBAlien.C:28
 ConfigOCDBAlien.C:29
 ConfigOCDBAlien.C:30
 ConfigOCDBAlien.C:31
 ConfigOCDBAlien.C:32
 ConfigOCDBAlien.C:33
 ConfigOCDBAlien.C:34
 ConfigOCDBAlien.C:35
 ConfigOCDBAlien.C:36
 ConfigOCDBAlien.C:37
 ConfigOCDBAlien.C:38
 ConfigOCDBAlien.C:39
 ConfigOCDBAlien.C:40
 ConfigOCDBAlien.C:41
 ConfigOCDBAlien.C:42
 ConfigOCDBAlien.C:43
 ConfigOCDBAlien.C:44
 ConfigOCDBAlien.C:45
 ConfigOCDBAlien.C:46
 ConfigOCDBAlien.C:47
 ConfigOCDBAlien.C:48
 ConfigOCDBAlien.C:49
 ConfigOCDBAlien.C:50
 ConfigOCDBAlien.C:51
 ConfigOCDBAlien.C:52
 ConfigOCDBAlien.C:53
 ConfigOCDBAlien.C:54
 ConfigOCDBAlien.C:55
 ConfigOCDBAlien.C:56
 ConfigOCDBAlien.C:57
 ConfigOCDBAlien.C:58
 ConfigOCDBAlien.C:59
 ConfigOCDBAlien.C:60
 ConfigOCDBAlien.C:61
 ConfigOCDBAlien.C:62
 ConfigOCDBAlien.C:63
 ConfigOCDBAlien.C:64
 ConfigOCDBAlien.C:65
 ConfigOCDBAlien.C:66
 ConfigOCDBAlien.C:67
 ConfigOCDBAlien.C:68
 ConfigOCDBAlien.C:69
 ConfigOCDBAlien.C:70
 ConfigOCDBAlien.C:71
 ConfigOCDBAlien.C:72
 ConfigOCDBAlien.C:73
 ConfigOCDBAlien.C:74
 ConfigOCDBAlien.C:75
 ConfigOCDBAlien.C:76
 ConfigOCDBAlien.C:77