]>
Commit | Line | Data |
---|---|---|
e40b9538 | 1 | #ifndef ALIGENEMCOCKTAIL_H |
2 | #define ALIGENEMCOCKTAIL_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | // | |
7 | // Class to create the cocktail for physics with electrons, di-electrons, | |
8 | // and photons from the decay of the following sources: | |
9 | // pizero, eta, rho, omega, etaprime, phi | |
10 | // | |
11 | ||
12 | #include "AliGenCocktail.h" | |
4ae1c9f0 | 13 | #include "AliGenEMlib.h" |
e40b9538 | 14 | #include "AliPythia.h" |
4ae1c9f0 | 15 | #include "AliDecayer.h" |
16 | #include "AliGenParam.h" | |
17 | ||
e40b9538 | 18 | |
19 | class AliGenCocktailEntry; | |
20 | ||
21 | class AliGenEMCocktail : public AliGenCocktail | |
22 | { | |
4ae1c9f0 | 23 | public: |
e40b9538 | 24 | |
25 | AliGenEMCocktail(); | |
4ae1c9f0 | 26 | enum GeneratorCode { kGenPizero=0, kGenEta, kGenRho, kGenOmega, kGenEtaprime, kGenPhi, kGenJpsi, kGENs }; |
e40b9538 | 27 | |
28 | virtual ~AliGenEMCocktail(); | |
29 | virtual void Init(); | |
30 | virtual void CreateCocktail(); | |
31 | virtual void Generate(); | |
32 | Float_t GetDecayMode() const {return fDecayMode;} | |
33 | Float_t GetWeightingMode() const {return fWeightingMode;} | |
e40b9538 | 34 | void SetDecayer(AliDecayer* const decayer){fDecayer = decayer;} |
35 | void SetDecayMode(Decay_t decay){ fDecayMode = decay;} | |
36 | void SetWeightingMode(Weighting_t weight){ fWeightingMode = weight;} | |
4ae1c9f0 | 37 | void SetNPart(Int_t npart){ fNPart = npart; } |
38 | void SetPtParam(Int_t PtSelect){ fPtSelect = PtSelect; } | |
39 | void SetCentrality(Int_t cent){ fCentrality = cent; } | |
40 | void SetV2Systematic(Int_t v2sys){ fV2Systematic = v2sys; } | |
41 | void SetForceGammaConversion(Bool_t force=kTRUE){ fForceConv=force; } | |
42 | void SetHeaviestParticle(Int_t part){ fHeaviestParticle=part; } | |
e40b9538 | 43 | |
4ae1c9f0 | 44 | protected: |
e40b9538 | 45 | |
4ae1c9f0 | 46 | TVector3& OrthogonalVector(TVector3 &inVec); |
47 | ||
48 | private: | |
e40b9538 | 49 | AliGenEMCocktail(const AliGenEMCocktail &cocktail); |
50 | AliGenEMCocktail & operator=(const AliGenEMCocktail &cocktail); | |
51 | ||
52 | void AddSource2Generator(Char_t *nameReso, AliGenParam* const genReso); | |
53 | ||
54 | AliDecayer* fDecayer; // External decayer | |
4ae1c9f0 | 55 | Decay_t fDecayMode; //decay mode in which resonances are forced to decay, default: kAll |
56 | Weighting_t fWeightingMode; //weighting mode: kAnalog or kNonAnalog | |
e40b9538 | 57 | |
58 | Int_t fNPart; // multiplicity of each source per event | |
59 | Double_t fYieldArray[kGENs]; // array of dN/dy for each source | |
60 | ||
4ae1c9f0 | 61 | Int_t fPtSelect; // selected pT parameterization |
62 | Int_t fCentrality; // selected centrality | |
63 | Int_t fV2Systematic; //selected systematic error for v2 parameters | |
64 | ||
65 | Bool_t fForceConv; //select whether you want to force all gammas to convert imidediately | |
66 | Int_t fHeaviestParticle; //select up to which particle to simulate | |
67 | ||
e40b9538 | 68 | ClassDef(AliGenEMCocktail,1) // cocktail for EM physics |
69 | }; | |
70 | ||
71 | #endif | |
72 | ||
73 | ||
74 |