Updates
[u/mrichter/AliRoot.git] / EVGEN / AliGenPairFlat.h
CommitLineData
67bfd92b 1#ifndef ALIGENPAIRFLAT_H
2#define ALIGENPAIRFLAT_H
3
4
5// Generator for particle pairs in a preset
6// kinematic range
7// ranges can be set for invariant mass, pair pT, pair rapidity
8// and pair azimuth
9
10// Comments and suggestions: markus.konrad.kohler@cern.ch
11
12
13#include "AliGenerator.h"
14
15class TF1;
16
17class AliGenPairFlat : public AliGenerator
18{
19 public:
20 AliGenPairFlat();
8c7c80ad 21 virtual ~AliGenPairFlat();
67bfd92b 22 virtual void Generate();
23 virtual void Init();
24
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)
37 {fAlpha = Alpha;}
38 void SetDebug(Int_t debug) {fDebug=debug;}
39
40protected:
41
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
8c7c80ad 55 TF1 *fPol; // Polarization function
67bfd92b 56
8c7c80ad 57 Bool_t Decay(const TLorentzVector& mother, TLorentzVector &dau1, TLorentzVector &dau2 , TF1* fPol);
58
59
60 private:
61 AliGenPairFlat(const AliGenPairFlat &pair);
62 AliGenPairFlat & operator=(const AliGenPairFlat & pair);
67bfd92b 63
64 ClassDef(AliGenPairFlat,1) // Flat random pair generator
65};
66
67#endif