ROOT logo
UpdateRecoParam(const Int_t runNumber)
{
  // Read the array of PHOS recoparam objects from OCDB and update
  // EMC fitter version to "v4".
  // Write the updated object to OCDB.
  // Yuri Kharlov. 9.12.2011
  //
  /* $Id: UpdateRecoParam.C 53497 2011-12-09 12:22:47Z kharlov $ */

  AliCDBManager::Instance()->SetDefaultStorage("local://./OCDB");
  AliCDBManager::Instance()->SetRun(runNumber);

  AliCDBEntry* cdbEntry = AliCDBManager::Instance()->Get("PHOS/Calib/RecoParam");
  AliCDBMetaData *md = cdbEntry->GetMetaData();
  cout << "Responsible: " << md->GetResponsible() << endl;
  cout << "MD Comment : " << md->GetComment() << endl;
  TObjArray* arrayRecoParam = (TObjArray*)cdbEntry->GetObject();

  cout << "N recoparam = " << arrayRecoParam->GetEntries() << endl;

  AliPHOSRecoParam *rp = 0;
  for (Int_t i=0; i<arrayRecoParam->GetEntries(); i++) {
    rp = (AliPHOSRecoParam*)arrayRecoParam->At(i);
//    printf("RP %d: event specie = %d, fitter version = %s\n",
//	   i,rp->GetEventSpecie(),rp->EMCFitterVersion());
    rp->SetEMCMinE(0.);
  }

  // Writing new recoparam to OCDB

  AliCDBManager* cdb = AliCDBManager::Instance();
  cdb->SetDefaultStorage("local://PHOSRP");

  AliCDBMetaData *md= new AliCDBMetaData();
  md->SetResponsible("Dmitri Peresunko");
  md->SetComment("PHOS recoparameters: EMC minimum energy set to 0. Should be used only for embedding!!");
  AliCDBId id("PHOS/Calib/RecoParam",80000,AliCDBRunRange::Infinity());
  cdb->Put(arrayRecoParam,id, md);

}
//-----------------------------------------------------------------------------

