]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PYTHIA8/AliPythia8.h
fix oadb for MC
[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);
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();
62 //
63 //
64 virtual void SetDecayTable();
65 virtual void Pystat(Int_t /*i*/){;}
66 virtual void Pylist(Int_t /*i*/){;}
67 virtual Int_t ProcessCode();
68 virtual void Pycell(Int_t& nclus);
69 virtual void Pyclus(Int_t& nclus);
70 virtual void Pyshow(Int_t /*ip1*/, Int_t /*ip2*/, Double_t /*qmax*/) {;}
71 virtual void Pyrobo(Int_t /*imi*/, Int_t /*ima*/, Double_t /*the*/,
72 Double_t /*phi*/, Double_t /*bex*/, Double_t /*bey*/, Double_t /*bez*/) {;}
73 static AliPythia8* Instance();
74 virtual void Quench() {;}
75 // Assignment Operator
76 AliPythia8 & operator=(const AliPythia8 & rhs);
77 void Copy(TObject&) const;
78 //
79 // Not yet implemented
80 //
81 virtual void Pyquen(Double_t, Int_t, Double_t);
82 virtual void Pyexec() {;}
83 virtual void GetQuenchingParameters(Double_t& xp, Double_t& yp, Double_t z[4]);
84 virtual void LoadEvent(AliStack* stack, Int_t flag, Int_t reHadr);
85 virtual void ConfigHeavyFlavor();
86 virtual void AtlasTuning();
87 protected:
88 Process_t fProcess; // Process type
89 Float_t fEcms; // Centre of mass energy
90 StrucFunc_t fStrucFunc; // Structure function
91 Int_t fDefMDCY[501]; // ! Default decay switches per particle
92 Int_t fDefMDME[2001]; // ! Default decay switches per mode
93 Double_t fZQuench[4]; // ! Quenching fractions for this even
94 Pythia8::CellJet fCellJet; // ! Cell jet object
95 Float_t fEtSeed; // ! Et seed for cell jets
96 Float_t fMinEtJet; // ! Min jet et
97 Float_t fRJet; // ! Radius for cell jets
98 Pythia8::ClusterJet fClusterJet; // ! Cluster jet object
99 Float_t fYScale; // ! cut-off joining scale
100 Float_t fPtScale; // ! cut-off joining scale
101 Int_t fNJetMin; // ! min. number of jets
102 Int_t fNJetMax; // ! max. number of jets
103 static AliPythia8* fgAliPythia8; // Pointer to single instance
104
105 ClassDef(AliPythia8, 1) //ALICE UI to PYTHIA8
106};
107
108#endif
109
110
111
112
113