LCOV - code coverage report
Current view: top level - EVGEN - AliDecayerExodus.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 25 4.0 %
Date: 2016-06-14 17:26:59 Functions: 1 31 3.2 %

          Line data    Source code
       1             : #ifndef ALIDECAYEREXODUS_H
       2             : #define ALIDECAYEREXODUS_H
       3             : 
       4             : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       5             :  *  * See cxx source for full Copyright notice                               */
       6             : 
       7             : /* $Id$ */
       8             : 
       9             : //---------------------------------------------------------------------------------------------------
      10             : //                                 
      11             : // Generate electron-pair mass distributions for Dalitz decays according
      12             : // to the Kroll-Wada parametrization: N. Kroll, W. Wada: Phys. Rev 98(1955)1355
      13             : // and generate electron-pair mass distributions for resonances according
      14             : // to the Gounaris-Sakurai parametrization: G.J. Gounaris, J.J. Sakurai: Phys.Rev.Lett. 21(1968)244 
      15             : //
      16             : // For the electromagnetic form factor the parameterization from
      17             : // Lepton-G is used: L.G. Landsberg et al.: Phys. Rep. 128(1985)301
      18             : //
      19             : // Ralf Averbeck (R.Averbeck@gsi.de) 
      20             : // Irem Erdemir  (irem.erdemir@cern.ch)
      21             : //
      22             : //---------------------------------------------------------------------------------------------------
      23             : 
      24             : 
      25             : 
      26             : #include "AliDecayer.h"
      27             : #include <TLorentzVector.h>
      28             : #include <TF1.h>
      29             : 
      30             : class TH1F;
      31             : class TClonesArray;
      32             : 
      33           0 : class AliDecayerExodus : public AliDecayer
      34             : {
      35             :  public:
      36             :     AliDecayerExodus();
      37             :     virtual void    Init();
      38             :     virtual void    Decay(Int_t idpart,TLorentzVector* pparent);
      39             :     virtual Int_t   ImportParticles(TClonesArray *particles);
      40           0 :     virtual void    SetForceDecay(Int_t)                      {;}
      41           0 :     virtual void    ForceDecay()                              {;}
      42           0 :     virtual Float_t GetPartialBranchingRatio(Int_t /*ipart*/) {return -1;}
      43           0 :     virtual Float_t GetLifetime(Int_t /*kf*/)                 {return -1;}
      44           0 :     virtual void    ReadDecayTable()                          {;}
      45             :     
      46           0 :     virtual TH1F*   ElectronPairMassHistoPion()          {return  fEPMassPion;}
      47           0 :     virtual TH1F*   ElectronPairMassHistoEta()           {return  fEPMassEta;}
      48           0 :     virtual TH1F*   ElectronPairMassHistoEtaPrime()      {return  fEPMassEtaPrime;}
      49           0 :     virtual TH1F*   ElectronPairMassHistoRho()           {return  fEPMassRho;}
      50           0 :     virtual TH1F*   ElectronPairMassHistoOmega()         {return  fEPMassOmega;}
      51           0 :     virtual TH1F*   ElectronPairMassHistoOmegaDalitz()   {return  fEPMassOmegaDalitz;}
      52           0 :     virtual TH1F*   ElectronPairMassHistoPhi()           {return  fEPMassPhi;}
      53           0 :     virtual TH1F*   ElectronPairMassHistoPhiDalitz()     {return  fEPMassPhiDalitz;}
      54           0 :     virtual TH1F*   ElectronPairMassHistoJPsi()          {return  fEPMassJPsi;}
      55             : 
      56             :     virtual void    Decay(TClonesArray* array);
      57             : 
      58           0 :     virtual const   TLorentzVector* Products_pion()         const {return fProducts_pion;}
      59           0 :     virtual const   TLorentzVector* Products_eta()          const {return fProducts_eta;}
      60           0 :     virtual const   TLorentzVector* Products_etaprime()     const {return fProducts_etaprime;}
      61           0 :     virtual const   TLorentzVector* Products_rho()          const {return fProducts_rho;}
      62           0 :     virtual const   TLorentzVector* Products_omega()        const {return fProducts_omega;}
      63           0 :     virtual const   TLorentzVector* Products_omega_dalitz() const {return fProducts_omega_dalitz;}
      64           0 :     virtual const   TLorentzVector* Products_phi()          const {return fProducts_phi;}
      65           0 :     virtual const   TLorentzVector* Products_phi_dalitz()   const {return fProducts_phi_dalitz;}
      66           0 :     virtual const   TLorentzVector* Products_jpsi()         const {return fProducts_jpsi;}
      67             : 
      68             :     virtual void    Copy(TObject&) const;
      69             : 
      70             :  protected:
      71             :     // Histograms for electron pair mass
      72             :     TH1F*         fEPMassPion;          
      73             :     TH1F*         fEPMassEta;       
      74             :     TH1F*         fEPMassEtaPrime;
      75             :     TH1F*         fEPMassRho;
      76             :     TH1F*         fEPMassOmega;
      77             :     TH1F*         fEPMassOmegaDalitz;
      78             :     TH1F*         fEPMassPhi;
      79             :     TH1F*         fEPMassPhiDalitz;
      80             :     TH1F*         fEPMassJPsi;
      81             : 
      82             :     TF1* fPol;
      83             : 
      84             :     // Decay products
      85             :     TLorentzVector  fProducts_pion[3];  
      86             :     TLorentzVector  fProducts_eta[3];  
      87             :     TLorentzVector  fProducts_etaprime[3];
      88             :     TLorentzVector  fProducts_rho[2];
      89             :     TLorentzVector  fProducts_omega[2];
      90             :     TLorentzVector  fProducts_omega_dalitz[3];
      91             :     TLorentzVector  fProducts_phi[2];
      92             :     TLorentzVector  fProducts_phi_dalitz[3];
      93             :     TLorentzVector  fProducts_jpsi[2];
      94             : 
      95             :     Bool_t fInit;
      96             : 
      97             :  private:
      98             :     Double_t GounarisSakurai(Float_t mass, Double_t vmass, Double_t vwidth, Double_t emass);
      99             :     Double_t Lorentz(Float_t mass, Double_t vmass, Double_t vwidth); 
     100             :     virtual void    Rot(Double_t pin[3], Double_t pout[3],
     101             :                         Double_t costheta, Double_t sintheta,
     102             :                         Double_t cosphi, Double_t sinphi) const;
     103             :     AliDecayerExodus(const AliDecayerExodus &decayer);
     104             :     AliDecayerExodus & operator=(const AliDecayerExodus & rhs);
     105             : 
     106             : 
     107           6 :     ClassDef(AliDecayerExodus, 1) // AliDecayer implementation using Exodus  
     108             : };
     109             : #endif
     110             : 
     111             : 
     112             : 
     113             : 
     114             : 
     115             : 
     116             : 

Generated by: LCOV version 1.11