- adding more histgrams for the invariant mass component (more energy intervals)
[u/mrichter/AliRoot.git] / EVGEN / AliGenMUONCocktailpp.h
CommitLineData
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
18class AliGenCocktailEntry;
19
20class 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