// Activate CDB storage and load geometry from CDB
AliCDBManager* cdb = AliCDBManager::Instance();
- if(!cdb->IsDefaultStorageSet()) cdb->SetDefaultStorage("local://$ALICE_ROOT");
+ if(!cdb->IsDefaultStorageSet()) cdb->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
cdb->SetRun(0);
-
- TString Storage;
-
- if( 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
- }
+
+ Bool_t toCdb = TString(gSystem->Getenv("TOCDB")) == TString("kTRUE");
+ TString storage = gSystem->Getenv("STORAGE");
+ TString output = "FMDfullMisalignment.root";
+ if(toCdb) output = storage;
gSystem->Load("libFMDutil.so");
- if( gSystem->Getenv("TOCDB") != TString("kTRUE") ){
- // save on file
- AliFMDAlignFaker faker(AliFMDAlignFaker::kAll, "geometry.root","FMDAlignObjs.root");
- }else{
- // save in CDB storage
- AliFMDAlignFaker faker(AliFMDAlignFaker::kAll, "geometry.root", Storage.Data());
- }
-
- // fRunMax should be changed in the constructor
+ AliFMDAlignFaker::GetGeometry(toCdb, storage);
+ AliFMDAlignFaker* faker = new AliFMDAlignFaker(AliFMDAlignFaker::kAll,
+ "geometry.root",
+ output.Data());
- faker.SetSensorDisplacement(0., 0., 0., 0., 0., 0.);
- faker.SetSensorRotation(0., 0., 0., 0., 0., 0.);
- faker.SetHalfDisplacement(0., 0., 0., 0., 0., 0.);
- faker.SetHalfRotation(0., 0., 0., 0., 0., 0.);
- faker.Exec();
+ faker->SetSensorDisplacement(0., 0., 0., 0., 0., 0.);
+ faker->SetSensorRotation(0., 0., 0., 0., 0., 0.);
+ faker->SetHalfDisplacement(0., 0., 0., 0., 0., 0.);
+ faker->SetHalfRotation(0., 0., 0., 0., 0., 0.);
+ faker->Exec();
+ delete faker;
}