Some code duplication in Pythia configuration removed.
authormorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sat, 18 Mar 2006 17:26:53 +0000 (17:26 +0000)
committermorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sat, 18 Mar 2006 17:26:53 +0000 (17:26 +0000)
PYTHIA6/AliPythia.cxx
PYTHIA6/AliPythia.h

index 22b27e7..cd1c213 100644 (file)
@@ -284,42 +284,6 @@ void AliPythia::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfun
        break;
     case kPyCharmPbPbMNR:
     case kPyD0PbPbMNR:
-      // 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.
-      // This parameter settings are meant to work with Pb-Pb collisions
-      // (AliGenPythia::SetNuclei) and with kCTEQ4L PDFs.
-      // To get a good agreement the minimum ptHard (AliGenPythia::SetPtHard)
-      // has to be set to 2.1GeV. Example in ConfigCharmPPR.C.
-
-      // All QCD processes
-      SetMSEL(1);
-
-      // No multiple interactions
-      SetMSTP(81,0);
-      SetPARP(81,0.0);
-      SetPARP(82,0.0);
-
-      // Initial/final parton shower on (Pythia default)
-      SetMSTP(61,1);
-      SetMSTP(71,1);
-
-      // 2nd order alpha_s
-      SetMSTP(2,2);
-
-      // QCD scales
-      SetMSTP(32,2);
-      SetPARP(34,1.0);
-
-      // Intrinsic <kT>
-      SetMSTP(91,1);
-      SetPARP(91,1.304);
-      SetPARP(93,6.52);
-
-      // Set c-quark mass
-      SetPMAS(4,1,1.2);
-
-      break;
     case kPyDPlusPbPbMNR:
       // Tuning of Pythia parameters aimed to get a resonable agreement
       // between with the NLO calculation by Mangano, Nason, Ridolfi for the
@@ -328,73 +292,16 @@ void AliPythia::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfun
       // (AliGenPythia::SetNuclei) and with kCTEQ4L PDFs.
       // To get a good agreement the minimum ptHard (AliGenPythia::SetPtHard)
       // has to be set to 2.1GeV. Example in ConfigCharmPPR.C.
-
-      // All QCD processes
-      SetMSEL(1);
-
-      // No multiple interactions
-      SetMSTP(81,0);
-      SetPARP(81,0.0);
-      SetPARP(82,0.0);
-
-      // Initial/final parton shower on (Pythia default)
-      SetMSTP(61,1);
-      SetMSTP(71,1);
-
-      // 2nd order alpha_s
-      SetMSTP(2,2);
-
-      // QCD scales
-      SetMSTP(32,2);
-      SetPARP(34,1.0);
-
+       ConfigHeavyFlavor();
       // Intrinsic <kT>
       SetMSTP(91,1);
       SetPARP(91,1.304);
       SetPARP(93,6.52);
-
       // Set c-quark mass
       SetPMAS(4,1,1.2);
-
       break;
     case kPyCharmpPbMNR:
     case kPyD0pPbMNR:
-      // 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.
-      // This parameter settings are meant to work with p-Pb collisions
-      // (AliGenPythia::SetNuclei) and with kCTEQ4L PDFs.
-      // To get a good agreement the minimum ptHard (AliGenPythia::SetPtHard)
-      // has to be set to 2.1GeV. Example in ConfigCharmPPR.C.
-
-      // All QCD processes
-      SetMSEL(1);
-
-      // No multiple interactions
-      SetMSTP(81,0);
-      SetPARP(81,0.0);
-      SetPARP(82,0.0);
-
-      // Initial/final parton shower on (Pythia default)
-      SetMSTP(61,1);
-      SetMSTP(71,1);
-
-      // 2nd order alpha_s
-      SetMSTP(2,2);
-
-      // QCD scales
-      SetMSTP(32,2);
-      SetPARP(34,1.0);
-
-      // Intrinsic <kT>
-      SetMSTP(91,1);
-      SetPARP(91,1.16);
-      SetPARP(93,5.8);
-
-      // Set c-quark mass
-      SetPMAS(4,1,1.2);
-
-      break;
     case kPyDPluspPbMNR:
       // Tuning of Pythia parameters aimed to get a resonable agreement
       // between with the NLO calculation by Mangano, Nason, Ridolfi for the
@@ -403,73 +310,17 @@ void AliPythia::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfun
       // (AliGenPythia::SetNuclei) and with kCTEQ4L PDFs.
       // To get a good agreement the minimum ptHard (AliGenPythia::SetPtHard)
       // has to be set to 2.1GeV. Example in ConfigCharmPPR.C.
