]>
Commit | Line | Data |
---|---|---|
6671656e | 1 | #ifndef HBTprocessorCOMMON |
2 | #define HBTprocessorCOMMON | |
3 | ||
4 | ||
5 | enum | |
6 | { | |
7 | TRK_MAXLEN = 25000, | |
8 | TRK2_MAXLEN = 25000, | |
9 | MAX_TRK_SEC = 150, | |
10 | SEC_MAXLEN = 28000, | |
11 | MAX_TRK_SEC2 = 150, | |
12 | SEC_MAXLEN2 = 28000, | |
13 | MAX_TRK_SAVE = 150, | |
14 | PART_MAXLEN = 50, | |
15 | MAX_C2_1D = 100, | |
16 | MAX_C2_3D = 10, | |
17 | MAX_EVENTS = 100, | |
18 | MAX_C2_COUL = 288, | |
19 | MAX_H_1D = 100, | |
20 | MAX_H_3D = 10 | |
21 | }; | |
22 | ||
23 | ||
24 | extern "C" { | |
25 | ||
26 | ||
27 | #ifndef __CINT__ | |
28 | #define f2cFortran | |
29 | #ifndef __CFORTRAN_LOADED | |
30 | #include "cfortran.h" | |
31 | #endif | |
32 | #endif | |
33 | ||
34 | #ifndef __CINT__ | |
35 | ||
36 | /* common/parameters/ | |
37 | 1 ref_control,print_full,print_sector_data,n_pid_types,pid(2), | |
38 | 2 n_events,switch_1d,switch_3d,switch_type,switch_coherence, | |
39 | 3 switch_coulomb,switch_fermi_bose,n_part_1_trk,n_part_2_trk, | |
40 | 4 n_part_tot_trk,n_part_1_trk2,n_part_2_trk2,n_part_tot_trk2, | |
41 | 5 n_part_used_1_trk,n_part_used_2_trk,n_part_used_1_trk2, | |
42 | 6 n_part_used_2_trk2,n_part_used_1_ref,n_part_used_2_ref, | |
43 | 7 n_part_used_1_inc,n_part_used_2_inc,num_pairs_like, | |
44 | 8 num_pairs_unlike,num_pairs_like_ref,num_pairs_unlike_ref, | |
45 | 9 num_pairs_like_inc,num_pairs_unlike_inc,event_line_counter, | |
46 | 1 maxit,irand,file10_line_counter, | |
47 | 2 lambda,R_1d,Rside,Rout,Rlong,Rperp,Rparallel,R0,Q0,deltap, | |
48 | 3 delchi,pi,rad,hbc,chisq_wt_like_1d,chisq_wt_unlike_1d, | |
49 | 4 chisq_wt_like_3d_fine,chisq_wt_unlike_3d_fine, | |
50 | 5 chisq_wt_like_3d_coarse,chisq_wt_unlike_3d_coarse, | |
51 | 6 chisq_wt_hist1_1,chisq_wt_hist1_2,mass1,mass2,trk_accep | |
52 | ||
53 | */ | |
54 | ||
55 | ||
56 | ||
57 | typedef struct //PARAMETERS | |
58 | { | |
59 | Int_t ALICE; | |
60 | Int_t errorcode; | |
61 | ||
62 | Int_t ref_control; | |
63 | Int_t print_full; // Full print out option - each event | |
64 | Int_t print_sector_data; // Print sector overflow diagnostics | |
65 | Int_t n_pid_types; // # particle ID types to correlate | |
66 | Int_t pid[2]; // Geant particle ID #s, max of 2 types | |
67 | Int_t n_events ; // # events in input event text file | |
68 | Int_t switch_1d; // Include 1D correlations | |
69 | Int_t switch_3d; // Include 3D correlations | |
70 | Int_t switch_type ; // For like, unlike or both PID pairs | |
71 | Int_t switch_coherence; // To include incoh/coher mixed source | |
72 | Int_t switch_coulomb; // Coulomb correction selection options | |
73 | Int_t switch_fermi_bose; // For fermions or bosons | |
74 | ||
75 | // Numbers of particles and pairs: | |
76 | ||
77 | Int_t n_part_1_trk; // Total # PID #1 in 'trk', all flags | |
78 | Int_t n_part_2_trk; // Total # PID #2 in 'trk', all flags | |
79 | Int_t n_part_tot_trk; // Total # all part. in 'trk', all flgs | |
80 | Int_t n_part_used_1_trk; // # PID#1, used (flag=0) in 'trk' | |
81 | Int_t n_part_used_2_trk; // # PID#2, used (flag=0) in 'trk' | |
82 | ||
83 | Int_t n_part_1_trk2; // Total # PID #1 in 'trk2', all flags | |
84 | Int_t n_part_2_trk2; // Total # PID #2 in 'trk2', all flags | |
85 | Int_t n_part_tot_trk2; // Total # all part. in 'trk2', all flgs | |
86 | Int_t n_part_used_1_trk2; // # PID#1, used (flag=0) in 'trk2' | |
87 | Int_t n_part_used_2_trk2; // # PID#2, used (flag=0) in 'trk2' | |
88 | ||
89 | Int_t n_part_used_1_ref; // # PID#1, used (flag=0) in Reference | |
90 | Int_t n_part_used_2_ref; // # PID#2, used (flag=0) in Reference | |
91 | Int_t n_part_used_1_inc; // # PID#1, used (flag=0) in Inclusive | |
92 | Int_t n_part_used_2_inc; // # PID#2, used (flag=0) in Inclusive | |
93 | ||
94 | Int_t num_pairs_like; // # like pairs used (flag=0) in fit | |
95 | Int_t num_pairs_unlike; // # unlike pairs used (flag=0) in fit | |
96 | Int_t num_pairs_like_ref; // # like pairs used (flag=0) in Ref. | |
97 | Int_t num_pairs_unlike_ref; // # unlike pairs used (flag=0) in Ref. | |
98 | Int_t num_pairs_like_inc; // # like pairs used (flag=0) in Incl. | |
99 | Int_t num_pairs_unlike_inc; // # unlike pairs used (flag=0) in Incl. | |
100 | ||
101 | // Counters: | |
102 | ||
103 | Int_t event_line_counter; // Input event text file line counter | |
104 | Int_t maxit; // Max # iterations in track adjustment | |
105 | Int_t irand; // Random # starting seed (Def=12345) | |
106 | Int_t file10_line_counter; // Output, correlated event text file | |
107 | // // line counter | |
108 | ||
109 | // Correlation Model Parameters: | |
110 | ||
111 | Float_t lambda; // Chaoticity parameter | |
112 | Float_t R_1d; // Spherical source radius (fm) | |
113 | Float_t Rside; // 3D Bertsch-Pratt source 'side' R (fm) | |
114 | Float_t Rout; // 3D Bertsch-Pratt source 'out' R (fm) | |
115 | Float_t Rlong; // 3D Bertsch-Pratt source 'long' R (fm) | |
116 | Float_t Rperp; // 3D YKP source transverse radius (fm) | |
117 | Float_t Rparallel; // 3D YKP source longitudinal radius(fm) | |
118 | Float_t R0; // 3D YKP source emission time durat(fm) | |
119 | Float_t Q0; // NA35 Coulomb parameter (GeV/c) or | |
120 | // // Coul radius for Pratt finite src (fm) | |
121 | ||
122 | // Search Control Parameters: | |
123 | ||
124 | ||
125 | Float_t deltap; // Max limit for x,y,z momt shifts(GeV/c) | |
126 | Float_t delchi; // Min% change in Chi-Sq to stop iterat. | |
127 | ||
128 | Float_t pi;// = 3.141592654; // PI | |
129 | ||
130 | Float_t rad;// = 180.0/3.14; // radian = 180.0/pi | |
131 | Float_t hbc;// = 0.19732891; // h-bar-c (GeV*fm) | |
132 | ||
133 | // Chi-Square Values: | |
134 | ||
135 | Float_t chisq_wt_like_1d; // 1D, Like pairs | |
136 | Float_t chisq_wt_unlike_1d; // 1D, Unlike pairs | |
137 | Float_t chisq_wt_like_3d_fine; // 3D, Like pairs, Fine Mesh | |
138 | Float_t chisq_wt_unlike_3d_fine; // 3D, Unlike pairs, Fine Mesh | |
139 | Float_t chisq_wt_like_3d_coarse; // 3D, Like pairs, Coarse Mesh | |
140 | Float_t chisq_wt_unlike_3d_coarse; // 3D, Unlike pairs, Coarse Mesh | |
141 | Float_t chisq_wt_hist1_1; // One-body, particle ID type #1 | |
142 | Float_t chisq_wt_hist1_2; // One-body, particle ID type #2 | |
143 | ||
144 | // Particle Masses: | |
145 | ||
146 | Float_t mass1, mass2; // Particle ID# 1 and 2 masses (GeV) | |
147 | ||
148 | // Constants: | |
149 | ||
150 | ||
151 | // parameter (pi = 3.141592654) | |
152 | // parameter (hbc = 0.19732891) | |
153 | ||
154 | // Random Track Selection Fraction, for low multiplicity particles | |
155 | ||
156 | Float_t trk_accep; // ranges from 0.0 -> 1.0 | |
157 | ||
158 | } HBTprocParamsCommon; | |
159 | ||
160 | #define PARAMETERS COMMON_BLOCK(PARAMETERS,parameters) | |
161 | ||
162 | COMMON_BLOCK_DEF(HBTprocParamsCommon,PARAMETERS); | |
163 | ||
164 | //HBTprocParamsCommon PARAMETERS; | |
165 | ||
166 | ||
167 | /************************************************************************************************/ | |
168 | /************************************************************************************************/ | |
169 | ||
170 | typedef struct //MESH COMMON BLOCK | |
171 | { | |
172 | // One-Body Mesh: | |
173 | ||
174 | Int_t n_pt_bins; // # one-body pt bins | |
175 | Int_t n_phi_bins; // # one-body phi bins | |
176 | Int_t n_eta_bins; // # one-body eta bins | |
177 | ||
178 | Int_t n_1d_fine; // # bins for 1D, Fine Mesh | |
179 | Int_t n_1d_coarse; // # bins for 1D, Coarse Mesh | |
180 | Int_t n_1d_total; // Total # bins for 1D | |
181 | Int_t n_3d_fine ; // # bins for 3D, Fine Mesh | |
182 | Int_t n_3d_coarse; // # bins for 3D, Coarse Mesh | |
183 | Int_t n_3d_total; // Total # bins for 3D | |
184 | Int_t n_3d_fine_project; // # 3D fine mesh bins to sum over for | |
185 | ||
186 | // Momentum Space Sectors for Track Sorting: | |
187 | ||
188 | Int_t n_px_bins; // # sector bins in px | |
189 | Int_t n_py_bins; // # sector bins in py | |
190 | Int_t n_pz_bins; // # sector bins in pz | |
191 | Int_t n_sectors; // Total # sectors in 3D momentum space | |
192 | ||
193 | // Temporary Momentum Space Sector information storage during trk adjust. | |
194 | ||
195 | Int_t old_sec_ntrk; // Old sector # tracks | |
196 | Int_t old_sec_flag; // Old sector flag value | |
197 | Int_t old_sec_trkid[MAX_TRK_SAVE]; // Old sector track id array | |
198 | ||
199 | Int_t new_sec_ntrk; // New sector # tracks | |
200 | Int_t new_sec_flag; // New sector flag value | |
201 | Int_t new_sec_trkid[MAX_TRK_SAVE]; // New sector track id array | |
202 | Int_t new_sec_save; // New sector ID value | |
203 | Int_t old_sec_save; // Old sector ID value | |
204 | ||
205 | Float_t pt_bin_size ; // One-body pt bin size in (GeV/c) | |
206 | Float_t pt_min; // One-body pt min/max in (GeV/c) | |
207 | Float_t pt_max; | |
208 | ||
209 | Float_t phi_bin_size; // One-body phi bin size in (degrees) | |
210 | Float_t phi_min; // One-body phi min/max in (degrees) | |
211 | Float_t phi_max; | |
212 | ||
213 | Float_t eta_bin_size ; // One-body eta bin size | |
214 | Float_t eta_min; // One-body eta min/max | |
215 | Float_t eta_max; | |
216 | // Two-Body Histograms and Correlation Mesh for 1D and 3D distributions: | |
217 | ||
218 | // // projections onto single axis. | |
219 | ||
220 | Float_t binsize_1d_fine; // Bin Size - 1D, Fine Mesh in (GeV/c) | |
221 | Float_t binsize_1d_coarse; // Bin Size - 1D, Coarse Mesh in (GeV/c) | |
222 | Float_t qmid_1d; // q (GeV/c) at fine-coarse mesh boundary | |
223 | Float_t qmax_1d; // Max q (GeV/c) for 1D distributions | |
224 | Float_t binsize_3d_fine; // Bin Size - 3D, Fine Mesh in (GeV/c) | |
225 | Float_t binsize_3d_coarse; // Bin Size - 3D, Coarse Mesh in (GeV/c) | |
226 | Float_t qmid_3d; // q (GeV/c) at fine-coarse mesh boundary | |
227 | Float_t qmax_3d; // Max q (GeV/c) for 3D distributions | |
228 | ||
229 | ||
230 | ||
231 | ||
232 | Float_t px_min; // Sector range in px in GeV/c | |
233 | Float_t px_max; | |
234 | Float_t delpx; // Mom. space sector cell size - px(GeV/c) | |
235 | ||
236 | Float_t py_min; // Sector range in py in GeV/c | |
237 | Float_t py_max; | |
238 | Float_t delpy; // Mom. space sector cell size - py(GeV/c) | |
239 | ||
240 | Float_t pz_min; // Sector range in pz in GeV/c | |
241 | Float_t pz_max; | |
242 | Float_t delpz; // Mom. space sector cell size - pz(GeV/c) | |
243 | ||
244 | ||
245 | }HBTprocMeshCommon; | |
246 | ||
247 | #define MESH COMMON_BLOCK(MESH,mesh) | |
248 | COMMON_BLOCK_DEF(HBTprocMeshCommon, MESH); | |
249 | //HBTprocMeshCommon MESH; | |
250 | ||
251 | /************************************************************************************************/ | |
252 | /************************************************************************************************/ | |
253 | ||
254 | typedef struct //TRACK1 COMMON | |
255 | { | |
256 | Int_t trk_id[TRK_MAXLEN]; // Track ID number | |
257 | Int_t trk_px_sec[TRK_MAXLEN]; // px sector number | |
258 | Int_t trk_py_sec[TRK_MAXLEN]; // py sector number | |
259 | Int_t trk_pz_sec[TRK_MAXLEN]; // pz sector number | |
260 | Int_t trk_sector[TRK_MAXLEN]; // unique sector ID number | |
261 | Int_t trk_flag[TRK_MAXLEN]; // normally=0,if 1 indicates track assigned | |
262 | // // to sector with too many tracks, if = 1 | |
263 | // // then track is not used. See /sec_trk_map/ | |
264 | Int_t trk_out_flag[TRK_MAXLEN]; // flag indicating track in/out of accept. | |
265 | // // non-zero for track pushed out of accept. | |
266 | Int_t trk_merge_flag[TRK_MAXLEN]; // flag indicating track is merged (not used) | |
267 | Int_t trk_ge_pid[TRK_MAXLEN]; // Geant particle ID code number | |
268 | Int_t trk_start_vertex[TRK_MAXLEN]; // From input event file - track's start vrtx | |
269 | Int_t trk_stop_vertex[TRK_MAXLEN]; // From input event file - track's stop vrtx | |
270 | Int_t trk_event_line[TRK_MAXLEN]; // Line # of track in input event text file | |
271 | ||
272 | Float_t trk_px[TRK_MAXLEN]; // x component of track momentum in GeV/c | |
273 | Float_t trk_py[TRK_MAXLEN]; // y component of track momentum in GeV/c | |
274 | Float_t trk_pz[TRK_MAXLEN]; // z component of track momentum in GeV/c | |
275 | Float_t trk_E[TRK_MAXLEN]; // Total energy of track in GeV | |
276 | Float_t trk_pt[TRK_MAXLEN]; // pt of track momentum in GeV/c | |
277 | Float_t trk_phi[TRK_MAXLEN]; // azimuthal angle of track in degrees | |
278 | Float_t trk_eta[TRK_MAXLEN]; // pseudorapidity of track | |
279 | ||
280 | ||
281 | }HBTprocTrack1Common; | |
282 | ||
283 | #define TRACK1 COMMON_BLOCK(TRACK1,track1) | |
284 | COMMON_BLOCK_DEF(HBTprocTrack1Common, TRACK1); | |
285 | ||
286 | /************************************************************************************************/ | |
287 | /************************************************************************************************/ | |
288 | ||
289 | typedef struct //TRACK2 COMMON | |
290 | { | |
291 | Int_t trk2_id[TRK2_MAXLEN]; // Track ID number | |
292 | Int_t trk2_px_sec[TRK2_MAXLEN]; // px sector number | |
293 | Int_t trk2_py_sec[TRK2_MAXLEN]; // py sector number | |
294 | Int_t trk2_pz_sec [TRK2_MAXLEN]; // pz sector number | |
295 | Int_t trk2_sector[TRK2_MAXLEN]; // unique sector ID number | |
296 | Int_t trk2_flag[TRK2_MAXLEN]; // normally=0,if 1 indicates track assigned | |
297 | // // to sector with too many tracks, if = 1 | |
298 | // // then track is not used. See /sec_trk2_map/ | |
299 | Int_t trk2_out_flag[TRK2_MAXLEN]; // flag indicating track in/out of accept. | |
300 | // // non-zero for track pushed out of accept. | |
301 | Int_t trk2_merge_flag[TRK2_MAXLEN]; // flag indicating track is merged (not used) | |
302 | Int_t trk2_ge_pid[TRK2_MAXLEN]; // Geant particle ID code number | |
303 | Int_t trk2_start_vertex[TRK2_MAXLEN]; // From input event file - track's start vrtx | |
304 | Int_t trk2_stop_vertex[TRK2_MAXLEN]; // From input event file - track's stop vrtx | |
305 | Int_t trk2_event_line[TRK2_MAXLEN]; // Line # of track in input event text file | |
306 | ||
307 | Float_t trk2_px[TRK2_MAXLEN]; // x component of track momentum in GeV/c | |
308 | Float_t trk2_py[TRK2_MAXLEN]; // y component of track momentum in GeV/c | |
309 | Float_t trk2_pz[TRK2_MAXLEN]; // z component of track momentum in GeV/c | |
310 | Float_t trk2_E[TRK2_MAXLEN]; // Total energy of track in GeV | |
311 | Float_t trk2_pt[TRK2_MAXLEN]; // pt of track momentum in GeV/c | |
312 | Float_t trk2_phi[TRK2_MAXLEN]; // azimuthal angle of track in degrees | |
313 | Float_t trk2_eta [TRK2_MAXLEN]; // pseudorapidity of track | |
314 | ||
315 | }HBTprocTrack2Common; | |
316 | ||
317 | #define TRACK2 COMMON_BLOCK(TRACK2,track2) | |
318 | COMMON_BLOCK_DEF(HBTprocTrack2Common, TRACK2); | |
319 | /************************************************************************************************/ | |
320 | /************************************************************************************************/ | |
321 | typedef struct //SEC_TRK_MAP COMMON BLOCK | |
322 | { | |
323 | ||
324 | Int_t stm_sec_id [SEC_MAXLEN]; // unique sector ID number | |
325 | Int_t stm_n_trk_sec[SEC_MAXLEN]; // Number of tracks assigned to sector | |
326 | Int_t stm_flag[SEC_MAXLEN]; // normally=0, if = 1 then more than | |
327 | // // max_trk_sec tracks could have been | |
328 | // // assigned to this sector, however the | |
329 | // // maximum number that can be assigned is | |
330 | // // max_trk_sec. | |
331 | Int_t stm_track_id[SEC_MAXLEN][MAX_TRK_SEC]; // Foreign keys to tracks in /track/ that | |
332 | // // are assigned to this sector. | |
333 | ||
334 | }HBTprocSecTrackMapCommon; | |
335 | ||
336 | #define SEC_TRK_MAP COMMON_BLOCK(SEC_TRK_MAP,sec_trk_map) | |
337 | COMMON_BLOCK_DEF(HBTprocSecTrackMapCommon, SEC_TRK_MAP); | |
338 | ||
339 | /************************************************************************************************/ | |
340 | /************************************************************************************************/ | |
341 | typedef struct //SEC_TRK_MAP2 COMMON BLOCK | |
342 | { | |
343 | ||
344 | Int_t stm_sec_id2 [SEC_MAXLEN2]; // unique sector ID number | |
345 | Int_t stm_n_trk_sec2[SEC_MAXLEN2]; // Number of tracks assigned to sector | |
346 | Int_t stm_flag2[SEC_MAXLEN2]; // normally=0, if = 1 then more than | |
347 | // // max_trk_sec tracks could have been | |
348 | // // assigned to this sector, however the | |
349 | // // maximum number that can be assigned is | |
350 | // // max_trk_sec. | |
351 | Int_t stm_track_id2[SEC_MAXLEN2][MAX_TRK_SEC2]; // Foreign keys to tracks in /track/ that | |
352 | // // are assigned to this sector. | |
353 | ||
354 | }HBTprocSecTrackMap2Common; | |
355 | ||
356 | #define SEC_TRK_MAP2 COMMON_BLOCK(SEC_TRK_MAP2,sec_trk_map2) | |
357 | COMMON_BLOCK_DEF(HBTprocSecTrackMap2Common, SEC_TRK_MAP2); | |
358 | ||
359 | /************************************************************************************************/ | |
360 | /************************************************************************************************/ | |
361 | ||
362 | typedef struct //PARTICLE COMMON | |
363 | { | |
364 | // Variable Type Declarations: | |
365 | ||
366 | Int_t part_id[PART_MAXLEN]; // Geant particle ID code number; required | |
367 | // // to be equal to the row number | |
368 | Int_t part_charge[PART_MAXLEN]; // Electric charge in units of |e| | |
369 | Float_t part_mass[PART_MAXLEN]; // Rest mass in GeV/c**2 | |
370 | Float_t part_lifetime[PART_MAXLEN]; // Proper lifetime in sec. | |
371 | }HBTprocParticleCommon; | |
372 | ||
373 | #define PARTICLE COMMON_BLOCK(PARTICLE,particle) | |
374 | COMMON_BLOCK_DEF(HBTprocParticleCommon, PARTICLE); | |
375 | ||
376 | /************************************************************************************************/ | |
377 | /************************************************************************************************/ | |
378 | typedef struct //CORRELATIONS COMMON | |
379 | { | |
380 | // One-dimensional Functions: | |
381 | ||
382 | Float_t c2mod_like_1d[MAX_C2_1D]; | |
383 | Float_t c2mod_unlike_1d[MAX_C2_1D]; | |
384 | Float_t c2fit_like_1d[MAX_C2_1D]; | |
385 | Float_t c2fit_unlike_1d[MAX_C2_1D]; | |
386 | Float_t c2err_like_1d[MAX_C2_1D]; | |
387 | Float_t c2err_unlike_1d[MAX_C2_1D]; | |
388 | ||
389 | // Three-dimensional Functions: | |
390 | ||
391 | Float_t c2mod_like_3d_fine[MAX_C2_3D][MAX_C2_3D][MAX_C2_3D]; | |
392 | Float_t c2mod_unlike_3d_fine[MAX_C2_3D][MAX_C2_3D][MAX_C2_3D]; | |
393 | Float_t c2mod_like_3d_coarse[MAX_C2_3D][MAX_C2_3D][MAX_C2_3D]; | |
394 | Float_t c2mod_unlike_3d_coarse[MAX_C2_3D][MAX_C2_3D][MAX_C2_3D]; | |
395 | Float_t c2fit_like_3d_fine[MAX_C2_3D][MAX_C2_3D][MAX_C2_3D]; | |
396 | Float_t c2fit_unlike_3d_fine[MAX_C2_3D][MAX_C2_3D][MAX_C2_3D]; | |
397 | Float_t c2fit_like_3d_coarse[MAX_C2_3D][MAX_C2_3D][MAX_C2_3D]; | |
398 | Float_t c2fit_unlike_3d_coarse[MAX_C2_3D][MAX_C2_3D][MAX_C2_3D]; | |
399 | Float_t c2err_like_3d_fine[MAX_C2_3D][MAX_C2_3D][MAX_C2_3D]; | |
400 | Float_t c2err_unlike_3d_fine[MAX_C2_3D][MAX_C2_3D][MAX_C2_3D]; | |
401 | Float_t c2err_like_3d_coarse[MAX_C2_3D][MAX_C2_3D][MAX_C2_3D]; | |
402 | Float_t c2err_unlike_3d_coarse[MAX_C2_3D][MAX_C2_3D][MAX_C2_3D]; | |
403 | ||
404 | ||
405 | }HBTprocCorrelCommon; | |
406 | ||
407 | #define CORRELATIONS COMMON_BLOCK(CORRELATIONS,correlations) | |
408 | COMMON_BLOCK_DEF(HBTprocCorrelCommon, CORRELATIONS); | |
409 | ||
410 | /************************************************************************************************/ | |
411 | /************************************************************************************************/ | |
412 | typedef struct //COULMB | |
413 | { | |
414 | Float_t c2_coul_like[MAX_C2_COUL]; | |
415 | Float_t c2_coul_unlike[MAX_C2_COUL]; | |
416 | Float_t q_coul[MAX_C2_COUL]; | |
417 | }HBTprocCoulumbCommon; | |
418 | ||
419 | #define COULMB COMMON_BLOCK(COULMB,coulmb) | |
420 | ||
421 | COMMON_BLOCK_DEF(HBTprocCoulumbCommon,COULMB); | |
422 | ||
423 | /************************************************************************************************/ | |
424 | /************************************************************************************************/ | |
425 | ||
426 | typedef struct | |
427 | { | |
428 | Float_t num_iter[MAX_EVENTS]; | |
429 | Float_t niter_mean; | |
430 | Float_t niter_rms; | |
431 | Float_t n_part_used_1_store[MAX_EVENTS]; | |
432 | Float_t npart1_mean; | |
433 | Float_t npart1_rms; | |
434 | Float_t n_part_used_2_store[MAX_EVENTS]; | |
435 | Float_t npart2_mean; | |
436 | Float_t npart2_rms; | |
437 | Float_t n_part_tot_store[MAX_EVENTS]; | |
438 | Float_t npart_tot_mean; | |
439 | Float_t npart_tot_rms; | |
440 | Float_t num_sec_flagged_store[MAX_EVENTS]; | |
441 | Float_t nsec_flag_mean; | |
442 | Float_t nsec_flag_rms; | |
443 | Float_t frac_trks_out[MAX_EVENTS]; | |
444 | Float_t frac_trks_out_mean; | |
445 | Float_t frac_trks_out_rms; | |
446 | Float_t frac_trks_flag[MAX_EVENTS]; | |
447 | Float_t frac_trks_flag_mean; | |
448 | Float_t frac_trks_flag_rms; | |
449 | Float_t chisq_like_1d_store[MAX_EVENTS]; | |
450 | Float_t chi_l1d_mean; | |
451 | Float_t chi_l1d_rms; | |
452 | Float_t chisq_unlike_1d_store[MAX_EVENTS]; | |
453 | Float_t chi_u1d_mean; | |
454 | Float_t chi_u1d_rms; | |
455 | ||
456 | }HBTprocEventSummaryCommon; | |
457 | ||
458 | #define EVENT_SUMMARY COMMON_BLOCK(EVENT_SUMMARY,event_summary) | |
459 | ||
460 | COMMON_BLOCK_DEF(HBTprocEventSummaryCommon,EVENT_SUMMARY); | |
461 | /************************************************************************************************/ | |
462 | /************************************************************************************************/ | |
463 | typedef struct// common/histograms/ | |
464 | { | |
465 | Int_t hist1_pt_1[MAX_H_1D]; | |
466 | Int_t hist1_phi_1[MAX_H_1D]; | |
467 | Int_t hist1_eta_1[MAX_H_1D]; | |
468 | Int_t hist1_pt_2[MAX_H_1D]; | |
469 | Int_t hist1_phi_2[MAX_H_1D]; | |
470 | Int_t hist1_eta_2[MAX_H_1D]; | |
471 | Int_t htmp1_pt_1[MAX_H_1D]; | |
472 | Int_t htmp1_phi_1[MAX_H_1D]; | |
473 | Int_t htmp1_eta_1[MAX_H_1D]; | |
474 | Int_t htmp1_pt_2[MAX_H_1D]; | |
475 | Int_t htmp1_phi_2[MAX_H_1D]; | |
476 | Int_t htmp1_eta_2[MAX_H_1D]; | |
477 | Int_t href1_pt_1[MAX_H_1D]; | |
478 | Int_t href1_phi_1[MAX_H_1D]; | |
479 | Int_t href1_eta_1[MAX_H_1D]; | |
480 | Int_t href1_pt_2[MAX_H_1D]; | |
481 | Int_t href1_phi_2[MAX_H_1D]; | |
482 | Int_t href1_eta_2[MAX_H_1D]; | |
483 | Int_t hinc1_pt_1[MAX_H_1D]; | |
484 | Int_t hinc1_phi_1[MAX_H_1D]; | |
485 | Int_t hinc1_eta_1[MAX_H_1D]; | |
486 | Int_t hinc1_pt_2[MAX_H_1D]; | |
487 | Int_t hinc1_phi_2[MAX_H_1D]; | |
488 | Int_t hinc1_eta_2[MAX_H_1D]; | |
489 | Int_t hist_like_1d[MAX_H_1D]; | |
490 | Int_t hist_unlike_1d[MAX_H_1D]; | |
491 | Int_t htmp_like_1d[MAX_H_1D]; | |
492 | Int_t htmp_unlike_1d[MAX_H_1D]; | |
493 | Int_t href_like_1d[MAX_H_1D]; | |
494 | Int_t href_unlike_1d[MAX_H_1D]; | |
495 | Int_t hinc_like_1d[MAX_H_1D]; | |
496 | Int_t hinc_unlike_1d[MAX_H_1D]; | |
497 | ||
498 | Int_t hist_like_3d_fine[MAX_H_3D][MAX_H_3D][MAX_H_3D]; | |
499 | Int_t hist_unlike_3d_fine[MAX_H_3D][MAX_H_3D][MAX_H_3D]; | |
500 | Int_t hist_like_3d_coarse[MAX_H_3D][MAX_H_3D][MAX_H_3D]; | |
501 | Int_t hist_unlike_3d_coarse[MAX_H_3D][MAX_H_3D][MAX_H_3D]; | |
502 | Int_t htmp_like_3d_fine[MAX_H_3D][MAX_H_3D][MAX_H_3D]; | |
503 | Int_t htmp_unlike_3d_fine[MAX_H_3D][MAX_H_3D][MAX_H_3D]; | |
504 | Int_t htmp_like_3d_coarse[MAX_H_3D][MAX_H_3D][MAX_H_3D]; | |
505 | Int_t htmp_unlike_3d_coarse[MAX_H_3D][MAX_H_3D][MAX_H_3D]; | |
506 | Int_t href_like_3d_fine[MAX_H_3D][MAX_H_3D][MAX_H_3D]; | |
507 | Int_t href_unlike_3d_fine[MAX_H_3D][MAX_H_3D][MAX_H_3D]; | |
508 | Int_t href_like_3d_coarse[MAX_H_3D][MAX_H_3D][MAX_H_3D]; | |
509 | Int_t href_unlike_3d_coarse[MAX_H_3D][MAX_H_3D][MAX_H_3D]; | |
510 | Int_t hinc_like_3d_fine[MAX_H_3D][MAX_H_3D][MAX_H_3D]; | |
511 | Int_t hinc_unlike_3d_fine[MAX_H_3D][MAX_H_3D][MAX_H_3D]; | |
512 | Int_t hinc_like_3d_coarse[MAX_H_3D][MAX_H_3D][MAX_H_3D]; | |
513 | Int_t hinc_unlike_3d_coarse[MAX_H_3D][MAX_H_3D][MAX_H_3D]; | |
514 | ||
515 | }HBTprocHistosCommon; | |
516 | ||
517 | #define HISTOGRAMS COMMON_BLOCK(HISTOGRAMS,histograms) | |
518 | ||
519 | COMMON_BLOCK_DEF(HBTprocHistosCommon,HISTOGRAMS); | |
520 | ||
521 | /************************************************************************************************/ | |
522 | /************************************************************************************************/ | |
523 | ||
524 | #endif | |
525 | ||
526 | } | |
527 | ||
528 | ||
529 | #endif |