]>
Commit | Line | Data |
---|---|---|
8d2cd130 | 1 | #ifndef ALIPYTHIA_H |
2 | #define ALIPYTHIA_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /* $Id$ */ | |
7 | ||
8 | #include <TPythia6.h> | |
9 | #include <AliRndm.h> | |
10 | #include <AliStructFuncType.h> | |
e2de0ce1 | 11 | #include "PythiaProcesses.h" |
03358a32 | 12 | #include "AliOmegaDalitz.h" |
0f482ae4 | 13 | class AliFastGlauber; |
14 | class AliQuenchingWeights; | |
15 | ||
8d2cd130 | 16 | class AliPythia : public TPythia6, public AliRndm |
17 | { | |
18 | ||
19 | public: | |
20 | virtual ~AliPythia(){;} | |
21 | // convert to compressed code and print result (for debugging only) | |
22 | virtual Int_t CheckedLuComp(Int_t kf); | |
23 | // Pythia initialisation for selected processes | |
24 | virtual void ProcInit | |
efe3b1cd | 25 | (Process_t process, Float_t energy, StrucFunc_t strucfunc, Int_t itune = -1); |
8d2cd130 | 26 | // treat protons as inside nuclei |
20e47f08 | 27 | virtual void SetNuclei(Int_t a1, Int_t a2, Int_t pdf); |
e28ccdaf | 28 | // Set colliding nuclei ("p","n",...) |
29 | virtual void SetCollisionSystem(TString projectile, TString target) { fProjectile = projectile; fTarget = target; } | |
8d2cd130 | 30 | // Print particle properties |
31 | virtual void PrintParticles(); | |
32 | virtual void ResetDecayTable(); | |
33 | virtual void SetDecayTable(); | |
16a82508 | 34 | virtual void Pyevnw(); |
8d2cd130 | 35 | virtual void Pycell(Int_t& nclus); |
36 | virtual void Pyclus(Int_t& nclus); | |
452af8c7 | 37 | virtual void Pyshow(Int_t ip1, Int_t ip2, Double_t qmax); |
cd07c39b | 38 | virtual void Pyshowq(Int_t ip1, Int_t ip2, Double_t qmax); |
452af8c7 | 39 | virtual void Pyrobo(Int_t imi, Int_t ima, Double_t the, Double_t phi, Double_t bex, Double_t bey, Double_t bez); |
694b39f9 | 40 | virtual void Pytune(Int_t itune); |
9b61ba2a | 41 | virtual void Py2ent(Int_t idx, Int_t pdg1, Int_t pdg2, Double_t p); |
32c8e463 | 42 | virtual void InitQuenching(Float_t bmin, Float_t bmax, Float_t k, Int_t iECMethod, Float_t zmax = 0.97, Int_t ngmax = 30); |
12cb0bc0 | 43 | virtual void SetPyquenParameters(Double_t t0, Double_t tau0, Int_t nf, Int_t iengl, Int_t iangl); |
992f2843 | 44 | virtual void Pyquen(Double_t a, Int_t ibf, Double_t b); |
6c43eccb | 45 | virtual void Qpygin0(); |
b280c4cc | 46 | virtual void GetQuenchingParameters(Double_t& xp, Double_t& yp, Double_t z[4]); |
8d2cd130 | 47 | // return instance of the singleton |
48 | static AliPythia* Instance(); | |
452af8c7 | 49 | virtual void Quench(); |
03358a32 | 50 | void DalitzDecays(); |
e8a8adcd | 51 | // Assignment Operator |
52 | AliPythia & operator=(const AliPythia & rhs); | |
53 | void Copy(TObject&) const; | |
8d2cd130 | 54 | protected: |
0f482ae4 | 55 | Process_t fProcess; // Process type |
56 | Float_t fEcms; // Centre of mass energy | |
57 | StrucFunc_t fStrucFunc; // Structure function | |
e28ccdaf | 58 | TString fProjectile; // Projectile |
59 | TString fTarget; // Target | |
0f482ae4 | 60 | Int_t fDefMDCY[501]; // ! Default decay switches per particle |
61 | Int_t fDefMDME[2001]; // ! Default decay switches per mode | |
b280c4cc | 62 | Double_t fZQuench[4]; // ! Quenching fractions for this even |
63 | Double_t fXJet; // ! Jet production point X | |
64 | Double_t fYJet; // ! Jet production point Y | |
32c8e463 | 65 | Int_t fNGmax; // Maximum number of radiated gluons in quenching |
66 | Float_t fZmax; // Maximum energy loss in quenching | |
0f482ae4 | 67 | AliFastGlauber* fGlauber; // ! The Glauber model |
68 | AliQuenchingWeights* fQuenchingWeights; // ! The Quenching Weights model | |
0bd3d7c5 | 69 | Int_t fItune; // ! Pythia tune |
03358a32 | 70 | AliOmegaDalitz fOmegaDalitz; // ! omega dalitz decayer |
0f482ae4 | 71 | static AliPythia* fgAliPythia; // Pointer to single instance |
8d2cd130 | 72 | private: |
73 | AliPythia(); | |
e8a8adcd | 74 | AliPythia(const AliPythia& pythia); |
3dc3ec94 | 75 | void ConfigHeavyFlavor(); |
e0e89f40 | 76 | void AtlasTuning(); |
b4d68b2a | 77 | void AtlasTuningMC09(); |
8d2cd130 | 78 | ClassDef(AliPythia,1) //ALICE UI to PYTHIA |
79 | }; | |
80 | ||
81 | #endif | |
82 | ||
83 | ||
84 | ||
90d7b703 | 85 | |
589380c6 | 86 |