]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PYTHIA8/AliPythia8.cxx
more histos
[u/mrichter/AliRoot.git] / PYTHIA8 / AliPythia8.cxx
index c66154cb769bb07c75492fe63231653ea6beae19..2e072d51694d87d846e74e707965827b8927ab0d 100644 (file)
@@ -53,14 +53,16 @@ ClassImp(AliPythia8)
 AliPythia8* AliPythia8::fgAliPythia8=NULL;
 
 AliPythia8::AliPythia8():
-    TPythia8(),
+    AliTPythia8(),
     AliPythiaBase(),
     fProcess(kPyMb),
     fEcms(0.),
     fStrucFunc(kCTEQ5L),
+    fCellJet(),
     fEtSeed(0.),
     fMinEtJet(0.),
     fRJet(0.),
+    fClusterJet(),
     fYScale(0.),
     fPtScale(0.),
     fNJetMin(0),
@@ -74,14 +76,16 @@ AliPythia8::AliPythia8():
 }
 
 AliPythia8::AliPythia8(const AliPythia8& pythia):
-    TPythia8(), 
+    AliTPythia8(), 
     AliPythiaBase(),
     fProcess(kPyMb),
     fEcms(0.),
     fStrucFunc(kCTEQ5L),
+    fCellJet(),
     fEtSeed(0.),
     fMinEtJet(0.),
     fRJet(0.),
+    fClusterJet(),
     fYScale(0.),
     fPtScale(0.),
     fNJetMin(0),
@@ -91,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()) 
@@ -129,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);
@@ -184,11 +188,11 @@ void AliPythia8::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfu
        ReadString("ParticleData:mcRun = 1.2");
 //
 //    primordial pT
-       ReadString("Beams:primordialKT = on");
-       ReadString("Beams:primordialKTsoft = 0.");
-       ReadString("Beams:primordialKThard = 1.");
-       ReadString("Beams:halfScaleForKT = 0.");
-       ReadString("Beams:halfMassForKT = 0.");
+       ReadString("BeamRemnants:primordialKT = on");
+       ReadString("BeamRemnants:primordialKTsoft = 0.");
+       ReadString("BeamRemnants:primordialKThard = 1.");
+       ReadString("BeamRemnants:halfScaleForKT = 0.");
+       ReadString("BeamRemnants:halfMassForKT = 0.");
        break;
     case kPyBeauty:
        ReadString("HardQCD:gg2bbbar = on");
@@ -227,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
@@ -237,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
@@ -270,11 +276,11 @@ void AliPythia8::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfu
     case kPyMbMSEL1:
        ConfigHeavyFlavor();
 // Intrinsic <kT^2>
-       ReadString("Beams:primordialKT = on");
-       ReadString("Beams:primordialKTsoft = 0.");
-       ReadString("Beams:primordialKThard = 1.");
-       ReadString("Beams:halfScaleForKT = 0.");
-       ReadString("Beams:halfMassForKT = 0.");
+       ReadString("BeamRemnants:primordialKT = on");
+       ReadString("BeamRemnants:primordialKTsoft = 0.");
+       ReadString("BeamRemnants:primordialKThard = 1.");
+       ReadString("BeamRemnants:halfScaleForKT = 0.");
+       ReadString("BeamRemnants:halfMassForKT = 0.");
 // Set Q-quark mass
        ReadString("ParticleData:mcRun = 1.20");
        ReadString("ParticleData:mbRun = 4.78");
@@ -317,11 +323,11 @@ void AliPythia8::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfu
       // has to be set to 2.1GeV. Example in ConfigCharmPPR.C.
        ConfigHeavyFlavor();
       // Intrinsic <kT>
-       ReadString("Beams:primordialKT = on");
-       ReadString("Beams:primordialKTsoft = 0.");
-       ReadString("Beams:primordialKThard = 1.304");
-       ReadString("Beams:halfScaleForKT = 0.");
-       ReadString("Beams:halfMassForKT = 0.");
+       ReadString("BeamRemnants:primordialKT = on");
+       ReadString("BeamRemnants:primordialKTsoft = 0.");
+       ReadString("BeamRemnants:primordialKThard = 1.304");
+       ReadString("BeamRemnants:halfScaleForKT = 0.");
+       ReadString("BeamRemnants:halfMassForKT = 0.");
       // Set c-quark mass
        ReadString("ParticleData:mcRun = 1.20");
        break;
@@ -338,11 +344,11 @@ void AliPythia8::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfu
       // has to be set to 2.1GeV. Example in ConfigCharmPPR.C.
        ConfigHeavyFlavor();
       // Intrinsic <kT>
