From 7023ef707d5a0231456d22832c2b87180a2750c2 Mon Sep 17 00:00:00 2001
From: "se.gorbunov" <se.gorbunov@gsi.de>
Date: Wed, 1 Sep 2021 15:57:35 +0000
Subject: [PATCH] remove resets of the random seed from the compiled code. We
 should keep the ability to reproduce all the results when a non-zero seed is
 set in the main macro

---
 .../papaframework/PairAnalysisTrackRotator.cxx         |  1 -
 .../papaframework/PairAnalysisVarManager.cxx           |  4 ----
 mvd/plugins/tasks/CbmMvdSensorDigitizerTBTask.cxx      |  2 --
 mvd/plugins/tasks/CbmMvdSensorDigitizerTBTask.h        |  1 -
 mvd/plugins/tasks/CbmMvdSensorDigitizerTask.cxx        | 10 +++-------
 mvd/plugins/tasks/CbmMvdSensorDigitizerTask.h          |  1 -
 .../lx/GenNoiseElectrons/GenNoiseElectrons.cxx         |  3 ---
 reco/tracking/lx/TBBinned/LxTBTask.cxx                 |  3 ---
 8 files changed, 3 insertions(+), 22 deletions(-)

diff --git a/analysis/PWGDIL/dielectron/papaframework/PairAnalysisTrackRotator.cxx b/analysis/PWGDIL/dielectron/papaframework/PairAnalysisTrackRotator.cxx
index ee4524d1ac..f729fc46cb 100644
--- a/analysis/PWGDIL/dielectron/papaframework/PairAnalysisTrackRotator.cxx
+++ b/analysis/PWGDIL/dielectron/papaframework/PairAnalysisTrackRotator.cxx
@@ -36,7 +36,6 @@ PairAnalysisTrackRotator::PairAnalysisTrackRotator(const char* name, const char*
   //
   // Named Constructor
   //
-  gRandom->SetSeed();
 }
 
 //______________________________________________
diff --git a/analysis/PWGDIL/dielectron/papaframework/PairAnalysisVarManager.cxx b/analysis/PWGDIL/dielectron/papaframework/PairAnalysisVarManager.cxx
index d4e1ec9355..ff55184161 100644
--- a/analysis/PWGDIL/dielectron/papaframework/PairAnalysisVarManager.cxx
+++ b/analysis/PWGDIL/dielectron/papaframework/PairAnalysisVarManager.cxx
@@ -347,8 +347,6 @@ PairAnalysisVarManager::PairAnalysisVarManager() : TNamed("PairAnalysisVarManage
   for (Int_t i = 1; i < kNMaxValuesMC; ++i) {
     fgFormula[i] = 0x0;
   }
-
-  gRandom->SetSeed();
 }
 
 //________________________________________________________________
@@ -360,8 +358,6 @@ PairAnalysisVarManager::PairAnalysisVarManager(const char* name, const char* tit
   for (Int_t i = 1; i < kNMaxValuesMC; ++i) {
     fgFormula[i] = 0x0;
   }
-
-  gRandom->SetSeed();
 }
 
 //________________________________________________________________
diff --git a/mvd/plugins/tasks/CbmMvdSensorDigitizerTBTask.cxx b/mvd/plugins/tasks/CbmMvdSensorDigitizerTBTask.cxx
index a4ae6fd4fe..03a08e8e8a 100644
--- a/mvd/plugins/tasks/CbmMvdSensorDigitizerTBTask.cxx
+++ b/mvd/plugins/tasks/CbmMvdSensorDigitizerTBTask.cxx
@@ -100,7 +100,6 @@ CbmMvdSensorDigitizerTBTask::CbmMvdSensorDigitizerTBTask()
   , fPixelCharge()
   , fDigis()
   , fDigiMatch()
-  , frand()
   , fproduceNoise()
   , fPixelChargeShort()
   , fPixelScanAccelerator()
@@ -162,7 +161,6 @@ CbmMvdSensorDigitizerTBTask::CbmMvdSensorDigitizerTBTask()
   //fLorentzNorm=0.00013010281679422413;
   fLorentzNorm = 1;
 
-  frand         = new TRandom3(0);
   fproduceNoise = kFALSE;
 
   fReadoutLast    = -1.;
diff --git a/mvd/plugins/tasks/CbmMvdSensorDigitizerTBTask.h b/mvd/plugins/tasks/CbmMvdSensorDigitizerTBTask.h
index 4ba0073ab5..e102e3eae3 100644
--- a/mvd/plugins/tasks/CbmMvdSensorDigitizerTBTask.h
+++ b/mvd/plugins/tasks/CbmMvdSensorDigitizerTBTask.h
@@ -143,7 +143,6 @@ private:
 
   TClonesArray* fDigiMatch;
 
-  TRandom3* frand;
   Bool_t fproduceNoise;
 
   std::vector<CbmMvdPixelCharge*> fPixelChargeShort;
