]>
Commit | Line | Data |
---|---|---|
fe4da5cc | 1 | |
2 | #ifndef AliGenParam_H | |
3 | #define AliGenParam_H | |
4 | #include "AliGenerator.h" | |
5 | #include "AliPythia.h" | |
6 | #include "TNamed.h" | |
7 | #include "TF1.h" | |
8 | #include "TArrayF.h" | |
9 | #include "TArrayI.h" | |
10 | #include "TTree.h" | |
1578254f | 11 | #include "TParticle.h" |
fe4da5cc | 12 | |
13 | //------------------------------------------------------------- | |
fe4da5cc | 14 | class AliGenParam : public AliGenerator |
15 | { | |
16 | protected: | |
9b153ba2 | 17 | Double_t (*fPtParaFunc)(Double_t*, Double_t*); //! Pointer to Pt parametrisation function |
18 | Double_t (*fYParaFunc )(Double_t*, Double_t*); //! Pointer to Y parametrisation function | |
19 | Int_t (*fIpParaFunc )(); //! Pointer to particle type parametrisation function | |
fe4da5cc | 20 | TF1* fPtPara; |
21 | TF1* fYPara; | |
b7601ac4 | 22 | Param_t fParam; |
23 | Float_t fdNdy0; | |
24 | Float_t fYWgt; | |
25 | Float_t fPtWgt; | |
26 | Weighting_t fAnalog; //Flaf for anolog or pt-weighted generation | |
27 | Float_t fBias; | |
28 | Int_t fTrials; | |
29 | Decay_t fForceDecay; | |
21aaa175 | 30 | Int_t fCutOnChild; |
fe4da5cc | 31 | TArrayI fChildSelect; |
32 | AliPythia *fPythia; | |
33 | private: | |
34 | // check if particle is selected as child | |
35 | Bool_t ChildSelected(Int_t ip); | |
36 | // all kinematic selection goes here | |
1578254f | 37 | Bool_t KinematicSelection(TParticle *particle); |
fe4da5cc | 38 | public: |
39 | AliGenParam(); | |
b7601ac4 | 40 | AliGenParam(Int_t npart, Param_t param); |
fe4da5cc | 41 | // Double_t (*PtPara)(Double_t*, Double_t*), |
42 | // Double_t (*YPara )(Double_t*, Double_t*)); | |
43 | virtual ~AliGenParam(); | |
44 | virtual void Generate(); | |
45 | virtual void Init(); | |
46 | // select particle type | |
b7601ac4 | 47 | virtual void SetParam(Param_t param=jpsi_p) {fParam=param;} |
fe4da5cc | 48 | // force decay type |
49 | virtual void ForceDecay(Decay_t decay=dimuon) {fForceDecay=decay;} | |
b7601ac4 | 50 | virtual void SetWeighting(Weighting_t flag=analog) {fAnalog=flag;} |
21aaa175 | 51 | virtual void SetCutOnChild(Int_t flag=0) {fCutOnChild=flag;} |
b7601ac4 | 52 | ClassDef(AliGenParam,1) // Generator using parameterised pt- and y-distribution |
fe4da5cc | 53 | }; |
54 | #endif | |
55 | ||
56 | ||
57 | ||
58 | ||
59 | ||
60 | ||
61 | ||
62 | ||
63 | ||
64 |