Possibility to change the collision system.
authormorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 13 May 2013 12:25:59 +0000 (12:25 +0000)
committermorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 13 May 2013 12:25:59 +0000 (12:25 +0000)
Default is pp.
Zaida

PYTHIA6/AliGenPythia.cxx
PYTHIA6/AliGenPythia.h
PYTHIA6/AliPythia.cxx
PYTHIA6/AliPythia.h
PYTHIA6/AliPythia6.cxx
PYTHIA6/AliPythia6.h

index beee74c..756273c 100644 (file)
@@ -379,7 +379,9 @@ void AliGenPythia::Init()
     fPythia->SetCKIN(7,fYHardMin);
     fPythia->SetCKIN(8,fYHardMax);
     
-    if (fAProjectile > 0 && fATarget > 0) fPythia->SetNuclei(fAProjectile, fATarget, fNucPdf);  
+    if (fAProjectile > 0 && fATarget > 0) fPythia->SetNuclei(fAProjectile, fATarget, fNucPdf);
+    if (fProjectile != "p" || fTarget != "p") fPythia->SetCollisionSystem(fProjectile,fTarget);
+  
     // Fragmentation?
     if (fFragmentation) {
       fPythia->SetMSTP(111,1);
index 93e0d57..7fc76ad 100644 (file)
@@ -68,6 +68,8 @@ class AliGenPythia : public AliGenMC
     virtual void    SetEnergyCMS(Float_t energy = 5500) {fEnergyCMS = energy;}
     // Treat protons as inside nuclei with mass numbers a1 and a2
     virtual void    SetNuclei(Int_t a1, Int_t a2, Int_t pdfset = 0);
+    // Set colliding nuclei ("p","n",...)
+    virtual void    SetCollisionSystem(TString projectile, TString target) { fProjectile = projectile; fTarget = target; }
     virtual void    SetNuclearPDF(Int_t pdf) {fNucPdf = pdf;}
     //
     // Trigger options
index e518c2d..f8db4a6 100644 (file)
@@ -69,6 +69,8 @@ AliPythia::AliPythia():
     fProcess(kPyMb),
     fEcms(0.),
     fStrucFunc(kCTEQ5L),
+    fProjectile("p"),
+    fTarget("p"),
     fXJet(0.),
     fYJet(0.),
     fNGmax(30),
@@ -97,6 +99,8 @@ AliPythia::AliPythia(const AliPythia& pythia):
     fProcess(kPyMb),
     fEcms(0.),
     fStrucFunc(kCTEQ5L),
+    fProjectile("p"),
+    fTarget("p"),
     fXJet(0.),
     fYJet(0.),
     fNGmax(30),
@@ -621,7 +625,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",fProjectile,fTarget,fEcms);
     fOmegaDalitz.Init();
 }
 
index 4bb14f7..b294d6d 100644 (file)
@@ -25,6 +25,8 @@ class AliPythia : public TPythia6, public AliRndm
        (Process_t process, Float_t energy, StrucFunc_t strucfunc, Int_t itune = -1);
     // treat protons as inside nuclei
     virtual void  SetNuclei(Int_t a1, Int_t a2, Int_t pdf);
+    // Set colliding nuclei ("p","n",...)
+    virtual void  SetCollisionSystem(TString projectile, TString target) { fProjectile = projectile; fTarget = target; }
     // Print particle properties
     virtual void PrintParticles();
     virtual void ResetDecayTable();
@@ -53,6 +55,8 @@ class AliPythia : public TPythia6, public AliRndm
     Process_t             fProcess;           // Process type
     Float_t               fEcms;              // Centre of mass energy
     StrucFunc_t           fStrucFunc;         // Structure function
+    TString               fProjectile;        // Projectile
+    TString               fTarget;            // Target
     Int_t                 fDefMDCY[501];      //  ! Default decay switches per particle
     Int_t                 fDefMDME[2001];     //  ! Default decay switches per mode
     Double_t              fZQuench[4];        //  ! Quenching fractions for this even
index 998a203..2f631f9 100644 (file)
@@ -72,6 +72,8 @@ AliPythia6::AliPythia6():
     fProcess(kPyMb),
     fEcms(0.),
     fStrucFunc(kCTEQ5L),
+    fProjectile("p"),
+    fTarget("p"),
     fXJet(0.),
     fYJet(0.),
     fNGmax(30),
@@ -99,6 +101,8 @@ AliPythia6::AliPythia6(const AliPythia6& pythia):
     fProcess(kPyMb),
     fEcms(0.),
     fStrucFunc(kCTEQ5L),
+    fProjectile("p"),
+    fTarget("p"),
     fXJet(0.),
     fYJet(0.),
     fNGmax(30),
@@ -614,7 +618,7 @@ void AliPythia6::ProcInit(Process_t process, Float_t energy, StrucFunc_t strucfu
 //
 //  Initialize PYTHIA
     SetMSTP(41,1);   // all resonance decays switched on
-    Initialize("CMS","p","p",fEcms);
+    Initialize("CMS",fProjectile,fTarget,fEcms);
     
 }
 
index 1e15049..6765315 100644 (file)
@@ -35,6 +35,8 @@ class AliPythia6 : public TPythia6, public AliPythiaBase
     virtual Int_t GetParticles(TClonesArray *particles) {return ImportParticles(particles, "All");}
     // Treat protons as inside nuclei
     virtual void  SetNuclei(Int_t a1, Int_t a2);
+    // Set colliding nuclei ("p","n",...)
+    virtual void  SetCollisionSystem(TString projectile, TString target) { fProjectile = projectile; fTarget = target; }
     // Print particle properties
     virtual void PrintParticles();
     // Reset the decay table
@@ -86,6 +88,8 @@ class AliPythia6 : public TPythia6, public AliPythiaBase
     Process_t             fProcess;           // Process type
     Float_t               fEcms;              // Centre of mass energy
     StrucFunc_t           fStrucFunc;         // Structure function
+    TString               fProjectile;        // Projectile
+    TString               fTarget;            // Target
     Int_t                 fDefMDCY[501];      //  ! Default decay switches per particle
     Int_t                 fDefMDME[2001];     //  ! Default decay switches per mode
     Double_t              fZQuench[4];        //  ! Quenching fractions for this even