]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PYTHIA6/AliPythia6.cxx
new option for tests in alifakedisplay
[u/mrichter/AliRoot.git] / PYTHIA6 / AliPythia6.cxx
index b97f7a61c6f529b372153aa0701d6b8df47f4ea3..6c9ff6f8a8374755a335701fa5b2cc37fa159bcd 100644 (file)
@@ -37,6 +37,7 @@ ClassImp(AliPythia6)
 # define pyevnw pyevnw_
 # define pyjoin pyjoin_
 # define qpygin0 qpygin0_
+# define setpowwght setpowwght_
 # define type_of_call
 #else
 # define pyclus PYCLUS
@@ -48,6 +49,7 @@ ClassImp(AliPythia6)
 # define pyevnw PYEVNW
 # define pyjoin PYJOIN
 # define qpygin0 QPYGIN0
+# define setpowwght SETPOWWGHT
 # define type_of_call _stdcall
 #endif
 
@@ -60,6 +62,7 @@ extern "C" void type_of_call qpygin0();
 extern "C" void type_of_call pyrobo(Int_t &, Int_t &, Double_t &, Double_t &, Double_t &, Double_t &, Double_t &);
 extern "C" void type_of_call pyquen(Double_t &, Int_t &, Double_t &);
 extern "C" void type_of_call pyevnw();
+extern "C" void type_of_call setpowwght(Double_t &);
 
 
 //_____________________________________________________________________________
@@ -609,6 +612,16 @@ void AliPythia6::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfu
       SetMSTP(61,1); //Initial QCD & QED showers on
       SetMSTP(71,1); //Final QCD & QED showers on
       break;
+    case kPyZgamma:
+      //Inclusive production of Z
+      SetMSEL(0);
+      //f fbar -> Z/gamma
+      SetMSUB(1,1);
+      // Initial/final parton shower on (Pythia default)
+      // With parton showers on we are generating "Z inclusive process"
+      SetMSTP(61,1); //Initial QCD & QED showers on
+      SetMSTP(71,1); //Final QCD & QED showers on
+      break;
       case kPyMBRSingleDiffraction:
       case kPyMBRDoubleDiffraction:
       case kPyMBRCentralDiffraction:
@@ -629,6 +642,7 @@ void AliPythia6::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfu
       break;
       case kPyCharmPWHG:
       case kPyBeautyPWHG:
+      case kPyWPWHG:
       //    number of warnings printed on the shell
       SetMSTU(26,20);
 
@@ -636,7 +650,7 @@ void AliPythia6::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfu
 //
 //  Initialize PYTHIA
     SetMSTP(41,1);   // all resonance decays switched on
-    if (process == kPyJetsPWHG || process == kPyCharmPWHG || process == kPyBeautyPWHG) {
+    if (process == kPyJetsPWHG || process == kPyCharmPWHG || process == kPyBeautyPWHG || process == kPyWPWHG) {
       Initialize("USER","","",0.);
     } else {   
       Initialize("CMS",fProjectile,fTarget,fEcms);
@@ -1497,6 +1511,12 @@ void AliPythia6::AtlasTuningMC09()
     SetPARP(89,1800.);         // [GeV]   Ref. energy
 }
 
+void AliPythia6::SetWeightPower(Double_t pow)
+{
+    setpowwght(pow);
+    SetMSTP(142, 1); // Tell Pythia to use pyevwt to calculate event wghts
+}
+
 void AliPythia6::SetPtHardRange(Float_t ptmin, Float_t ptmax)
 {
     // Set the pt hard range