ReadRecoParam(const Int_t runNumber)
{
  // Read the array of PHOS recoparam objects from OCDB and
  // print its content to stdout

  AliCDBManager::Instance()->SetDefaultStorage("local://./OCDB");
  AliCDBManager::Instance()->SetRun(runNumber);

  AliCDBEntry* cdbEntry = AliCDBManager::Instance()->Get("PHOS/Calib/RecoParam");
  AliCDBMetaData *md = cdbEntry->GetMetaData();
  printf("Responsible: %s\n",md->GetResponsible());
  printf("MD Comment : %s\n",md->GetComment());
  TObjArray* arrayRecoParam = (TObjArray*)cdbEntry->GetObject();

  AliPHOSRecoParam *rp = 0;
  for (Int_t i=0; i<arrayRecoParam->GetEntries(); i++) {
    rp = (AliPHOSRecoParam*)arrayRecoParam->At(i);
    printf("Recoparam %d: event specie = %d\n",
	   i,rp->GetEventSpecie());

    printf("\tEMCClusteringThreshold = %g\n",rp->GetEMCClusteringThreshold());
    printf("\tEMCLocalMaxCut         = %g\n",rp->GetEMCLocalMaxCut());
    printf("\tEMCRawDigitThreshold   = %g\n",rp->GetEMCRawDigitThreshold());
    printf("\tEMCMinE                = %g\n",rp->GetEMCMinE());
    printf("\tEMCLogWeight           = %g\n",rp->GetEMCLogWeight());
    printf("\tEMCSampleQualityCut    = %g\n",rp->GetEMCSampleQualityCut());
    printf("\tEMCEcoreRadius         = %g\n",rp->GetEMCEcoreRadius());
    printf("\tEMCEcore2ESD           = %d\n",rp->EMCEcore2ESD());
    printf("\tEMCSubtractPedestals   = %d\n",rp->EMCSubtractPedestals());
    printf("\tEMCToUnfold            = %d\n",rp->EMCToUnfold());
    printf("\tEMCfitter version      = %s\n",rp->EMCFitterVersion());
    printf("\tEMCEnergyCorrectionOn  = %d\n",rp->GetEMCEnergyCorrectionOn());
    printf("\tGlobalAltroOffset      = %f\n",rp->GetGlobalAltroOffset());
    printf("\tGlobalAltroThreshold   = %d\n",rp->GetGlobalAltroThreshold());
    printf("\tTimeGateAmpThresh      = %g\n",rp->GetTimeGateAmpThresh());
    printf("\tTimeGateLow            = %g\n",rp->GetTimeGateLow());
    printf("\tTimeGateHigh           = %g\n",rp->GetTimeGateHigh());
    printf("\tNonlinearityCorrectionVersion = %s\n",rp->GetNonlinearityCorrectionVersion());
  }
}
 UpdateRecoParam.C:1
 UpdateRecoParam.C:2
 UpdateRecoParam.C:3
 UpdateRecoParam.C:4
 UpdateRecoParam.C:5
 UpdateRecoParam.C:6
 UpdateRecoParam.C:7
 UpdateRecoParam.C:8
 UpdateRecoParam.C:9
 UpdateRecoParam.C:10
 UpdateRecoParam.C:11
 UpdateRecoParam.C:12
 UpdateRecoParam.C:13
 UpdateRecoParam.C:14
 UpdateRecoParam.C:15
 UpdateRecoParam.C:16
 UpdateRecoParam.C:17
 UpdateRecoParam.C:18
 UpdateRecoParam.C:19
 UpdateRecoParam.C:20
 UpdateRecoParam.C:21
 UpdateRecoParam.C:22
 UpdateRecoParam.C:23
 UpdateRecoParam.C:24
 UpdateRecoParam.C:25
 UpdateRecoParam.C:26
 UpdateRecoParam.C:27
 UpdateRecoParam.C:28
 UpdateRecoParam.C:29
 UpdateRecoParam.C:30
 UpdateRecoParam.C:31
 UpdateRecoParam.C:32
 UpdateRecoParam.C:33
 UpdateRecoParam.C:34
 UpdateRecoParam.C:35
 UpdateRecoParam.C:36
 UpdateRecoParam.C:37
 UpdateRecoParam.C:38
 UpdateRecoParam.C:39
 UpdateRecoParam.C:40
 UpdateRecoParam.C:41
 UpdateRecoParam.C:42
 UpdateRecoParam.C:43
 UpdateRecoParam.C:44
 UpdateRecoParam.C:45
 UpdateRecoParam.C:46
 UpdateRecoParam.C:47
 UpdateRecoParam.C:48
 UpdateRecoParam.C:49
 UpdateRecoParam.C:50
 UpdateRecoParam.C:51
 UpdateRecoParam.C:52
 UpdateRecoParam.C:53
 UpdateRecoParam.C:54
 UpdateRecoParam.C:55
 UpdateRecoParam.C:56
 UpdateRecoParam.C:57
 UpdateRecoParam.C:58
 UpdateRecoParam.C:59
 UpdateRecoParam.C:60
 UpdateRecoParam.C:61
 UpdateRecoParam.C:62
 UpdateRecoParam.C:63
 UpdateRecoParam.C:64
 UpdateRecoParam.C:65
 UpdateRecoParam.C:66
 UpdateRecoParam.C:67
 UpdateRecoParam.C:68
 UpdateRecoParam.C:69
 UpdateRecoParam.C:70
 UpdateRecoParam.C:71
 UpdateRecoParam.C:72
 UpdateRecoParam.C:73
 UpdateRecoParam.C:74
 UpdateRecoParam.C:75
 UpdateRecoParam.C:76
 UpdateRecoParam.C:77
 UpdateRecoParam.C:78
 UpdateRecoParam.C:79
 UpdateRecoParam.C:80
 UpdateRecoParam.C:81
 UpdateRecoParam.C:82
 UpdateRecoParam.C:83