]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/MUONAlignment.C
New storage class and its iterator (Laurent)
[u/mrichter/AliRoot.git] / MUON / MUONAlignment.C
index 827e020ec8f3baa47a53ff4e5cf9fba98262880e..26a18c9a978c037da62d9f6ac54c2f4cf8254619 100644 (file)
 // Authors: B. Becker and J. Castillo
 // ---
 
-void MUONAlignment(Int_t nEvents = 100000, TString fileName = "galice.root", TString fileList = "")
+void MUONAlignment(Int_t nEvents = 100000, char* geoFilename = "geometry.root", TString fileName = "galice.root", TString fileList = "")
 {
  
+  // Import TGeo geometry (needed by AliMUONTrackExtrap::ExtrapToVertex)
+  if (!gGeoManager) {
+    TGeoManager::Import(geoFilename);
+    if (!gGeoManager) {
+      Error("MUONmass_ESD", "getting geometry from file %s failed", geoFilename);
+      return;
+    }
+  }
+  
+  // set  mag field 
+  // waiting for mag field in CDB 
+  printf("Loading field map...\n");
+  AliMagFMaps* field = new AliMagFMaps("Maps","Maps", 1, 1., 10., AliMagFMaps::k5kG);
+  AliTracker::SetFieldMap(field, kFALSE);
+  // set the magnetic field for track extrapolations
+  AliMUONTrackExtrap::SetField(AliTracker::GetFieldMap());
+
   Double_t parameters[3*156];
   Double_t errors[3*156];
   Double_t pulls[3*156];
@@ -72,7 +89,7 @@ void MUONAlignment(Int_t nEvents = 100000, TString fileName = "galice.root", TSt
   alig->InitGlobalParameters(parameters);
 
   AliMUONGeometryTransformer *transform = new AliMUONGeometryTransformer(true);
-  transform->ReadGeometryData("volpath.dat", "transform.dat");
+  transform->ReadGeometryData("volpath.dat", gGeoManager);
   alig->SetGeometryTransformer(transform);
 
   char cFileName[100];