From 23fc74a1198769d99d24c14def4e4391371a2055 Mon Sep 17 00:00:00 2001
From: Eoin Clerkin <e.clerkin@gsi.de>
Date: Mon, 22 Apr 2024 14:23:56 +0000
Subject: [PATCH] make psd reproducible - provide psd_v24f

Changes default macros to output reproducible binaries. Provides psd_v24f which coincides with pipe_v21f and fsd_v23f, i.e. no magnetic field.
---
 macro/psd/fair/create_psdgeo.C           |   4 ++--
 macro/psd/fair/create_psdgeo_46modules.C |   4 ++--
 macro/psd/fair/create_psdgeo_52modules.C |   4 ++--
 macro/psd/fair/create_psdgeo_ideal.C     |   4 ++--
 macro/psd/fair/create_psdgeo_with_hole.C |  15 ++++++++++++---
 psd/psd_v24f.geo.info                    |  23 +++++++++++++++++++++++
 psd/psd_v24f.geo.root                    | Bin 0 -> 15734 bytes
 7 files changed, 43 insertions(+), 11 deletions(-)
 create mode 100644 psd/psd_v24f.geo.info
 create mode 100644 psd/psd_v24f.geo.root

diff --git a/macro/psd/fair/create_psdgeo.C b/macro/psd/fair/create_psdgeo.C
index c2c736b..1c14850 100644
--- a/macro/psd/fair/create_psdgeo.C
+++ b/macro/psd/fair/create_psdgeo.C
@@ -228,7 +228,7 @@ void create_psdgeo()
   // -----   Write PSD volume and placement matrix to geometry file   ---------
   cout << endl;
   TString geoFileName = "psd_";
-  geoFileName         = geoFileName + geoTag + ".geo.root";
+  geoFileName         = geoFileName + geoTag + ".geo.root?reproducible";
   psd->Export(geoFileName);
   TFile* geoFile = new TFile(geoFileName, "UPDATE");
   psdTrans->Write();
@@ -242,7 +242,7 @@ void create_psdgeo()
 
   // -----   Write entire TGeoManager to file   -------------------------------
   TString geoManFileName = "psd_";
-  geoManFileName         = geoManFileName + geoTag + ".geoman.root";
+  geoManFileName         = geoManFileName + geoTag + ".geoman.root?reproducible";
   TFile* geoManFile      = new TFile(geoManFileName, "RECREATE");
   gGeoManager->Write();
   geoManFile->Close();
diff --git a/macro/psd/fair/create_psdgeo_46modules.C b/macro/psd/fair/create_psdgeo_46modules.C
index 4149414..af29695 100644
--- a/macro/psd/fair/create_psdgeo_46modules.C
+++ b/macro/psd/fair/create_psdgeo_46modules.C
@@ -292,7 +292,7 @@ void create_psdgeo_46modules()
   // -----   Write PSD volume and placement matrix to geometry file   ---------
   cout << endl;
   TString geoFileName = "psd_";
-  geoFileName         = geoFileName + geoTag + ".geo.root";
+  geoFileName         = geoFileName + geoTag + ".geo.root?reproducible";
   psd->Export(geoFileName);
   TFile* geoFile = new TFile(geoFileName, "UPDATE");
   psdTrans->Write();
@@ -306,7 +306,7 @@ void create_psdgeo_46modules()
 
   // -----   Write entire TGeoManager to file   -------------------------------
   TString geoManFileName = "psd_";
-  geoManFileName         = geoManFileName + geoTag + ".geoman.root";
+  geoManFileName         = geoManFileName + geoTag + ".geoman.root?reproducible";
   TFile* geoManFile      = new TFile(geoManFileName, "RECREATE");
   gGeoManager->Write();
   geoManFile->Close();
diff --git a/macro/psd/fair/create_psdgeo_52modules.C b/macro/psd/fair/create_psdgeo_52modules.C
index fc6e63b..e1d76e2 100644
--- a/macro/psd/fair/create_psdgeo_52modules.C
+++ b/macro/psd/fair/create_psdgeo_52modules.C
@@ -294,7 +294,7 @@ void create_psdgeo_52modules()
   // -----   Write PSD volume and placement matrix to geometry file   ---------
   cout << endl;
   TString geoFileName = "psd_";
-  geoFileName         = geoFileName + geoTag + ".geo.root";
+  geoFileName         = geoFileName + geoTag + ".geo.root?reproducible";
   psd->Export(geoFileName);
   TFile* geoFile = new TFile(geoFileName, "UPDATE");
   psdTrans->Write();
@@ -308,7 +308,7 @@ void create_psdgeo_52modules()
 
   // -----   Write entire TGeoManager to file   -------------------------------
   TString geoManFileName = "psd_";
-  geoManFileName         = geoManFileName + geoTag + ".geoman.root";
+  geoManFileName         = geoManFileName + geoTag + ".geoman.root?reproducible";
   TFile* geoManFile      = new TFile(geoManFileName, "RECREATE");
   gGeoManager->Write();
   geoManFile->Close();
diff --git a/macro/psd/fair/create_psdgeo_ideal.C b/macro/psd/fair/create_psdgeo_ideal.C
index 63eb667..96f9bcd 100644
--- a/macro/psd/fair/create_psdgeo_ideal.C
+++ b/macro/psd/fair/create_psdgeo_ideal.C
@@ -240,7 +240,7 @@ void create_psdgeo_ideal(TString geoTag = "v22a")
   // -----   Write PSD volume and placement matrix to geometry file   ---------
   cout << endl;
   TString geoFileName = "psd_";
