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 |