X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=FMD%2FMakeFMDZeroMisAlignment.C;h=b3048eddc64d01d3e722b8356373614238473969;hb=151f09a884c579e73a42585d267dd360030bda40;hp=5dd40746bc7adc529be9c1090ef70cb4aaa1c71d;hpb=5bd470e1b1c911e7926a0c41c3a52937ebef34de;p=u%2Fmrichter%2FAliRoot.git diff --git a/FMD/MakeFMDZeroMisAlignment.C b/FMD/MakeFMDZeroMisAlignment.C index 5dd40746bc7..b3048eddc64 100644 --- a/FMD/MakeFMDZeroMisAlignment.C +++ b/FMD/MakeFMDZeroMisAlignment.C @@ -2,16 +2,43 @@ void MakeFMDZeroMisAlignment() { // Create TClonesArray of zero-misalignment objects for FMD // - if(!gGeoManager) TGeoManager::Import("geometry.root"); + const char* macroname = "MakeFMDZeroMisAlignment.C"; + + // Activate CDB storage and load geometry from CDB + AliCDBManager* cdb = AliCDBManager::Instance(); + if(!cdb->IsDefaultStorageSet()) cdb->SetDefaultStorage("local://$ALICE_ROOT"); + cdb->SetRun(0); + + TString Storage; + + if( TString(gSystem->Getenv("TOCDB")) == TString("kTRUE") ){ + Storage = gSystem->Getenv("STORAGE"); + if(!Storage.BeginsWith("local://") && !Storage.BeginsWith("alien://")) { + Error(macroname,"STORAGE variable set to %s is not valid. Exiting\n",Storage.Data()); + return; + } + AliCDBStorage* storage = cdb->GetStorage(Storage.Data()); + if(!storage){ + Error(macroname,"Unable to open storage %s\n",Storage.Data()); + return; + } + AliCDBPath path("GRP","Geometry","Data"); + AliCDBEntry *entry = storage->Get(path.GetPath(),cdb->GetRun()); + if(!entry) Fatal(macroname,"Could not get the specified CDB entry!"); + entry->SetOwner(0); + TGeoManager* geom = (TGeoManager*) entry->GetObject(); + AliGeomManager::SetGeometry(geom); + }else{ + AliGeomManager::LoadGeometry(); //load geom from default CDB storage + } gSystem->Load("libFMDutil.so"); - if( gSystem->Getenv("TOCDB") != TString("kTRUE") ){ + if( TString(gSystem->Getenv("TOCDB")) != TString("kTRUE") ){ // save on file AliFMDAlignFaker faker(AliFMDAlignFaker::kAll, "geometry.root","FMDAlignObjs.root"); }else{ // save in CDB storage - const char* Storage = gSystem->Getenv("STORAGE"); - AliFMDAlignFaker faker(AliFMDAlignFaker::kAll, "geometry.root", Storage); + AliFMDAlignFaker faker(AliFMDAlignFaker::kAll, "geometry.root", Storage.Data()); } // fRunMax should be changed in the constructor