Include full Z0/gamma* interference in Pythia
authordstocco <diego.stocco@cern.ch>
Wed, 5 Feb 2014 18:02:19 +0000 (19:02 +0100)
committermorsch <andreas.morsch@cern.ch>
Mon, 10 Feb 2014 15:23:46 +0000 (16:23 +0100)
PYTHIA6/AliGenPythia.cxx
PYTHIA6/AliGenPythiaPlus.cxx
PYTHIA6/AliPythia.cxx
PYTHIA6/AliPythia6.cxx
PYTHIA6/PythiaProcesses.h
PYTHIA8/AliPythia8.cxx

index 0a8bd53..ed4d2c1 100644 (file)
@@ -524,9 +524,10 @@ void AliGenPythia::Init()
     case kPyDirectGamma:
     case kPyLhwgMb:    
        break;
-    case kPyWPWHG:   /// !!!!!!!!!! Change done for W prod with POWHEG !!!!!!!!!! :)
+    case kPyWPWHG:
     case kPyW:
     case kPyZ:
+    case kPyZgamma:
     case kPyMBRSingleDiffraction:
     case kPyMBRDoubleDiffraction:
     case kPyMBRCentralDiffraction:
@@ -607,6 +608,9 @@ void AliGenPythia::Init()
        fPythia->SetMSTJ(44, 2);  // option to run alpha_s
        fPythia->SetPARJ(82, 1.); // Cut off for parton showers
     }
+  
+  StdoutToAliDebug(1, fPythia->Pystat(4));
+  StdoutToAliDebug(1, fPythia->Pystat(5));
 }
 
 void AliGenPythia::Generate()
@@ -737,10 +741,11 @@ void AliGenPythia::Generate()
            fProcess != kPyMbMSEL1     &&
            fProcess != kPyW && 
            fProcess != kPyZ &&
+      fProcess != kPyZgamma &&
            fProcess != kPyCharmppMNRwmi && 
            fProcess != kPyBeautyppMNRwmi &&
            fProcess != kPyBeautyJets &&
