3 /////////////////////////////////////////////////////////
4 // Manager and hits classes for set:MUON version 0 //
5 /////////////////////////////////////////////////////////
6 #include "AliGenerator.h"
11 #include "AliPythia.h"
13 #include "TMCParticle.h"
15 class AliGenPythia : public AliGenerator
19 StrucFunc_t fStrucFunc;
24 TArrayI fParentSelect;
32 // check if particle is selected as parent particle
33 Bool_t ParentSelected(Int_t ip);
34 // check if particle is selected as child particle
35 Bool_t ChildSelected(Int_t ip);
36 // all kinematic selection cuts go here
37 Bool_t KinematicSelection(TMCParticle *particle);
38 // adjust the weight from kinematic cuts
42 AliGenPythia(Int_t npart);
43 virtual ~AliGenPythia();
44 virtual void Generate();
46 // select process type
47 virtual void SetProcess(Process_t proc=charm) {fProcess=proc;}
48 // select structure function
49 virtual void SetStrucFunc(StrucFunc_t func=GRV_HO) {fStrucFunc=func;}
50 // select pt of hard scattering
51 virtual void SetPtHard(Float_t ptmin=0, Float_t ptmax=1.e10)
52 {fPtHardMin=ptmin; fPtHardMax=ptmax; }
53 // set centre of mass energy
54 virtual void SetEnergyCMS(Float_t energy=5500) {fEnergyCMS=energy;}
56 virtual void ForceDecay(Decay_t decay=semimuonic) {fForceDecay=decay;}
57 // get cross section of process
58 virtual Float_t GetXsection() {return fXsection;}
59 ClassDef(AliGenPythia,1)