Line data Source code
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 :
15 : class TF1;
16 :
17 : class AliGenPairFlat : public AliGenerator
18 : {
19 : public:
20 : AliGenPairFlat();
21 : virtual ~AliGenPairFlat();
22 : virtual void Generate();
23 : virtual void Init();
24 :
25 0 : virtual void SetPairNPart(Int_t npart) {fPairNpart=npart;}
26 : virtual void SetPairYRange(Float_t Ymin, Float_t Ymax)
27 0 : {fPairYMin = Ymin; fPairYMax = Ymax;}
28 : virtual void SetPairPhiRange(Float_t phimin, Float_t phimax)
29 0 : {fPairPhiMin = phimin; fPairPhiMax = phimax;}
30 : virtual void SetPairPtRange(Float_t ptmin, Float_t ptmax)
31 0 : {fPairPtMin = ptmin; fPairPtMax = ptmax;}
32 : virtual void SetPairMassRange(Float_t massmin, Float_t massmax)
33 0 : {fPairMassMin = massmin; fPairMassMax = massmax;}
34 : virtual void SetLegPdg(Int_t pdg1, Int_t pdg2)
35 0 : {fLegPdg1 = pdg1; fLegPdg2 = pdg2;}
36 : virtual void SetPolarization(Float_t Alpha)
37 0 : {fAlpha = Alpha;}
38 0 : void SetDebug(Int_t debug) {fDebug=debug;}
39 :
40 : protected:
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
55 : TF1 *fPol; // Polarization function
56 :
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);
63 :
64 6 : ClassDef(AliGenPairFlat,1) // Flat random pair generator
65 : };
66 :
67 : #endif
|