]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVGEN/AliGenMUONCocktailpp.h
Member data shadowing corrected.
[u/mrichter/AliRoot.git] / EVGEN / AliGenMUONCocktailpp.h
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
6 #include "AliGenCocktail.h"
7 #include "AliDecayer.h"
8
9 class AliGenCocktailEntry;
10
11 class AliGenMUONCocktailpp : public AliGenCocktail
12 {
13  public:
14
15     AliGenMUONCocktailpp();
16     virtual ~AliGenMUONCocktailpp();    
17     virtual void Init();
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;}
30     
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);
43
44     
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; }
56
57     void    SetSigmaSilent() { fSigmaSilent = kTRUE; }
58  protected:
59
60     //
61  private:
62     AliGenMUONCocktailpp(const AliGenMUONCocktailpp &cocktail); 
63     AliGenMUONCocktailpp & operator=(const AliGenMUONCocktailpp &cocktail); 
64     AliDecayer* fDecayer;
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
89
90     ClassDef(AliGenMUONCocktailpp,4)  //  cocktail for physics in the Alice
91 };
92
93 #endif
94
95
96