@@ -26,19 +26,20 @@ class GeneratorPythia8SigmaHadron : public o2::eventgen::GeneratorPythia8
2626{
2727public :
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:
178179private :
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