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$ */ AliCDBManager::Instance()->SetDefaultStorage("raw://"); 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; iGetEntries(); i++) { rp = (AliPHOSRecoParam*)arrayRecoParam->At(i); printf("RP %d: event specie = %d, fitter version = %s\n", i,rp->GetEventSpecie(),rp->EMCFitterVersion()); rp->SetEMCFitterVersion("v4"); } // Writing new recoparam to OCDB AliCDBManager* cdb = AliCDBManager::Instance(); cdb->SetDefaultStorage("local://OCDB"); AliCDBMetaData *md= new AliCDBMetaData(); md->SetResponsible("Yuri Kharlov"); md->SetComment("PHOS recoparameters: EMC fitter version is updated to v4"); AliCDBId id("PHOS/Calib/RecoParam",167690,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("raw://"); 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; iGetEntries(); 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()); } }