3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
9 // Class to generate correlated Heavy Flavor hadron pairs using paramtrized
10 // kinematics of quark pairs from some generator and quark fragmentation functions.
11 // Is a generalisation of AliGenParam class for correlated pairs of hadrons.
12 // Author: S. Grigoryan, LPC Clermont-Fd & YerPhI, Smbat.Grigoryan@cern.ch
23 //-------------------------------------------------------------
24 class AliGenCorrHF : public AliGenMC
28 AliGenCorrHF(Int_t npart, Int_t idquark, Int_t energy);
29 AliGenCorrHF(char* tname, Int_t npart, Int_t idquark, Int_t energy);
31 virtual ~AliGenCorrHF();
32 virtual void Generate();
35 virtual void SetDecayer(AliDecayer* decayer) {fDecayer = decayer;}
37 // Hadron pair composition functions, needed by GetHadronPair
38 static void IpCharm(TH2F *hProbHH, Int_t &pdg3, Int_t &pdg4);
39 static void IpBeauty(TH2F *hProbHH, Int_t &pdg3, Int_t &pdg4);
41 // Computation of cumulative sums of cell wght-s, needed by GetQuarkPair
42 Double_t ComputeIntegral(TFile* fG);
44 // fG - input file with QQbar kinematical grid (TTree) and fragm. functions (24 TH2-s)
45 static void GetQuarkPair(TFile* fG, Double_t* fInt, Double_t &y1, Double_t &y2, Double_t &pt1, Double_t &pt2, Double_t &dphi);
46 static void GetHadronPair(TFile* fG, Int_t idq, Double_t y1, Double_t y2, Double_t pt1, Double_t pt2, Int_t &id3, Int_t &id4, Double_t &pz3, Double_t &pz4, Double_t &pt3, Double_t &pt4);
47 //Setting the flag for Background transportation while using SetForceDecay()
48 void SetSelectAll(Bool_t selectall) {fSelectAll = selectall;}
51 TString fFileName; // Name of the input file
52 TFile* fFile; //! Pointer to input file
53 Int_t fQuark; // Quark type
54 Int_t fEnergy; // p-p c.m.s. energy
55 Float_t fBias; // Biasing factor
56 Int_t fTrials; // Number of trials
57 Bool_t fSelectAll; // Flag for transportation of Background while using SetForceDecay()
58 AliDecayer* fDecayer; //! Pointer to pythia object for decays
61 AliGenCorrHF(const AliGenCorrHF &CorrHF);
62 AliGenCorrHF & operator=(const AliGenCorrHF & rhs);
64 Double_t* fgIntegral; //! Pointer to array of cumulative sums of wght-s
66 static Int_t fgnptbins; // =12 Number of bins for the fragm.
67 // function dependence on quark pt
68 // Number of the grid bins in deltaphi, y and pt: 18, 30 and 50
69 static Double_t fgdph[19]; // deltaphi bin coordinates
70 static Double_t fgy[31]; // y bin coordinates
71 static Double_t fgpt[51]; // pt bin coordinates
72 static Double_t fgptbmin[12]; // min & max coordinates of pt bins for
73 static Double_t fgptbmax[12]; // the fragm. function
74 ClassDef(AliGenCorrHF,2) // Generator using parameterized QQbar & fragm. functions