fSetNuclei(kFALSE),
fNewMIS(kFALSE),
fHFoff(kFALSE),
+ fNucPdf(0),
fTriggerParticle(0),
fTriggerEta(0.9),
fTriggerMultiplicity(0),
fSetNuclei(kFALSE),
fNewMIS(kFALSE),
fHFoff(kFALSE),
+ fNucPdf(0),
fTriggerParticle(0),
fTriggerEta(0.9),
fTriggerMultiplicity(0),
fPythia->SetCKIN(7,fYHardMin);
fPythia->SetCKIN(8,fYHardMax);
- if (fAProjectile > 0 && fATarget > 0) fPythia->SetNuclei(fAProjectile, fATarget);
+ if (fAProjectile > 0 && fATarget > 0) fPythia->SetNuclei(fAProjectile, fATarget, fNucPdf);
// Fragmentation?
if (fFragmentation) {
fPythia->SetMSTP(111,1);
//
// Switch hadronisation on
//
- fPythia->SetMSTJ(1, 1);
+ if (fHadronisation) {
+ fPythia->SetMSTJ(1, 1);
//
// .. and perform hadronisation
// printf("Calling hadronisation %d\n", fPythia->GetN());
- fPythia->Pyexec();
+ fPythia->Pyexec();
+ }
+
+
fTrials++;
fPythia->ImportParticles(&fParticles,"All");
Boost();
}
}
-void AliGenPythia::SetNuclei(Int_t a1, Int_t a2)
+void AliGenPythia::SetNuclei(Int_t a1, Int_t a2, Int_t pdfset)
{
// Treat protons as inside nuclei with mass numbers a1 and a2
fAProjectile = a1;
fATarget = a2;
+ fNucPdf = pdfset; // 0 EKS98 1 EPS08
fSetNuclei = kTRUE;
}
virtual void SetEventListRange(Int_t eventFirst=-1, Int_t eventLast=-1);
// Select process type
virtual void SetProcess(Process_t proc = kPyCharm) {fProcess = proc;}
+
// Select structure function
virtual void SetStrucFunc(StrucFunc_t func = kCTEQ5L) {fStrucFunc = func;}
// Select pt of hard scattering
// Set centre of mass energy
virtual void SetEnergyCMS(Float_t energy = 5500) {fEnergyCMS = energy;}
// Treat protons as inside nuclei with mass numbers a1 and a2
- virtual void SetNuclei(Int_t a1, Int_t a2);
+ virtual void SetNuclei(Int_t a1, Int_t a2, Int_t pdfset = 0);
//
// Trigger options
//
Bool_t fSetNuclei; // Flag indicating that SetNuclei has been called
Bool_t fNewMIS; // Flag for the new multipple interactions scenario
Bool_t fHFoff; // Flag for switching heafy flavor production off
+ Int_t fNucPdf; // Nuclear pdf 0: EKS98 1: EPS08
Int_t fTriggerParticle; // Trigger on this particle ...
Float_t fTriggerEta; // .. within |eta| < fTriggerEta
Int_t fTriggerMultiplicity; // Trigger on events with a minimum charged multiplicity
return kc;
}
-void AliPythia::SetNuclei(Int_t a1, Int_t a2)
+void AliPythia::SetNuclei(Int_t a1, Int_t a2, Int_t pdf)
{
// Treat protons as inside nuclei with mass numbers a1 and a2
// The MSTP array in the PYPARS common block is used to enable and
// If the following mass number both not equal zero, nuclear corrections of the stf are used.
// MSTP(192) : Mass number of nucleus side 1
// MSTP(193) : Mass number of nucleus side 2
+// MSTP(194) : Nuclear structure function: 0: EKS98 1:EPS08
SetMSTP(52,2);
SetMSTP(192, a1);
- SetMSTP(193, a2);
+ SetMSTP(193, a2);
+ SetMSTP(194, pdf);
}
virtual void ProcInit
(Process_t process, Float_t energy, StrucFunc_t strucfunc);
// treat protons as inside nuclei
- virtual void SetNuclei(Int_t a1, Int_t a2);
+ virtual void SetNuclei(Int_t a1, Int_t a2, Int_t pdf);
// Print particle properties
virtual void PrintParticles();
virtual void ResetDecayTable();
> MSTU(11),MSTP(51),MSTP(53),MSTP(55),
> QCDL4,QCDL5,
> XMIN,XMAX,Q2MIN,Q2MAX)
+ IF (MSTP(194) .EQ. 0) THEN
+ CALL SETLHAPARM("EKS98")
+ ELSE
+ CALL SETLHAPARM("EPS08")
+ ENDIF
ELSE
write(6,*) "-> pdfset"
CALL PDFSET(PARM,VALUE,