1 #ifndef ALIGENPAIRFLAT_H
2 #define ALIGENPAIRFLAT_H
5 // Generator for particle pairs in a preset
7 // ranges can be set for invariant mass, pair pT, pair rapidity
10 // Comments and suggestions: markus.konrad.kohler@cern.ch
13 #include "AliGenerator.h"
17 class AliGenPairFlat : public AliGenerator
21 virtual ~AliGenPairFlat();
22 virtual void Generate();
25 virtual void SetPairNPart(Int_t npart) {fPairNpart=npart;}
26 virtual void SetPairYRange(Float_t Ymin, Float_t Ymax)
27 {fPairYMin = Ymin; fPairYMax = Ymax;}
28 virtual void SetPairPhiRange(Float_t phimin, Float_t phimax)
29 {fPairPhiMin = phimin; fPairPhiMax = phimax;}
30 virtual void SetPairPtRange(Float_t ptmin, Float_t ptmax)
31 {fPairPtMin = ptmin; fPairPtMax = ptmax;}
32 virtual void SetPairMassRange(Float_t massmin, Float_t massmax)
33 {fPairMassMin = massmin; fPairMassMax = massmax;}
34 virtual void SetLegPdg(Int_t pdg1, Int_t pdg2)
35 {fLegPdg1 = pdg1; fLegPdg2 = pdg2;}
36 virtual void SetPolarization(Float_t Alpha)
38 void SetDebug(Int_t debug) {fDebug=debug;}
42 Int_t fPairNpart; //Number of generated pairs
43 Float_t fPairYMin; // Minimum eta
44 Float_t fPairYMax; // Maximum eta
45 Float_t fPairPhiMin; // Minimum phi
46 Float_t fPairPhiMax; // Maximum phi
47 Float_t fPairPtMin; // Minimum pt
48 Float_t fPairPtMax; // Maximum pt
49 Float_t fPairMassMin; // Minimum mass
50 Float_t fPairMassMax; // Maximum mass
51 Int_t fLegPdg1; // pdg code of first daughter
52 Int_t fLegPdg2; // pdg code of second daughter
53 Float_t fAlpha; // Polarization factor
54 Int_t fDebug; // debug level
55 TF1 *fPol; // Polarization function
57 Bool_t Decay(const TLorentzVector& mother, TLorentzVector &dau1, TLorentzVector &dau2 , TF1* fPol);
61 AliGenPairFlat(const AliGenPairFlat &pair);
62 AliGenPairFlat & operator=(const AliGenPairFlat & pair);
64 ClassDef(AliGenPairFlat,1) // Flat random pair generator