+ // init solenoid field
+ Bool_t bUniformField=kTRUE;
+ AliTracker::SetFieldMap(pRunLoader->GetAliRun()->Field(),bUniformField);
+ Double_t solenoidBz=AliTracker::GetBz();
+ AliCDBManager* man = AliCDBManager::Instance();
+ if (man && man->IsDefaultStorageSet())
+ {
+ const char* cdbSolenoidPath="HLT/ConfigHLT/SolenoidBz";
+ int runNo=pRunLoader->GetHeader()->GetRun();
+ TString cdbSolenoidParam;
+ cdbSolenoidParam.Form("-solenoidBz %f", solenoidBz);
+
+ // check if the entry is already there
+ AliCDBEntry *pEntry = man->Get(cdbSolenoidPath, runNo);
+ TObjString* pString=NULL;
+ if (pEntry) pString=dynamic_cast<TObjString*>(pEntry->GetObject());
+
+ if (!pEntry || !pString || pString->GetString().CompareTo(cdbSolenoidParam)!=0) {
+ TObjString obj(cdbSolenoidParam);
+ AliCDBPath cdbSolenoidEntry(cdbSolenoidPath);
+ AliCDBId cdbSolenoidId(cdbSolenoidEntry, runNo, runNo);
+ AliCDBMetaData cdbMetaData;
+ man->Put(&obj, cdbSolenoidId, &cdbMetaData);
+ }
+ }
+