]>
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(); | |
1b589c8a | 26 | enum GeneratorIndex_t { kPizero=0, kEta, kRho, kOmega, kEtaprime, kPhi, kJpsi, kDirectRealGamma, kDirectVirtGamma, kGENs }; |
27 | enum ParticeGenerator_t { 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; } |
1b589c8a | 39 | void SetPtParam(AliGenEMlib::PtParamSet_t PtSelect){ fPtSelect = PtSelect; } |
40 | void SetCentrality(AliGenEMlib::Centrality_t cent){ fCentrality = cent; } | |
4ae1c9f0 | 41 | void SetV2Systematic(Int_t v2sys){ fV2Systematic = v2sys; } |
42 | void SetForceGammaConversion(Bool_t force=kTRUE){ fForceConv=force; } | |
1b589c8a | 43 | void SetHeaviestHadron(ParticeGenerator_t part); |
44 | void SelectMotherParticles(ParticeGenerator_t part){ fSelectedParticles=part; } | |
e40b9538 | 45 | |
4ae1c9f0 | 46 | private: |
e40b9538 | 47 | AliGenEMCocktail(const AliGenEMCocktail &cocktail); |
48 | AliGenEMCocktail & operator=(const AliGenEMCocktail &cocktail); | |
49 | ||
50 | void AddSource2Generator(Char_t *nameReso, AliGenParam* const genReso); | |
51 | ||
52 | AliDecayer* fDecayer; // External decayer | |
4ae1c9f0 | 53 | Decay_t fDecayMode; //decay mode in which resonances are forced to decay, default: kAll |
54 | Weighting_t fWeightingMode; //weighting mode: kAnalog or kNonAnalog | |
e40b9538 | 55 | |
56 | Int_t fNPart; // multiplicity of each source per event | |
57 | Double_t fYieldArray[kGENs]; // array of dN/dy for each source | |
58 | ||
1b589c8a | 59 | AliGenEMlib::PtParamSet_t fPtSelect; // selected pT parameterization |
60 | AliGenEMlib::Centrality_t fCentrality; // selected centrality | |
4ae1c9f0 | 61 | Int_t fV2Systematic; //selected systematic error for v2 parameters |
62 | ||
63 | Bool_t fForceConv; //select whether you want to force all gammas to convert imidediately | |
6a8b015a | 64 | Int_t fSelectedParticles; //which particles to simulate |
4ae1c9f0 | 65 | |
e40b9538 | 66 | ClassDef(AliGenEMCocktail,1) // cocktail for EM physics |
67 | }; | |
68 | ||
69 | #endif | |
70 | ||
71 | ||
72 |