]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PYTHIA6/AliPythia.cxx
Fixed misplaced }
[u/mrichter/AliRoot.git] / PYTHIA6 / AliPythia.cxx
index 918e67cd1d7300a82203a25c7ad40d9933af7c5d..360cd8e59948cae1653b481bd63b2ccdbb5f80f7 100644 (file)
@@ -20,6 +20,7 @@
 #include "AliFastGlauber.h"
 #include "AliQuenchingWeights.h"
 #include "AliOmegaDalitz.h"
+#include "AliLog.h"
 #include "TVector3.h"
 #include "TLorentzVector.h"
 #include "PyquenCommon.h"
@@ -374,15 +375,17 @@ void AliPythia::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfun
        SetMSEL(1);
  // Pythia Tune A (CDF)
  //
-       SetPARP(67,2.5);           // Regulates Initial State Radiation (value from best fit to D0 dijet analysis)
-       SetMSTP(82,4);             // Double Gaussian Model
-       SetPARP(82,2.0);           // [GeV]    PT_min at Ref. energy
-       SetPARP(84,0.4);           // Core radius
-       SetPARP(85,0.90) ;         // Regulates gluon prod. mechanism
-       SetPARP(86,0.95);          // Regulates gluon prod. mechanism
-       SetPARP(89,1800.);         // [GeV]   Ref. energy
-       SetPARP(90,0.25);         // 2*epsilon (exponent in power law)
-       break;
+       if (fItune < 0) {
+         SetPARP(67,2.5);           // Regulates Initial State Radiation (value from best fit to D0 dijet analysis)
+         SetMSTP(82,4);             // Double Gaussian Model
+         SetPARP(82,2.0);           // [GeV]    PT_min at Ref. energy
+         SetPARP(84,0.4);           // Core radius
+         SetPARP(85,0.90) ;         // Regulates gluon prod. mechanism
+         SetPARP(86,0.95);          // Regulates gluon prod. mechanism
+         SetPARP(89,1800.);         // [GeV]   Ref. energy
+         SetPARP(90,0.25);          // 2*epsilon (exponent in power law)
+       }
+         break;
     case kPyDirectGamma:
        SetMSEL(10);
        break;
@@ -612,6 +615,16 @@ void AliPythia::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfun
       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:
@@ -634,6 +647,7 @@ void AliPythia::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfun
     
       case kPyCharmPWHG:
       case kPyBeautyPWHG:
+      case kPyWPWHG:
       //    number of warnings printed on the shell
       SetMSTU(26,20);
             
@@ -643,11 +657,18 @@ void AliPythia::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfun
 //  Initialize PYTHIA
 //
 //  Select the tune
-    if (itune > -1) Pytune(itune);
-    
+    if (itune > -1) {
+      Pytune(itune);
+      if (GetMSTP(192) > 1 || GetMSTP(193) > 1) {
+       AliWarning(Form("Structure function for tune %5d set to %5s\n", 
+                       itune,  AliStructFuncType::PDFsetName(strucfunc).Data()));
+       SetMSTP(52,2);
+       SetMSTP(51, AliStructFuncType::PDFsetIndex(strucfunc));
+      }
+    }
 //  
     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);