-
-      // All QCD processes
-      SetMSEL(1);
-
-      // No multiple interactions
-      SetMSTP(81,0);
-      SetPARP(81,0.0);
-      SetPARP(82,0.0);
-
-      // Initial/final parton shower on (Pythia default)
-      SetMSTP(61,1);
-      SetMSTP(71,1);
-
-      // 2nd order alpha_s
-      SetMSTP(2,2);
-
-      // QCD scales
-      SetMSTP(32,2);
-      SetPARP(34,1.0);
-
+       ConfigHeavyFlavor();
       // Intrinsic <kT>
-      SetMSTP(91,1);
-      SetPARP(91,1.16);
-      SetPARP(93,5.8);
-
+       SetMSTP(91,1);
+       SetPARP(91,1.16);
+       SetPARP(93,5.8);
+       
       // Set c-quark mass
-      SetPMAS(4,1,1.2);
-
+       SetPMAS(4,1,1.2);
       break;
     case kPyCharmppMNR:
     case kPyD0ppMNR:
-      // 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.
-      // This parameter settings are meant to work with pp collisions
-      // (AliGenPythia::SetNuclei) and with kCTEQ4L PDFs.
-      // To get a good agreement the minimum ptHard (AliGenPythia::SetPtHard)
-      // has to be set to 2.1GeV. Example in ConfigCharmPPR.C.
-
-      // All QCD processes
-      SetMSEL(1);
-
-      // No multiple interactions
-      SetMSTP(81,0);
-      SetPARP(81,0.0);
-      SetPARP(82,0.0);
-
-      // Initial/final parton shower on (Pythia default)
-      SetMSTP(61,1);
-      SetMSTP(71,1);
-
-      // 2nd order alpha_s
-      SetMSTP(2,2);
-
-      // QCD scales
-      SetMSTP(32,2);
-      SetPARP(34,1.0);
-
-      // Intrinsic <kT^2>
-      SetMSTP(91,1);
-      SetPARP(91,1.);
-      SetPARP(93,5.);
-
-      // Set c-quark mass
-      SetPMAS(4,1,1.2);
-
-      break;
     case kPyDPlusppMNR:
       // Tuning of Pythia parameters aimed to get a resonable agreement
       // between with the NLO calculation by Mangano, Nason, Ridolfi for the
@@ -478,34 +329,14 @@ void AliPythia::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfun
       // (AliGenPythia::SetNuclei) and with kCTEQ4L PDFs.
       // To get a good agreement the minimum ptHard (AliGenPythia::SetPtHard)
       // has to be set to 2.1GeV. Example in ConfigCharmPPR.C.
-
-      // All QCD processes
-      SetMSEL(1);
-
-      // No multiple interactions
-      SetMSTP(81,0);
-      SetPARP(81,0.0);
-      SetPARP(82,0.0);
-
-      // Initial/final parton shower on (Pythia default)
-      SetMSTP(61,1);
-      SetMSTP(71,1);
-
-      // 2nd order alpha_s
-      SetMSTP(2,2);
-
-      // QCD scales
-      SetMSTP(32,2);
-      SetPARP(34,1.0);
-
+       ConfigHeavyFlavor();
       // Intrinsic <kT^2>
-      SetMSTP(91,1);
-      SetPARP(91,1.);
-      SetPARP(93,5.);
-
+       SetMSTP(91,1);
+       SetPARP(91,1.);
+       SetPARP(93,5.);
+       
       // Set c-quark mass
-      SetPMAS(4,1,1.2);
-
+       SetPMAS(4,1,1.2);
       break;
     case kPyBeautyPbPbMNR:
       // Tuning of Pythia parameters aimed to get a resonable agreement
@@ -515,36 +346,16 @@ void AliPythia::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfun
       // (AliGenPythia::SetNuclei) and with kCTEQ4L PDFs.
       // To get a good agreement the minimum ptHard (AliGenPythia::SetPtHard)
       // has to be set to 2.75GeV. Example in ConfigBeautyPPR.C.
-
-      // All QCD processes
-      SetMSEL(1);
-
-      // No multiple interactions
-      SetMSTP(81,0);
-      SetPARP(81,0.0);
-      SetPARP(82,0.0);
-
-      // Initial/final parton shower on (Pythia default)
-      SetMSTP(61,1);
-      SetMSTP(71,1);
-
-      // 2nd order alpha_s
-      SetMSTP(2,2);
-
+       ConfigHeavyFlavor();
       // QCD scales
-      SetMSTP(32,2);
-      SetPARP(34,1.0);
-      SetPARP(67,1.0);
-      SetPARP(71,1.0);
-
+       SetPARP(67,1.0);
+       SetPARP(71,1.0);
       // Intrinsic <kT>
