SetTune for Pythia8
authormorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 9 May 2012 13:58:13 +0000 (13:58 +0000)
committermorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 9 May 2012 13:58:13 +0000 (13:58 +0000)
PYTHIA6/AliGenPythiaPlus.cxx
PYTHIA6/AliGenPythiaPlus.h
PYTHIA6/AliPythia6.cxx
PYTHIA6/AliPythia6.h
PYTHIA6/AliPythiaBase.h
PYTHIA8/AliPythia8.cxx
PYTHIA8/AliPythia8.h

index 4a19b5f..1a192c4 100644 (file)
@@ -124,8 +124,8 @@ AliGenPythiaPlus::AliGenPythiaPlus():
     fPHOSEta(0.13),
     fEMCALMinPhi(79.),
     fEMCALMaxPhi(191.),
-    fEMCALEta(0.71)
-
+    fEMCALEta(0.71),
+    fItune(-1) 
 {
 // Default Constructor
   fEnergyCMS = 5500.;
@@ -211,7 +211,8 @@ AliGenPythiaPlus::AliGenPythiaPlus(AliPythiaBase* pythia)
      fPHOSEta(0.13),
      fEMCALMinPhi(79.),
      fEMCALMaxPhi(191.),
-     fEMCALEta(0.71)
+     fEMCALEta(0.71),
+     fItune(-1) 
 {
 // default charm production at 5. 5 TeV
 // semimuonic decay
@@ -345,7 +346,7 @@ void AliGenPythiaPlus::Init()
        fRL = 0x0;
     }
  //
-    fPythia->ProcInit(fProcess, fEnergyCMS, fStrucFunc);
+    fPythia->ProcInit(fProcess, fEnergyCMS, fStrucFunc, fItune);
     //  Forward Paramters to the AliPythia object
     fDecayer->SetForceDecay(fForceDecay);    
 // Switch off Heavy Flavors on request  
index 8f5fca0..1fe4dca 100644 (file)
@@ -172,7 +172,7 @@ class AliGenPythiaPlus : public AliGenMC
     //Used in some processes to selected child properties
     Bool_t CheckKinematicsOnChild();
     void     GetSubEventTime();
-
+    virtual void    SetTune(Int_t itune) {fItune = itune;}
  protected:
     // adjust the weight from kinematic cuts
     void     AdjustWeights() const;
@@ -269,7 +269,7 @@ class AliGenPythiaPlus : public AliGenMC
     Float_t fEMCALMinPhi;          // Minimum phi EMCAL
     Float_t fEMCALMaxPhi;          // Maximum phi EMCAL
     Float_t fEMCALEta;             // Maximum eta EMCAL
-
+    Int_t   fItune;                 // Pythia tune 
  private:
     AliGenPythiaPlus(const AliGenPythiaPlus &Pythia);
     AliGenPythiaPlus & operator=(const AliGenPythiaPlus & rhs);
index dc8ab65..b2450cb 100644 (file)
@@ -114,7 +114,7 @@ AliPythia6::AliPythia6(const AliPythia6& pythia):
     pythia.Copy(*this);
 }
 
-void AliPythia6::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfunc)
+void AliPythia6::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfunc, Int_t /*tune*/)
 {
 // Initialise the process to generate 
     if (!AliPythiaRndm::GetPythiaRandom()) 
index 25ece73..1e15049 100644 (file)
@@ -23,7 +23,7 @@ class AliPythia6 : public TPythia6, public AliPythiaBase
     virtual Int_t CheckedLuComp(Int_t kf);
     // Pythia initialisation for selected processes
     virtual void ProcInit
-       (Process_t process, Float_t energy, StrucFunc_t strucfunc);
+      (Process_t process, Float_t energy, StrucFunc_t strucfunc, Int_t tune);
     virtual void  GenerateEvent()   {Pyevnt();}
     virtual void  GenerateMIEvent() {Pyevnw();}
     virtual void  HadronizeEvent()  {Pyexec();}
index 6b79896..1bb3ad2 100644 (file)
@@ -24,7 +24,7 @@ class AliPythiaBase : public AliRndm
     // Convert to compressed code and print result (for debugging only)
     virtual Int_t CheckedLuComp(Int_t kf)                                                                           = 0;
     // Pythia initialisation for selected processes
-    virtual void  ProcInit (Process_t process, Float_t energy, StrucFunc_t strucfunc)                               = 0;
+    virtual void  ProcInit (Process_t process, Float_t energy, StrucFunc_t strucfunc, Int_t tune)                   = 0;
     virtual void  GenerateEvent()                                                                                   = 0;
     virtual void  GenerateMIEvent()                                                                                 = 0;
     virtual Int_t GetNumberOfParticles()                                                                            = 0;
index c0fe293..2e072d5 100644 (file)
@@ -95,7 +95,7 @@ AliPythia8::AliPythia8(const AliPythia8& pythia):
     pythia.Copy(*this);
 }
 
