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 */
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
12 #include "AliGenCocktail.h"
13 #include "AliGenEMlib.h"
14 #include "AliPythia.h"
15 #include "AliDecayer.h"
16 #include "AliGenParam.h"
19 class AliGenCocktailEntry;
21 class AliGenEMCocktail : public AliGenCocktail
26 enum GeneratorCode { kGenPizero=0, kGenEta, kGenRho, kGenOmega, kGenEtaprime, kGenPhi, kGenJpsi, kGENs };
28 virtual ~AliGenEMCocktail();
30 virtual void CreateCocktail();
31 virtual void Generate();
32 Float_t GetDecayMode() const {return fDecayMode;}
33 Float_t GetWeightingMode() const {return fWeightingMode;}
34 void SetDecayer(AliDecayer* const decayer){fDecayer = decayer;}
35 void SetDecayMode(Decay_t decay){ fDecayMode = decay;}
36 void SetWeightingMode(Weighting_t weight){ fWeightingMode = weight;}
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; }
46 TVector3& OrthogonalVector(TVector3 &inVec);
49 AliGenEMCocktail(const AliGenEMCocktail &cocktail);
50 AliGenEMCocktail & operator=(const AliGenEMCocktail &cocktail);
52 void AddSource2Generator(Char_t *nameReso, AliGenParam* const genReso);
54 AliDecayer* fDecayer; // External decayer
55 Decay_t fDecayMode; //decay mode in which resonances are forced to decay, default: kAll
56 Weighting_t fWeightingMode; //weighting mode: kAnalog or kNonAnalog
58 Int_t fNPart; // multiplicity of each source per event
59 Double_t fYieldArray[kGENs]; // array of dN/dy for each source
61 Int_t fPtSelect; // selected pT parameterization
62 Int_t fCentrality; // selected centrality
63 Int_t fV2Systematic; //selected systematic error for v2 parameters
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
68 ClassDef(AliGenEMCocktail,1) // cocktail for EM physics