-  geoFileName         = geoFileName + geoTag + ".geo.root";
+  geoFileName         = geoFileName + geoTag + ".geo.root?reproducible";
   psd->Export(geoFileName);
   TFile* geoFile = new TFile(geoFileName, "UPDATE");
   psdTrans->Write();
@@ -254,7 +254,7 @@ void create_psdgeo_ideal(TString geoTag = "v22a")
 
   // -----   Write entire TGeoManager to file   -------------------------------
   TString geoManFileName = "psd_";
-  geoManFileName         = geoManFileName + geoTag + ".geoman.root";
+  geoManFileName         = geoManFileName + geoTag + ".geoman.root?reproducible";
   TFile* geoManFile      = new TFile(geoManFileName, "RECREATE");
   gGeoManager->Write();
   geoManFile->Close();
diff --git a/macro/psd/fair/create_psdgeo_with_hole.C b/macro/psd/fair/create_psdgeo_with_hole.C
index fbae74e..7f4e8b4 100644
--- a/macro/psd/fair/create_psdgeo_with_hole.C
+++ b/macro/psd/fair/create_psdgeo_with_hole.C
@@ -37,7 +37,7 @@ TGeoVolume* ConstructShield(const char* name, Double_t sizeXY, Double_t holesize
 // ======                         Main function                           =====
 // ============================================================================
 
-void create_psdgeo_with_hole(TString geoTag = "v23a")
+void create_psdgeo_with_hole(TString geoTag = "v24f")
 {
 
   // -----   Steering variables   ---------------------------------------------
@@ -70,9 +70,18 @@ void create_psdgeo_with_hole(TString geoTag = "v23a")
     psdZ     = 1756;
     psdRotY  = 0.0;
     holeSize = 20.;
+    comment  = "This is the PSD parking position for no magnetic field. Or very large beam enery.";
+  }
+  else if (geoTag == "v24f") {
+    psdX     = -2.47;
+    psdY     = 0;
+    psdZ     = 1010;
+    psdRotY  = 0.0;
+    holeSize = 20.;
     comment  = "This is the PSD parking position for an out-of-the-way position to be used in hadron and muon setuos.";
   }
 
+
   const Double_t bigModuleSize = 20.;  // Module size (cm)
   const Int_t nModulesX        = 8;    // Number of modules in a row (x direction)
   const Int_t nModulesY        = 6;    // Number of modules in a row (x direction)
@@ -304,7 +313,7 @@ void create_psdgeo_with_hole(TString geoTag = "v23a")
   // -----   Write PSD volume and placement matrix to geometry file   ---------
   cout << endl;
   TString geoFileName = "psd_";
-  geoFileName         = geoFileName + geoTag + ".geo.root";
+  geoFileName         = geoFileName + geoTag + ".geo.root?reproducible";
   psd->Export(geoFileName);
   TFile* geoFile = new TFile(geoFileName, "UPDATE");
   psdTrans->Write();
@@ -318,7 +327,7 @@ void create_psdgeo_with_hole(TString geoTag = "v23a")
 
   // -----   Write entire TGeoManager to file   -------------------------------
   TString geoManFileName = "psd_";
-  geoManFileName         = geoManFileName + geoTag + ".geoman.root";
+  geoManFileName         = geoManFileName + geoTag + ".geoman.root?reproducible";
   TFile* geoManFile      = new TFile(geoManFileName, "RECREATE");
   gGeoManager->Write();
   geoManFile->Close();
diff --git a/psd/psd_v24f.geo.info b/psd/psd_v24f.geo.info
new file mode 100644
index 0000000..04ac307
--- /dev/null
+++ b/psd/psd_v24f.geo.info
@@ -0,0 +1,23 @@
+PSD geometry v24f created with create_psdgeo_with_hole.C
+
+This is the PSD parking position for an out-of-the-way position to be used in hadron and muon setuos.
+
+Number of modules: 8 x 6
+Big module size: 20 cm x 20 cm
+PSD front plane center coordinates: (-2.47, 0, 1010) cm
+PSD rotation around y axis: 0 rad
+Side length of the square shaped hole in PSD center: 20 cm
+
+Parameters of module module2060: 
+Size: 20 cm x 20 cm
+Number of layers: 60
+Thickness of lead layers: 1.6 cm
+Thickness of scintillators: 0.4 cm
+Thickness of Tyvek wrap: 0.02 cm
+Thickness of iron box: (0.15 / 0.05 / 2) cm
+Height of fibre channel: 0.2 cm
+Distance of channel from edges: left 0.5 cm, right 2 cm
+
+PSD size is 160 cm x 120 cm x 140.8 cm
+PSD contains 44 modules.
+PSD volume center coordinates: (-2.47, 0, 1080.4) cm
diff --git a/psd/psd_v24f.geo.root b/psd/psd_v24f.geo.root
new file mode 100644
index 0000000000000000000000000000000000000000..411847223bf99a43d1affe0d76fcfdf84299a208
GIT binary patch
literal 15734
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

literal 0
HcmV?d00001

-- 
GitLab