-      SetMSTP(91,1);
-      SetPARP(91,2.035);
-      SetPARP(93,10.17);
-
+       SetMSTP(91,1);
+       SetPARP(91,2.035);
+       SetPARP(93,10.17);
       // Set b-quark mass
-      SetPMAS(5,1,4.75);
-
+       SetPMAS(5,1,4.75);
       break;
     case kPyBeautypPbMNR:
       // Tuning of Pythia parameters aimed to get a resonable agreement
@@ -554,36 +365,16 @@ void AliPythia::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfun
       // (AliGenPythia::SetNuclei) and with kCTEQ4L PDFs.
       // To get a good agreement the minimum ptHard (AliGenPythia::SetPtHard)
       // has to be set to 2.75GeV. Example in ConfigBeautyPPR.C.
-
-      // All QCD processes
-      SetMSEL(1);
-
-      // No multiple interactions
-      SetMSTP(81,0);
-      SetPARP(81,0.0);
-      SetPARP(82,0.0);
-
-      // Initial/final parton shower on (Pythia default)
-      SetMSTP(61,1);
-      SetMSTP(71,1);
-
-      // 2nd order alpha_s
-      SetMSTP(2,2);
-
+       ConfigHeavyFlavor();
       // QCD scales
-      SetMSTP(32,2);
-      SetPARP(34,1.0);
-      SetPARP(67,1.0);
-      SetPARP(71,1.0);
-
+       SetPARP(67,1.0);
+       SetPARP(71,1.0);
       // Intrinsic <kT>
-      SetMSTP(91,1);
-      SetPARP(91,1.60);
-      SetPARP(93,8.00);
-
+       SetMSTP(91,1);
+       SetPARP(91,1.60);
+       SetPARP(93,8.00);
       // Set b-quark mass
-      SetPMAS(5,1,4.75);
-
+       SetPMAS(5,1,4.75);
       break;
     case kPyBeautyppMNR:
       // Tuning of Pythia parameters aimed to get a resonable agreement
@@ -593,36 +384,18 @@ void AliPythia::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfun
       // (AliGenPythia::SetNuclei) and with kCTEQ4L PDFs.
       // To get a good agreement the minimum ptHard (AliGenPythia::SetPtHard)
       // has to be set to 2.75GeV. Example in ConfigBeautyPPR.C.
-
-      // All QCD processes
-      SetMSEL(1);
-
-      // No multiple interactions
-      SetMSTP(81,0);
-      SetPARP(81,0.0);
-      SetPARP(82,0.0);
-
-      // Initial/final parton shower on (Pythia default)
-      SetMSTP(61,1);
-      SetMSTP(71,1);
-
-      // 2nd order alpha_s
-      SetMSTP(2,2);
-
+       ConfigHeavyFlavor();
       // QCD scales
-      SetMSTP(32,2);
-      SetPARP(34,1.0);
-      SetPARP(67,1.0);
-      SetPARP(71,1.0);
-
-      // Intrinsic <kT>
-      SetMSTP(91,1);
-      SetPARP(91,1.);
-      SetPARP(93,5.);
-
-      // Set b-quark mass
-      SetPMAS(5,1,4.75);
-
+       SetPARP(67,1.0);
+       SetPARP(71,1.0);
+       
+       // Intrinsic <kT>
+       SetMSTP(91,1);
+       SetPARP(91,1.);
+       SetPARP(93,5.);
+       
+       // Set b-quark mass
+       SetPMAS(5,1,4.75);
       break;
  
     case kPyW:
@@ -1353,4 +1126,28 @@ void AliPythia::GetQuenchingParameters(Double_t& xp, Double_t& yp, Double_t z[4]
 
 }
 
-
+void AliPythia::ConfigHeavyFlavor()
+{
+    //
+    // Default configuration for Heavy Flavor production
+    //
+    // All QCD processes
+    //
+    SetMSEL(1);
+    
+    // No multiple interactions
+    SetMSTP(81,0);
+    SetPARP(81,0.0);
+    SetPARP(82,0.0);
+    
+    // Initial/final parton shower on (Pythia default)
+    SetMSTP(61,1);
+    SetMSTP(71,1);
+    
+    // 2nd order alpha_s
+    SetMSTP(2,2);
+    
+    // QCD scales
+    SetMSTP(32,2);
+    SetPARP(34,1.0);
+}
index a86d963..82b9abd 100644 (file)
@@ -78,7 +78,8 @@ class AliPythia : public TPythia6, public AliRndm
     static AliPythia*     fgAliPythia;        // Pointer to single instance
  private: 
     AliPythia();
-
+    void ConfigHeavyFlavor();
+    
     ClassDef(AliPythia,1) //ALICE UI to PYTHIA
 };