84954c47 |
1 | #ifndef ALIGENMUONCOCKTAIL_H |
2 | #define ALIGENMUONCOCKTAIL_H |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
4 | * See cxx source for full Copyright notice */ |
5 | |
88e5db43 |
6 | |
84954c47 |
7 | /* $Id$ */ |
9538aedd |
8 | // |
84954c47 |
9 | // Classe to create the MUON coktail for physics in the Alice muon spectrometer |
9538aedd |
10 | // The followoing muons sources are included in this cocktail: |
11 | // jpsi, upsilon, non-correlated open and beauty, and muons from pion and kaons. |
12 | // The free parameeters are : |
13 | // pp reaction cross-section |
14 | // production cross-sections in pp collisions and |
15 | // branching ratios in the muon channel |
16 | // Hard probes are supposed to scale with Ncoll and hadronic production with (0.8Ncoll+0.2*Npart) |
17 | // There is a primordial trigger wiche requires : |
18 | // a minimum muon multiplicity above a pT cut in a theta acceptance cone |
19 | // |
84954c47 |
20 | // Gines Martinez, jan 2004, Nantes martinez@in2p3.fr |
21 | |
17016a57 |
22 | |
23 | |
24 | |
84954c47 |
25 | #include "AliGenCocktail.h" |
26 | |
17016a57 |
27 | class AliFastGlauber; |
84954c47 |
28 | class AliGenCocktailEntry; |
29 | |
30 | |
31 | class AliGenMUONCocktail : public AliGenCocktail |
32 | { |
33 | public: |
34 | AliGenMUONCocktail(); |
35 | AliGenMUONCocktail(const AliGenMUONCocktail &cocktail); |
36 | virtual ~AliGenMUONCocktail(); |
37 | virtual void Init(); |
38 | virtual void Generate(); |
9538aedd |
39 | Int_t GetMuonMultiplicity() const {return fMuonMultiplicity;} |
40 | Int_t GetNSucceded() const {return fNSucceded;} |
41 | Int_t GetNGenerated() const {return fNGenerated;} |
42 | Float_t GetNumberOfCollisions()const {return fNumberOfCollisions;} |
43 | Float_t GetNumberOfParticipants() const {return fNumberOfParticipants;} |
44 | Float_t GetMuonPtCut() const { return fMuonPtCut;} |
84954c47 |
45 | |
46 | void SetMuonMultiplicity(Int_t MuonMultiplicity) { fMuonMultiplicity= MuonMultiplicity;} |
47 | void SetNumberOfCollisions(Float_t NumberOfCollisions) { fNumberOfCollisions= NumberOfCollisions;} |
48 | void SetNumberOfParticipants(Float_t NumberOfParticipants) { fNumberOfParticipants= NumberOfParticipants;} |
17016a57 |
49 | void SetImpactParameterRange(Float_t bmin=0., Float_t bmax=5.) { fLowImpactParameter = bmin; fHighImpactParameter=bmax;} |
84954c47 |
50 | void SetMuonPtCut(Float_t PtCut) { fMuonPtCut = PtCut;} |
51 | void SetMuonThetaCut(Float_t ThetaMin, Float_t ThetaMax) |
52 | { fMuonThetaMinCut=ThetaMin; |
17016a57 |
53 | fMuonThetaMaxCut=ThetaMax; } |
54 | void SetHadronicMuons(Bool_t HadronicMuons) { fHadronicMuons = HadronicMuons;} |
84954c47 |
55 | |
56 | protected: |
57 | |
58 | // |
59 | private: |
17016a57 |
60 | AliFastGlauber * fFastGlauber; //! Fast glauber calculations |
61 | Float_t fTotalRate; // Total rate of the full cocktail processes |
62 | Int_t fMuonMultiplicity; // Muon multiplicity for the primordial trigger |
63 | Float_t fMuonPtCut; // Transverse momentum cut for muons |
64 | Float_t fMuonThetaMinCut; // Minimum theta cut for muons |
65 | Float_t fMuonThetaMaxCut; // Maximum theta cut for muons |
66 | Int_t fNSucceded; // Number of Succes in the dimuon pair generation in the acceptance |
67 | Int_t fNGenerated; // Number of generated cocktails |
68 | Float_t fLowImpactParameter; // Lowest simulated impact parameter |
69 | Float_t fHighImpactParameter; // Highest impact parameter |
70 | Float_t fAverageImpactParameter;// AVergae Impact parameter in the impact parameter range |
71 | Float_t fNumberOfCollisions; // Average number of collisions in the impact parameter range |
72 | Float_t fNumberOfParticipants; // Average number of participants in the impact parameter range |
73 | Bool_t fHadronicMuons; // If kTrue hadronic muons are included in the cocktail. Default is true. |
74 | |
75 | ClassDef(AliGenMUONCocktail,1) // MUON cocktail for physics in the Alice muon spectrometer |
84954c47 |
76 | }; |
77 | |
78 | #endif |
79 | |
80 | |
81 | |
82 | |
83 | |