]>
Commit | Line | Data |
---|---|---|
103ac317 | 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 */ | |
5 | ||
e5ab62dd | 6 | |
7 | // | |
8 | // Classe to create the coktail for physics with muons for pp at 14 TeV | |
9 | // The followoing sources: | |
10 | // jpsi,psiP, upsilon, upsilonP, upsilonPP are added to Pythia | |
11 | // The free parameeters are : | |
12 | // pp reaction cross-section | |
13 | // production cross-sections in pp collisions | |
14 | ||
103ac317 | 15 | #include "AliGenCocktail.h" |
aaa95f22 | 16 | #include "AliDecayer.h" |
103ac317 | 17 | |
18 | class AliGenCocktailEntry; | |
19 | ||
20 | class AliGenMUONCocktailpp : public AliGenCocktail | |
21 | { | |
22 | public: | |
23 | ||
24 | AliGenMUONCocktailpp(); | |
103ac317 | 25 | virtual ~AliGenMUONCocktailpp(); |
26 | virtual void Init(); | |
8058ead1 | 27 | virtual void CreateCocktail(); |
103ac317 | 28 | virtual void Generate(); |
29 | Int_t GetNSucceded() const {return fNSucceded;} | |
30 | Int_t GetNGenerated() const {return fNGenerated;} | |
31 | Int_t GetMuonMultiplicity() const {return fMuonMultiplicity;} | |
32 | Float_t GetMuonPtCut() const {return fMuonPtCut;} | |
f81a4aca | 33 | Float_t GetMuonPCut() const {return fMuonPCut;} |
103ac317 | 34 | Float_t GetMuonThetaMin() const {return fMuonThetaMinCut;} |
35 | Float_t GetMuonThetaMax() const {return fMuonThetaMaxCut;} | |
aaa95f22 | 36 | Float_t GetMuonOriginCut() const {return fMuonOriginCut;} |
37 | Float_t GetDecayModeResonance()const {return fDecayModeResonance;} | |
38 | Float_t GetDecayModePythia() const {return fDecayModePythia;} | |
103ac317 | 39 | |
aaa95f22 | 40 | void SetMuonMultiplicity(Int_t MuonMultiplicity) { fMuonMultiplicity = MuonMultiplicity;} |
103ac317 | 41 | void SetMuonPtCut(Float_t PtCut) { fMuonPtCut = PtCut;} |
f81a4aca | 42 | void SetMuonPCut(Float_t PCut) { fMuonPCut = PCut;} |
aaa95f22 | 43 | void SetMuonOriginCut(Float_t originCut) { fMuonOriginCut = originCut;} |
103ac317 | 44 | void SetMuonThetaRange(Float_t ThetaMin, Float_t ThetaMax){ |
45 | fMuonThetaMinCut=ThetaMin; | |
46 | fMuonThetaMaxCut=ThetaMax; } | |
aaa95f22 | 47 | void SetDecayer(AliDecayer* decayer){fDecayer = decayer;} |
48 | void SetDecayModeResonance(Decay_t decay){ fDecayModeResonance = decay;} | |
49 | void SetDecayModePythia(Decay_t decay){ fDecayModePythia = decay;} | |
00e6c5ee | 50 | void SetResPolarization(Double_t JpsiPol, Double_t PsiPPol, Double_t UpsPol, |
51 | Double_t UpsPPol, Double_t UpsPPPol, char *PolFrame); | |
9ff768ee | 52 | |
00e6c5ee | 53 | |
54 | void SetCMSEnergy(Int_t einc) { fCMSEnergy = einc; } | |
55 | void SetSigmaReaction(Double_t sig) { fSigmaReaction = sig; } | |
9ff768ee | 56 | void SetSigmaJPsi(Double_t sig) { fSigmaJPsi = sig; } |
ba8bf3f5 | 57 | void SetSigmaChic1(Double_t sig) { fSigmaChic1 = sig; } |
58 | void SetSigmaChic2(Double_t sig) { fSigmaChic2 = sig; } | |
9ff768ee | 59 | void SetSigmaPsiP(Double_t sig) { fSigmaPsiP = sig; } |
60 | void SetSigmaUpsilon(Double_t sig) { fSigmaUpsilon = sig; } | |
61 | void SetSigmaUpsilonP(Double_t sig) { fSigmaUpsilonP = sig; } | |
62 | void SetSigmaUpsilonPP(Double_t sig) { fSigmaUpsilonPP = sig; } | |
63 | void SetSigmaCCbar(Double_t sig) { fSigmaCCbar = sig; } | |
64 | void SetSigmaBBbar(Double_t sig) { fSigmaBBbar = sig; } | |
65 | ||
66 | void SetSigmaSilent() { fSigmaSilent = kTRUE; } | |
103ac317 | 67 | protected: |
68 | ||
69 | // | |
70 | private: | |
93a2041b | 71 | AliGenMUONCocktailpp(const AliGenMUONCocktailpp &cocktail); |
72 | AliGenMUONCocktailpp & operator=(const AliGenMUONCocktailpp &cocktail); | |
e5ab62dd | 73 | AliDecayer* fDecayer; // External decayer |
aaa95f22 | 74 | Decay_t fDecayModeResonance; //decay mode in which resonances are forced to decay, default: kAll |
75 | Decay_t fDecayModePythia; //decay mode in which particles in Pythia are forced to decay, default: kAll | |
103ac317 | 76 | Int_t fMuonMultiplicity; // Muon multiplicity for the primordial trigger |
77 | Float_t fMuonPtCut;// Transverse momentum cut for muons | |
f81a4aca | 78 | Float_t fMuonPCut;// Momentum cut for muons |
103ac317 | 79 | Float_t fMuonThetaMinCut;// Minimum theta cut for muons |
80 | Float_t fMuonThetaMaxCut; // Maximum theta cut for muons | |
aaa95f22 | 81 | Float_t fMuonOriginCut; //use only muons whose "part->Vz()" value is larger than fMuonOrigin |
103ac317 | 82 | Int_t fNSucceded;// Number of Succes in the (di)-muon generation in the acceptance |
83 | Int_t fNGenerated;// Number of generated cocktails | |
ba8bf3f5 | 84 | Double_t fJpsiPol, fChic1Pol, fChic2Pol, fPsiPPol, fUpsPol, fUpsPPol, fUpsPPPol;//Resonances polarization parameters |
00e6c5ee | 85 | Int_t fPolFrame;//Resonances polarization frame (Collins-Soper / Helicity) |
86 | Int_t fCMSEnergy; // CMS beam energy | |
87 | Double_t fSigmaReaction; // cross-section pp | |
9ff768ee | 88 | Double_t fSigmaJPsi; // cross-section JPsi resonance |
ba8bf3f5 | 89 | Double_t fSigmaChic1; // cross-section Chic1 resonance |
90 | Double_t fSigmaChic2; // cross-section Chic2 resonance | |
9ff768ee | 91 | Double_t fSigmaPsiP; // cross-section Psi-prime resonance |
92 | Double_t fSigmaUpsilon; // cross-section Upsilon resonance | |
93 | Double_t fSigmaUpsilonP; // cross-section Upsilon-prime resonance | |
94 | Double_t fSigmaUpsilonPP; // cross-section Upsilon-double-prime resonance | |
95 | Double_t fSigmaCCbar; // cross-section correlated charm | |
96 | Double_t fSigmaBBbar; // cross-section correlated beauty | |
97 | Bool_t fSigmaSilent; // hide values of cross-sections in output | |
103ac317 | 98 | |
ba8bf3f5 | 99 | ClassDef(AliGenMUONCocktailpp,4) // cocktail for physics in the Alice |
103ac317 | 100 | }; |
101 | ||
102 | #endif | |
103 | ||
104 | ||
105 |