-       ReadString("Beams:primordialKT = on");
-       ReadString("Beams:primordialKTsoft = 0.");
-       ReadString("Beams:primordialKThard = 1.16");
-       ReadString("Beams:halfScaleForKT = 0.");
-       ReadString("Beams:halfMassForKT = 0.");
+       ReadString("BeamRemnants:primordialKT = on");
+       ReadString("BeamRemnants:primordialKTsoft = 0.");
+       ReadString("BeamRemnants:primordialKThard = 1.16");
+       ReadString("BeamRemnants:halfScaleForKT = 0.");
+       ReadString("BeamRemnants:halfMassForKT = 0.");
       // Set c-quark mass
        ReadString("ParticleData:mcRun = 1.20");
       break;
@@ -350,6 +356,7 @@ void AliPythia8::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfu
     case kPyD0ppMNR:
     case kPyDPlusppMNR:
     case kPyDPlusStrangeppMNR:
+    case kPyLambdacppMNR:
       // Tuning of Pythia parameters aimed to get a resonable agreement
       // between with the NLO calculation by Mangano, Nason, Ridolfi for the
       // c-cbar single inclusive and double differential distributions.
@@ -359,11 +366,11 @@ void AliPythia8::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfu
       // has to be set to 2.1GeV. Example in ConfigCharmPPR.C.
        ConfigHeavyFlavor();
       // Intrinsic <kT^2>
-       ReadString("Beams:primordialKT = on");
-       ReadString("Beams:primordialKTsoft = 0.");
-       ReadString("Beams:primordialKThard = 1.");
-       ReadString("Beams:halfScaleForKT = 0.");
-       ReadString("Beams:halfMassForKT = 0.");
+       ReadString("BeamRemnants:primordialKT = on");
+       ReadString("BeamRemnants:primordialKTsoft = 0.");
+       ReadString("BeamRemnants:primordialKThard = 1.");
+       ReadString("BeamRemnants:halfScaleForKT = 0.");
+       ReadString("BeamRemnants:halfMassForKT = 0.");
       // Set c-quark mass
        ReadString("ParticleData:mcRun = 1.20");
       break;
@@ -386,11 +393,11 @@ void AliPythia8::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfu
       //     >8 GeV:  6%
        ConfigHeavyFlavor();
       // Intrinsic <kT^2>
-       ReadString("Beams:primordialKT = on");
-       ReadString("Beams:primordialKTsoft = 0.");
-       ReadString("Beams:primordialKThard = 1.");
-       ReadString("Beams:halfScaleForKT = 0.");
-       ReadString("Beams:halfMassForKT = 0.");
+       ReadString("BeamRemnants:primordialKT = on");
+       ReadString("BeamRemnants:primordialKTsoft = 0.");
+       ReadString("BeamRemnants:primordialKThard = 1.");
+       ReadString("BeamRemnants:halfScaleForKT = 0.");
+       ReadString("BeamRemnants:halfMassForKT = 0.");
       // Set c-quark mass
        ReadString("ParticleData:mcRun = 1.20");
        AtlasTuning();
@@ -407,11 +414,11 @@ void AliPythia8::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfu
       // QCD scales
        ReadString("SigmaProcess:factorMultFac = 1.");
       // Intrinsic <kT>
-       ReadString("Beams:primordialKT = on");
-       ReadString("Beams:primordialKTsoft = 0.");
-       ReadString("Beams:primordialKThard = 2.035");
-       ReadString("Beams:halfScaleForKT = 0.");
-       ReadString("Beams:halfMassForKT = 0.");
+       ReadString("BeamRemnants:primordialKT = on");
+       ReadString("BeamRemnants:primordialKTsoft = 0.");
+       ReadString("BeamRemnants:primordialKThard = 2.035");
+       ReadString("BeamRemnants:halfScaleForKT = 0.");
+       ReadString("BeamRemnants:halfMassForKT = 0.");
       // Set b-quark mass
        ReadString("ParticleData:mbRun = 4.75");
       break;
@@ -427,11 +434,11 @@ void AliPythia8::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfu
       // QCD scales
        ReadString("SigmaProcess:factorMultFac = 1.");
       // Intrinsic <kT>
-       ReadString("Beams:primordialKT = on");
-       ReadString("Beams:primordialKTsoft = 0.");
-       ReadString("Beams:primordialKThard = 1.6");
-       ReadString("Beams:halfScaleForKT = 0.");
-       ReadString("Beams:halfMassForKT = 0.");
+       ReadString("BeamRemnants:primordialKT = on");
+       ReadString("BeamRemnants:primordialKTsoft = 0.");
+       ReadString("BeamRemnants:primordialKThard = 1.6");
+       ReadString("BeamRemnants:halfScaleForKT = 0.");
+       ReadString("BeamRemnants:halfMassForKT = 0.");
       // Set b-quark mass
        ReadString("ParticleData:mbRun = 4.75");
       break;
