]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PYTHIA6/AliPythia.h
updated for e-h analysis
[u/mrichter/AliRoot.git] / PYTHIA6 / AliPythia.h
index 3606b579800db7ef789dc807ad216435ce902fd5..bc153c72fbd333abf6d41ab84578804c5b0e5bc7 100644 (file)
@@ -9,7 +9,8 @@
 #include <AliRndm.h>
 #include <AliStructFuncType.h>
 #include "PythiaProcesses.h"
-
+#include "AliOmegaDalitz.h"
+#include "AliDecayerExodus.h"
 class AliFastGlauber;
 class AliQuenchingWeights;
 
@@ -25,6 +26,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();
@@ -40,10 +43,22 @@ class AliPythia : public TPythia6, public AliRndm
     virtual void InitQuenching(Float_t bmin, Float_t bmax, Float_t k, Int_t iECMethod, Float_t zmax = 0.97, Int_t ngmax = 30);
     virtual void SetPyquenParameters(Double_t t0, Double_t tau0, Int_t nf, Int_t iengl, Int_t iangl);
     virtual void Pyquen(Double_t a, Int_t ibf, Double_t b);
+    virtual void Qpygin0();
     virtual void GetQuenchingParameters(Double_t& xp, Double_t& yp, Double_t z[4]);
     // return instance of the singleton
     static  AliPythia* Instance();
     virtual void Quench();
+    void DalitzDecays();
+    // Dalitz and resonance decays from EXODUS
+    void PizeroDalitz();
+    void EtaDalitz();
+    void RhoDirect();
+    void OmegaDalitz();
+    void OmegaDirect();
+    void EtaprimeDalitz();
+    void PhiDalitz();
+    void PhiDirect();
+    void JPsiDirect();
     // Assignment Operator
     AliPythia & operator=(const AliPythia & rhs);
     void Copy(TObject&) const;
@@ -51,6 +66,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
@@ -60,12 +77,16 @@ class AliPythia : public TPythia6, public AliRndm
     Float_t               fZmax;              //    Maximum energy loss in quenching
     AliFastGlauber*       fGlauber;           //  ! The Glauber model
     AliQuenchingWeights*  fQuenchingWeights;  //  ! The Quenching Weights model
+    Int_t                 fItune;             //  ! Pythia tune 
+    AliOmegaDalitz        fOmegaDalitz;       //  ! omega dalitz decayer
+    AliDecayerExodus      fExodus;            // ! EXODUS decayer
     static AliPythia*     fgAliPythia;        // Pointer to single instance
  private: 
     AliPythia();
     AliPythia(const AliPythia& pythia);
     void ConfigHeavyFlavor();
     void AtlasTuning();
+    void AtlasTuningMC09();
     ClassDef(AliPythia,1) //ALICE UI to PYTHIA
 };