diff --git a/mvd/plugins/tasks/CbmMvdSensorDigitizerTask.cxx b/mvd/plugins/tasks/CbmMvdSensorDigitizerTask.cxx
index 8c717738f2..5f8295b64e 100644
--- a/mvd/plugins/tasks/CbmMvdSensorDigitizerTask.cxx
+++ b/mvd/plugins/tasks/CbmMvdSensorDigitizerTask.cxx
@@ -112,7 +112,6 @@ CbmMvdSensorDigitizerTask::CbmMvdSensorDigitizerTask()
   , fPixelCharge(new TClonesArray("CbmMvdPixelCharge"))
   , fDigis(NULL)
   , fDigiMatch(NULL)
-  , frand(nullptr)
   , fproduceNoise(kFALSE)
   , fPixelChargeShort()
   , fPixelScanAccelerator(NULL)
@@ -155,7 +154,6 @@ CbmMvdSensorDigitizerTask::CbmMvdSensorDigitizerTask()
   , h_ElossVsMomIn(NULL)
 {
   fRandGen.SetSeed(2736);
-  frand         = new TRandom3(0);
   fproduceNoise = kFALSE;
 }
 // -------------------------------------------------------------------------
@@ -216,7 +214,6 @@ CbmMvdSensorDigitizerTask::CbmMvdSensorDigitizerTask(Int_t iMode)
   , fPixelCharge(new TClonesArray("CbmMvdPixelCharge", 100000))
   , fDigis(NULL)
   , fDigiMatch(NULL)
-  , frand(nullptr)
   , fproduceNoise(kFALSE)
   , fPixelChargeShort()
   , fPixelScanAccelerator(NULL)
@@ -309,7 +306,6 @@ CbmMvdSensorDigitizerTask::CbmMvdSensorDigitizerTask(Int_t iMode)
 
   fcurrentFrameNumber = 0;
 
-  frand         = new TRandom3(0);
   fproduceNoise = kFALSE;
 }
 
@@ -941,14 +937,14 @@ void CbmMvdSensorDigitizerTask::ProducePixelCharge(CbmMvdPoint* point)
 void CbmMvdSensorDigitizerTask::ProduceNoise()
 {
   Int_t fmaxNoise = 100;
-  Int_t noiseHits = (Int_t)(frand->Rndm(fmaxNoise) * fmaxNoise);
+  Int_t noiseHits = (Int_t)(gRandom->Rndm(fmaxNoise) * fmaxNoise);
   Int_t xPix, yPix;
   CbmMvdPixelCharge* pixel;
   pair<Int_t, Int_t> thispoint;
 
   for (Int_t i = 0; i <= noiseHits; i++) {
-    xPix = frand->Integer(fNPixelsX);
-    yPix = frand->Integer(fNPixelsY);
+    xPix = gRandom->Integer(fNPixelsX);
+    yPix = gRandom->Integer(fNPixelsY);
 
     Double_t Current[3];
     fSensor->PixelToLocal(xPix, yPix, Current);
diff --git a/mvd/plugins/tasks/CbmMvdSensorDigitizerTask.h b/mvd/plugins/tasks/CbmMvdSensorDigitizerTask.h
index e7e687d834..079ad86c37 100644
--- a/mvd/plugins/tasks/CbmMvdSensorDigitizerTask.h
+++ b/mvd/plugins/tasks/CbmMvdSensorDigitizerTask.h
@@ -165,7 +165,6 @@ public:
 
   TClonesArray* fDigiMatch;
 
-  TRandom3* frand;
   Bool_t fproduceNoise;
 
   std::vector<CbmMvdPixelCharge*> fPixelChargeShort;
diff --git a/reco/tracking/lx/GenNoiseElectrons/GenNoiseElectrons.cxx b/reco/tracking/lx/GenNoiseElectrons/GenNoiseElectrons.cxx
index ef2f20123f..effed12b36 100644
--- a/reco/tracking/lx/GenNoiseElectrons/GenNoiseElectrons.cxx
+++ b/reco/tracking/lx/GenNoiseElectrons/GenNoiseElectrons.cxx
@@ -104,9 +104,6 @@ InitStatus LxGenNoiseElectrons::Init()
     }
   }
 
-  time_t initTime;
-  gRandom->SetSeed(time(&initTime));
-
   fOutMCTracks = new TClonesArray("CbmMCTrack", 1000);
   ioman->Register("MCTrack", "MC", fOutMCTracks, kTRUE);
   fOutMuchPoints = new TClonesArray("CbmMuchPoint", 1000);
diff --git a/reco/tracking/lx/TBBinned/LxTBTask.cxx b/reco/tracking/lx/TBBinned/LxTBTask.cxx
index 7562f9efb7..60e3cb2130 100644
--- a/reco/tracking/lx/TBBinned/LxTBTask.cxx
+++ b/reco/tracking/lx/TBBinned/LxTBTask.cxx
@@ -398,9 +398,6 @@ InitStatus LxTBFinder::Init()
   gMuonMass     = TDatabasePDG::Instance()->GetParticle(13)->Mass();
   gElectronMass = TDatabasePDG::Instance()->GetParticle(11)->Mass();
 
-  time_t initTime;
-  gRandom->SetSeed(time(&initTime));
-
   //TObjArray* absorbers = CbmMuchGeoScheme::Instance()->GetAbsorbers(); (VF) unused
 
   hasTrd                        = useTrd ? HasTrd() : false;
-- 
GitLab