1 #ifndef ALIGENMUONCOCKTAILPP_H
2 #define ALIGENMUONCOCKTAILPP_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
6 #include "AliGenCocktail.h"
7 #include "AliDecayer.h"
9 class AliGenCocktailEntry;
11 class AliGenMUONCocktailpp : public AliGenCocktail
15 AliGenMUONCocktailpp();
16 virtual ~AliGenMUONCocktailpp();
18 virtual void CreateCocktail();
19 virtual void Generate();
20 Int_t GetNSucceded() const {return fNSucceded;}
21 Int_t GetNGenerated() const {return fNGenerated;}
22 Int_t GetMuonMultiplicity() const {return fMuonMultiplicity;}
23 Float_t GetMuonPtCut() const {return fMuonPtCut;}
24 Float_t GetMuonPCut() const {return fMuonPCut;}
25 Float_t GetMuonThetaMin() const {return fMuonThetaMinCut;}
26 Float_t GetMuonThetaMax() const {return fMuonThetaMaxCut;}
27 Float_t GetMuonOriginCut() const {return fMuonOriginCut;}
28 Float_t GetDecayModeResonance()const {return fDecayModeResonance;}
29 Float_t GetDecayModePythia() const {return fDecayModePythia;}
31 void SetMuonMultiplicity(Int_t MuonMultiplicity) { fMuonMultiplicity = MuonMultiplicity;}
32 void SetMuonPtCut(Float_t PtCut) { fMuonPtCut = PtCut;}
33 void SetMuonPCut(Float_t PCut) { fMuonPCut = PCut;}
34 void SetMuonOriginCut(Float_t originCut) { fMuonOriginCut = originCut;}
35 void SetMuonThetaRange(Float_t ThetaMin, Float_t ThetaMax){
36 fMuonThetaMinCut=ThetaMin;
37 fMuonThetaMaxCut=ThetaMax; }
38 void SetDecayer(AliDecayer* decayer){fDecayer = decayer;}
39 void SetDecayModeResonance(Decay_t decay){ fDecayModeResonance = decay;}
40 void SetDecayModePythia(Decay_t decay){ fDecayModePythia = decay;}
41 void SetResPolarization(Double_t JpsiPol, Double_t PsiPPol, Double_t UpsPol,
42 Double_t UpsPPol, Double_t UpsPPPol, char *PolFrame);
45 void SetCMSEnergy(Int_t einc) { fCMSEnergy = einc; }
46 void SetSigmaReaction(Double_t sig) { fSigmaReaction = sig; }
47 void SetSigmaJPsi(Double_t sig) { fSigmaJPsi = sig; }
48 void SetSigmaChic1(Double_t sig) { fSigmaChic1 = sig; }
49 void SetSigmaChic2(Double_t sig) { fSigmaChic2 = sig; }
50 void SetSigmaPsiP(Double_t sig) { fSigmaPsiP = sig; }
51 void SetSigmaUpsilon(Double_t sig) { fSigmaUpsilon = sig; }
52 void SetSigmaUpsilonP(Double_t sig) { fSigmaUpsilonP = sig; }
53 void SetSigmaUpsilonPP(Double_t sig) { fSigmaUpsilonPP = sig; }
54 void SetSigmaCCbar(Double_t sig) { fSigmaCCbar = sig; }
55 void SetSigmaBBbar(Double_t sig) { fSigmaBBbar = sig; }
57 void SetSigmaSilent() { fSigmaSilent = kTRUE; }
62 AliGenMUONCocktailpp(const AliGenMUONCocktailpp &cocktail);
63 AliGenMUONCocktailpp & operator=(const AliGenMUONCocktailpp &cocktail);
65 Decay_t fDecayModeResonance; //decay mode in which resonances are forced to decay, default: kAll
66 Decay_t fDecayModePythia; //decay mode in which particles in Pythia are forced to decay, default: kAll
67 Int_t fMuonMultiplicity; // Muon multiplicity for the primordial trigger
68 Float_t fMuonPtCut;// Transverse momentum cut for muons
69 Float_t fMuonPCut;// Momentum cut for muons
70 Float_t fMuonThetaMinCut;// Minimum theta cut for muons
71 Float_t fMuonThetaMaxCut; // Maximum theta cut for muons
72 Float_t fMuonOriginCut; //use only muons whose "part->Vz()" value is larger than fMuonOrigin
73 Int_t fNSucceded;// Number of Succes in the (di)-muon generation in the acceptance
74 Int_t fNGenerated;// Number of generated cocktails
75 Double_t fJpsiPol, fChic1Pol, fChic2Pol, fPsiPPol, fUpsPol, fUpsPPol, fUpsPPPol;//Resonances polarization parameters
76 Int_t fPolFrame;//Resonances polarization frame (Collins-Soper / Helicity)
77 Int_t fCMSEnergy; // CMS beam energy
78 Double_t fSigmaReaction; // cross-section pp
79 Double_t fSigmaJPsi; // cross-section JPsi resonance
80 Double_t fSigmaChic1; // cross-section Chic1 resonance
81 Double_t fSigmaChic2; // cross-section Chic2 resonance
82 Double_t fSigmaPsiP; // cross-section Psi-prime resonance
83 Double_t fSigmaUpsilon; // cross-section Upsilon resonance
84 Double_t fSigmaUpsilonP; // cross-section Upsilon-prime resonance
85 Double_t fSigmaUpsilonPP; // cross-section Upsilon-double-prime resonance
86 Double_t fSigmaCCbar; // cross-section correlated charm
87 Double_t fSigmaBBbar; // cross-section correlated beauty
88 Bool_t fSigmaSilent; // hide values of cross-sections in output
90 ClassDef(AliGenMUONCocktailpp,4) // cocktail for physics in the Alice