X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=EVGEN%2FAliGenCorrHF.h;h=25db14861e79414c15f77cb4f421c04dc529a608;hb=77063fe477bfc06a51967197351a1dd58bf628eb;hp=8fe6be0712508a2022548e64f7c6d2c6203bdcab;hpb=93a2041b6acdbf31d3a3eb48708a2a54a759543d;p=u%2Fmrichter%2FAliRoot.git diff --git a/EVGEN/AliGenCorrHF.h b/EVGEN/AliGenCorrHF.h index 8fe6be07125..25db14861e7 100644 --- a/EVGEN/AliGenCorrHF.h +++ b/EVGEN/AliGenCorrHF.h @@ -16,17 +16,18 @@ 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(); @@ -34,39 +35,50 @@ class AliGenCorrHF : public AliGenMC // 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 - + ClassDef(AliGenCorrHF,1) // Generator using parameterized QQbar & fragm. functions }; #endif @@ -79,4 +91,3 @@ class AliGenCorrHF : public AliGenMC -