Upadte of preprocessor by Raphaelle
[u/mrichter/AliRoot.git] / EVGEN / AliGenMUONCocktail.h
CommitLineData
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 27class AliFastGlauber;
84954c47 28class AliGenCocktailEntry;
29
30
31class 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;}
b72a1716 55 void SetInvMassRange(Float_t MassMin, Float_t MassMax)
56 { fInvMassMinCut=MassMin;
57 fInvMassMaxCut=MassMax;
58 fInvMassCut = kTRUE; }
1c56e311 59 private:
60 AliGenMUONCocktail& operator=(const AliGenMUONCocktail & rhs);
61 void Copy(TObject &cocktail) const;
84954c47 62 //
63 private:
17016a57 64 AliFastGlauber * fFastGlauber; //! Fast glauber calculations
65 Float_t fTotalRate; // Total rate of the full cocktail processes
66 Int_t fMuonMultiplicity; // Muon multiplicity for the primordial trigger
67 Float_t fMuonPtCut; // Transverse momentum cut for muons
68 Float_t fMuonThetaMinCut; // Minimum theta cut for muons
69 Float_t fMuonThetaMaxCut; // Maximum theta cut for muons
70 Int_t fNSucceded; // Number of Succes in the dimuon pair generation in the acceptance
71 Int_t fNGenerated; // Number of generated cocktails
72 Float_t fLowImpactParameter; // Lowest simulated impact parameter
73 Float_t fHighImpactParameter; // Highest impact parameter
74 Float_t fAverageImpactParameter;// AVergae Impact parameter in the impact parameter range
75 Float_t fNumberOfCollisions; // Average number of collisions in the impact parameter range
76 Float_t fNumberOfParticipants; // Average number of participants in the impact parameter range
b72a1716 77 Bool_t fHadronicMuons; // If kTRUE hadronic muons are included in the cocktail. Default is true.
78 Bool_t fInvMassCut; // If kTRUE cut on the Invariant mass is required. Default is false
79 Float_t fInvMassMinCut; // Minimum invariant mass cut
80 Float_t fInvMassMaxCut; // Maximum invariant mass cut
17016a57 81
82 ClassDef(AliGenMUONCocktail,1) // MUON cocktail for physics in the Alice muon spectrometer
84954c47 83};
84
85#endif
86
87
88
89
90