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