-     fProcess != kPyWPWHG &&  /// !!!!!!!!!!!!!!!!! Change done for W with POHWEG !!!!!!!!!!!!!!!!!!! :)
+     fProcess != kPyWPWHG &&
      fProcess != kPyJetsPWHG &&
      fProcess != kPyCharmPWHG &&
      fProcess != kPyBeautyPWHG) {
@@ -1112,9 +1117,10 @@ Int_t  AliGenPythia::GenerateMB()
 
     //Introducing child cuts in case kPyW, kPyZ, kPyMb, and kPyMbNonDiff
     if ( (
-    fProcess == kPyWPWHG ||  /// !!!!!!!!!!!!!!!! Added for W with POWHEG !!!!!!!!!! :)
+    fProcess == kPyWPWHG ||
     fProcess == kPyW ||
          fProcess == kPyZ ||
+    fProcess == kPyZgamma ||
          fProcess == kPyMbDefault ||
          fProcess == kPyMb ||
          fProcess == kPyMbAtlasTuneMC09 ||
index 799cd0f..0f91b97 100644 (file)
@@ -447,9 +447,10 @@ void AliGenPythiaPlus::Init()
     case kPyDirectGamma:
     case kPyLhwgMb:    
        break;
-    case kPyWPWHG: ///// !!!!!!!!!!!!!!!!!!!1 Change for W with POWEG !!!!!!!!!!!!!!!!!1 :)
+    case kPyWPWHG:
     case kPyW:
     case kPyZ:
+    case kPyZgamma:
     case kPyMBRSingleDiffraction:
     case kPyMBRDoubleDiffraction:
     case kPyMBRCentralDiffraction:
@@ -607,9 +608,10 @@ void AliGenPythiaPlus::Generate()
            fProcess != kPyMbMSEL1     &&
            fProcess != kPyW && 
            fProcess != kPyZ &&
+      fProcess != kPyZgamma &&
            fProcess != kPyCharmppMNRwmi && 
            fProcess != kPyBeautyppMNRwmi &&
-      fProcess != kPyWPWHG &&   /// !!!!!!!!!!!!!!!!!!! Change for W with POWHEG !!!!!!!!!!!!!!!!1 :)
+      fProcess != kPyWPWHG &&
            fProcess != kPyJetsPWHG &&
            fProcess != kPyCharmPWHG &&
      fProcess != kPyBeautyPWHG) {
@@ -977,9 +979,10 @@ Int_t  AliGenPythiaPlus::GenerateMB()
 
     //Introducing child cuts in case kPyW, kPyZ, kPyMb, and kPyMbNonDiff
     if ( (
-    fProcess == kPyWPWHG ||   // !!!!!!!!!!!!! Change for W with POWEG !!!!!!!!!!!!!!!1 :)
+    fProcess == kPyWPWHG ||
     fProcess == kPyW ||
          fProcess == kPyZ ||
+    fProcess == kPyZgamma ||
          fProcess == kPyMbDefault ||
          fProcess == kPyMb ||
          fProcess == kPyMbWithDirectPhoton ||
index 51fc45d..360cd8e 100644 (file)
@@ -615,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:
@@ -637,7 +647,7 @@ void AliPythia::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfun
     
       case kPyCharmPWHG:
       case kPyBeautyPWHG:
-      case kPyWPWHG:   //!!!! CHANGE done for W with Powheg !!!!!!! :)
+      case kPyWPWHG:
       //    number of warnings printed on the shell
       SetMSTU(26,20);
             
index c60e9d5..87c8c96 100644 (file)
@@ -609,6 +609,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 +639,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);
 
index 9e16d9a..e39b913 100644 (file)
@@ -10,7 +10,7 @@ typedef enum
     kPyCharmppMNR, kPyCharmppMNRwmi, kPyD0ppMNR, kPyDPlusppMNR, kPyDPlusStrangeppMNR, 
     kPyBeautyppMNR, kPyBeautyppMNRwmi, kPyBeautyJets, kPyW, kPyZ, kPyLambdacppMNR, kPyMbMSEL1,
     kPyOldUEQ2ordered, kPyOldUEQ2ordered2, kPyOldPopcorn,
-    kPyLhwgMb, kPyMbDefault, kPyMbAtlasTuneMC09, kPyMBRSingleDiffraction, kPyMBRDoubleDiffraction, kPyMBRCentralDiffraction, kPyJetsPWHG, kPyCharmPWHG, kPyBeautyPWHG, kPyWPWHG
+    kPyLhwgMb, kPyMbDefault, kPyMbAtlasTuneMC09, kPyMBRSingleDiffraction, kPyMBRDoubleDiffraction, kPyMBRCentralDiffraction, kPyJetsPWHG, kPyCharmPWHG, kPyBeautyPWHG, kPyWPWHG, kPyZgamma
 }
 Process_t;
 
index 834e1c6..b9f0f52 100644 (file)
@@ -511,7 +511,16 @@ void AliPythia8::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfu
        // With parton showers on we are generating "Z inclusive process"
        ReadString("PartonLevel:ISR = on");
        ReadString("PartonLevel:FSR = on");
-       break;  
+       break;
+    case kPyZgamma:
+        //Inclusive production of Z/gamma*
+        //f fbar -> Z/gamma
+        ReadString("WeakSingleBoson:ffbar2gmZ = on");
+        // Initial/final parton shower on (Pythia default)
+        // With parton showers on we are generating "Z inclusive process"
+        ReadString("PartonLevel:ISR = on");
+        ReadString("PartonLevel:FSR = on");
+        break;
     case kPyMBRSingleDiffraction:
       ReadString("Diffraction:PomFlux = 5");
       ReadString("SoftQCD:singleDiffractive = on");