X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;ds=sidebyside;f=TRD%2FMakeTRDResMisAlignment.C;h=3b2ea18ee54ead4c665b7e7f410fe03c92a72408;hb=28500fe175c3adb991606b74d1e041b6eaf2617e;hp=80783c31589133d10bc12f55b4f88f7540e86772;hpb=5bd470e1b1c911e7926a0c41c3a52937ebef34de;p=u%2Fmrichter%2FAliRoot.git diff --git a/TRD/MakeTRDResMisAlignment.C b/TRD/MakeTRDResMisAlignment.C index 80783c31589..3b2ea18ee54 100644 --- a/TRD/MakeTRDResMisAlignment.C +++ b/TRD/MakeTRDResMisAlignment.C @@ -4,7 +4,12 @@ void MakeTRDResMisAlignment(){ TClonesArray *array = new TClonesArray("AliAlignObjAngles",1000); TClonesArray &alobj = *array; - if(!gGeoManager) TGeoManager::Import("geometry.root"); + if(!AliGeomManager::GetGeometry()){ + if(!(AliCDBManager::Instance())->IsDefaultStorageSet()) + AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT"); + AliCDBManager::Instance()->SetRun(0); + AliGeomManager::LoadGeometry(); + } // needed for the constructors with local coordinates not to fail AliAlignObjAngles a; @@ -25,8 +30,8 @@ void MakeTRDResMisAlignment(){ const char *path; // create the chambers' alignment objects - for (Int_t iLayer = AliAlignObj::kTRD1; iLayer <= AliAlignObj::kTRD6; iLayer++) { - for (Int_t iModule = 0; iModule < AliAlignObj::LayerSize(iLayer); iModule++) { + for (Int_t iLayer = AliGeomManager::kTRD1; iLayer <= AliGeomManager::kTRD6; iLayer++) { + for (Int_t iModule = 0; iModule < AliGeomManager::LayerSize(iLayer); iModule++) { ran.Rannor(dx,rx); ran.Rannor(dy,ry); ran.Rannor(dz,rz); @@ -36,29 +41,45 @@ void MakeTRDResMisAlignment(){ rx*=chrx; ry*=chry; rz*=chrz; - volid = AliAlignObj::LayerToVolUID(iLayer,iModule); - symname = AliAlignObj::SymName(volid); + volid = AliGeomManager::LayerToVolUID(iLayer,iModule); + symname = AliGeomManager::SymName(volid); new(alobj[j++]) AliAlignObjAngles(symname,volid,dx,dy,dz,rx,ry,rz,kFALSE); } } + const char* macroname = "MakeTRDResMisAlignment.C"; if( gSystem->Getenv("TOCDB") != TString("kTRUE") ){ // save on file - TFile f("TRDresidualMisalignment.root","RECREATE"); - if(!f) cerr<<"cannot open file for output\n"; + const char* filename = "TRDresidualMisalignment.root"; + TFile f(filename,"RECREATE"); + if(!f){ + Error(macroname,"cannot open file for output\n"); + return; + } + Info(macroname,"Saving alignment objects to the file %s", filename); f.cd(); f.WriteObject(array,"TRDAlignObjs","kSingleKey"); f.Close(); }else{ // save in CDB storage - const char* Storage = gSystem->Getenv("STORAGE"); + TString 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; + } + Info(macroname,"Saving alignment objects in CDB storage %s", + Storage.Data()); AliCDBManager* cdb = AliCDBManager::Instance(); - AliCDBStorage* storage = cdb->GetStorage(Storage); + AliCDBStorage* storage = cdb->GetStorage(Storage.Data()); + if(!storage){ + Error(macroname,"Unable to open storage %s\n",Storage.Data()); + return; + } AliCDBMetaData* md = new AliCDBMetaData(); md->SetResponsible("Dariusz Miskowiec"); md->SetComment("Residual misalignment for TRD"); md->SetAliRootVersion(gSystem->Getenv("ARVERSION")); - AliCDBId id("TRD/Align/Data",0,9999999); + AliCDBId id("TRD/Align/Data",0,AliCDBRunRange::Infinity()); storage->Put(array,id,md); }