]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVGEN/AliGenPythia.h
Introduction of the Copyright and cvs Log
[u/mrichter/AliRoot.git] / EVGEN / AliGenPythia.h
CommitLineData
fe4da5cc 1#ifndef AliGenPythia_H
2#define AliGenPythia_H
3/////////////////////////////////////////////////////////
4// Manager and hits classes for set:MUON version 0 //
5/////////////////////////////////////////////////////////
6#include "AliGenerator.h"
7#include "TNamed.h"
8#include "TF1.h"
9#include "TArrayF.h"
10#include "TTree.h"
11#include "AliPythia.h"
12#include "TArrayI.h"
1578254f 13#include "TParticle.h"
fe4da5cc 14
15class AliGenPythia : public AliGenerator
16{
17 protected:
18 Process_t fProcess;
19 StrucFunc_t fStrucFunc;
20 Decay_t fForceDecay;
21 Float_t fEnergyCMS;
22 Float_t fKineBias;
23 Int_t fTrials;
24 TArrayI fParentSelect;
25 TArrayI fChildSelect;
26 Float_t fXsection;
27 AliPythia *fPythia;
28 Float_t fPtHardMin;
29 Float_t fPtHardMax;
30
31 private:
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
1578254f 37 Bool_t KinematicSelection(TParticle *particle);
fe4da5cc 38 // adjust the weight from kinematic cuts
39 void AdjustWeights();
40 public:
41 AliGenPythia();
42 AliGenPythia(Int_t npart);
43 virtual ~AliGenPythia();
44 virtual void Generate();
45 virtual void Init();
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;}
55 // force decay type
56 virtual void ForceDecay(Decay_t decay=semimuonic) {fForceDecay=decay;}
57 // get cross section of process
58 virtual Float_t GetXsection() {return fXsection;}
a8228d85 59 // Check PDG code
60 virtual Int_t CheckPDGCode(Int_t pdgcode);
61
fe4da5cc 62 ClassDef(AliGenPythia,1)
63};
64#endif
65
66
67
68
69