Pluto v6.3.0
Loading...
Searching...
No Matches
PHUrDilep.h
Go to the documentation of this file.
1#ifndef __PHUrDilep_h__
2#define __PHUrDilep_h__
3
4
5#include "TObject.h"
6#include "TLorentzVector.h"
7#include "TClonesArray.h"
8#include "TTree.h"
9
10#include "PParticle.h"
11#include "PHUrParticle.h"
12#include "PHUrAddon.h"
13#include "PHUrEventHeader.h"
14#include "PHUrCollisionHeader.h"
15
16
17#include <vector>
18#include <map>
19
20using namespace std;
21
22class PHUrReader;
23
24
25class PHUrDilep : public TObject {
26
27public:
28
30
31
32 //---------------------------------------
33 // ascii io
34 FILE *out;
35 //---------------------------------------
36
37
38 //---------------------------------------
39 // urqmd structure
45 TLorentzVector ep,em;
46 //---------------------------------------
47
48 //---------------------------------------
49 // particle id etc
50 Int_t omega ;
51 Int_t rho ;
52 Int_t phi ;
53 Int_t pion ;
54 Int_t etaprime ;
55 Int_t eta ;
56 Int_t delta ;
57 Int_t omegadir ;
58 Int_t omegadal ;
59
60 map <Int_t,Int_t> *mUrqmdToPdg;
61 //---------------------------------------
62
63 //---------------------------------------
64 // flags
66 //---------------------------------------
67
68private:
69
70
71 //---------------------------------------
72 // constants
73 Double_t alpha_em ;
74 Double_t vacmass_pi0 ; // pi0
75 Double_t mass_electron ; // e-
76 Double_t mass_nucleon ; // proton
77 Double_t vacmass_eta ; // eta
78 Double_t vacmass_etaprime; // eta'
79 Double_t vacmass_rho ; // rho0
80 Double_t vacmass_omega ; // omega
81 Double_t vacmass_phi ; // phi
82 Double_t vacmass_delta ; // D+
83
84 Double_t gev ;
85 Double_t g ; // delta
86
87
88 Double_t lambda_omega ;
89 Double_t gamma_omega ;
90 Double_t gamma_photon ;
91
92 Double_t br_pi0 ;
93 Double_t b_pi0 ;
94
95 Double_t lambda_eta ;
96 Double_t br_eta ;
97
98 Double_t lambda_etaprime ;
99 Double_t gamma_etaprime ;
100 Double_t br_etaprime ;
101 //---------------------------------------
102
103 void dalpi (Double_t mx, Double_t& dgamma);
104 void daleta (Double_t mx, Double_t& dgamma);
105 void daletaprime (Double_t mx, Double_t& dgamma);
106 void daldelta (Double_t tau, Double_t mx, Double_t mres, Double_t& dgamma);
107 void dalomega (Double_t tau, Double_t mx, Double_t &dgamma);
108 void diromega (Double_t tau, Double_t mres, Int_t multi, Double_t& weight);
109 void dirphi (Double_t tau, Double_t mres, Int_t multi, Double_t& weight);
110 void dirrho (Double_t tau, Double_t mres, Int_t multi, Double_t& weight);
111 void lobo_dal (Double_t p0_gstar, Double_t p0_particle,
112 Double_t m_gstar, Double_t beta, Double_t gamma,
113 Double_t x_gstar, Double_t y_gstar, Double_t z_gstar, Double_t t_gstar,
114 Double_t x_particle, Double_t y_particle, Double_t z_particle,
115 Double_t m_res);
116 void lobo_dir(Double_t beta, Double_t gamma, Double_t m_res);
117
118 void dgamma_sum(Int_t ityp, Double_t tau, Int_t multi,
119 Double_t& weight,
120 Double_t& smin, Double_t& smax, Double_t& tmax);
121
122 void dgamma_sum_delta(Double_t tau, Double_t mres, Int_t multi,
123 Double_t& weight_delta,
124 Double_t& smin_del, Double_t& smax_del, Double_t& tmax_del);
125
126 void gamma_star(Double_t smin, Double_t smax, Double_t tmax,
127 Double_t& s, Double_t& t,
128 Double_t& xgstar, Double_t& ygstar, Double_t& zgstar, Double_t& tgstar,
129 Double_t& xparticle, Double_t& yparticle, Double_t& zparticle, Double_t& tparticle);
130
131 void t_delta(Double_t tau, Double_t mres, Int_t multi, Double_t& tmax_del);
132
133 void t_omega(Double_t tau, Int_t multi, Double_t& smin_omega, Double_t& smax_omega, Double_t& tmax_omega);
134 Double_t rndfunc();
135
136 void Output(Int_t ityp, Double_t weight, Double_t mres, Int_t multi, Double_t tau);
137 void OutputROOT(Int_t ityp, Double_t weight);
138
139
140public:
142 ~PHUrDilep();
143
144 void Output(TString infilename, TString outfilename);
145 void Dilep();
146
147
148 ClassDef(PHUrDilep, 0)
149};
150
151
152#endif
Int_t omega
Definition PHUrDilep.h:50
PHUrCollisionHeader * collisionIn
Definition PHUrDilep.h:43
TLorentzVector em
Definition PHUrDilep.h:45
TLorentzVector ep
Definition PHUrDilep.h:45
PHUrParticle * particleOut
Definition PHUrDilep.h:42
Int_t rho
Definition PHUrDilep.h:51
PHUrEventHeader * evtheader
Definition PHUrDilep.h:40
PHUrParticle * particleIn
Definition PHUrDilep.h:41
void Dilep()
Definition PHUrDilep.cc:77
FILE * out
Definition PHUrDilep.h:34
Int_t phi
Definition PHUrDilep.h:52
Int_t omegadal
Definition PHUrDilep.h:58
Int_t pion
Definition PHUrDilep.h:53
PHUrReader * reader
Definition PHUrDilep.h:29
map< Int_t, Int_t > * mUrqmdToPdg
Definition PHUrDilep.h:60
PHUrCollisionHeader * collisionOut
Definition PHUrDilep.h:44
Int_t delta
Definition PHUrDilep.h:56
Int_t eta
Definition PHUrDilep.h:55
Int_t etaprime
Definition PHUrDilep.h:54
Bool_t outputLeptons
Definition PHUrDilep.h:65
Int_t omegadir
Definition PHUrDilep.h:57
PParticle * s
Definition dp_mult.C:25