]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVGEN/AliGenCorrHF.h
Initial version of channel equalization DA for Pb-Pb data.
[u/mrichter/AliRoot.git] / EVGEN / AliGenCorrHF.h
CommitLineData
2c890605 1#ifndef ALIGENCORRHF_H
2#define ALIGENCORRHF_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id$ */
7
8//
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
13//
826fd892 14// May 11: Added Flag for transportation Background While using SetForceDecay() function (L. Manceau)
15// June 11 modification allowing Seting Cut on Children added (L. Manceau)
2c890605 16
17#include "AliGenMC.h"
18
19class AliPythia;
20class TParticle;
9fd56238 21class TH2F;
2c890605 22class TFile;
23class TString;
826fd892 24class TClonesArray;
2c890605 25
26//-------------------------------------------------------------
27class AliGenCorrHF : public AliGenMC
28{
29 public:
30 AliGenCorrHF();
b33adf51 31 AliGenCorrHF(Int_t npart, Int_t idquark, Int_t energy);
32 AliGenCorrHF(char* tname, Int_t npart, Int_t idquark, Int_t energy);
2c890605 33
34 virtual ~AliGenCorrHF();
35 virtual void Generate();
36 virtual void Init();
37 // force decay type
38 virtual void SetDecayer(AliDecayer* decayer) {fDecayer = decayer;}
39
9fd56238 40 // Hadron pair composition functions, needed by GetHadronPair
41 static void IpCharm(TH2F *hProbHH, Int_t &pdg3, Int_t &pdg4);
42 static void IpBeauty(TH2F *hProbHH, Int_t &pdg3, Int_t &pdg4);
2c890605 43
44 // Computation of cumulative sums of cell wght-s, needed by GetQuarkPair
5cc3bcd2 45 Double_t ComputeIntegral(TFile* fG);
2c890605 46
b33adf51 47 // fG - input file with QQbar kinematical grid (TTree) and fragm. functions (24 TH2-s)
2c890605 48 static void GetQuarkPair(TFile* fG, Double_t* fInt, Double_t &y1, Double_t &y2, Double_t &pt1, Double_t &pt2, Double_t &dphi);
49 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);
826fd892 50
51 //Loading tracks in the stack
52 void LoadTracks(Int_t iquark, Float_t *pq, Int_t iPart,
53 Float_t *p, Int_t np, TClonesArray* particles,
54 Float_t *origine0, Float_t *polar, Float_t wgtp,
55 Float_t wgtch, Int_t &nt, Int_t ncsel, Int_t *pSelected,
56 Int_t *trackIt);
57 //Setting the flag for Background transportation while using SetForceDecay()
18e09c20 58 void SetSelectAll(Bool_t selectall) {fSelectAll = selectall;}
2c890605 59
60 protected:
61 TString fFileName; // Name of the input file
62 TFile* fFile; //! Pointer to input file
b33adf51 63 Int_t fQuark; // Quark type
64 Int_t fEnergy; // p-p c.m.s. energy
2c890605 65 Float_t fBias; // Biasing factor
66 Int_t fTrials; // Number of trials
18e09c20 67 Bool_t fSelectAll; // Flag for transportation of Background while using SetForceDecay()
2c890605 68 AliDecayer* fDecayer; //! Pointer to pythia object for decays
69
70 private:
93a2041b 71 AliGenCorrHF(const AliGenCorrHF &CorrHF);
72 AliGenCorrHF & operator=(const AliGenCorrHF & rhs);
73
826fd892 74 Double_t* fgIntegral; //! Pointer to array of cumulative sums of wght-s
2c890605 75 static Int_t fgnptbins; // =12 Number of bins for the fragm.
76 // function dependence on quark pt
b33adf51 77 // Number of the grid bins in deltaphi, y and pt: 18, 30 and 50
2c890605 78 static Double_t fgdph[19]; // deltaphi bin coordinates
79 static Double_t fgy[31]; // y bin coordinates
b33adf51 80 static Double_t fgpt[51]; // pt bin coordinates
2c890605 81 static Double_t fgptbmin[12]; // min & max coordinates of pt bins for
82 static Double_t fgptbmax[12]; // the fragm. function
826fd892 83
84 ClassDef(AliGenCorrHF,1) // Generator using parameterized QQbar & fragm. functions
2c890605 85};
86#endif
87
88
89
90
91
92
93
94
95