]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EVGEN/AliGenCorrHF.h
newly implemented model for slow nucleon production
[u/mrichter/AliRoot.git] / EVGEN / AliGenCorrHF.h
index 8fe6be0712508a2022548e64f7c6d2c6203bdcab..25db14861e79414c15f77cb4f421c04dc529a608 100644 (file)
 
 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
 
 
 
-