1 void MakeZDCZeroMisAlignment(){
2 // Create TClonesArray of zero misalignment objects for ZDC
4 const char* macroname = "MakeZDCZeroMisAlignment.C";
6 TClonesArray *array = new TClonesArray("AliAlignObjParams",10);
7 TClonesArray &alobj = *array;
9 Double_t dx=0., dy=0., dz=0.;
10 Double_t dpsi=0., dtheta=0., dphi=0.;
12 const char *ZDCn="ZDC/NeutronZDC";
13 const char *ZDCp="ZDC/ProtonZDC";
16 AliGeomManager::ELayerID iLayer = AliGeomManager::kInvalidLayer;
17 UShort_t volid = AliGeomManager::LayerToVolUID(iLayer,iIndex);
19 new(alobj[0]) AliAlignObjParams(ZDCn, volid, dx, dy, dz, dpsi, dtheta, dphi, kTRUE);
20 new(alobj[1]) AliAlignObjParams(ZDCp, volid, dx, dy, dz, dpsi, dtheta, dphi,kTRUE);
22 if( TString(gSystem->Getenv("TOCDB")) != TString("kTRUE") ){
24 const char* filename = "ZDCzeroMisalignment.root";
25 TFile f(filename,"RECREATE");
27 Error(macroname,"cannot open file for output\n");
30 Info(macroname,"Saving alignment objects to the file %s", filename);
32 f.WriteObject(array,"ZDCAlignObjs","kSingleKey");
35 // save in CDB storage
36 TString Storage = gSystem->Getenv("STORAGE");
37 if(!Storage.BeginsWith("local://") && !Storage.BeginsWith("alien://")) {
38 Error(macroname,"STORAGE variable set to %s is not valid. Exiting\n",Storage.Data());
41 Info(macroname,"Saving alignment objects in CDB storage %s",
43 AliCDBManager* cdb = AliCDBManager::Instance();
44 AliCDBStorage* storage = cdb->GetStorage(Storage.Data());
46 Error(macroname,"Unable to open storage %s\n",Storage.Data());
49 AliCDBMetaData* md = new AliCDBMetaData();
50 md->SetResponsible("Chiara Oppedisano");
51 md->SetComment("Alignment objects for ZDC zero misalignment");
52 md->SetAliRootVersion(gSystem->Getenv("ARVERSION"));
53 AliCDBId id("ZDC/Align/Data",0,AliCDBRunRange::Infinity());
54 storage->Put(array,id,md);