]>
Commit | Line | Data |
---|---|---|
b5c4afc6 | 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 | |
14 | //// Generate electron-pair mass distributions for resonances according | |
15 | //// to the Gounaris-Sakurai parametrization: G.J. Gounaris, J.J. Sakurai: Phys.Rev.Lett. 21(1968)244 | |
16 | //// | |
17 | //// For the electromagnetic form factor the parameterization from | |
18 | //// Lepton-G is used: L.G. Landsberg et al.: Phys. Rep. 128(1985)301 | |
19 | //// | |
20 | ////------------------------------------------------------------------------------------------------- | |
21 | ||
22 | ||
23 | ||
24 | #include "AliDecayer.h" | |
25 | #include <TLorentzVector.h> | |
26 | ||
27 | class TH1F; | |
28 | class TClonesArray; | |
29 | ||
30 | class AliDecayerExodus : public AliDecayer | |
31 | { | |
32 | public: | |
33 | AliDecayerExodus(); | |
34 | virtual void Init(); | |
35 | virtual void Decay(Int_t idpart,TLorentzVector* pparent); | |
36 | virtual Int_t ImportParticles(TClonesArray *particles); | |
37 | virtual void SetForceDecay(Int_t) {;} | |
38 | virtual void ForceDecay() {;} | |
39 | virtual Float_t GetPartialBranchingRatio(Int_t /*ipart*/) {return -1;} | |
40 | virtual Float_t GetLifetime(Int_t /*kf*/) {return -1;} | |
41 | virtual void ReadDecayTable() {;} | |
42 | ||
43 | virtual TH1F* ElectronPairMassHistoPion() {return fEPMassPion;} | |
44 | virtual TH1F* ElectronPairMassHistoEta() {return fEPMassEta;} | |
45 | virtual TH1F* ElectronPairMassHistoEtaPrime() {return fEPMassEtaPrime;} | |
46 | virtual TH1F* ElectronPairMassHistoRho() {return fEPMassRho;} | |
47 | virtual TH1F* ElectronPairMassHistoOmega() {return fEPMassOmega;} | |
48 | virtual TH1F* ElectronPairMassHistoOmegaDalitz() {return fEPMassOmegaDalitz;} | |
49 | virtual TH1F* ElectronPairMassHistoPhi() {return fEPMassPhi;} | |
50 | virtual TH1F* ElectronPairMassHistoPhiDalitz() {return fEPMassPhiDalitz;} | |
51 | virtual TH1F* ElectronPairMassHistoJPsi() {return fEPMassJPsi;} | |
52 | ||
53 | virtual void Decay(TClonesArray* array); | |
54 | ||
55 | virtual const TLorentzVector* Products_pion() const {return fProducts_pion;} | |
56 | virtual const TLorentzVector* Products_eta() const {return fProducts_eta;} | |
57 | virtual const TLorentzVector* Products_etaprime() const {return fProducts_etaprime;} | |
58 | virtual const TLorentzVector* Products_rho() const {return fProducts_rho;} | |
59 | virtual const TLorentzVector* Products_omega() const {return fProducts_omega;} | |
60 | virtual const TLorentzVector* Products_omega_dalitz() const {return fProducts_omega_dalitz;} | |
61 | virtual const TLorentzVector* Products_phi() const {return fProducts_phi;} | |
62 | virtual const TLorentzVector* Products_phi_dalitz() const {return fProducts_phi_dalitz;} | |
63 | virtual const TLorentzVector* Products_jpsi() const {return fProducts_jpsi;} | |
64 | ||
65 | virtual void Copy(TObject&) const; | |
66 | ||
67 | protected: | |
68 | // Histograms for electron pair mass | |
69 | TH1F* fEPMassPion; | |
70 | TH1F* fEPMassEta; | |
71 | TH1F* fEPMassEtaPrime; | |
72 | TH1F* fEPMassRho; | |
73 | TH1F* fEPMassOmega; | |
74 | TH1F* fEPMassOmegaDalitz; | |
75 | TH1F* fEPMassPhi; | |
76 | TH1F* fEPMassPhiDalitz; | |
77 | TH1F* fEPMassJPsi; | |
78 | ||
79 | // Decay products | |
80 | TLorentzVector fProducts_pion[3]; | |
81 | TLorentzVector fProducts_eta[3]; | |
82 | TLorentzVector fProducts_etaprime[3]; | |
83 | TLorentzVector fProducts_rho[2]; | |
84 | TLorentzVector fProducts_omega[2]; | |
85 | TLorentzVector fProducts_omega_dalitz[3]; | |
86 | TLorentzVector fProducts_phi[2]; | |
87 | TLorentzVector fProducts_phi_dalitz[3]; | |
88 | TLorentzVector fProducts_jpsi[2]; | |
89 | ||
90 | Bool_t fInit; | |
91 | ||
92 | private: | |
93 | Double_t GounarisSakurai(Float_t mass, Double_t vmass, Double_t vwidth, Double_t emass); | |
94 | virtual void Rot(Double_t pin[3], Double_t pout[3], | |
95 | Double_t costheta, Double_t sintheta, | |
96 | Double_t cosphi, Double_t sinphi) const; | |
97 | AliDecayerExodus(const AliDecayerExodus &decayer); | |
98 | AliDecayerExodus & operator=(const AliDecayerExodus & rhs); | |
99 | ||
100 | ||
101 | ClassDef(AliDecayerExodus, 1) // AliDecayer implementation using Exodus | |
102 | }; | |
103 | #endif | |
104 | ||
105 | ||
106 | ||
107 | ||
108 | ||
109 | ||
110 |