Process kPyMbAtlasTuneMC09 added
[u/mrichter/AliRoot.git] / PYTHIA6 / AliPythia.cxx
index bc78258..a1be66d 100644 (file)
@@ -71,7 +71,8 @@ AliPythia::AliPythia():
     fNGmax(30),
     fZmax(0.97),
     fGlauber(0),
-    fQuenchingWeights(0)
+    fQuenchingWeights(0),
+    fItune(-1)
 {
 // Default Constructor
 //
@@ -93,7 +94,8 @@ AliPythia::AliPythia(const AliPythia& pythia):
     fNGmax(30),
     fZmax(0.97),
     fGlauber(0),
-    fQuenchingWeights(0)
+    fQuenchingWeights(0),
+    fItune(-1)
 {
     // Copy Constructor
     pythia.Copy(*this);
@@ -105,6 +107,8 @@ void AliPythia::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfun
     if (!AliPythiaRndm::GetPythiaRandom()) 
       AliPythiaRndm::SetPythiaRandom(GetRandom());
     
+    fItune = itune;
+    
     fProcess = process;
     fEcms = energy;
     fStrucFunc = strucfunc;
@@ -252,6 +256,20 @@ void AliPythia::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfun
 
        AtlasTuning();
        break;
+       
+    case kPyMbAtlasTuneMC09:
+// Minimum Bias pp-Collisions
+//
+//   
+//      select Pythia min. bias model
+       SetMSEL(0);
+       SetMSUB(92,1);             // single diffraction AB-->XB
+       SetMSUB(93,1);             // single diffraction AB-->AX
+       SetMSUB(94,1);             // double diffraction
+       SetMSUB(95,1);             // low pt production
+
+       AtlasTuning_MC09();
+       break;
 
     case kPyMbWithDirectPhoton:
 // Minimum Bias pp-Collisions with direct photon processes added 
@@ -280,11 +298,20 @@ void AliPythia::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfun
 //   
 //      select Pythia min. bias model
        SetMSEL(0);
-       SetMSUB(92,1);             // single diffraction AB-->XB
-       SetMSUB(93,1);             // single diffraction AB-->AX
+       SetMSUB(92,0);             // single diffraction AB-->XB
+       SetMSUB(93,0);             // single diffraction AB-->AX
        SetMSUB(94,1);             // double diffraction
        SetMSUB(95,1);             // low pt production
 
+       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 kPyLhwgMb:
 // Les Houches Working Group 05 Minimum Bias pp-Collisions: hep-ph/0604120
@@ -348,7 +375,7 @@ void AliPythia::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfun
        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)
+       SetPARP(90,0.25);         // 2*epsilon (exponent in power law)
        break;
     case kPyDirectGamma:
        SetMSEL(10);
@@ -588,7 +615,7 @@ void AliPythia::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfun
     
 //  
     SetMSTP(41,1);   // all resonance decays switched on
-    Initialize("CMS","p","p",fEcms);
+    Initialize("CMS","p","pbar",fEcms);
     
 }
 
@@ -1365,18 +1392,53 @@ void AliPythia::AtlasTuning()
 {
     //
     // Configuration for the ATLAS tuning
-        SetMSTP(51, AliStructFuncType::PDFsetIndex(kCTEQ5L));      // CTEQ5L pdf
-       SetMSTP(81,1);             // Multiple Interactions ON
-       SetMSTP(82,4);             // Double Gaussian Model
-       SetPARP(81,1.9);           // Min. pt for multiple interactions (default in 6.2-14) 
-       SetPARP(82,1.8);           // [GeV]    PT_min at Ref. energy
-       SetPARP(89,1000.);         // [GeV]   Ref. energy
-       SetPARP(90,0.16);          // 2*epsilon (exponent in power law)
-       SetPARP(83,0.5);           // Core density in proton matter distribution (def.value)
-       SetPARP(84,0.5);           // Core radius
-       SetPARP(85,0.33);          // Regulates gluon prod. mechanism
-       SetPARP(86,0.66);          // Regulates gluon prod. mechanism
-       SetPARP(67,1);             // Regulates Initial State Radiation
+    if (fItune > -1) return;
+    printf("ATLAS TUNE \n");
+    
+    SetMSTP(51, AliStructFuncType::PDFsetIndex(kCTEQ5L));      // CTEQ5L pdf
+    SetMSTP(81,1);             // Multiple Interactions ON
+    SetMSTP(82,4);             // Double Gaussian Model
+    SetPARP(81,1.9);           // Min. pt for multiple interactions (default in 6.2-14) 
+    SetPARP(82,1.8);           // [GeV]    PT_min at Ref. energy
+    SetPARP(89,1000.);         // [GeV]   Ref. energy
+    SetPARP(90,0.16);          // 2*epsilon (exponent in power law)
+    SetPARP(83,0.5);           // Core density in proton matter distribution (def.value)
+    SetPARP(84,0.5);           // Core radius
+    SetPARP(85,0.33);          // Regulates gluon prod. mechanism
+    SetPARP(86,0.66);          // Regulates gluon prod. mechanism
+    SetPARP(67,1);             // Regulates Initial State Radiation
+}
+
+void AliPythia::AtlasTuning_MC09()
+{
+    //
+    // Configuration for the ATLAS tuning
+    if (fItune > -1) return;
+    printf("ATLAS New TUNE MC09\n");
+    SetMSTP(81,21);             // treatment for MI, ISR, FSR and beam remnants: MI on, new model
+    SetMSTP(82, 4);             // Double Gaussian Model
+    SetMSTP(52, 2);             // External PDF
+    SetMSTP(51, 20650);         // MRST LO*
+  
+    
+    SetMSTP(70, 0);             // (was 2: def manual 1, def code 0) virtuality scale for ISR 
+    SetMSTP(72, 1);             // (was 0: def 1) maximum scale for FSR
+    SetMSTP(88, 1);             // (was 0: def 1) strategy for qq junction to di-quark or baryon in beam remnant
+    SetMSTP(90, 0);             // (was 1: def 0) strategy of compensate the primordial kT
+
+    SetPARP(78, 0.3);           // the amount of color reconnection in the final state
+    SetPARP(80, 0.1);           // probability of color partons kicked out from beam remnant
+    SetPARP(82, 2.3);           // [GeV]    PT_min at Ref. energy    
+    SetPARP(83, 0.8);           // Core density in proton matter distribution (def.value)    
+    SetPARP(84, 0.7);           // Core radius
+    SetPARP(90, 0.25);          //  2*epsilon (exponent in power law)
+    SetPARJ(81, 0.29);          // (was 0.14: def 0.29) Labmda value in running alpha_s for parton showers
+
+    SetMSTP(95, 6);
+    SetPARJ(41, 0.3);           // a and b parameters of the symmm. Lund FF
+    SetPARJ(42, 0.58);
+    SetPARJ(46, 0.75);          // mod. of the Lund FF for heavy end-point quarks
+    SetPARP(89,1800.);         // [GeV]   Ref. energy
 }
 
 AliPythia& AliPythia::operator=(const  AliPythia& rhs)