Skip to content

Commit 1e7bf82

Browse files
fmazzascFrancesco Mazzaschi
andauthored
[SigmaProton generator] Add minPt for protons and sigmas separately (#2417)
Co-authored-by: Francesco Mazzaschi <fmazzasc@alipap1.cern.ch>
1 parent f3990a8 commit 1e7bf82

2 files changed

Lines changed: 13 additions & 11 deletions

File tree

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[GeneratorExternal]
22
fileName=${O2DPG_MC_CONFIG_ROOT}/MC/config/PWGLF/pythia8/generator_pythia8_sigma_hadron.C
3-
funcName=generateSigmaHadron(2212, 2, 1, 10, 0.8)
3+
funcName=generateSigmaHadron(2212, 2, 1, 0.5, 10, 0.5)
44
[GeneratorPythia8]
55
config=${O2_ROOT}/share/Generators/egconfig/pythia8_inel.cfg

MC/config/PWGLF/pythia8/generator_pythia8_sigma_hadron.C

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,19 +26,20 @@ class GeneratorPythia8SigmaHadron : public o2::eventgen::GeneratorPythia8
2626
{
2727
public:
2828
/// Constructor
29-
GeneratorPythia8SigmaHadron(int hadronPdg, int gapSize = 4, double minPt = 0.2,
29+
GeneratorPythia8SigmaHadron(int hadronPdg, int gapSize = 4, double minSigmaPt = 0.2, double minHadronPt = 0.2,
3030
double maxPt = 10, double maxEta = 0.8, double kStarMax = 1.0)
3131
: o2::eventgen::GeneratorPythia8(),
3232
mHadronPdg(hadronPdg),
3333
mGapSize(gapSize),
34-
mMinPt(minPt),
34+
mMinSigmaPt(minSigmaPt),
35+
mMinHadronPt(minHadronPt),
3536
mMaxPt(maxPt),
3637
mMaxEta(maxEta),
3738
mKStarMax(kStarMax)
3839
{
3940
fmt::printf(
40-
">> Pythia8 generator: Sigma± + hadron(PDG=%d), gap = %d, minPt = %f, maxPt = %f, |eta| < %f, k* < %f\n",
41-
hadronPdg, gapSize, minPt, maxPt, maxEta, kStarMax);
41+
">> Pythia8 generator: Sigma± + hadron(PDG=%d), gap = %d, minSigmaPt = %f, minHadronPt = %f, maxPt = %f, |eta| < %f, k* < %f\n",
42+
hadronPdg, gapSize, minSigmaPt, minHadronPt, maxPt, maxEta, kStarMax);
4243
}
4344

4445
~GeneratorPythia8SigmaHadron() = default;
@@ -135,19 +136,19 @@ protected:
135136
for (int i = 0; i < event.size(); i++) {
136137
const auto& p = event[i];
137138

138-
if (std::abs(p.eta()) > mMaxEta || p.pT() < mMinPt || p.pT() > mMaxPt) {
139+
if (std::abs(p.eta()) > mMaxEta || p.pT() > mMaxPt) {
139140
continue;
140141
}
141142

142143
const int pdg = p.id();
143144
const int absPdg = std::abs(pdg);
144145

145146
// Sigma- or Sigma+
146-
if (absPdg == 3112 || absPdg == 3222) {
147+
if ((absPdg == 3112 || absPdg == 3222) && p.pT() >= mMinSigmaPt) {
147148
sigmaIndices.push_back(i);
148149
}
149150

150-
if (std::abs(pdg) == mHadronPdg && !isFromSigmaDecay(p, event)) {
151+
if (std::abs(pdg) == mHadronPdg && p.pT() >= mMinHadronPt && !isFromSigmaDecay(p, event)) {
151152
hadronIndices.push_back(i);
152153
}
153154
}
@@ -178,18 +179,19 @@ protected:
178179
private:
179180
int mHadronPdg{211};
180181
int mGapSize{4};
181-
double mMinPt{0.2};
182+
double mMinSigmaPt{0.2};
183+
double mMinHadronPt{0.2};
182184
double mMaxPt{10.0};
183185
double mMaxEta{0.8};
184186
double mKStarMax{1.0};
185187
uint64_t mGeneratedEvents{0};
186188
};
187189

188190
///___________________________________________________________
189-
FairGenerator* generateSigmaHadron(int hadronPdg, int gap = 4, double minPt = 0.2,
191+
FairGenerator* generateSigmaHadron(int hadronPdg, int gap = 4, double minSigmaPt = 0.2, double minHadronPt = 0.2,
190192
double maxPt = 10, double maxEta = 0.8, double kStarMax = 1.0)
191193
{
192-
auto myGenerator = new GeneratorPythia8SigmaHadron(hadronPdg, gap, minPt, maxPt, maxEta, kStarMax);
194+
auto myGenerator = new GeneratorPythia8SigmaHadron(hadronPdg, gap, minSigmaPt, minHadronPt, maxPt, maxEta, kStarMax);
193195
auto seed = (gRandom->TRandom::GetSeed() % 900000000);
194196
myGenerator->readString("Random:setSeed on");
195197
myGenerator->readString("Random:seed " + std::to_string(seed));

0 commit comments

Comments
 (0)