ROOT logo
#ifndef ALIOMEGADALITZ_H
#define ALIOMEGADALITZ_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

/* $Id$ */

//-----------------------------------------------------------------------------
//
// Generate lepton-pair mass distributions for Dalitz decays according
// to the Kroll-Wada parametrization: N. Kroll, W. Wada: Phys. Rev 98(1955)1355
//
// For the electromagnetic form factor the parameterization from
// Lepton-G is used: L.G. Landsberg et al.: Phys. Rep. 128(1985)301
//
//-----------------------------------------------------------------------------


#include "AliDecayer.h"
#include <TLorentzVector.h>

class TH1F;
class TClonesArray;

class AliOmegaDalitz : public AliDecayer
{
 public:
    AliOmegaDalitz();
    virtual void    Init();
    virtual void    Decay(Int_t idlepton,  TLorentzVector* p);
    virtual Int_t   ImportParticles(TClonesArray *particles);
    virtual void    SetForceDecay(Int_t)                      {;}
    virtual void    ForceDecay()                              {;}
    virtual Float_t GetPartialBranchingRatio(Int_t /*ipart*/) {return -1;}
    virtual Float_t GetLifetime(Int_t /*kf*/)                 {return -1;}
    virtual void    ReadDecayTable()                          {;}
    virtual TH1F*   ElectronPairMassHisto()                   {return  fEPMass;}
    virtual TH1F*   MuonPairMassHisto()                       {return  fMPMass;}
    //
    virtual void    Decay(TClonesArray* array);
    virtual const   TLorentzVector* Products() const {return fProducts;}
    virtual void    Copy(TObject&) const;
    
 protected:
    TH1F*           fEPMass;       // Histogram for electron pair mass
    TH1F*           fMPMass;       // Histogram for muon pair mass
    TLorentzVector  fProducts[3];  // Decay products
    Bool_t          fInit;         // Initialized
    
 private:
    virtual void    Rot(Double_t pin[3], Double_t pout[3],
			Double_t costheta, Double_t sintheta,
			Double_t cosphi, Double_t sinphi) const;
    AliOmegaDalitz(const AliOmegaDalitz &dalitz);
    AliOmegaDalitz & operator=(const AliOmegaDalitz & rhs);
    
    ClassDef(AliOmegaDalitz, 1) // AliDecayer implementation for omega Dalitz
};

#endif
 AliOmegaDalitz.h:1
 AliOmegaDalitz.h:2
 AliOmegaDalitz.h:3
 AliOmegaDalitz.h:4
 AliOmegaDalitz.h:5
 AliOmegaDalitz.h:6
 AliOmegaDalitz.h:7
 AliOmegaDalitz.h:8
 AliOmegaDalitz.h:9
 AliOmegaDalitz.h:10
 AliOmegaDalitz.h:11
 AliOmegaDalitz.h:12
 AliOmegaDalitz.h:13
 AliOmegaDalitz.h:14
 AliOmegaDalitz.h:15
 AliOmegaDalitz.h:16
 AliOmegaDalitz.h:17
 AliOmegaDalitz.h:18
 AliOmegaDalitz.h:19
 AliOmegaDalitz.h:20
 AliOmegaDalitz.h:21
 AliOmegaDalitz.h:22
 AliOmegaDalitz.h:23
 AliOmegaDalitz.h:24
 AliOmegaDalitz.h:25
 AliOmegaDalitz.h:26
 AliOmegaDalitz.h:27
 AliOmegaDalitz.h:28
 AliOmegaDalitz.h:29
 AliOmegaDalitz.h:30
 AliOmegaDalitz.h:31
 AliOmegaDalitz.h:32
 AliOmegaDalitz.h:33
 AliOmegaDalitz.h:34
 AliOmegaDalitz.h:35
 AliOmegaDalitz.h:36
 AliOmegaDalitz.h:37
 AliOmegaDalitz.h:38
 AliOmegaDalitz.h:39
 AliOmegaDalitz.h:40
 AliOmegaDalitz.h:41
 AliOmegaDalitz.h:42
 AliOmegaDalitz.h:43
 AliOmegaDalitz.h:44
 AliOmegaDalitz.h:45
 AliOmegaDalitz.h:46
 AliOmegaDalitz.h:47
 AliOmegaDalitz.h:48
 AliOmegaDalitz.h:49
 AliOmegaDalitz.h:50
 AliOmegaDalitz.h:51
 AliOmegaDalitz.h:52
 AliOmegaDalitz.h:53
 AliOmegaDalitz.h:54
 AliOmegaDalitz.h:55
 AliOmegaDalitz.h:56
 AliOmegaDalitz.h:57
 AliOmegaDalitz.h:58
 AliOmegaDalitz.h:59
 AliOmegaDalitz.h:60