]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EVGEN/AliGenEMCocktail.h
Bug fix (Chiara)
[u/mrichter/AliRoot.git] / EVGEN / AliGenEMCocktail.h
index db823b958481f7b6836e879c898b389f640a1b8a..62f7476847191dc159d96bc4cac4a6aa9c89e40c 100644 (file)
 //
 
 #include "AliGenCocktail.h"
-#include "AliGenParam.h"
-#include "AliDecayer.h"
+#include "AliGenEMlib.h"
 #include "AliPythia.h"
+#include "AliDecayer.h"
+#include "AliGenParam.h"
+
 
 class AliGenCocktailEntry;
 
 class AliGenEMCocktail : public AliGenCocktail
 {
- public:
+public:
 
     AliGenEMCocktail();
-    enum GeneratorCode { kGenPizero, kGenEta, kGenRho, kGenOmega, kGenEtaprime, kGenPhi, kGENs };    
+  enum GeneratorIndex_t { kPizero=0, kEta, kRho, kOmega, kEtaprime, kPhi, kJpsi, kDirectRealGamma, kDirectVirtGamma, kGENs };
+  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 };
 
     virtual ~AliGenEMCocktail();    
     virtual void Init();
@@ -29,28 +32,37 @@ class AliGenEMCocktail : public AliGenCocktail
     virtual void Generate();    
     Float_t GetDecayMode()         const {return fDecayMode;}
     Float_t GetWeightingMode()     const {return fWeightingMode;}
-    
     void    SetDecayer(AliDecayer* const decayer){fDecayer = decayer;}
     void    SetDecayMode(Decay_t decay){ fDecayMode = decay;}
     void    SetWeightingMode(Weighting_t weight){ fWeightingMode = weight;}
-    void    SetNPart(Int_t npart){ fNPart = npart;}
+  void    SetNPart(Int_t npart){ fNPart = npart; }
+  void    SetPtParam(AliGenEMlib::PtParamSet_t PtSelect){ fPtSelect = PtSelect; }
+  void    SetCentrality(AliGenEMlib::Centrality_t cent){ fCentrality = cent; }
+  void    SetV2Systematic(Int_t v2sys){ fV2Systematic = v2sys; }
+  void    SetForceGammaConversion(Bool_t force=kTRUE){ fForceConv=force; }
+  void    SetHeaviestHadron(ParticeGenerator_t part);
+  void    SelectMotherParticles(ParticeGenerator_t part){ fSelectedParticles=part; }
     
- protected:
-
-    //
- private:
+private:
     AliGenEMCocktail(const AliGenEMCocktail &cocktail); 
     AliGenEMCocktail & operator=(const AliGenEMCocktail &cocktail); 
 
     void AddSource2Generator(Char_t *nameReso, AliGenParam* const genReso);
     
     AliDecayer* fDecayer;        // External decayer
-    Decay_t fDecayMode;          // decay mode in which resonances are forced to decay, default: kAll
-    Weighting_t fWeightingMode;  // weighting mode: kAnalog or kNonAnalog
+  Decay_t fDecayMode;   //decay mode in which resonances are forced to decay, default: kAll
+  Weighting_t fWeightingMode; //weighting mode: kAnalog or kNonAnalog
     
     Int_t    fNPart;             // multiplicity of each source per event
     Double_t fYieldArray[kGENs]; // array of dN/dy for each source
 
+  AliGenEMlib::PtParamSet_t fPtSelect; // selected pT parameterization
+  AliGenEMlib::Centrality_t fCentrality; // selected centrality
+  Int_t fV2Systematic; //selected systematic error for v2 parameters
+
+  Bool_t fForceConv; //select whether you want to force all gammas to convert imidediately
+  Int_t fSelectedParticles; //which particles to simulate
+
     ClassDef(AliGenEMCocktail,1)  //  cocktail for EM physics
 };