3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
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
20 class AliGenHydjet : public AliGenMC
24 AliGenHydjet(Int_t npart=0);
25 virtual ~AliGenHydjet();
26 virtual void Generate();
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;}
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);
53 // virtual TString GetReferenceFrame() const {return fFrame;}
56 AliGenHydjet & operator=(const AliGenHydjet & rhs);
58 Bool_t SelectFlavor(Int_t pid);
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
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
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
80 THydjet *fHydjet; //!Hydjet
82 Int_t fSelectAll; // Flag to write the full event
83 Int_t fFlavor; // Selected particle flavor 4: charm+beauty 5: beauty
86 AliGenHydjet(const AliGenHydjet &Hijing);
87 void Copy(TObject &rhs) const;
89 Bool_t Stable(TParticle* particle) const;
91 ClassDef(AliGenHydjet, 1) // AliGenerator interface to Hydjet