]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PYTHIA6/AliPythia.h
extra bit for TPC and Global constrained flagging
[u/mrichter/AliRoot.git] / PYTHIA6 / AliPythia.h
index 03aae7f95ddf04f84a99578f9b1f89b3539bc04c..727c9cb83eaa37caa7740ccaa9ac78393d025e57 100644 (file)
@@ -8,31 +8,8 @@
 #include <TPythia6.h>
 #include <AliRndm.h>
 #include <AliStructFuncType.h>
-typedef enum
-{kPyCharm, kPyBeauty, kPyCharmUnforced, kPyBeautyUnforced,
- kPyJpsi, kPyJpsiChi, kPyMb, kPyMbNonDiffr, kPyJets, kPyDirectGamma,
- kPyCharmPbPbMNR, kPyD0PbPbMNR, kPyDPlusPbPbMNR, kPyBeautyPbPbMNR,
- kPyCharmpPbMNR, kPyD0pPbMNR, kPyDPluspPbMNR, kPyBeautypPbMNR,
- kPyCharmppMNR, kPyD0ppMNR, kPyDPlusppMNR, kPyBeautyppMNR}
-Process_t;
-/*
-typedef enum
-{
-    kDOSet1     = 1006,
-    kGRVLO      = 5005,
-    kGRVHO      = 5006,
-    kMRSDminus  = 3031,
-    kMRSD0      = 3030,
-    kMRSG       = 3041,
-    kCTEQ2pM    = 4024,
-    kCTEQ4L     = 4032,
-    kCTEQ4M     = 4034,
-    kMRSTcgLO   = 3072,
-    kCTEQ5L     = 4046,
-    kGRVLO98    = 5012
-}
-StrucFunc_t;
-*/
+#include "PythiaProcesses.h"
+#include "AliOmegaDalitz.h"
 class AliFastGlauber;
 class AliQuenchingWeights;
 
@@ -45,25 +22,33 @@ class AliPythia : public TPythia6, public AliRndm
     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 itune = -1);
     // treat protons as inside nuclei
-    virtual void  SetNuclei(Int_t a1, Int_t a2);
+    virtual void  SetNuclei(Int_t a1, Int_t a2, Int_t pdf);
     // Print particle properties
     virtual void PrintParticles();
     virtual void ResetDecayTable();
     virtual void SetDecayTable();
+    virtual void Pyevnw();
     virtual void Pycell(Int_t& nclus);
     virtual void Pyclus(Int_t& nclus);
     virtual void Pyshow(Int_t ip1, Int_t ip2, Double_t qmax);
+    virtual void Pyshowq(Int_t ip1, Int_t ip2, Double_t qmax);
     virtual void Pyrobo(Int_t imi, Int_t ima, Double_t the, Double_t phi, Double_t bex, Double_t bey, Double_t bez);
-    virtual void InitQuenching(Float_t bmin, Float_t bmax, Float_t k, Int_t iECMethod);
+    virtual void Pytune(Int_t itune);
+    virtual void Py2ent(Int_t idx, Int_t pdg1, Int_t pdg2, Double_t p);
+    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();
+    // Assignment Operator
+    AliPythia & operator=(const AliPythia & rhs);
+    void Copy(TObject&) const;
  protected:
     Process_t             fProcess;           // Process type
     Float_t               fEcms;              // Centre of mass energy
@@ -73,12 +58,19 @@ class AliPythia : public TPythia6, public AliRndm
     Double_t              fZQuench[4];        //  ! Quenching fractions for this even
     Double_t              fXJet;              //  ! Jet production point X
     Double_t              fYJet;              //  ! Jet production point Y
+    Int_t                 fNGmax;             //    Maximum number of radiated gluons in quenching
+    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
     static AliPythia*     fgAliPythia;        // Pointer to single instance
  private: 
     AliPythia();
-
+    AliPythia(const AliPythia& pythia);
+    void ConfigHeavyFlavor();
+    void AtlasTuning();
+    void AtlasTuning_MC09();
     ClassDef(AliPythia,1) //ALICE UI to PYTHIA
 };
 
@@ -87,3 +79,4 @@ class AliPythia : public TPythia6, public AliRndm
 
 
 
+