-void AliPythia8::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfunc)
+void AliPythia8::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfunc, Int_t tune)
 {
 // Initialise the process to generate 
     if (!AliPythiaRndm::GetPythiaRandom()) 
@@ -133,14 +133,14 @@ void AliPythia8::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfu
 //        Multiple interactions on.
        ReadString("PartonLevel:MI = on");
 // Double Gaussian matter distribution.
-       ReadString("MultipleInteractions:bProfile = 2");
-       ReadString("MultipleInteractions:coreFraction = 0.5");
-       ReadString("MultipleInteractions:coreRadius = 0.4");
+       ReadString("MultipartonInteractions:bProfile = 2");
+       ReadString("MultipartonInteractions:coreFraction = 0.5");
+       ReadString("MultipartonInteractions:coreRadius = 0.4");
 //  pT0.
-       ReadString("MultipleInteractions:pTmin = 2.0");
+       ReadString("MultipartonInteractions:pTmin = 2.0");
 //  Reference energy for pT0 and energy rescaling pace.
-       ReadString("MultipleInteractions:ecmRef = 1800.");
-       ReadString("MultipleInteractions:ecmPow = 0.25");
+       ReadString("MultipartonInteractions:ecmRef = 1800.");
+       ReadString("MultipartonInteractions:ecmPow = 0.25");
 //  String drawing almost completely minimizes string length.
 //     SetPARP(85,0.9);
 //     SetPARP(86,0.95);
@@ -231,7 +231,7 @@ void AliPythia8::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfu
        ReadString("SoftQCD:minBias = on");
        ReadString("SoftQCD:singleDiffractive = on");
        ReadString("SoftQCD:doubleDiffractive = on");
-       AtlasTuning();
+       if (tune == -1) AtlasTuning();
        break;
     case kPyMbDefault:
 // Minimum Bias pp-Collisions
@@ -241,6 +241,8 @@ void AliPythia8::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfu
        ReadString("SoftQCD:minBias = on");
        ReadString("SoftQCD:singleDiffractive = on");
        ReadString("SoftQCD:doubleDiffractive = on");
+       ReadString("SoftQCD:doubleDiffractive = on");
+       if (tune > -1) ReadString(Form("Tune:pp = %3d", tune));
        break;
     case kPyLhwgMb:
 // Les Houches Working Group 05 Minimum Bias pp-Collisions: hep-ph/0604120
@@ -672,6 +674,7 @@ void AliPythia8::AtlasTuning()
 //     SetPARP(85,0.33);          // Regulates gluon prod. mechanism
 //     SetPARP(86,0.66);          // Regulates gluon prod. mechanism
     ReadString("SigmaProcess:factorMultFac = 1.");
+    
 }
 
 void AliPythia8::SetPtHardRange(Float_t ptmin, Float_t ptmax)
index 2f5f348..d9919dd 100644 (file)
@@ -21,7 +21,7 @@ class AliPythia8 :public AliTPythia8, public AliPythiaBase
     // convert to compressed code and print result (for debugging only)
     virtual Int_t CheckedLuComp(Int_t /*kf*/) {return -1;}
     // Pythia initialisation for selected processes
-    virtual void  ProcInit (Process_t process, Float_t energy, StrucFunc_t strucfunc);
+    virtual void  ProcInit (Process_t process, Float_t energy, StrucFunc_t strucfunc, Int_t tune);
     virtual void  GenerateEvent();
     virtual void  GenerateMIEvent();
     virtual void  HadronizeEvent();