]>
Commit | Line | Data |
---|---|---|
9033ee49 | 1 | // |
2 | // AliGenEposIsajetToPdgConverter.cxx | |
3 | // | |
4 | // Helper class used by TEpos to insert EPOS internal objects and higher | |
5 | // resonances to PDG database. | |
6 | // Quark clusters has has unaltered code, unknown objects have code of | |
7 | // form 6xxxxxxxx, and higher resonances have codes from Particle Physics | |
8 | // Review '96 | |
9 | // | |
10 | // Created on: Aug 03, 2009 | |
11 | // Author: Piotr Ostrowski, postrow@if.pw.edu.pl | |
12 | // | |
54d27e87 | 13 | |
14 | ||
15 | #include "TDatabasePDG.h" | |
16 | #include "AliGenEposIsajetToPdgConverter.h" | |
54d27e87 | 17 | |
18 | ClassImp(AliGenEposIsajetToPdgConverter) | |
19 | ||
20 | AliGenEposIsajetToPdgConverter::AliGenEposIsajetToPdgConverter() { | |
21 | ||
22 | } | |
23 | ||
24 | AliGenEposIsajetToPdgConverter::~AliGenEposIsajetToPdgConverter() { } | |
25 | ||
9033ee49 | 26 | Int_t AliGenEposIsajetToPdgConverter::ConvertIsajetToPdg(Int_t isajet) const{ |
27 | // Perform code conversion, init PDG if first time called | |
28 | if (!fgParticlesAdded) { | |
54d27e87 | 29 | AddHigherResonances(); |
30 | } | |
31 | TDatabasePDG *pdgDb = TDatabasePDG::Instance(); | |
32 | Int_t pdg = pdgDb->ConvertIsajetToPdg(isajet); | |
33 | if(pdg == 0) { | |
34 | pdg = ExtendedMapping(isajet); | |
35 | } | |
36 | if(pdg != 0){ | |
37 | return pdg; | |
38 | } | |
39 | if(isajet / 100000000 == 8 || isajet / 100000000 == 7) { | |
40 | AddQuarkCluster(isajet); | |
41 | return isajet; | |
42 | } | |
43 | if(isajet % 100 == 99) { | |
44 | pdg = AddUnknownObject(isajet); | |
45 | } | |
46 | ||
47 | if (pdg == 0) { | |
9033ee49 | 48 | Printf("TEpos: Warning, unknown particle, ISAJET: %d\n",isajet); |
54d27e87 | 49 | } |
50 | return pdg; | |
51 | } | |
52 | ||
9033ee49 | 53 | void AliGenEposIsajetToPdgConverter::AddQuarkCluster(Int_t clusterCode) const { |
54 | // Add EPOS internal object to the PDG db | |
54d27e87 | 55 | TDatabasePDG *pdgDb = TDatabasePDG::Instance(); |
56 | if(!pdgDb->GetParticle(clusterCode)) { | |
57 | pdgDb->AddParticle("Quark cluster", "Quark cluster", 0.0, kFALSE, 0, 0, "EPOS Quark cluster", clusterCode); | |
58 | } | |
59 | } | |
60 | ||
9033ee49 | 61 | Int_t AliGenEposIsajetToPdgConverter::AddUnknownObject(Int_t code) const { |
62 | // Add EPOS internal object to the PDG db | |
54d27e87 | 63 | Int_t newCode = 600000000 + code; |
64 | TDatabasePDG *pdgDb = TDatabasePDG::Instance(); | |
65 | if(!pdgDb->GetParticle(newCode)) { | |
66 | pdgDb->AddParticle("Unknown EPOS particle", "Unknown EPOS particle", 0.0, kFALSE, 0, 0, "Unknown", newCode); | |
67 | } | |
68 | return newCode; | |
69 | } | |
70 | ||
9033ee49 | 71 | Int_t AliGenEposIsajetToPdgConverter::ExtendedMapping(Int_t isajet) const { |
72 | // Mappings for some internal EPOS objects and resonaces | |
54d27e87 | 73 | Int_t sign = isajet < 0 ? -1 : 1; |
74 | isajet*=sign; | |
75 | Int_t retVal = 0; | |
76 | switch(isajet) { | |
77 | //diquarks | |
78 | case 1100: retVal=2203; break; | |
79 | case 1200: retVal=2101; break; | |
80 | case 1300: retVal=3201; break; | |
81 | case 2200: retVal=1103; break; | |
82 | case 2300: retVal=3101; break; | |
83 | case 3300: retVal=3303; break; | |
84 | ||
85 | case 1112: retVal=2222; break; | |
86 | case 1113: retVal=12224; break; | |
87 | case 1114: retVal=12226; break; //delta++ | |
88 | case 2222: retVal=1112; break; | |
89 | case 2223: retVal=11114; break; | |
90 | case 2224: retVal=11116; break; //delta- | |
91 | case 1122: retVal=12212; break; | |
92 | case 1123: retVal=22212; break; | |
93 | case 1125: retVal=32212; break; | |
94 | case 1127: retVal=42212; break; //p* | |
95 | case 1222: retVal=12112; break; | |
96 | case 1223: retVal=22112; break; | |
97 | case 1225: retVal=32112; break; | |
98 | case 1227: retVal=42112; break; //n* | |
99 | case 1124: retVal=2122; break; | |
100 | case 1126: retVal=12214; break; | |
101 | case 1128: retVal=12126; break; //delta+ | |
102 | case 1224: retVal=1212; break; | |
103 | case 1226: retVal=12114; break; | |
104 | case 1228: retVal=11216; break; //delta0 | |
105 | case 1132: retVal=13222; break; | |
106 | case 1133: retVal=3226; break; | |
107 | case 1134: retVal=23224; break; //sigma+ | |
108 | case 1236: retVal=13212; break; | |
109 | case 1237: retVal=3216; break; | |
110 | case 1239: retVal=23214; break; //sigma0 | |
111 | case 2232: retVal=13112; break; | |
112 | case 2233: retVal=3116; break; | |
113 | case 2234: retVal=23114; break; //sigma- | |
114 | case 1233: retVal=13122; break; | |
115 | case 1234: retVal=3124; break; | |
116 | case 1235: retVal=33122; break; | |
117 | case 1238: retVal=13126; break; //lambda0 | |
118 | } | |
119 | return sign*retVal; | |
120 | } | |
121 | ||
9033ee49 | 122 | Bool_t AliGenEposIsajetToPdgConverter::fgParticlesAdded = kFALSE; |
54d27e87 | 123 | |
124 | void AliGenEposIsajetToPdgConverter::AddHigherResonances() { | |
9033ee49 | 125 | // Adds higher resonances known by EPOS but not to the PDG |
126 | if(fgParticlesAdded) | |
54d27e87 | 127 | return; |
9033ee49 | 128 | fgParticlesAdded=kTRUE; |
54d27e87 | 129 | TDatabasePDG *fPdgDb = TDatabasePDG::Instance(); |
130 | //| 332 | F0(975) | | |
131 | fPdgDb->AddAntiParticle("F0_bar", -10221); | |
132 | //| 112 | A0(980) | | |
133 | //| 122 | A+(980) | | |
134 | //| 1112 | DL++(1620) | | |
135 | fPdgDb->AddParticle("delta++", "delta++", 1.630, kFALSE, 0.145, 6, "Baryon", 2222); | |
136 | fPdgDb->AddAntiParticle("delta++_bar", -2222); | |
137 | //| 1113 | DL++(1700) | | |
138 | fPdgDb->AddParticle("delta++", "delta++", 1.700, kFALSE, 0.300, 6, "Baryon", 12224); | |
139 | fPdgDb->AddAntiParticle("delta++_bar", -12224); | |
140 | //| 1114 | DL++(1925) | | |
141 | fPdgDb->AddParticle("delta++", "delta++", 1.960, kFALSE, 0.360, 6, "Baryon", 12226); | |
142 | fPdgDb->AddAntiParticle("delta++_bar", -12226); | |
143 | //| 2222 | DL-(1620) | | |
144 | fPdgDb->AddParticle("delta-", "delta-", 1.630, kFALSE, 0.145, -3, "Baryon", 1112); | |
145 | fPdgDb->AddAntiParticle("delta-_bar", -1112); | |
146 | //| 2223 | DL-(1700) | | |
147 | fPdgDb->AddParticle("delta-", "delta-", 1.700, kFALSE, 0.300, -3, "Baryon", 11114); | |
148 | fPdgDb->AddAntiParticle("delta-_bar", -11114); | |
149 | //| 2224 | DL-(1925) | | |
150 | fPdgDb->AddParticle("delta-", "delta-", 1.960, kFALSE, 0.360, -3, "Baryon", 11116); | |
151 | fPdgDb->AddAntiParticle("delta-_bar", -11116); | |
152 | //| 1122 | N*+(1440) | | |
153 | fPdgDb->AddParticle("p*", "proton (excited)", 1.440, kFALSE, 0.3, 3, "Baryon", 12212); | |
154 | fPdgDb->AddAntiParticle("p*_bar", -12212); | |
155 | //| 1123 | N*+(1530) | | |
156 | fPdgDb->AddParticle("p*", "proton (excited)", 1.535, kFALSE, 0.150, 3, "Baryon", 22212); | |
157 | fPdgDb->AddAntiParticle("p*_bar", -22212); | |
158 | //| 1125 | N*+(1665) | | |
159 | fPdgDb->AddParticle("p*", "proton (excited)", 1.655, kFALSE, 0.165, 3, "Baryon", 32212); | |
160 | fPdgDb->AddAntiParticle("p*_bar", -32212); | |
161 | //| 1127 | N*+(1710) | | |
162 | fPdgDb->AddParticle("p*", "proton (excited)", 1.710, kFALSE, 0.1, 3, "Baryon", 42212); | |
163 | fPdgDb->AddAntiParticle("p*_bar", -42212); | |
164 | //| 1222 | N*0(1440) | | |
165 | fPdgDb->AddParticle("n*", "neutron (excited)", 1.440, kFALSE, 0.3, 3, "Baryon", 12112); | |
166 | fPdgDb->AddAntiParticle("n*_bar", -12112); | |
167 | //| 1223 | N*0(1530) | | |
168 | fPdgDb->AddParticle("n*", "neutron (excited)", 1.535, kFALSE, 0.150, 3, "Baryon", 22112); | |
169 | fPdgDb->AddAntiParticle("n*_bar", -22112); | |
170 | //| 1225 | N*0(1665) | | |
171 | fPdgDb->AddParticle("n*", "neutron (excited)", 1.655, kFALSE, 0.165, 3, "Baryon", 32112); | |
172 | fPdgDb->AddAntiParticle("n*_bar", -32112); | |
173 | //| 1227 | N*0(1710) | | |
174 | fPdgDb->AddParticle("n*", "neutron (excited)", 1.710, kFALSE, 0.1, 3, "Baryon", 42112); | |
175 | fPdgDb->AddAntiParticle("n*_bar", -42112); | |
176 | //| 1124 | DL+(1620) | | |
177 | fPdgDb->AddParticle("delta+", "delta+", 1.630, kFALSE, 0.145, 3, "Baryon", 2122); | |
178 | fPdgDb->AddAntiParticle("delta+_bar", -2122); | |
179 | //| 1126 | DL+(1700) | | |
180 | fPdgDb->AddParticle("delta+", "delta+", 1.700, kFALSE, 0.300, 3, "Baryon", 12214); | |
181 | fPdgDb->AddAntiParticle("delta+_bar", -12214); | |
182 | //| 1128 | DL+(1925) | | |
183 | fPdgDb->AddParticle("delta+", "delta+", 1.960, kFALSE, 0.360, 3, "Baryon", 12126); | |
184 | fPdgDb->AddAntiParticle("delta+_bar", -12126); | |
185 | //| 1224 | DL0(1620) | | |
186 | fPdgDb->AddParticle("delta0", "delta0", 1.630, kFALSE, 0.145, 0, "Baryon", 1212); | |
187 | fPdgDb->AddAntiParticle("delta0_bar", -1212); | |
188 | //| 1226 | DL0(1700) | | |
189 | fPdgDb->AddParticle("delta0", "delta0", 1.700, kFALSE, 0.300, 0, "Baryon", 12114); | |
190 | fPdgDb->AddAntiParticle("delta0_bar", -12114); | |
191 | //| 1228 | DL0(1925) | | |
192 | fPdgDb->AddParticle("delta0", "delta0", 1.960, kFALSE, 0.360, 0, "Baryon", 11216); | |
193 | fPdgDb->AddAntiParticle("delta0_bar", -11216); | |
194 | //| 1233 | L(1405) | | |
195 | fPdgDb->AddParticle("lambda0", "lambda0", 1.406, kFALSE, 0.050, 0, "Baryon", 13122); | |
196 | fPdgDb->AddAntiParticle("lambda0_bar", -13122); | |
197 | //| 1234 | L(1520) | | |
198 | //| 1235 | L(1645) | | |
199 | fPdgDb->AddParticle("lambda0", "lambda0", 1.670, kFALSE, 0.035, 0, "Baryon", 33122); | |
200 | fPdgDb->AddAntiParticle("lambda0_bar", -33122); | |
201 | //| 1238 | L(1845) | | |
202 | fPdgDb->AddParticle("lambda0", "lambda0", 1.830, kFALSE, 0.095, 0, "Baryon", 13126); | |
203 | fPdgDb->AddAntiParticle("lambda0_bar", -13126); | |
204 | //| 1236 | S0(1665) | | |
205 | fPdgDb->AddParticle("sigma0", "sigma0", 1.660, kFALSE, 0.100, 0, "Baryon", 13212); | |
206 | fPdgDb->AddAntiParticle("sigma0_bar", -13212); | |
207 | //| 1237 | S0(1776) | | |
208 | fPdgDb->AddParticle("sigma0", "sigma0", 1.775, kFALSE, 0.120, 0, "Baryon", 3216); | |
209 | fPdgDb->AddAntiParticle("sigma0_bar", -3216); | |
210 | //| 1239 | S0(1930) | | |
211 | fPdgDb->AddParticle("sigma0", "sigma0", 1.940, kFALSE, 0.220, 0, "Baryon", 23214); | |
212 | fPdgDb->AddAntiParticle("sigma0_bar", -23214); | |
213 | //| 1132 | S+(1665) | | |
214 | fPdgDb->AddParticle("sigma+", "sigma+", 1.660, kFALSE, 0.100, 0, "Baryon", 13222); | |
215 | fPdgDb->AddAntiParticle("sigma+_bar", -13222); | |
216 | //| 1133 | S+(1776) | | |
217 | fPdgDb->AddParticle("sigma+", "sigma+", 1.775, kFALSE, 0.120, 0, "Baryon", 3226); | |
218 | fPdgDb->AddAntiParticle("sigma+_bar", -3226); | |
219 | //| 1134 | S+(1930) | | |
220 | fPdgDb->AddParticle("sigma+", "sigma+", 1.940, kFALSE, 0.220, 0, "Baryon", 23224); | |
221 | fPdgDb->AddAntiParticle("sigma+_bar", -23224); | |
222 | //| 2232 | S-(1665) | | |
223 | fPdgDb->AddParticle("sigma-", "sigma-", 1.660, kFALSE, 0.100, 0, "Baryon", 13112); | |
224 | fPdgDb->AddAntiParticle("sigma-_bar", -13112); | |
225 | //| 2233 | S-(1776) | | |
226 | fPdgDb->AddParticle("sigma-", "sigma-", 1.775, kFALSE, 0.120, 0, "Baryon", 3116); | |
227 | fPdgDb->AddAntiParticle("sigma-_bar", -3116); | |
228 | //| 2234 | S-(1930) | | |
229 | fPdgDb->AddParticle("sigma-", "sigma-", 1.940, kFALSE, 0.220, 0, "Baryon", 23114); | |
230 | fPdgDb->AddAntiParticle("sigma-_bar", -23114); | |
231 | //+------+------------+ | |
232 | ||
233 | } |