]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TOF/MakeTOFZeroMisAlignment.C
Macro to generate zero Misalignment objects with symnames (thanks to Raffaele G.)
[u/mrichter/AliRoot.git] / TOF / MakeTOFZeroMisAlignment.C
diff --git a/TOF/MakeTOFZeroMisAlignment.C b/TOF/MakeTOFZeroMisAlignment.C
new file mode 100644 (file)
index 0000000..05b0df5
--- /dev/null
@@ -0,0 +1,40 @@
+void MakeTOFZeroMisAlignment(){
+
+  // Create TClonesArray of zero misalignment objects for TOF
+
+  TClonesArray *array = new TClonesArray("AliAlignObjAngles",2000);
+  TClonesArray &alobj = *array;
+   
+  if(!gGeoManager) TGeoManager::Import("geometry.root");
+  // needed for the constructors with local coordinates not to fail
+
+  AliAlignObjAngles a;
+
+  AliAlignObj::ELayerID idTOF = AliAlignObj::kTOF;
+  Int_t i;
+  Int_t j=0;
+  Double_t dx=0., dy=0., dz=0., dpsi=0., dtheta=0., dphi=0.;
+
+  for(i=0; i<AliAlignObj::LayerSize(idTOF); i++) {
+    //  cout << " TOF symname : " << AliAlignObj::SymName(idTOF,i) << endl;
+    new(alobj[j++]) AliAlignObjAngles(AliAlignObj::SymName(idTOF,i), 
+    AliAlignObj::LayerToVolUID(idTOF,i), 
+    dx, dy, dz, dpsi, dtheta, dphi, kTRUE);
+  }
+
+  // save in CDB storage
+  const char* Storage = "local://$ALICE_ROOT";
+  AliCDBManager* cdb = AliCDBManager::Instance();
+  AliCDBStorage* storage = cdb->GetStorage(Storage);
+  AliCDBMetaData* md = new AliCDBMetaData();
+  md->SetResponsible("Silvia Arcelli");
+  md->SetComment("Zero misalignment for TOF");
+  md->SetAliRootVersion("HEAD");
+  AliCDBId id("TOF/Align/Data",0,9999999);
+  storage->Put(array,id,md);
+
+  array->Delete();
+
+}
+
+