]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Zero align
authorkir <kir@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 31 Mar 2006 15:05:50 +0000 (15:05 +0000)
committerkir <kir@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 31 Mar 2006 15:05:50 +0000 (15:05 +0000)
RICH/Align/Data/Run0_0_v0_s0.root [new file with mode: 0644]
RICH/RichAlign.C [new file with mode: 0644]

diff --git a/RICH/Align/Data/Run0_0_v0_s0.root b/RICH/Align/Data/Run0_0_v0_s0.root
new file mode 100644 (file)
index 0000000..cca91a9
Binary files /dev/null and b/RICH/Align/Data/Run0_0_v0_s0.root differ
diff --git a/RICH/RichAlign.C b/RICH/RichAlign.C
new file mode 100644 (file)
index 0000000..c742da9
--- /dev/null
@@ -0,0 +1,28 @@
+void RichAlign(Float_t sigmaTrans=0, Float_t sigmaRot=0)
+{
+  Float_t dX, dY, dX;          Float_t dPsi, dTheta, dPhi;   //displacements
+
+  TClonesArray *pCA = new TClonesArray("AliAlignObjMatrix",10000);
+  
+  TRandom *pRnd   = new TRandom(4357);
+
+  AliAlignObjMatrix o;
+  Int_t idRICH =  AliAlignObj::kRICH;
+  for (Int_t iCh = 0; iCh < 7; iCh++) {
+    dX     = (pRnd->Uniform()-0.5)*sigmaTrans;    dY     = (pRnd->Uniform()-0.5)*sigmaTrans;    dZ     = (pRnd->Uniform()-0.5)*sigmaTrans;
+    dPsi   = (pRnd->Uniform()-0.5)*sigmaRot;    dTheta = (pRnd->Uniform()-0.5)*sigmaRot;    dPhi   = (pRnd->Uniform()-0.5)*sigmaRot;
+    new((*pCA)[iCh]) AliAlignObjMatrix(AliAlignObj::GetVolPath(idRICH,iCh), AliAlignObj::LayerToVolUID(idRICH,iCh),dX,dY,dZ,dPsi,dTheta,dPhi);
+  }
+
+  pCA->Print();
+  
+  AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT");
+  
+  AliCDBMetaData *pMeta= new AliCDBMetaData();  
+  pMeta->SetResponsible("RICH Expert");
+  pMeta->SetComment("Alignment objects for ideal geometry, i.e. applying them to TGeo has to leave geometry unchanged");
+  AliCDBId id("RICH/Align/Data",0,0); //you have to specify the run validity, although in the case of saving ideal objects makes not much sense
+  AliCDBManager::Instance()->Put(pCA,id,pMeta);
+  pCA->Delete();
+}