]>
Commit | Line | Data |
---|---|---|
cb220f83 | 1 | #ifndef ALIGENHYDJET_H |
2 | #define ALIGENHYDJET_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 | // Generator using Hydjet as an external generator | |
9 | // The main Hydjet options are accessable for the user through this interface. | |
10 | // rafael.diaz.valdes@cern.ch | |
11 | ||
12 | ||
13 | #include "AliGenMC.h" | |
14 | #include <TString.h> | |
15 | ||
16 | class THydjet; | |
17 | class TParticle; | |
18 | class TClonesArray; | |
19 | ||
20 | class AliGenHydjet : public AliGenMC | |
21 | { | |
22 | ||
23 | public: | |
24 | AliGenHydjet(Int_t npart=0); | |
25 | virtual ~AliGenHydjet(); | |
26 | virtual void Generate(); | |
27 | virtual void Init(); | |
28 | // set initial beam parameters | |
29 | virtual void SetEnergyCMS(Float_t energy=5500.) {fEnergyCMS=energy;} | |
30 | virtual void SetReferenceFrame(TString frame="CMS") {fFrame=frame;} | |
31 | virtual void SetProjectileWeigth(Int_t a=207){fAtomicWeigth=a;} | |
32 | virtual void SetCentralityType(Int_t ifb=0){fIfbtype = ifb;} | |
33 | virtual void SetFixedImpactParameter(Float_t bfix=0) {fFixImpactParam = bfix;} | |
34 | virtual void SetImpactParameterRange(Float_t bmin = 0., Float_t bmax = 1.) | |
35 | {fMinImpactParam=bmin; fMaxImpactParam=bmax;} | |
36 | virtual void SetMeanSoftMultiplicity(Int_t mult=20000){fSoftMult=mult;} | |
37 | // set hydro parameters | |
38 | virtual void SetJetProduction(Int_t nhsel = 2){fJetProd=nhsel;} | |
39 | virtual void SetMaxLongitudinalFlow(Float_t yflow = 5.){fYflow=yflow;} | |
40 | virtual void SetMaxTransverseFlow(Float_t tflow = 1.){fTflow=tflow;} | |
41 | virtual void SetSoftMultFraction(Float_t softfract = 1.){fSoftFract=softfract;} | |
42 | // set input PYTHIA parameters | |
43 | virtual void SetDiJetProd(Int_t flag=1){fDijetProd=flag;} | |
44 | virtual void SetMinPtHard(Float_t ptmin=10.){fMinPtHard=ptmin;} | |
45 | virtual void SetStructFunction(Int_t mstp =7){fStructFunction=mstp;} // CTEQ5M | |
46 | virtual void SetMultipleInteractions(Int_t flag=0){fMultipleInt=flag;} | |
47 | ||
48 | virtual void SetFlavor(Int_t flag=0) {fFlavor = flag;} | |
49 | virtual void SetSelectAll(Int_t flag=0) {fSelectAll = flag;} | |
50 | virtual void AddHeader(AliGenEventHeader* header); | |
51 | ||
52 | // Getters | |
cb220f83 | 53 | // virtual TString GetReferenceFrame() const {return fFrame;} |
54 | ||
55 | // | |
56 | AliGenHydjet & operator=(const AliGenHydjet & rhs); | |
57 | protected: | |
58 | Bool_t SelectFlavor(Int_t pid); | |
59 | void MakeHeader(); | |
60 | protected: | |
61 | //initial parameters | |
cb220f83 | 62 | TString fFrame; // Reference frame |
63 | Float_t fAtomicWeigth; // Projectile-Target atomic weight | |
64 | Int_t fIfbtype; // centrality type | |
65 | Float_t fFixImpactParam; // fixed impact parameter | |
66 | Float_t fMinImpactParam; // minimum impact parameter | |
67 | Float_t fMaxImpactParam; // maximum impact parameter | |
68 | Int_t fSoftMult; // mean soft multiplicity | |
69 | //hydro parameters | |
70 | Int_t fJetProd; // flag Jet production (nhsel) | |
71 | Float_t fYflow; // max longitudinal flow | |
72 | Float_t fTflow; // max transverse flow | |
73 | Float_t fSoftFract; // Soft multiplicity fraction | |
74 | // PYTHIA parameters | |
75 | Int_t fDijetProd; // flag dijet production | |
76 | Float_t fMinPtHard; // min pt hard | |
77 | Int_t fStructFunction; // Structure Function (default CTEQ5M) | |
78 | Int_t fMultipleInt; // flag multiple interaction | |
79 | ||
80 | THydjet *fHydjet; //!Hydjet | |
81 | ||
82 | Int_t fSelectAll; // Flag to write the full event | |
83 | Int_t fFlavor; // Selected particle flavor 4: charm+beauty 5: beauty | |
84 | ||
85 | private: | |
86 | AliGenHydjet(const AliGenHydjet &Hijing); | |
87 | void Copy(TObject &rhs) const; | |
88 | // check if stable | |
89 | Bool_t Stable(TParticle* particle) const; | |
90 | ||
91 | ClassDef(AliGenHydjet, 1) // AliGenerator interface to Hydjet | |
92 | }; | |
93 | #endif | |
94 | ||
95 | ||
96 | ||
97 | ||
98 |