updated parametrisation for pi0, eta, omega, phi for different energies, allow select...
[u/mrichter/AliRoot.git] / EVGEN / AliOmegaDalitz.h
1 #ifndef ALIOMEGADALITZ_H
2 #define ALIOMEGADALITZ_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 //
10 // Generate lepton-pair mass distributions for Dalitz decays according
11 // to the Kroll-Wada parametrization: N. Kroll, W. Wada: Phys. Rev 98(1955)1355
12 //
13 // For the electromagnetic form factor the parameterization from
14 // Lepton-G is used: L.G. Landsberg et al.: Phys. Rep. 128(1985)301
15 //
16 //-----------------------------------------------------------------------------
17
18
19 #include "AliDecayer.h"
20 #include <TLorentzVector.h>
21
22 class TH1F;
23 class TClonesArray;
24
25 class AliOmegaDalitz : public AliDecayer
26 {
27  public:
28     AliOmegaDalitz();
29     virtual void    Init();
30     virtual void    Decay(Int_t idlepton,  TLorentzVector* p);
31     virtual Int_t   ImportParticles(TClonesArray *particles);
32     virtual void    SetForceDecay(Int_t)                      {;}
33     virtual void    ForceDecay()                              {;}
34     virtual Float_t GetPartialBranchingRatio(Int_t /*ipart*/) {return -1;}
35     virtual Float_t GetLifetime(Int_t /*kf*/)                 {return -1;}
36     virtual void    ReadDecayTable()                          {;}
37     virtual TH1F*   ElectronPairMassHisto()                   {return  fEPMass;}
38     virtual TH1F*   MuonPairMassHisto()                       {return  fMPMass;}
39     //
40     virtual void    Decay(TClonesArray* array);
41     virtual const   TLorentzVector* Products() const {return fProducts;}
42     virtual void    Copy(TObject&) const;
43     
44  protected:
45     TH1F*           fEPMass;       // Histogram for electron pair mass
46     TH1F*           fMPMass;       // Histogram for muon pair mass
47     TLorentzVector  fProducts[3];  // Decay products
48     Bool_t          fInit;         // Initialized
49     
50  private:
51     virtual void    Rot(Double_t pin[3], Double_t pout[3],
52                         Double_t costheta, Double_t sintheta,
53                         Double_t cosphi, Double_t sinphi) const;
54     AliOmegaDalitz(const AliOmegaDalitz &dalitz);
55     AliOmegaDalitz & operator=(const AliOmegaDalitz & rhs);
56     
57     ClassDef(AliOmegaDalitz, 1) // AliDecayer implementation for omega Dalitz
58 };
59
60 #endif