#ifndef ALIGENMUONCOCKTAILPP_H
#define ALIGENMUONCOCKTAILPP_H
#include "AliGenCocktail.h"
#include "AliDecayer.h"
class AliGenCocktailEntry;
class AliGenParam;
class AliGenMUONCocktailpp : public AliGenCocktail
{
public:
AliGenMUONCocktailpp();
enum CMSEnergyCode { kCMS07TeV, kCMS10TeV, kCMS14TeV, kCMS03TeVpPb, kCMS03TeVPbp, kCMS04TeVpPb, kCMS04TeVPbp, kCMS05TeVpPb, kCMS05TeVPbp, kCMS09TeVpPb, kCMS09TeVPbp, kCMS03TeVPbPb, kNCMSEs };
virtual ~AliGenMUONCocktailpp();
virtual void Init();
virtual void CreateCocktail();
virtual void Generate();
Int_t GetNSucceded() const {return fNSucceded;}
Int_t GetNGenerated() const {return fNGenerated;}
Int_t GetCentralityBin() const {return fCentralityBin;}
Int_t GetMuonMultiplicity() const {return fMuonMultiplicity;}
Float_t GetMuonPtCut() const {return fMuonPtCut;}
Float_t GetMuonPCut() const {return fMuonPCut;}
Float_t GetMuonThetaMin() const {return fMuonThetaMinCut;}
Float_t GetMuonThetaMax() const {return fMuonThetaMaxCut;}
Float_t GetMuonOriginCut() const {return fMuonOriginCut;}
Float_t GetDecayModeResonance()const {return fDecayModeResonance;}
Float_t GetDecayModePythia() const {return fDecayModePythia;}
void SetCentralityBin(Int_t bin) { fCentralityBin = bin;}
void SetMuonMultiplicity(Int_t MuonMultiplicity) { fMuonMultiplicity = MuonMultiplicity;}
void SetMuonPtCut(Float_t PtCut) { fMuonPtCut = PtCut;}
void SetMuonPCut(Float_t PCut) { fMuonPCut = PCut;}
void SetMuonOriginCut(Float_t originCut) { fMuonOriginCut = originCut;}
void SetMuonThetaRange(Float_t ThetaMin, Float_t ThetaMax){
fMuonThetaMinCut=ThetaMin;
fMuonThetaMaxCut=ThetaMax; }
void SetDecayer(AliDecayer* const decayer){fDecayer = decayer;}
void SetDecayModeResonance(Decay_t decay){ fDecayModeResonance = decay;}
void SetDecayModePythia(Decay_t decay){ fDecayModePythia = decay;}
void SetResPolarization(Double_t JpsiPol, Double_t PsiPPol, Double_t UpsPol,
Double_t UpsPPol, Double_t UpsPPPol, char *PolFrame);
void SetCMSEnergy(CMSEnergyCode cmsEnergy);
void SetSigmaSilent() { fSigmaSilent = kTRUE; }
void ScaleJPsi(Double_t sc) { fScaleJPsi = sc;}
void ScaleCharmonia(Double_t sc) { fScaleCharmonia = sc;}
void ScaleBottomonia(Double_t sc) { fScaleBottomonia = sc;}
void ScaleCCbar(Double_t sc) { fScaleCCbar = sc;}
void ScaleBBbar(Double_t sc) { fScaleBBbar = sc;}
protected:
private:
AliGenMUONCocktailpp(const AliGenMUONCocktailpp &cocktail);
AliGenMUONCocktailpp & operator=(const AliGenMUONCocktailpp &cocktail);
void AddReso2Generator(Char_t *nameReso, AliGenParam* const genReso, Double_t sigmaReso, Double_t polReso);
AliDecayer* fDecayer;
Decay_t fDecayModeResonance;
Decay_t fDecayModePythia;
Int_t fMuonMultiplicity;
Float_t fMuonPtCut;
Float_t fMuonPCut;
Float_t fMuonThetaMinCut;
Float_t fMuonThetaMaxCut;
Float_t fMuonOriginCut;
Int_t fNSucceded;
Int_t fNGenerated;
Int_t fCentralityBin;
Double_t fScaleJPsi;
Double_t fScaleCharmonia;
Double_t fScaleBottomonia;
Double_t fScaleCCbar;
Double_t fScaleBBbar;
Double_t fJpsiPol, fChic1Pol, fChic2Pol, fPsiPPol, fUpsPol, fUpsPPol, fUpsPPPol;
Int_t fPolFrame;
Double_t fCMSEnergyTeV;
Double_t fCMSEnergyTeVArray[kNCMSEs];
Double_t fSigmaReaction;
Double_t fSigmaReactionArray[kNCMSEs];
Double_t fSigmaJPsi;
Double_t fSigmaJPsiArray[kNCMSEs];
Double_t fSigmaChic1;
Double_t fSigmaChic1Array[kNCMSEs];
Double_t fSigmaChic2;
Double_t fSigmaChic2Array[kNCMSEs];
Double_t fSigmaPsiP;
Double_t fSigmaPsiPArray[kNCMSEs];
Double_t fSigmaUpsilon;
Double_t fSigmaUpsilonArray[kNCMSEs];
Double_t fSigmaUpsilonP;
Double_t fSigmaUpsilonPArray[kNCMSEs];
Double_t fSigmaUpsilonPP;
Double_t fSigmaUpsilonPPArray[kNCMSEs];
Double_t fSigmaCCbar;
Double_t fSigmaCCbarArray[kNCMSEs];
Double_t fSigmaBBbar;
Double_t fSigmaBBbarArray[kNCMSEs];
Bool_t fSigmaSilent;
ClassDef(AliGenMUONCocktailpp,5)
};
#endif
AliGenMUONCocktailpp.h:10 AliGenMUONCocktailpp.h:11 AliGenMUONCocktailpp.h:12 AliGenMUONCocktailpp.h:13 AliGenMUONCocktailpp.h:14 AliGenMUONCocktailpp.h:15 AliGenMUONCocktailpp.h:16 AliGenMUONCocktailpp.h:17 AliGenMUONCocktailpp.h:18 AliGenMUONCocktailpp.h:19 AliGenMUONCocktailpp.h:20 AliGenMUONCocktailpp.h:21 AliGenMUONCocktailpp.h:22 AliGenMUONCocktailpp.h:23 AliGenMUONCocktailpp.h:24 AliGenMUONCocktailpp.h:25 AliGenMUONCocktailpp.h:26 AliGenMUONCocktailpp.h:27 AliGenMUONCocktailpp.h:28 AliGenMUONCocktailpp.h:29 AliGenMUONCocktailpp.h:30 AliGenMUONCocktailpp.h:31 AliGenMUONCocktailpp.h:32 AliGenMUONCocktailpp.h:33 AliGenMUONCocktailpp.h:34 AliGenMUONCocktailpp.h:35 AliGenMUONCocktailpp.h:36 AliGenMUONCocktailpp.h:37 AliGenMUONCocktailpp.h:38 AliGenMUONCocktailpp.h:39 AliGenMUONCocktailpp.h:40 AliGenMUONCocktailpp.h:41 AliGenMUONCocktailpp.h:42 AliGenMUONCocktailpp.h:43 AliGenMUONCocktailpp.h:44 AliGenMUONCocktailpp.h:45 AliGenMUONCocktailpp.h:46 AliGenMUONCocktailpp.h:47 AliGenMUONCocktailpp.h:48 AliGenMUONCocktailpp.h:49 AliGenMUONCocktailpp.h:50 AliGenMUONCocktailpp.h:51 AliGenMUONCocktailpp.h:52 AliGenMUONCocktailpp.h:53 AliGenMUONCocktailpp.h:54 AliGenMUONCocktailpp.h:55 AliGenMUONCocktailpp.h:56 AliGenMUONCocktailpp.h:57 AliGenMUONCocktailpp.h:58 AliGenMUONCocktailpp.h:59 AliGenMUONCocktailpp.h:60 AliGenMUONCocktailpp.h:61 AliGenMUONCocktailpp.h:62 AliGenMUONCocktailpp.h:63 AliGenMUONCocktailpp.h:64 AliGenMUONCocktailpp.h:65 AliGenMUONCocktailpp.h:66 AliGenMUONCocktailpp.h:67 AliGenMUONCocktailpp.h:68 AliGenMUONCocktailpp.h:69 AliGenMUONCocktailpp.h:70 AliGenMUONCocktailpp.h:71 AliGenMUONCocktailpp.h:72 AliGenMUONCocktailpp.h:73 AliGenMUONCocktailpp.h:74 AliGenMUONCocktailpp.h:75 AliGenMUONCocktailpp.h:76 AliGenMUONCocktailpp.h:77 AliGenMUONCocktailpp.h:78 AliGenMUONCocktailpp.h:79 AliGenMUONCocktailpp.h:80 AliGenMUONCocktailpp.h:81 AliGenMUONCocktailpp.h:82 AliGenMUONCocktailpp.h:83 AliGenMUONCocktailpp.h:84 AliGenMUONCocktailpp.h:85 AliGenMUONCocktailpp.h:86 AliGenMUONCocktailpp.h:87 AliGenMUONCocktailpp.h:88 AliGenMUONCocktailpp.h:89 AliGenMUONCocktailpp.h:90 AliGenMUONCocktailpp.h:91 AliGenMUONCocktailpp.h:92 AliGenMUONCocktailpp.h:93 AliGenMUONCocktailpp.h:94 AliGenMUONCocktailpp.h:95 AliGenMUONCocktailpp.h:96 AliGenMUONCocktailpp.h:97 AliGenMUONCocktailpp.h:98 AliGenMUONCocktailpp.h:99 AliGenMUONCocktailpp.h:100 AliGenMUONCocktailpp.h:101 AliGenMUONCocktailpp.h:102 AliGenMUONCocktailpp.h:103 AliGenMUONCocktailpp.h:104 AliGenMUONCocktailpp.h:105 AliGenMUONCocktailpp.h:106 AliGenMUONCocktailpp.h:107 AliGenMUONCocktailpp.h:108 AliGenMUONCocktailpp.h:109 AliGenMUONCocktailpp.h:110 AliGenMUONCocktailpp.h:111 AliGenMUONCocktailpp.h:112 AliGenMUONCocktailpp.h:113 AliGenMUONCocktailpp.h:114 AliGenMUONCocktailpp.h:115 AliGenMUONCocktailpp.h:116 AliGenMUONCocktailpp.h:117 AliGenMUONCocktailpp.h:118 AliGenMUONCocktailpp.h:119 AliGenMUONCocktailpp.h:120 AliGenMUONCocktailpp.h:121 AliGenMUONCocktailpp.h:122 AliGenMUONCocktailpp.h:123 AliGenMUONCocktailpp.h:124 AliGenMUONCocktailpp.h:125