]>
Commit | Line | Data |
---|---|---|
cc545eb9 | 1 | #ifndef ALIPYTHIA8_H |
2 | #define ALIPYTHIA8_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /* $Id: AliPythia.h,v 1.22 2007/10/09 08:43:24 morsch Exp $ */ | |
7 | ||
cc545eb9 | 8 | #include "Analysis.h" |
9 | #include "AliPythiaBase.h" | |
b584e2f5 | 10 | #include "AliTPythia8.h" |
cc545eb9 | 11 | |
12 | class AliStack; | |
b584e2f5 | 13 | class AliPythia8 :public AliTPythia8, public AliPythiaBase |
cc545eb9 | 14 | { |
15 | ||
16 | public: | |
17 | AliPythia8(); | |
18 | AliPythia8(const AliPythia8& pythia); | |
19 | virtual ~AliPythia8() {;} | |
20 | virtual Int_t Version() {return (8);} | |
21 | // convert to compressed code and print result (for debugging only) | |
22 | virtual Int_t CheckedLuComp(Int_t /*kf*/) {return -1;} | |
23 | // Pythia initialisation for selected processes | |
75d4f39e | 24 | virtual void ProcInit (Process_t process, Float_t energy, StrucFunc_t strucfunc, Int_t tune); |
cc545eb9 | 25 | virtual void GenerateEvent(); |
26 | virtual void GenerateMIEvent(); | |
27 | virtual void HadronizeEvent(); | |
28 | virtual Int_t GetNumberOfParticles() {return GetN();} | |
29 | virtual void SetNumberOfParticles(Int_t i); | |
30 | virtual void EditEventList(Int_t i); | |
31 | virtual void PrintStatistics(); | |
32 | virtual void EventListing(); | |
33 | virtual Int_t GetParticles(TClonesArray *particles) {return ImportParticles(particles, "All");} | |
34 | // Treat protons as inside nuclei | |
35 | virtual void SetNuclei(Int_t a1, Int_t a2); | |
36 | // Print particle properties | |
37 | virtual void PrintParticles(); | |
38 | // Reset the decay table | |
39 | virtual void ResetDecayTable(); | |
40 | // | |
41 | // Common Physics Configuration | |
42 | virtual void SetPtHardRange(Float_t ptmin, Float_t ptmax); | |
43 | virtual void SetYHardRange(Float_t ymin, Float_t ymax); | |
44 | virtual void SetFragmentation(Int_t flag); | |
45 | virtual void SetInitialAndFinalStateRadiation(Int_t flag1, Int_t flag2); | |
46 | virtual void SetIntrinsicKt(Float_t kt); | |
47 | virtual void SwitchHFOff(); | |
48 | virtual void SetPycellParameters(Float_t etamax, Int_t neta, Int_t nphi, | |
49 | Float_t thresh, Float_t etseed, Float_t minet, Float_t r); | |
50 | virtual void GetJet(Int_t i, Float_t& px, Float_t& py, Float_t& pz, Float_t& e); | |
51 | virtual void ModifiedSplitting(); | |
52 | virtual void InitQuenching(Float_t bmin, Float_t bmax, Float_t k, | |
53 | Int_t iECMethod, Float_t zmax = 0.97, | |
54 | Int_t ngmax = 30); | |
55 | virtual void SwitchHadronisationOff(); | |
56 | virtual void SwitchHadronisationOn(); | |
57 | // | |
58 | // Common Getters | |
59 | virtual void GetXandQ(Float_t& x1, Float_t& x2, Float_t& q); | |
60 | virtual Float_t GetXSection(); | |
61 | virtual Float_t GetPtHard(); | |
af01599e | 62 | Int_t GetNMPI() {return (Pythia8()->info.nMPI());} |
63 | ||
cc545eb9 | 64 | // |
65 | // | |
66 | virtual void SetDecayTable(); | |
67 | virtual void Pystat(Int_t /*i*/){;} | |
68 | virtual void Pylist(Int_t /*i*/){;} | |
69 | virtual Int_t ProcessCode(); | |
70 | virtual void Pycell(Int_t& nclus); | |
71 | virtual void Pyclus(Int_t& nclus); | |
72 | virtual void Pyshow(Int_t /*ip1*/, Int_t /*ip2*/, Double_t /*qmax*/) {;} | |
73 | virtual void Pyrobo(Int_t /*imi*/, Int_t /*ima*/, Double_t /*the*/, | |
74 | Double_t /*phi*/, Double_t /*bex*/, Double_t /*bey*/, Double_t /*bez*/) {;} | |
75 | static AliPythia8* Instance(); | |
76 | virtual void Quench() {;} | |
77 | // Assignment Operator | |
78 | AliPythia8 & operator=(const AliPythia8 & rhs); | |
79 | void Copy(TObject&) const; | |
80 | // | |
81 | // Not yet implemented | |
82 | // | |
83 | virtual void Pyquen(Double_t, Int_t, Double_t); | |
84 | virtual void Pyexec() {;} | |
85 | virtual void GetQuenchingParameters(Double_t& xp, Double_t& yp, Double_t z[4]); | |
86 | virtual void LoadEvent(AliStack* stack, Int_t flag, Int_t reHadr); | |
87 | virtual void ConfigHeavyFlavor(); | |
88 | virtual void AtlasTuning(); | |
89 | protected: | |
90 | Process_t fProcess; // Process type | |
91 | Float_t fEcms; // Centre of mass energy | |
92 | StrucFunc_t fStrucFunc; // Structure function | |
93 | Int_t fDefMDCY[501]; // ! Default decay switches per particle | |
94 | Int_t fDefMDME[2001]; // ! Default decay switches per mode | |
95 | Double_t fZQuench[4]; // ! Quenching fractions for this even | |
96 | Pythia8::CellJet fCellJet; // ! Cell jet object | |
97 | Float_t fEtSeed; // ! Et seed for cell jets | |
98 | Float_t fMinEtJet; // ! Min jet et | |
99 | Float_t fRJet; // ! Radius for cell jets | |
100 | Pythia8::ClusterJet fClusterJet; // ! Cluster jet object | |
101 | Float_t fYScale; // ! cut-off joining scale | |
102 | Float_t fPtScale; // ! cut-off joining scale | |
103 | Int_t fNJetMin; // ! min. number of jets | |
104 | Int_t fNJetMax; // ! max. number of jets | |
105 | static AliPythia8* fgAliPythia8; // Pointer to single instance | |
106 | ||
107 | ClassDef(AliPythia8, 1) //ALICE UI to PYTHIA8 | |
108 | }; | |
109 | ||
110 | #endif | |
111 | ||
112 | ||
113 | ||
114 | ||
115 |