LCOV - code coverage report
Current view: top level - EVGEN - AliGenCorrHF.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 3 33.3 %
Date: 2016-06-14 17:26:59 Functions: 1 10 10.0 %

          Line data    Source code
       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             : //
      14             : 
      15             : #include "AliGenMC.h"
      16             : 
      17             : class AliPythia;
      18             : class TParticle;
      19             : class TH2F;
      20             : class TFile;
      21             : class TString;
      22             : class TClonesArray;
      23             : 
      24             : //-------------------------------------------------------------
      25             : class AliGenCorrHF : public AliGenMC
      26             : {
      27             :  public:
      28             :     AliGenCorrHF();
      29             :     AliGenCorrHF(Int_t npart, Int_t idquark, Int_t energy);
      30             :     AliGenCorrHF(char* tname, Int_t npart, Int_t idquark, Int_t energy);
      31             :      
      32             :     virtual ~AliGenCorrHF();
      33             :     virtual void Generate();
      34             :     virtual void Init();
      35             :     // force decay type
      36           0 :     virtual void SetDecayer(AliDecayer* decayer) {fDecayer = decayer;}
      37             : 
      38             :     // Hadron pair composition functions, needed by GetHadronPair
      39             :     static void IpCharm(TH2F *hProbHH, Int_t &pdg3, Int_t &pdg4);
      40             :     static void IpBeauty(TH2F *hProbHH, Int_t &pdg3, Int_t &pdg4);
      41             : 
      42             :     // Computation of cumulative sums of cell wght-s, needed by GetQuarkPair
      43             :     Double_t ComputeIntegral(TFile* fG);
      44             : 
      45             :     // fG - input file with QQbar kinematical grid (TTree) and fragm. functions (24 TH2-s)
      46             :     static void GetQuarkPair(TFile* fG, Double_t* fInt, Double_t &y1, Double_t &y2, Double_t &pt1, Double_t &pt2, Double_t &dphi);              
      47             :     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); 
      48             : 
      49             :     //Loading tracks in the stack
      50             :     void LoadTracks(Int_t iquark, Float_t *pq, Int_t iPart, 
      51             :                     Float_t *p, Int_t np, TClonesArray* particles,
      52             :                     Float_t *origine0, Float_t *polar, Float_t wgtp, 
      53             :                     Float_t wgtch, Int_t &nt, Int_t ncsel, Int_t *pSelected, 
      54             :                     Int_t *trackIt);
      55             :     //Setting the flag for Background transportation while using SetForceDecay()
      56           0 :     void SetSelectAll(Bool_t selectall) {fSelectAll = selectall;}
      57             : 
      58             :  protected:
      59             :     TString     fFileName;    // Name of the input file
      60             :     TFile*      fFile;        //! Pointer to input file
      61             :     Int_t       fQuark;       // Quark type
      62             :     Int_t       fEnergy;      // p-p c.m.s. energy 
      63             :     Float_t     fBias;        // Biasing factor
      64             :     Int_t       fTrials;      // Number of trials
      65             :     Bool_t      fSelectAll;   // Flag for transportation of Background while using SetForceDecay()
      66             :     AliDecayer* fDecayer;     //! Pointer to pythia object for decays
      67             : 
      68             :  private:
      69             :     AliGenCorrHF(const AliGenCorrHF &CorrHF);
      70             :     AliGenCorrHF & operator=(const AliGenCorrHF & rhs);
      71             : 
      72             :     Double_t* fgIntegral; //! Pointer to array of cumulative sums of wght-s
      73             :     static Int_t  fgnptbins;             // =12 Number of bins for the fragm. 
      74             :                                          //   function dependence on quark pt
      75             :     // Number of the grid bins in deltaphi, y and pt:  18, 30 and 50
      76             :     static Double_t fgdph[19];           // deltaphi bin coordinates  
      77             :     static Double_t fgy[31];             // y bin coordinates
      78             :     static Double_t fgpt[51];            // pt bin coordinates
      79             :     static Double_t fgptbmin[12];        // min & max coordinates of pt bins for
      80             :     static Double_t fgptbmax[12];        // the fragm. function
      81             : 
      82           6 :     ClassDef(AliGenCorrHF,1)  // Generator using parameterized QQbar & fragm. functions
      83             : };
      84             : #endif
      85             : 
      86             : 
      87             : 
      88             : 
      89             : 
      90             : 
      91             : 
      92             : 
      93             : 

Generated by: LCOV version 1.11