]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Adding generating CDB storage with residual/full misalignment data
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 7 Apr 2006 15:27:42 +0000 (15:27 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 7 Apr 2006 15:27:42 +0000 (15:27 +0000)
(Ivana, Javier)

MUON/MUONGenerateGeometryData.C

index 03310ec5dcff30db66ad5fa440896c5738880499..9eaf0ac5cc0a61f44211ecc253a9c946ab05975b 100644 (file)
@@ -17,7 +17,7 @@
 //
 // Macro for generating the geometry data files:
 // (volpath.dat, transform.dat, svmap.dat)
-// and local CDB storage with zero-misalignment
+// and local CDB storage with zero, residual and full misalignment
 // To be run from aliroot:
 // .x MUONGenerateGeometryData.C
 //
@@ -29,7 +29,9 @@
 void MUONGenerateGeometryData(Bool_t volpaths = true,
                               Bool_t transforms = true, 
                               Bool_t svmaps = true,
-                             Bool_t zeroAlign = true)
+                             Bool_t zeroAlign = true,
+                             Bool_t resMisAlign = true,
+                             Bool_t fullMisAlign = true)
 {
   // Initialize
   gAlice->Init("$ALICE_ROOT/MUON/Config.C");
@@ -61,7 +63,7 @@ void MUONGenerateGeometryData(Bool_t volpaths = true,
   }  
 
   if (zeroAlign) {
-    cout << "Generating CDB storage with zero misalignment data ..." << endl;
+    cout << "Generating zero misalignment data in  MUON/Align/Data..." << endl;
    
     // Create zero alignment data
     TClonesArray* array 
@@ -78,5 +80,47 @@ void MUONGenerateGeometryData(Bool_t volpaths = true,
     cdbManager->Put(array, id, cdbData);
     
     delete array;
-  }  
+  } 
+  
+  if (resMisAlign) {
+    cout << "Generating residual misalignment data in  MUON/ResMisAlignCDB/Data..." << endl;
+   
+    AliMUONGeometryMisAligner misAligner(0.0, 0.004, 0.0, 0.003, 0.0, 0.0023);
+    AliMUONGeometryTransformer* newTransform 
+      = misAligner.MisAlign(builder->GetTransformer(), true);
+    TClonesArray* array = newTransform->GetMisAlignmentData();
+
+    AliCDBManager* cdbManager = AliCDBManager::Instance();
+    cdbManager->SetDefaultStorage("local://ResMisAlignCDB");
+  
+    AliCDBMetaData* cdbData = new AliCDBMetaData();
+    cdbData->SetResponsible("Dimuon Offline project");
+    cdbData->SetComment("MUON alignment objects with residual misalignment");
+    AliCDBId id("MUON/Align/Data", 0, 0); 
+    cdbManager->Put(array, id, cdbData);
+    
+    delete newTransform;
+  }   
+           
+  if (fullMisAlign) {
+    cout << "Generating residual misalignment data in  MUON/FullMisAlignCDB/Data..." << endl;
+   
+    AliMUONGeometryMisAligner misAligner(0.0, 0.03, 0.0, 0.03, 0.0, 0.03);
+    AliMUONGeometryTransformer* newTransform 
+      = misAligner.MisAlign(builder->GetTransformer(), true);
+    TClonesArray* array = newTransform->GetMisAlignmentData();
+
+    AliCDBManager* cdbManager = AliCDBManager::Instance();
+    cdbManager->SetDefaultStorage("local://FullMisAlignCDB");
+  
+    AliCDBMetaData* cdbData = new AliCDBMetaData();
+    cdbData->SetResponsible("Dimuon Offline project");
+    cdbData->SetComment("MUON alignment objects with full misalignment");
+    AliCDBId id("MUON/Align/Data", 0, 0); 
+    cdbManager->Put(array, id, cdbData);
+    
+    delete newTransform;
+  }   
+           
+
 }