]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PYTHIA8/AliPythia8.h
HLTRCU module
[u/mrichter/AliRoot.git] / PYTHIA8 / AliPythia8.h
CommitLineData
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
12class AliStack;
b584e2f5 13class 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);
1f6c58c1 25 virtual void SetSeed(UInt_t seed);
cc545eb9 26 virtual void GenerateEvent();
27 virtual void GenerateMIEvent();
28 virtual void HadronizeEvent();
29 virtual Int_t GetNumberOfParticles() {return GetN();}
30 virtual void SetNumberOfParticles(Int_t i);
31 virtual void EditEventList(Int_t i);
32 virtual void PrintStatistics();
33 virtual void EventListing();
34 virtual Int_t GetParticles(TClonesArray *particles) {return ImportParticles(particles, "All");}
35 // Treat protons as inside nuclei
36 virtual void SetNuclei(Int_t a1, Int_t a2);
37 // Print particle properties
38 virtual void PrintParticles();
39 // Reset the decay table
40 virtual void ResetDecayTable();
41 //
42 // Common Physics Configuration
43 virtual void SetPtHardRange(Float_t ptmin, Float_t ptmax);
44 virtual void SetYHardRange(Float_t ymin, Float_t ymax);
45 virtual void SetFragmentation(Int_t flag);
46 virtual void SetInitialAndFinalStateRadiation(Int_t flag1, Int_t flag2);
47 virtual void SetIntrinsicKt(Float_t kt);
48 virtual void SwitchHFOff();
49 virtual void SetPycellParameters(Float_t etamax, Int_t neta, Int_t nphi,
50 Float_t thresh, Float_t etseed, Float_t minet, Float_t r);
51 virtual void GetJet(Int_t i, Float_t& px, Float_t& py, Float_t& pz, Float_t& e);
52 virtual void ModifiedSplitting();
53 virtual void InitQuenching(Float_t bmin, Float_t bmax, Float_t k,
54 Int_t iECMethod, Float_t zmax = 0.97,
55 Int_t ngmax = 30);
56 virtual void SwitchHadronisationOff();
57 virtual void SwitchHadronisationOn();
58 //
59 // Common Getters
60 virtual void GetXandQ(Float_t& x1, Float_t& x2, Float_t& q);
61 virtual Float_t GetXSection();
62 virtual Float_t GetPtHard();
af01599e 63 Int_t GetNMPI() {return (Pythia8()->info.nMPI());}
64
cc545eb9 65 //
66 //
67 virtual void SetDecayTable();
68 virtual void Pystat(Int_t /*i*/){;}
69 virtual void Pylist(Int_t /*i*/){;}
70 virtual Int_t ProcessCode();
71 virtual void Pycell(Int_t& nclus);
72 virtual void Pyclus(Int_t& nclus);
73 virtual void Pyshow(Int_t /*ip1*/, Int_t /*ip2*/, Double_t /*qmax*/) {;}
74 virtual void Pyrobo(Int_t /*imi*/, Int_t /*ima*/, Double_t /*the*/,
75 Double_t /*phi*/, Double_t /*bex*/, Double_t /*bey*/, Double_t /*bez*/) {;}
76 static AliPythia8* Instance();
77 virtual void Quench() {;}
78 // Assignment Operator
79 AliPythia8 & operator=(const AliPythia8 & rhs);
80 void Copy(TObject&) const;
81 //
82 // Not yet implemented
83 //
84 virtual void Pyquen(Double_t, Int_t, Double_t);
85 virtual void Pyexec() {;}
86 virtual void GetQuenchingParameters(Double_t& xp, Double_t& yp, Double_t z[4]);
87 virtual void LoadEvent(AliStack* stack, Int_t flag, Int_t reHadr);
88 virtual void ConfigHeavyFlavor();
89 virtual void AtlasTuning();
90 protected:
91 Process_t fProcess; // Process type
92 Float_t fEcms; // Centre of mass energy
93 StrucFunc_t fStrucFunc; // Structure function
94 Int_t fDefMDCY[501]; // ! Default decay switches per particle
95 Int_t fDefMDME[2001]; // ! Default decay switches per mode
96 Double_t fZQuench[4]; // ! Quenching fractions for this even
97 Pythia8::CellJet fCellJet; // ! Cell jet object
98 Float_t fEtSeed; // ! Et seed for cell jets
99 Float_t fMinEtJet; // ! Min jet et
100 Float_t fRJet; // ! Radius for cell jets
101 Pythia8::ClusterJet fClusterJet; // ! Cluster jet object
102 Float_t fYScale; // ! cut-off joining scale
103 Float_t fPtScale; // ! cut-off joining scale
104 Int_t fNJetMin; // ! min. number of jets
105 Int_t fNJetMax; // ! max. number of jets
106 static AliPythia8* fgAliPythia8; // Pointer to single instance
107
108 ClassDef(AliPythia8, 1) //ALICE UI to PYTHIA8
109};
110
111#endif
112
113
114
115
116