From 2add71bd1d0834afba7d247f75ef35e462fe8d3a Mon Sep 17 00:00:00 2001 From: Fabrizio Grosa Date: Tue, 25 Jun 2024 13:32:09 +0200 Subject: [PATCH 1/4] PWGHF: Add possibility to pass pT-hard bins from script --- .../generator/generator_pythia8_embed_hf.C | 14 ++++++++++++++ .../generator/generator_pythia8_gaptriggered_hf.C | 13 +++++++++++++ 2 files changed, 27 insertions(+) diff --git a/MC/config/PWGHF/external/generator/generator_pythia8_embed_hf.C b/MC/config/PWGHF/external/generator/generator_pythia8_embed_hf.C index 8815f5ae1..1304cb128 100644 --- a/MC/config/PWGHF/external/generator/generator_pythia8_embed_hf.C +++ b/MC/config/PWGHF/external/generator/generator_pythia8_embed_hf.C @@ -78,6 +78,20 @@ public: LOG(fatal) << "********** [GeneratorPythia8EmbedHF] bad configuration, fix it! **********"; break; } + + // we set pT hard bins + auto seed = mGeneratorEvHF->getUsedSeed(); + float ptHardBins[4] = {2.76, 20., 50., 1000.}; + int iPt{0}; + if (seed % 10 < 7) { + iPt = 0; + } else if (seed % 10 < 9) { + iPt = 1; + } else { + iPt = 2; + } + mGeneratorEvHF->readString(Form("PhaseSpace:pTHatMin = %f", ptHardBins[iPt])); + mGeneratorEvHF->readString(Form("PhaseSpace:pTHatMax = %f", ptHardBins[iPt+1])); mGeneratorEvHF->Init(); } diff --git a/MC/config/PWGHF/external/generator/generator_pythia8_gaptriggered_hf.C b/MC/config/PWGHF/external/generator/generator_pythia8_gaptriggered_hf.C index 462ae589b..2f7ae4226 100644 --- a/MC/config/PWGHF/external/generator/generator_pythia8_gaptriggered_hf.C +++ b/MC/config/PWGHF/external/generator/generator_pythia8_gaptriggered_hf.C @@ -75,6 +75,14 @@ public: mHadRapidityMin = yMin; mHadRapidityMax = yMax; }; + void setUsedSeed(unsigned int seed) + { + mUsedSeed = seed; + }; + unsigned int getUsedSeed() const + { + return mUsedSeed; + }; protected: //__________________________________________________________________ @@ -200,6 +208,7 @@ private: int mHadronPdg; float mHadRapidityMin; float mHadRapidityMax; + unsigned int mUsedSeed; // Control gap-triggering unsigned long long mGeneratedEvents; @@ -218,6 +227,7 @@ FairGenerator *GeneratorPythia8GapTriggeredCharm(int inputTriggerRatio, float yQ { auto myGen = new GeneratorPythia8GapTriggeredHF(inputTriggerRatio, std::vector{4}, hadronPdgList); auto seed = (gRandom->TRandom::GetSeed() % 900000000); + myGen->setUsedSeed(seed); myGen->readString("Random:setSeed on"); myGen->readString("Random:seed " + std::to_string(seed)); myGen->setQuarkRapidity(yQuarkMin, yQuarkMax); @@ -233,6 +243,7 @@ FairGenerator *GeneratorPythia8GapTriggeredBeauty(int inputTriggerRatio, float y { auto myGen = new GeneratorPythia8GapTriggeredHF(inputTriggerRatio, std::vector{5}, hadronPdgList); auto seed = (gRandom->TRandom::GetSeed() % 900000000); + myGen->setUsedSeed(seed); myGen->readString("Random:setSeed on"); myGen->readString("Random:seed " + std::to_string(seed)); myGen->setQuarkRapidity(yQuarkMin, yQuarkMax); @@ -248,6 +259,7 @@ FairGenerator *GeneratorPythia8GapTriggeredCharmAndBeauty(int inputTriggerRatio, { auto myGen = new GeneratorPythia8GapTriggeredHF(inputTriggerRatio, std::vector{4, 5}, hadronPdgList); auto seed = (gRandom->TRandom::GetSeed() % 900000000); + myGen->setUsedSeed(seed); myGen->readString("Random:setSeed on"); myGen->readString("Random:seed " + std::to_string(seed)); myGen->setQuarkRapidity(yQuarkMin, yQuarkMax); @@ -266,6 +278,7 @@ FairGenerator *GeneratorPythia8GapHF(int inputTriggerRatio, float yQuarkMin = -1 } auto myGen = new GeneratorPythia8GapTriggeredHF(inputTriggerRatio, quarkPdgList, hadronPdgList); auto seed = (gRandom->TRandom::GetSeed() % 900000000); + myGen->setUsedSeed(seed); myGen->readString("Random:setSeed on"); myGen->readString("Random:seed " + std::to_string(seed)); myGen->setQuarkRapidity(yQuarkMin, yQuarkMax); From 61708d984267411f10f812f64033cd51801c9946 Mon Sep 17 00:00:00 2001 From: Fabrizio Grosa Date: Tue, 25 Jun 2024 16:43:35 +0200 Subject: [PATCH 2/4] Add missing cast --- .../PWGHF/external/generator/generator_pythia8_embed_hf.C | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MC/config/PWGHF/external/generator/generator_pythia8_embed_hf.C b/MC/config/PWGHF/external/generator/generator_pythia8_embed_hf.C index 1304cb128..766615324 100644 --- a/MC/config/PWGHF/external/generator/generator_pythia8_embed_hf.C +++ b/MC/config/PWGHF/external/generator/generator_pythia8_embed_hf.C @@ -80,7 +80,7 @@ public: } // we set pT hard bins - auto seed = mGeneratorEvHF->getUsedSeed(); + auto seed = dynamic_cast(mGeneratorEvHF->getUsedSeed()); float ptHardBins[4] = {2.76, 20., 50., 1000.}; int iPt{0}; if (seed % 10 < 7) { @@ -202,4 +202,4 @@ FairGenerator * GeneratorPythia8EmbedHFCharmAndBeauty(float yQuarkMin = -1.5, fl myGen->setupGeneratorEvHF(hf_generators::GapTriggeredCharmAndBeauty, yQuarkMin, yQuarkMax, yHadronMin, yHadronMax, hadronPdgList); return myGen; -} \ No newline at end of file +} From 4c494a1daf462b3d0fd783eb23a01bbe6531b7cf Mon Sep 17 00:00:00 2001 From: Fabrizio Grosa Date: Tue, 25 Jun 2024 16:46:32 +0200 Subject: [PATCH 3/4] Add missing cast --- .../PWGHF/external/generator/generator_pythia8_embed_hf.C | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/MC/config/PWGHF/external/generator/generator_pythia8_embed_hf.C b/MC/config/PWGHF/external/generator/generator_pythia8_embed_hf.C index 766615324..75e30e7f3 100644 --- a/MC/config/PWGHF/external/generator/generator_pythia8_embed_hf.C +++ b/MC/config/PWGHF/external/generator/generator_pythia8_embed_hf.C @@ -90,8 +90,8 @@ public: } else { iPt = 2; } - mGeneratorEvHF->readString(Form("PhaseSpace:pTHatMin = %f", ptHardBins[iPt])); - mGeneratorEvHF->readString(Form("PhaseSpace:pTHatMax = %f", ptHardBins[iPt+1])); + dynamic_cast(mGeneratorEvHF)->readString(Form("PhaseSpace:pTHatMin = %f", ptHardBins[iPt])); + dynamic_cast(mGeneratorEvHF)->readString(Form("PhaseSpace:pTHatMax = %f", ptHardBins[iPt+1])); mGeneratorEvHF->Init(); } @@ -203,3 +203,4 @@ FairGenerator * GeneratorPythia8EmbedHFCharmAndBeauty(float yQuarkMin = -1.5, fl return myGen; } + From ed7640639dc496ec8e06cd4b4ef2ca835e69d81f Mon Sep 17 00:00:00 2001 From: Fabrizio Grosa Date: Tue, 25 Jun 2024 17:05:13 +0200 Subject: [PATCH 4/4] Fix typo --- MC/config/PWGHF/external/generator/generator_pythia8_embed_hf.C | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MC/config/PWGHF/external/generator/generator_pythia8_embed_hf.C b/MC/config/PWGHF/external/generator/generator_pythia8_embed_hf.C index 75e30e7f3..a54aa1874 100644 --- a/MC/config/PWGHF/external/generator/generator_pythia8_embed_hf.C +++ b/MC/config/PWGHF/external/generator/generator_pythia8_embed_hf.C @@ -80,7 +80,7 @@ public: } // we set pT hard bins - auto seed = dynamic_cast(mGeneratorEvHF->getUsedSeed()); + auto seed = dynamic_cast(mGeneratorEvHF)->getUsedSeed(); float ptHardBins[4] = {2.76, 20., 50., 1000.}; int iPt{0}; if (seed % 10 < 7) {