class AliPythia;
class TParticle;
-class TRandom;
+class TH2F;
class TFile;
class TString;
+class TClonesArray;
//-------------------------------------------------------------
class AliGenCorrHF : public AliGenMC
{
public:
AliGenCorrHF();
- AliGenCorrHF(Int_t npart, Int_t param);
- AliGenCorrHF(char* tname, Int_t npart, Int_t param);
+ AliGenCorrHF(Int_t npart, Int_t idquark, Int_t energy);
+ AliGenCorrHF(char* tname, Int_t npart, Int_t idquark, Int_t energy);
virtual ~AliGenCorrHF();
virtual void Generate();
// force decay type
virtual void SetDecayer(AliDecayer* decayer) {fDecayer = decayer;}
- // Particle type parametrisation functions, needed by GetHadronPair
- static Int_t IpCharm(TRandom* ran);
- static Int_t IpBeauty(TRandom* ran);
+ // Hadron pair composition functions, needed by GetHadronPair
+ static void IpCharm(TH2F *hProbHH, Int_t &pdg3, Int_t &pdg4);
+ static void IpBeauty(TH2F *hProbHH, Int_t &pdg3, Int_t &pdg4);
// Computation of cumulative sums of cell wght-s, needed by GetQuarkPair
- static Double_t ComputeIntegral(TFile* fG);
+ Double_t ComputeIntegral(TFile* fG);
- // fG - input file w QQbar kinematical grid (TTree) and fragm. functions (24 TH2-s)
+ // fG - input file with QQbar kinematical grid (TTree) and fragm. functions (24 TH2-s)
static void GetQuarkPair(TFile* fG, Double_t* fInt, Double_t &y1, Double_t &y2, Double_t &pt1, Double_t &pt2, Double_t &dphi);
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);
+ //Loading tracks in the stack
+ void LoadTracks(Int_t iquark, Float_t *pq, Int_t iPart,
+ Float_t *p, Int_t np, TClonesArray* particles,
+ Float_t *origine0, Float_t *polar, Float_t wgtp,
+ Float_t wgtch, Int_t &nt, Int_t ncsel, Int_t *pSelected,
+ Int_t *trackIt);
+ //Setting the flag for Background transportation while using SetForceDecay()
+ void SetSelectAll(Bool_t selectall) {fSelectAll = selectall;}
+
protected:
TString fFileName; // Name of the input file
TFile* fFile; //! Pointer to input file
- Int_t fQuark; // Quark type
+ Int_t fQuark; // Quark type
+ Int_t fEnergy; // p-p c.m.s. energy
Float_t fBias; // Biasing factor
Int_t fTrials; // Number of trials
+ Bool_t fSelectAll; // Flag for transportation of Background while using SetForceDecay()
AliDecayer* fDecayer; //! Pointer to pythia object for decays
private:
AliGenCorrHF(const AliGenCorrHF &CorrHF);
AliGenCorrHF & operator=(const AliGenCorrHF & rhs);
- static Double_t* fgIntegral; //! Pointer to array of cumulative sums of wght-s
+ Double_t* fgIntegral; //! Pointer to array of cumulative sums of wght-s
static Int_t fgnptbins; // =12 Number of bins for the fragm.
// function dependence on quark pt
- // Number of the grid bins in deltaphi, y and pt: 18, 30 and 32
+ // Number of the grid bins in deltaphi, y and pt: 18, 30 and 50
static Double_t fgdph[19]; // deltaphi bin coordinates
static Double_t fgy[31]; // y bin coordinates
- static Double_t fgpt[33]; // pt bin coordinates
+ static Double_t fgpt[51]; // pt bin coordinates
static Double_t fgptbmin[12]; // min & max coordinates of pt bins for
static Double_t fgptbmax[12]; // the fragm. function
-