1 void MakeTOFZeroMisAlignment(){
2 // Create TClonesArray of zero misalignment objects for TOF
4 TClonesArray *array = new TClonesArray("AliAlignObjParams",2000);
5 TClonesArray &alobj = *array;
6 const char* macroname = "MakeTOFZeroMisAlignment.C";
9 AliGeomManager::ELayerID idTOF = AliGeomManager::kTOF;
12 Double_t dx=0., dy=0., dz=0., dpsi=0., dtheta=0., dphi=0.;
14 for(i=0; i<AliGeomManager::LayerSize(idTOF); i++) {
15 new(alobj[j++]) AliAlignObjParams(AliGeomManager::SymName(idTOF,i), AliGeomManager::LayerToVolUID(idTOF,i), dx, dy, dz, dpsi, dtheta, dphi, kTRUE);
18 if( gSystem->Getenv("TOCDB") != TString("kTRUE") ){
20 const char* filename = "TOFzeroMisalignment.root";
21 TFile f(filename,"RECREATE");
23 Error(macroname,"cannot open file for output\n");
26 Info(macroname,"Saving alignment objects to the file %s", filename);
28 f.WriteObject(array,"TOFAlignObjs","kSingleKey");
31 // save in CDB storage
32 TString Storage = gSystem->Getenv("STORAGE");
33 if(!Storage.BeginsWith("local://") && !Storage.BeginsWith("alien://")) {
34 Error(macroname,"STORAGE variable set to %s is not valid. Exiting\n",Storage.Data());
37 Info(macroname,"Saving alignment objects in CDB storage %s",
39 AliCDBManager* cdb = AliCDBManager::Instance();
40 AliCDBStorage* storage = cdb->GetStorage(Storage.Data());
42 Error(macroname,"Unable to open storage %s\n",Storage.Data());
45 AliCDBMetaData* md = new AliCDBMetaData();
46 md->SetResponsible("Silvia Arcelli");
47 md->SetComment("Zero misalignment for TOF");
48 md->SetAliRootVersion("HEAD");
49 AliCDBId id("TOF/Align/Data",0,AliCDBRunRange::Infinity());
50 storage->Put(array,id,md);