本文整理汇总了C++中AliCDBManager::Put方法的典型用法代码示例。如果您正苦于以下问题:C++ AliCDBManager::Put方法的具体用法?C++ AliCDBManager::Put怎么用?C++ AliCDBManager::Put使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AliCDBManager
的用法示例。
在下文中一共展示了AliCDBManager::Put方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: MakeVZEROTimeDelaysEntryRun2
void MakeVZEROTimeDelaysEntryRun2()
{
AliCDBManager *man = AliCDBManager::Instance();
man->SetDefaultStorage("local://./OCDB");
// Creation of the time delays OCDB object
const Double_t timeShift[66] = {0.0 , 263.453366 , 263.554201 , 263.455896 , 263.705908 , 263.178068 , 263.260511 , 263.352692 , 263.371615 , 264.275609 , 263.022590 , 263.923256 , 263.477724 , 263.328535 , 263.338143 , 263.684347 , 263.636735 , 264.240256 , 264.704787 , 263.341181 , 265.875077 , 264.362158 , 264.009584 , 263.985062 , 264.507631 , 264.711630 , 264.702209 , 264.983539 , 265.156149 , 265.340929 , 265.185957 , 265.402229 , 267.060006 , 260.193899 , 260.831277 , 260.870380 , 260.231921 , 259.848971 , 263.069287 , 262.829099 , 261.297212 , 260.468547 , 260.962657 , 260.754787 , 260.782074 , 260.244392 , 263.248285 , 262.224661 , 259.936356 , 262.307604 , 262.698634 , 262.259535 , 262.425491 , 262.041006 , 264.711811 , 264.537483 , 262.019158 , 263.940932 , 263.309260 , 263.819921 , 264.324985 , 263.419804 , 265.954522 , 266.150658 , 263.942502 , 0.0};
TH1F *delays = new TH1F("VZEROTimeDelays","VZERO Time delays",64,-0.5,63.5);
delays->SetContent(timeShift);
AliCDBMetaData *md= new AliCDBMetaData(); // metaData describing the object
md->SetResponsible("Brigitte Cheynis");
md->SetBeamPeriod(0);
md->SetAliRootVersion(gSystem->Getenv("ARVERSION"));
md->SetComment("Time delays channel by channel for Run2");
md->PrintMetaData();
AliCDBId id("VZERO/Calib/TimeDelays",215011,AliCDBRunRange::Infinity());
man->Put(delays, id, md);
delete md;
}
示例2: MakeADLightYieldsEntry
void MakeADLightYieldsEntry(const char *outputCDB = "local://$ALICE_ROOT/../AliRoot/OCDB")
{
AliCDBManager *man = AliCDBManager::Instance();
man->SetDefaultStorage(outputCDB);
// Creation of the light yields OCDB object
const Double_t lightYieldCorr[18] = {0.0,
2.2e-4,2.2e-4,2.2e-4,2.2e-4, 2.2e-4,2.2e-4,2.2e-4,2.2e-4,
2.4e-4,2.4e-4,2.6e-4,2.6e-4, 2.4e-4,2.4e-4,2.6e-4,2.6e-4,
0.0};
TH1F *yields = new TH1F("ADLightYields", "AD Light Yields", 16, -0.5, 15.5);
yields->SetContent(lightYieldCorr);
AliCDBMetaData *md = new AliCDBMetaData(); // metaData describing the object
md->SetResponsible("Michal Broz");
md->SetBeamPeriod(0);
md->SetAliRootVersion(gSystem->Getenv("ARVERSION"));
md->SetComment("Light Yields channel by channel");
md->PrintMetaData();
AliCDBId id("AD/Calib/LightYields", 0, AliCDBRunRange::Infinity());
man->Put(yields, id, md);
delete md;
}
示例3: ChangeRunRange
Bool_t ChangeRunRange(const char* objectPath,
int run1=0, int run2=AliCDBRunRange::Infinity(),
const char* inputOCDB="alien://folder=/alice/data/2013/OCDB",
const char* outputOCDB="alien://folder=/alice/cern.ch/user/l/laphecet/OCDB2013")
{
AliCDBManager* man = AliCDBManager::Instance();
man->SetDefaultStorage(inputOCDB);
AliCDBEntry* e = man->Get(objectPath,AliCDBRunRange::Infinity());
if (!e)
{
cout << Form("ERROR : could not get %s from %s",objectPath,inputOCDB) << endl;
return kFALSE;
}
e->GetId().SetRunRange(run1,run2);
AliCDBMetaData* md = e->GetMetaData();
md->SetResponsible("L. Aphecetche and P. Pillot"); // to insure we have no $Id$ in the metadata fields (see https://savannah.cern.ch/bugs/?95527)
man->SetDefaultStorage(outputOCDB);
return man->Put(e->GetObject(),e->GetId(),e->GetMetaData());
}
示例4: MakeLHCClockPhaseEntry
void MakeLHCClockPhaseEntry(const char *cdbStorage = "local://$ALICE_ROOT/OCDB")
{
// Example macro to put in OCDB the default (=0) LHC-clock phase
// It is valid fro runs from 0 to inf
// The timestamp range is also inf (we store the first and last value for
// each beam)
AliCDBManager *man = AliCDBManager::Instance();
man->SetDefaultStorage(cdbStorage);
AliLHCClockPhase phaseObj;
phaseObj.AddPhaseB1DP(0,0.);
phaseObj.AddPhaseB2DP(0,0.);
phaseObj.AddPhaseB1DP(2147483647,0.);
phaseObj.AddPhaseB2DP(2147483647,0.);
AliCDBMetaData* metadata = new AliCDBMetaData();
metadata->SetResponsible("Cvetan Cheshkov");
metadata->SetComment("Default LHC-clock phase object");
AliCDBId id("GRP/Calib/LHCClockPhase",0,AliCDBRunRange::Infinity());
man->Put(&phaseObj,id,metadata);
return;
}
示例5: MakeVZEROTimeDelaysEntry
void MakeVZEROTimeDelaysEntry()
{
AliCDBManager *man = AliCDBManager::Instance();
man->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
// Creation of the time delays OCDB object
const Double_t timeShift[66] = {0.0 , 0.477957 , 0.0889999 , 0.757669 , 0.205439 , 0.239666 , -0.183705 , 0.442873 , -0.281366 , 0.260976 , 0.788995 , 0.974758 , 0.548532 , 0.495023 , 0.868472 , 0.661167 , 0.358307 , 0.221243 , 0.530179 , 1.26696 , 1.33082 , 1.27086 , 1.77133 , 1.10253 , 0.634806+0.885 , 2.14838 , 1.50212 , 1.59253 , 1.66122+0.740 , 1.16957 , 1.52056 , 1.47791 , 1.81905 , -1.94123 , -1.29124-0.350 , -2.16045 , -1.78939 , -3.11111 , -1.87178 , -1.57671-0.560 , -1.70311 , -1.81208 , -1.94475 , -2.53058+0.930 , -1.7042 , -2.08109 , -1.84416 , -0.61073 , -1.77145 , 0.16999 , -0.0585339 , 0.00401133 , 0.397726 , 0.851111 , 0.264187 , 0.59573 , -0.158263 , 0.584362 , 1.20835 , 0.927573 , 1.13895 , 0.64648 , 2.18747 , 1.68909 , 0.451194 , 0.0};
TH1F *delays = new TH1F("VZEROTimeDelays","VZERO Time delays",64,-0.5,63.5);
delays->SetContent(timeShift);
AliCDBMetaData *md= new AliCDBMetaData(); // metaData describing the object
md->SetResponsible("Brigitte Cheynis");
md->SetBeamPeriod(0);
md->SetAliRootVersion(gSystem->Getenv("ARVERSION"));
md->SetComment("Time delays channel by channel for year >= 2012");
md->PrintMetaData();
AliCDBId id("VZERO/Calib/TimeDelays",0,AliCDBRunRange::Infinity());
man->Put(delays, id, md);
delete md;
}
示例6: MakeADTimeDelaysEntry
void MakeADTimeDelaysEntry(const char *outputCDB = "local://$ALICE_ROOT/../AliRoot/OCDB")
{
AliCDBManager *man = AliCDBManager::Instance();
man->SetDefaultStorage(outputCDB);
// Creation of the time delays OCDB object
//const Double_t timeShift[18] = {0.0, 203.2, 203.4, 203.5, 203.0, 203.4, 203.5, 203.1, 203.2, 194.2, 194.4, 194.5, 194.2, 194.7, 194.5, 194.3, 192.8, 0.0};
const Double_t timeShift[18] = {0.0, 61.6091, 61.1891, 60.5191, 61.3591, 60.7691, 62.0291, 61.1091, 61.4591, 62.3491, 62.7891, 59.7791, 60.0991, 63.3091, 62.7691, 59.6491, 61.5091, 0.0};
TH1F *delays = new TH1F("ADTimeDelays", "AD Time delays", 16, -0.5, 15.5);
delays->SetContent(timeShift);
AliCDBMetaData *md= new AliCDBMetaData(); // metaData describing the object
md->SetResponsible("Michal Broz");
md->SetBeamPeriod(0);
md->SetAliRootVersion(gSystem->Getenv("ARVERSION"));
md->SetComment("Time delays channel by channel");
md->PrintMetaData();
AliCDBStorage *storLoc = man->GetDefaultStorage();
AliCDBId id("AD/Calib/TimeDelays", 0, AliCDBRunRange::Infinity());
man->Put(delays, id, md);
delete md;
}
示例7: MakeQAThresholdsEntry
void MakeQAThresholdsEntry(const char* storageUri="local://$ALICE_ROOT/../AliRoot/OCDB", Int_t firstRun=0, Int_t lastRun=999999999)
{
AliCDBManager *cdb = AliCDBManager::Instance();
cdb->SetDefaultStorage(storageUri);
// QAThresholds
TObjArray* qaThrArray = new TObjArray();
for (Int_t idet = 0; idet < AliDAQ::kNDetectors; idet++){
TString detName = AliDAQ::OnlineName(idet);
if (detName == "TRI" || detName == "HLT" || detName == "TST") continue; // skipping TRI, HLT, TST since they do not produce QAThresholds
Printf("Processing QAThreshold for detector %s",detName.Data());
TString inFile(gSystem->ExpandPathName("$ALICE_ROOT/../AliRoot/GRP/ShuttleInput/"));
inFile += "run000168322_";
inFile += detName;
inFile += "_DQM_QAThresholds";
Printf("Opening QAThreshold file %s", inFile.Data());
TFile dqmFile(inFile.Data(),"READ");
if (dqmFile.IsOpen()) {
AliQAThresholds* qaThr = dynamic_cast<AliQAThresholds*>(dqmFile.Get(detName.Data()));
if (qaThr){
Int_t qaThrId = qaThr->GetDetectorId();
if (qaThrId != idet){
Printf("ERROR: Expecting QA threshold for detector %s, but found that for detector %s, skipping",detName.Data(), AliDAQ::OnlineName(qaThrId));
continue;
}
else{
qaThrArray->AddAtAndExpand(qaThr, qaThrId);
}
}
else {
Printf("ERROR: No QAThresholds object found in the file for detector %s, skipping",detName.Data());
continue;
}
}
else {
Printf("ERROR: Can't open QAThreshold file for detector %s, skipping",detName.Data());
continue;
}
}
if (qaThrArray->GetEntries() > 0){
AliCDBMetaData md;
md.SetResponsible("Barthélémy von Haller");
md.SetComment("QA Threshold TObjArray");
AliCDBId id("GRP/Calib/QAThresholds", firstRun, lastRun);
cdb->Put(qaThrArray, id, &md);
}
else{
Printf("No valid QAThresholds entries found, storing nothing in the OCDB");
}
}
示例8: id
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; 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->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);
}
示例9: MakeLHCDataEntry
//.........这里部分代码省略.........
while (iDataQuality < nDataQuality){
Printf("iDataQuality = %d",iDataQuality);
AliDCSArray* dataQuality = (AliDCSArray*)dataQualityArray->At(iDataQuality);
if (dataQuality->GetTimeStamp()>=timeDataQualityStart && dataQuality->GetTimeStamp()<=timeEnd){ // considering only values between the first valid and the end of the run
Bool_t dataQualityFlag = dataQuality->GetBool(0);
Printf("DataQuality = %d (set at %f)",(Int_t)dataQualityFlag,dataQuality->GetTimeStamp());
if (dataQualityFlag == kTRUE){
// found TRUE value, continuing
iDataQuality++;
continue;
}
else{
/*
// the check was already done before
if (iDataQuality == indexDataQuality) { // the first Data Quality value should be TRUE, but ignoring the problem now...
Printf("ERROR: The first value for the Data Quality MUST be TRUE! Ignoring for now...");
}
*/
falses[iFalse*2] = dataQuality->GetTimeStamp();
foundEndOfFalse = kFALSE;
Int_t iDataQualityNext = iDataQuality+1;
while (iDataQualityNext < nDataQuality){
AliDCSArray* dataQualityNext = (AliDCSArray*)dataQualityArray->At(iDataQualityNext);
if (dataQualityNext->GetTimeStamp()>timeDataQualityStart && dataQualityNext->GetTimeStamp()<=timeEnd && dataQualityNext->GetTimeStamp() > dataQuality->GetTimeStamp()){ // considering only values between the first valid and the end of the run, and subsequent to the current value
Bool_t dataQualityFlagNext = dataQualityNext->GetBool(0);
Printf("DataQualityNext = %d (set at %f)",(Int_t)dataQualityFlagNext,dataQualityNext->GetTimeStamp());
if (dataQualityFlagNext == kTRUE){
// found TRUE value, first FALSE period completed
foundEndOfFalse = kTRUE;
falses[iFalse*2+1] = dataQualityNext->GetTimeStamp();
iFalse++;
break;
}
iDataQualityNext++;
}
}
if (!foundEndOfFalse) {
Printf("Please, note that the last FALSE value lasted until the end of the run");
falses[iFalse*2+1] = timeEnd;
iFalse++;
break;
}
iDataQuality = iDataQualityNext+1;
}
}
}
grpobj->SetNFalseDataQualityFlag(iFalse);
grpobj->SetFalseDataQualityFlagPeriods(falses);
}
}
}
delete dataQualityArray;
}
else{
Printf("ERROR: Data Quality Flag array not found in LHC Data file!!!");
}
// Processing data to go to AliLHCData object
AliLHCData* dt = new AliLHCData(fileName.Data(),timeStart,timeEnd);
// storing AliLHCData in OCDB
if (dt){
Printf(Form("Filled %d records to AliLHCData object",dt->GetData().GetEntriesFast()));
AliCDBMetaData md;
md.SetResponsible("Ruben Shahoyan");
md.SetComment("LHC data from the GRP preprocessor.");
Bool_t result = kTRUE;
AliCDBId id("GRP/GRP/LHCData", 0, AliCDBRunRange::Infinity());
result = cdb->Put(dt, id, &md);
delete dt;
if (!result){
Printf("Problems in storing LHC Data - but not going into Error");
}
}
// processing LHC Phase
TObjArray *beam1phase = lhcReader.ReadSingleLHCDP(fileName.Data(),fgkLHCDataPoints[4]);
TObjArray *beam2phase = lhcReader.ReadSingleLHCDP(fileName.Data(),fgkLHCDataPoints[5]);
if (beam1phase == 0x0 || beam2phase == 0x0){
Printf(Form("Problems in retrieving LHC Clock data from LHC file"));
return 4;
}
AliLHCClockPhase *phaseObj = ProcessLHCClockPhase(beam1phase,beam2phase,timeEnd);
delete beam1phase;
delete beam2phase;
if (phaseObj){
Printf(Form("LHC Phase found"));
AliCDBMetaData mdPhase;
mdPhase.SetResponsible("Cvetan Cheshkov");
mdPhase.SetComment("LHC Clock Phase");
Bool_t result = kTRUE;
AliCDBId id("GRP/Calib/LHCClockPhase", 0, AliCDBRunRange::Infinity());
result = cdb->Put(phaseObj, id, &mdPhase);
delete phaseObj;
if (!result) return 3;
}
else return 4;
return 0;
}
示例10: makeConfigurationObjectT0Reconstruction
/**
* @file makeConfigurationObjectT0Reconstruction.C
* @brief Creation of HLT component configuration objects in OCDB
*
* <pre>
* Usage: aliroot -b -q makeConfigurationObjectT0Reconstruction.C'("param", "uri", runMin, runMax)'
* </pre>
*
* Create an OCDB entry with a TObjString containing param for the
* T0 reconstruction.
*
* Parameters: <br>
* - param (opt) string to be stored in the TObjSting, default empty
* - uri (opt) the OCDB URI, default $ALICE_ROOT
* - runMin (opt) default 0
* - runMax (opt) default 999999999
*
* Current Param :
* - "" <pre> aliroot -b -q makeConfigurationObjectT0Reconstruction.C </pre>
*
* @author Jochen Thaeder <[email protected]>
* @ingroup alihlt_vzero
*/
void makeConfigurationObjectT0Reconstruction(const Char_t* param="", const Char_t* cdbUri=NULL,
Int_t runMin=0, Int_t runMax=AliCDBRunRange::Infinity()) {
// --------------------------------------
// -- Setup CDB
// --------------------------------------
cout<<" makeConfigurationObjectT0Reconstruction "<<endl;
AliCDBManager* man = AliCDBManager::Instance();
if (!man) {
cerr << "Error : Can not get AliCDBManager" << end;
exit;
}
TString storage;
if (!man->IsDefaultStorageSet()) {
if ( cdbUri ) {
storage = cdbUri;
if ( storage.Contains("://") == 0 ) {
storage = "local://";
storage += cdbUri;
}
}
else {
storage="local://$ALICE_ROOT/OCDB";
}
man->SetDefaultStorage(storage);
}
else {
storage = man->GetDefaultStorage()->GetURI();
}
// TString path("HLT/ConfigT0/T0Reconstruction");
TString path("HLT/ConfigT0/T0Calibration");
cout<<path<<endl;
// --------------------------------------
// -- Create Config Object
// --------------------------------------
// here is the actual content of the configuration object
TObjString configParam=param;
TObject *configObj = static_cast<TObject*>(&configParam);
// --------------------------------------
// -- Fill Object
// --------------------------------------
if ( !configObj ) {
cerr << "Error : No configuration object created" << endl;
return;
}
AliCDBPath cdbPath(path);
AliCDBId cdbId(cdbPath, runMin, runMax);
AliCDBMetaData cdbMetaData;
man->Put(configObj, cdbId, &cdbMetaData);
printf("Adding %s type OCDB object to %s [%d,%d] in %s \n",
configObj->ClassName(),
path.Data(),
runMin, runMax, storage.Data());
}
示例11: MakeADRecoParamEntry
//.........这里部分代码省略.........
// Author: Michal Broz
//
//========================================================================
const char* macroname = "MakeADRecoParam.C";
// Activate CDB storage and load geometry from CDB
AliCDBManager* cdb = AliCDBManager::Instance();
cdb->SetDefaultStorage(outputCDB);
cdb->SetRun(0);
TObjArray *recoParamArray = new TObjArray();
{
AliADRecoParam * ADRecoParam = new AliADRecoParam;
ADRecoParam->SetEventSpecie(AliRecoParam::kCosmic);
ADRecoParam->SetStartClock(0);
ADRecoParam->SetEndClock(20);
ADRecoParam->SetNPreClocks(1);
ADRecoParam->SetNPostClocks(10);
ADRecoParam->SetTimeWindowBBALow(-2.5);
ADRecoParam->SetTimeWindowBBAUp(2.5);
ADRecoParam->SetTimeWindowBGALow(-4.0);
ADRecoParam->SetTimeWindowBGAUp(4.0);
ADRecoParam->SetTimeWindowBBCLow(-1.5);
ADRecoParam->SetTimeWindowBBCUp(1.5);
ADRecoParam->SetTimeWindowBGCLow(-2.0);
ADRecoParam->SetTimeWindowBGCUp(2.0);
ADRecoParam->SetAdcThresHold(5);
ADRecoParam->SetMaxResid(1.5);
ADRecoParam->SetResidRise(0.02);
recoParamArray->AddLast(ADRecoParam);
}
{
AliADRecoParam * ADRecoParam = new AliADRecoParam;
ADRecoParam->SetStartClock(0);
ADRecoParam->SetEndClock(20);
ADRecoParam->SetNPreClocks(1);
ADRecoParam->SetNPostClocks(10);
ADRecoParam->SetTimeWindowBBALow(-2.5);
ADRecoParam->SetTimeWindowBBAUp(2.5);
ADRecoParam->SetTimeWindowBGALow(-4.0);
ADRecoParam->SetTimeWindowBGAUp(4.0);
ADRecoParam->SetTimeWindowBBCLow(-1.5);
ADRecoParam->SetTimeWindowBBCUp(1.5);
ADRecoParam->SetTimeWindowBGCLow(-2.0);
ADRecoParam->SetTimeWindowBGCUp(2.0);
ADRecoParam->SetAdcThresHold(5);
ADRecoParam->SetMaxResid(1.5);
ADRecoParam->SetResidRise(0.02);
ADRecoParam->SetEventSpecie(AliRecoParam::kLowMult);
recoParamArray->AddLast(ADRecoParam);
}
{
AliADRecoParam * ADRecoParam = new AliADRecoParam;
ADRecoParam->SetStartClock(9);
ADRecoParam->SetEndClock(11);
ADRecoParam->SetNPostClocks(6);
ADRecoParam->SetTimeWindowBBALow(-2.5);
ADRecoParam->SetTimeWindowBBAUp(2.5);
ADRecoParam->SetTimeWindowBGALow(-4.0);
ADRecoParam->SetTimeWindowBGAUp(4.0);
ADRecoParam->SetTimeWindowBBCLow(-1.5);
ADRecoParam->SetTimeWindowBBCUp(1.5);
ADRecoParam->SetTimeWindowBGCLow(-2.0);
ADRecoParam->SetTimeWindowBGCUp(2.0);
ADRecoParam->SetAdcThresHold(5);
ADRecoParam->SetMaxResid(1.5);
ADRecoParam->SetResidRise(0.02);
ADRecoParam->SetEventSpecie(AliRecoParam::kHighMult);
recoParamArray->AddLast(ADRecoParam);
}
// Set the defaultEventSpecie
Bool_t defaultIsSet = kFALSE;
for(Int_t i =0; i < recoParamArray->GetEntriesFast(); i++) {
AliDetectorRecoParam *param = (AliDetectorRecoParam *)recoParamArray->UncheckedAt(i);
if (!param) continue;
if (defaultEventSpecie & param->GetEventSpecie()) {
param->SetAsDefault();
defaultIsSet = kTRUE;
}
}
if (!defaultIsSet) {
Error(macroname,"The default reconstruction parameters are not set! Exiting...");
return;
}
// save in CDB storage
AliCDBMetaData *md= new AliCDBMetaData();
md->SetResponsible("Michal Broz");
md->SetComment("Reconstruction parameters for AD");
md->SetAliRootVersion(gSystem->Getenv("ARVERSION"));
md->SetBeamPeriod(0);
AliCDBId id("AD/Calib/RecoParam", 0, AliCDBRunRange::Infinity());
cdb->Put(recoParamArray, id, md);
return;
}