@@ -447,11 +454,11 @@ void AliPythia8::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfu
        // QCD scales
        ReadString("SigmaProcess:factorMultFac = 1.");
        // Intrinsic <kT>
-       ReadString("Beams:primordialKT = on");
-       ReadString("Beams:primordialKTsoft = 0.");
-       ReadString("Beams:primordialKThard = 1.0");
-       ReadString("Beams:halfScaleForKT = 0.");
-       ReadString("Beams:halfMassForKT = 0.");
+       ReadString("BeamRemnants:primordialKT = on");
+       ReadString("BeamRemnants:primordialKTsoft = 0.");
+       ReadString("BeamRemnants:primordialKThard = 1.0");
+       ReadString("BeamRemnants:halfScaleForKT = 0.");
+       ReadString("BeamRemnants:halfMassForKT = 0.");
        // Set b-quark mass
        ReadString("ParticleData:mbRun = 4.75");
       break;
@@ -476,11 +483,11 @@ void AliPythia8::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfu
         // QCD scales
         ReadString("SigmaProcess:factorMultFac = 1.");
         // Intrinsic <kT>
-       ReadString("Beams:primordialKT = on");
-       ReadString("Beams:primordialKTsoft = 0.");
-       ReadString("Beams:primordialKThard = 1.0");
-       ReadString("Beams:halfScaleForKT = 0.");
-       ReadString("Beams:halfMassForKT = 0.");
+       ReadString("BeamRemnants:primordialKT = on");
+       ReadString("BeamRemnants:primordialKTsoft = 0.");
+       ReadString("BeamRemnants:primordialKThard = 1.0");
+       ReadString("BeamRemnants:halfScaleForKT = 0.");
+       ReadString("BeamRemnants:halfMassForKT = 0.");
        // Set b-quark mass
        ReadString("ParticleData:mbRun = 4.75");
        AtlasTuning();
@@ -505,6 +512,10 @@ void AliPythia8::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfu
        ReadString("PartonLevel:ISR = on");
        ReadString("PartonLevel:FSR = on");
        break;  
+    case kPyMbWithDirectPhoton:
+    case kPyBeautyJets:
+    case kPyMbAtlasTuneMC09: 
+      break;
     }
 //
 //  Initialize PYTHIA
@@ -594,7 +605,7 @@ void AliPythia8::GetJet(Int_t i, Float_t& px, Float_t& py, Float_t& pz, Float_t&
 void AliPythia8::GenerateEvent()
 {
     // Generate one event
-    TPythia8::GenerateEvent();
+    AliTPythia8::GenerateEvent();
 }
 
 void AliPythia8::GenerateMIEvent()
@@ -606,19 +617,19 @@ void AliPythia8::GenerateMIEvent()
 void AliPythia8::PrintStatistics()
 {
     // End of run statistics
-    TPythia8::PrintStatistics();
+    AliTPythia8::PrintStatistics();
 }
 
 void AliPythia8::EventListing()
 {
     // End of run statistics
-    TPythia8::EventListing();
+    AliTPythia8::EventListing();
 }
 
 Int_t AliPythia8::ProcessCode()
 {
     // Returns the subprocess code for the current event
-    return Pythia8()->info.codeSub();
+    return Pythia8()->info.code();
 }
 
 void AliPythia8::ConfigHeavyFlavor()
@@ -663,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)
@@ -708,11 +720,12 @@ void AliPythia8::SetInitialAndFinalStateRadiation(Int_t flag1, Int_t flag2)
 
 void AliPythia8::SetIntrinsicKt(Float_t kt)
 {
-       ReadString("Beams:primordialKT = on");
-       ReadString("Beams:primordialKTsoft = 0.");
-       ReadString(Form("Beams:primordialKThard = %13.3f", kt));
-       ReadString("Beams:halfScaleForKT = 0.");
-       ReadString("Beams:halfMassForKT = 0.");
+// Set the intrinsic kt
+       ReadString("BeamRemnants:primordialKT = on");
+       ReadString("BeamRemnants:primordialKTsoft = 0.");
+       ReadString(Form("BeamRemnants:primordialKThard = %13.3f", kt));
+       ReadString("BeamRemnants:halfScaleForKT = 0.");
+       ReadString("BeamRemnants:halfMassForKT = 0.");
 }
 
 void AliPythia8::SwitchHFOff()