@@ -76,20 +76,20 @@ public:
7676 int findAncestor (Pythia8 ::Event & event ) {
7777 for (int ipa = 0 ; ipa < event .size (); ++ ipa ) {
7878 auto daughterList = event [ipa ].daughterList ();
79- bool hasq = false, hasqbar = false, atmidy = false;
79+ bool hasq = false, hasqbar = false, atSelectedY = false;
8080 for (auto ida : daughterList ) {
8181 if (event [ida ].id () == mPDG ) hasq = true;
8282 if (event [ida ].id () == - mPDG ) hasqbar = true;
83- if (fabs (event [ida ].y ()) < mRapidity ) atmidy = true;
83+ if ( (event [ida ].y () > mRapidityMin ) && ( event [ ida ]. y () < mRapidityMax ) ) atSelectedY = true;
8484 }
85- if (hasc && hascbar && atmidy )
85+ if (hasq && hasqbar && atSelectedY )
8686 return ipa ;
8787 }
8888 return -1 ;
8989 };
9090
91- int setPDG (int val ) { mPDG = val ; };
92- void setRapidity (double val ) { mRapidity = val ; };
91+ void setPDG (int val ) { mPDG = val ; };
92+ void setRapidity (double valMin , double valMax ) { mRapidityMin = valMin ; mRapidityMax = valMax ; };
9393 void setVerbose (bool val ) { mVerbose = val ; };
9494 void setFormula (std ::string val ) { mFormula .Compile (val .c_str ()); };
9595
@@ -99,7 +99,8 @@ private:
9999 int mEvents = 1 ;
100100 Pythia8 ::Event mOutputEvent ;
101101 int mPDG = 4 ;
102- double mRapidity = 1.5 ;
102+ double mRapidityMin = -1.5 ;
103+ double mRapidityMax = 1.5 ;
103104 bool mVerbose = false;
104105
105106};
@@ -109,37 +110,37 @@ private:
109110/** generator instance and settings **/
110111
111112FairGenerator *
112- GeneratorHF (double rapidity = 1.5 , bool verbose = false)
113+ GeneratorHF (double rapidityMin = -1.5 , double rapidityMax = 1.5 , bool verbose = false)
113114{
114115 auto gen = new o2 ::eventgen ::GeneratorHF ();
115- gen -> setRapidity (rapidity );
116+ gen -> setRapidity (rapidityMin , rapidityMax );
116117 gen -> setVerbose (verbose );
117118 gen -> setFormula ("max(1.,120.*(x<5.)+80.*(1.-x/20.)*(x>5.)*(x<11.)+240.*(1.-x/13.)*(x>11.))" );
118119
119120 return gen ;
120121}
121122
122123FairGenerator *
123- GeneratorHF_ccbar (double rapidity = 1.5 , bool verbose = false)
124+ GeneratorHF_ccbar (double rapidityMin = -1.5 , double rapidityMax = 1.5 , bool verbose = false)
124125{
125126 auto gen = new o2 ::eventgen ::GeneratorHF ();
126127 gen -> setPDG (4 );
127- gen -> setRapidity (rapidity );
128+ gen -> setRapidity (rapidityMin , rapidityMax );
128129 gen -> setVerbose (verbose );
129130 gen -> setFormula ("max(1.,120.*(x<5.)+80.*(1.-x/20.)*(x>5.)*(x<11.)+240.*(1.-x/13.)*(x>11.))" );
130131
131132 return gen ;
132133}
133134
134135FairGenerator *
135- GeneratorHF_bbbar (double rapidity = 1.5 , bool verbose = false)
136+ GeneratorHF_bbbar (double rapidityMin = -1.5 , double rapidityMax = 1.5 , bool verbose = false)
136137{
137138 auto gen = new o2 ::eventgen ::GeneratorHF ();
138139 gen -> setPDG (5 );
139- gen -> setRapidity (rapidity );
140+ gen -> setRapidity (rapidityMin , rapidityMax );
140141 gen -> setVerbose (verbose );
141142 gen -> setFormula ("max(1.,120.*(x<5.)+80.*(1.-x/20.)*(x>5.)*(x<11.)+240.*(1.-x/13.)*(x>11.))" );
142-
143+
143144 return gen ;
144145}
145146
0 commit comments