From fa6e31d8e8c52a5ea2781b85f31b1f9d1c1eb6e5 Mon Sep 17 00:00:00 2001
From: "se.gorbunov" <se.gorbunov@gsi.de>
Date: Sun, 12 Nov 2023 21:45:30 +0000
Subject: [PATCH] mcbm: exclude much from default tracking, improve box
 generator

---
 macro/mcbm/mcbm_reco_event.C       |  8 ++++++--
 macro/mcbm/mcbm_transport_boxgen.C | 32 ++++++++++++++++++++++++++++--
 2 files changed, 36 insertions(+), 4 deletions(-)

diff --git a/macro/mcbm/mcbm_reco_event.C b/macro/mcbm/mcbm_reco_event.C
index 9ca28f2fa1..bbb8a21af1 100644
--- a/macro/mcbm/mcbm_reco_event.C
+++ b/macro/mcbm/mcbm_reco_event.C
@@ -258,8 +258,8 @@ void mcbm_reco_event(Int_t nEvents = 10, TString dataset = "data/test",
 
 
   // -----   Track reconstruction   ------------------------------------------
-  Double_t beamWidthX = 0.1;
-  Double_t beamWidthY = 0.1;
+  Double_t beamWidthX  = 0.1;
+  Double_t beamWidthY  = 0.1;
   Int_t iGenCor        = 1;
   Double_t dScalFac    = 1.;
   Double_t dChi2Lim2   = 3.5;
@@ -383,6 +383,10 @@ void mcbm_reco_event(Int_t nEvents = 10, TString dataset = "data/test",
   // L1 tracking
   auto l1 = (debugWithMC) ? new CbmL1("CA", 5, 1) : new CbmL1("CA");
   l1->SetMcbmMode();
+  l1->DisableTrackingStation(cbm::algo::ca::EDetectorID::kMuch, 0);
+  l1->DisableTrackingStation(cbm::algo::ca::EDetectorID::kMuch, 1);
+  l1->DisableTrackingStation(cbm::algo::ca::EDetectorID::kMuch, 2);
+
   // User configuration example for CA:
   //l1->SetConfigUser(srcDir + "/macro/L1/configs/ca_params_user_example.yaml");
   run->AddTask(l1);
diff --git a/macro/mcbm/mcbm_transport_boxgen.C b/macro/mcbm/mcbm_transport_boxgen.C
index e867d12023..b5b5ca88be 100644
--- a/macro/mcbm/mcbm_transport_boxgen.C
+++ b/macro/mcbm/mcbm_transport_boxgen.C
@@ -108,12 +108,38 @@ void mcbm_transport_boxgen(Int_t nEvents = 10,
 
   // ----- Box generator of a single -----------------------
   FairBoxGenerator* boxGen = new FairBoxGenerator(pdg, multiplicity);
-  boxGen->SetPRange(0.1, 3.);
+  boxGen->SetXYZ(targetPosX, targetPosY, targetPosZ);
+  boxGen->SetPRange(100., 100.);
   boxGen->SetPhiRange(0., 360.);
-  boxGen->SetThetaRange(0, 50.);
+  boxGen->SetThetaRange(0., 50.);
   boxGen->SetCosTheta();
   boxGen->Init();
+
+  run.SetEngine(kGeant3);
   run.AddInput(boxGen);
+
+  CbmGeant3Settings g3set;
+
+  g3set.SetProcessPairProduction(0);
+  g3set.SetProcessComptonScattering(0);
+  g3set.SetProcessPhotoEffect(0);
+  g3set.SetProcessPhotoFission(0);
+  g3set.SetProcessDeltaRay(0);
+  g3set.SetProcessAnnihilation(0);
+  g3set.SetProcessBremsstrahlung(0);
+  g3set.SetProcessHadronicInteraction(0);
+  g3set.SetProcessMuonNuclearInteraction(0);
+  g3set.SetProcessDecay(0);
+  //g3set.SetProcessEnergyLossModel(0); // energy loss is required by the STS digitization
+  g3set.SetProcessMultipleScattering(0);
+
+  g3set.SetProcessRayleighScattering(0);
+  g3set.SetProcessCherenkovProduction(0);
+  g3set.SetProcessEneryLossStraggling(0);
+
+  run.SetGeant3Settings(&g3set);
+
+
   // ----- Box generator of a single proton per event -----------------------
 
   run.SetOutFileName(outFile, overwrite);
@@ -128,6 +154,8 @@ void mcbm_transport_boxgen(Int_t nEvents = 10,
   if (nEvents <= 10)  // store only for small number of events
     run.StoreTrajectories();
   run.SetRandomSeed(randomSeed);
+
+
   run.Run(nEvents);
   // ------------------------------------------------------------------------
 
-- 
GitLab