]>
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(); | |
6a8b015a | 26 | enum GeneratorCode { kPizero=0, kEta, kRho, kOmega, kEtaprime, kPhi, kJpsi, kDirectRealGamma, kDirectVirtGamma, kGENs }; |
27 | enum SelectPartice { kGenPizero=0x001, kGenEta=0x002, kGenRho=0x004, kGenOmega=0x008, kGenEtaprime=0x010, kGenPhi=0x020, kGenJpsi=0x040, kGenDirectRealGamma=0x100, kGenDirectVirtGamma=0x200, kGenHadrons=0x7f, kGenGammas=0x300 }; | |
e40b9538 | 28 | |
29 | virtual ~AliGenEMCocktail(); | |
30 | virtual void Init(); | |
31 | virtual void CreateCocktail(); | |
32 | virtual void Generate(); | |
33 | Float_t GetDecayMode() const {return fDecayMode;} | |
34 | Float_t GetWeightingMode() const {return fWeightingMode;} | |
e40b9538 | 35 | void SetDecayer(AliDecayer* const decayer){fDecayer = decayer;} |
36 | void SetDecayMode(Decay_t decay){ fDecayMode = decay;} | |
37 | void SetWeightingMode(Weighting_t weight){ fWeightingMode = weight;} | |
4ae1c9f0 | 38 | void SetNPart(Int_t npart){ fNPart = npart; } |
39 | void SetPtParam(Int_t PtSelect){ fPtSelect = PtSelect; } | |
40 | void SetCentrality(Int_t cent){ fCentrality = cent; } | |
41 | void SetV2Systematic(Int_t v2sys){ fV2Systematic = v2sys; } | |
42 | void SetForceGammaConversion(Bool_t force=kTRUE){ fForceConv=force; } | |
6a8b015a | 43 | void SelectMotherParticles(Int_t part){ fSelectedParticles=part; } |
e40b9538 | 44 | |
4ae1c9f0 | 45 | private: |
e40b9538 | 46 | AliGenEMCocktail(const AliGenEMCocktail &cocktail); |
47 | AliGenEMCocktail & operator=(const AliGenEMCocktail &cocktail); | |
48 | ||
49 | void AddSource2Generator(Char_t *nameReso, AliGenParam* const genReso); | |
50 | ||
51 | AliDecayer* fDecayer; // External decayer | |
4ae1c9f0 | 52 | Decay_t fDecayMode; //decay mode in which resonances are forced to decay, default: kAll |
53 | Weighting_t fWeightingMode; //weighting mode: kAnalog or kNonAnalog | |
e40b9538 | 54 | |
55 | Int_t fNPart; // multiplicity of each source per event | |
56 | Double_t fYieldArray[kGENs]; // array of dN/dy for each source | |
57 | ||
4ae1c9f0 | 58 | Int_t fPtSelect; // selected pT parameterization |
59 | Int_t fCentrality; // selected centrality | |
60 | Int_t fV2Systematic; //selected systematic error for v2 parameters | |
61 | ||
62 | Bool_t fForceConv; //select whether you want to force all gammas to convert imidediately | |
6a8b015a | 63 | Int_t fSelectedParticles; //which particles to simulate |
4ae1c9f0 | 64 | |
e40b9538 | 65 | ClassDef(AliGenEMCocktail,1) // cocktail for EM physics |
66 | }; | |
67 | ||
68 | #endif | |
69 | ||
70 | ||
71 |