6 |
C Author: Vannuccini Elena |
C Author: Vannuccini Elena |
7 |
C Date: 2004/2005 |
C Date: 2004/2005 |
8 |
C |
C |
9 |
|
|
10 |
|
c include 'level1.f' |
11 |
c+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- |
c+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- |
12 |
c SPEP 1 CLUSTERS ----> COUPLES and SINGLETS |
c SPEP 1 CLUSTERS ----> COUPLES and SINGLETS |
13 |
c+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- |
c+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- |
18 |
c * charge correlation |
c * charge correlation |
19 |
c |
c |
20 |
c------------------------------------------------------------------------ |
c------------------------------------------------------------------------ |
21 |
* cut on maximum number of cluster allowed for track finding |
|
22 |
parameter (nclstrmax_level2=10*nplanes) |
* maximum (total) number of STORED clusters |
23 |
c parameter (nclstrmax_level2=5*nplanes) |
parameter (nclstrmax_level2 = nclstrmax) ! same as level1 |
24 |
* ----------------------------------------------------------- |
|
25 |
* maximum number of couples per plane and total |
* ----------------------------------------------------------- |
26 |
* (only to dimension the vectors) |
* maximum number of cluster (per view) required to perform |
27 |
parameter (ncouplemax=(nclstrmax_level2/nplanes)**2) |
* track serching with full Hough transform |
28 |
parameter (ncouplemaxtot=ncouplemax*nplanes) |
* (singlets recovered during track refinement) |
29 |
|
parameter (nclusterlimit=6) |
30 |
|
* ----------------------------------------------------------- |
31 |
|
* maximum number of couples (per plane) required to perform |
32 |
|
* track serching with full Hough transform |
33 |
|
* (couples recovered during track refinement) |
34 |
|
parameter (ncouplelimit=8) |
35 |
|
|
36 |
|
* ----------------------------------------------------------- |
37 |
|
* maximum number of STORED couples, per plane and total |
38 |
|
* (to dimension the vectors) |
39 |
|
c parameter (ncouplemax=2*(nclstrmax_level2/nplanes)**2) |
40 |
|
c parameter (ncouplemaxtot=ncouplemax*nplanes) |
41 |
|
parameter (ncouplemax = nclusterlimit*nclusterlimit) |
42 |
|
parameter (ncouplemaxtot = ncouplemax*nplanes) |
43 |
* ----------------------------------------------------------- |
* ----------------------------------------------------------- |
44 |
* maximum number of STORED couples |
* maximum number of STORED couples |
45 |
* (if the identified couples exceeds this number the |
* (if the identified couples exceeds this number the |
46 |
* track identification is not performed and the event is |
* track identification is not performed and the event is |
47 |
* tagged as not good) |
* tagged as not good) |
48 |
c parameter (ncp_max=10*nplanes) |
c parameter (ncp_max=10*nplanes) |
49 |
parameter (ncp_max=20*nplanes) |
c parameter (ncp_max=10*nplanes) |
50 |
c parameter (ncp_max=ncouplemaxtot) |
c parameter (ncp_max = ncouplemaxtot) |
51 |
|
|
52 |
|
|
53 |
|
|
54 |
|
* ----------------------------------------------------------- |
55 |
|
* mask of views |
56 |
|
* 0 = ok |
57 |
|
* 1 = n.clusters > nclusterlimit |
58 |
|
* 8 = n.couples > ncouplelimit |
59 |
|
* 2 = n.couples > ncouplemax |
60 |
|
* 3 = n.doublets > ndblt_max |
61 |
|
* 4 = n.triplets > ntrpt_max |
62 |
|
* 5 = n.clouds yz > ncloyz_max |
63 |
|
* 6 = n.clouds xz > ncloxz_max |
64 |
|
* 7 = n.track candidates > NTRACKSMAX |
65 |
|
integer mask_view(nviews) |
66 |
|
common/maskview/mask_view |
67 |
|
|
68 |
|
|
69 |
* ----------------------------------------------------------- |
* ----------------------------------------------------------- |
70 |
* --- CLUSTERS ---------------------------------------------- |
* --- CLUSTERS ---------------------------------------------- |
80 |
* mask for clusters associated to a track |
* mask for clusters associated to a track |
81 |
* 1 = used |
* 1 = used |
82 |
* 0 = not used |
* 0 = not used |
83 |
integer cl_used(nclstrmax_level2) |
integer cl_used(nclstrmax_level2) |
84 |
|
integer ncl_view(nviews) !n.clusters per plane |
85 |
|
real dedx_x_min,dedx_y_min |
86 |
* ----------------------------------------------------------- |
* ----------------------------------------------------------- |
87 |
common/clusters/cl_good,cl_used |
common/clusters/cl_good,cl_used,ncl_view,dedx_x_min,dedx_y_min |
88 |
|
|
89 |
* ----------------------------------------------------------- |
* ----------------------------------------------------------- |
90 |
* --- COUPLES ----------------------------------------------- |
* --- COUPLES ----------------------------------------------- |
137 |
common/singlets/ncls,cls,cl_single |
common/singlets/ncls,cls,cl_single |
138 |
|
|
139 |
|
|
140 |
|
logical RECOVER_SINGLETS,RECOVER_NUCLEI,SECOND_SEARCH |
141 |
|
common/recover/RECOVER_SINGLETS,RECOVER_NUCLEI,SECOND_SEARCH |
142 |
|
|
143 |
c+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + |
c+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + |
144 |
c + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + |
c + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + |
145 |
c------------------------------------------------------------------------ |
c------------------------------------------------------------------------ |
255 |
c |
c |
256 |
c------------------------------------------------------------------------ |
c------------------------------------------------------------------------ |
257 |
|
|
258 |
|
* ----------------------------------------------------- |
259 |
|
* default p.f.a. |
260 |
|
* used to fit track candidates |
261 |
|
* ----------------------------------------------------- |
262 |
character*5 PFAdef |
character*5 PFAdef |
263 |
c common/PFAdefault/PFAdef |
parameter (PFAdef='COG1') |
264 |
parameter (PFAdef='COG') |
|
|
|
|
265 |
c------------------------------------------------------------------------ |
c------------------------------------------------------------------------ |
266 |
c variable related to track selection and fitting |
c variable related to track selection and fitting |
267 |
c------------------------------------------------------------------------ |
c------------------------------------------------------------------------ |
268 |
|
|
269 |
* track candidates |
* track candidates |
270 |
PARAMETER (NTRACKSMAX=ncloyz_max*ncloxz_max) |
cc PARAMETER (NTRACKSMAX=ncloyz_max*ncloxz_max) |
271 |
|
PARAMETER (NTRACKSMAX=10000) |
272 |
INTEGER NTRACKS !number of track candidates |
INTEGER NTRACKS !number of track candidates |
273 |
REAL AL_STORE(5,NTRACKSMAX) |
REAL AL_STORE(5,NTRACKSMAX) |
274 |
REAL XM_STORE(NPLANES,NTRACKSMAX) |
REAL XM_STORE(NPLANES,NTRACKSMAX) |
285 |
REAL YGOOD_STORE(NPLANES,NTRACKSMAX) |
REAL YGOOD_STORE(NPLANES,NTRACKSMAX) |
286 |
INTEGER CP_STORE(NPLANES,NTRACKSMAX) |
INTEGER CP_STORE(NPLANES,NTRACKSMAX) |
287 |
INTEGER CLS_STORE(NPLANES,NTRACKSMAX) |
INTEGER CLS_STORE(NPLANES,NTRACKSMAX) |
288 |
|
INTEGER SENSOR_STORE(NPLANES,NTRACKSMAX) |
289 |
|
INTEGER LADDER_STORE(NPLANES,NTRACKSMAX) |
290 |
|
REAL BX_STORE(NPLANES,NTRACKSMAX) |
291 |
|
REAL BY_STORE(NPLANES,NTRACKSMAX) |
292 |
REAL RCHI2_STORE(NTRACKSMAX) |
REAL RCHI2_STORE(NTRACKSMAX) |
293 |
common/track_candidates/NTRACKS,AL_STORE |
common/trackcandidates/NTRACKS,AL_STORE |
294 |
$ ,XV_STORE,YV_STORE,ZV_STORE |
$ ,XV_STORE,YV_STORE,ZV_STORE |
295 |
$ ,XM_STORE,YM_STORE,ZM_STORE |
$ ,XM_STORE,YM_STORE,ZM_STORE |
296 |
$ ,RESX_STORE,RESY_STORE |
$ ,RESX_STORE,RESY_STORE |
297 |
$ ,AXV_STORE,AYV_STORE |
$ ,AXV_STORE,AYV_STORE |
298 |
$ ,XGOOD_STORE,YGOOD_STORE |
$ ,XGOOD_STORE,YGOOD_STORE |
299 |
$ ,CP_STORE,CLS_STORE,RCHI2_STORE |
$ ,CP_STORE,CLS_STORE |
300 |
|
$ ,SENSOR_STORE,LADDER_STORE |
301 |
|
$ ,BX_STORE,BY_STORE |
302 |
|
$ ,RCHI2_STORE |
303 |
|
|
304 |
|
|
305 |
* best-candidate selection |
* best-candidate selection |
307 |
|
|
308 |
|
|
309 |
|
|
310 |
|
c------------------------------------------------------------------------ |
311 |
|
c CUTS and other parameters |
312 |
|
c------------------------------------------------------------------------ |
313 |
|
PARAMETER (PIGR=3.14) !159265359)!(1) |
314 |
|
* ----------------------------------------------------- |
315 |
|
* cuts on cluster signal (MIP) |
316 |
|
* ----------------------------------------------------- |
317 |
|
parameter (dedx_x_min_mip=0.) |
318 |
|
parameter (dedx_y_min_mip=0.) |
319 |
|
parameter (dedx_x_min_nuclei=5.) |
320 |
|
parameter (dedx_y_min_nuclei=5.) |
321 |
|
parameter (dedx_min_nuclei=9.1) !cut to apply nuclei recovery |
322 |
|
parameter (ddedx_min_nuclei=0.35)!cut to identify bad tracked nuclei |
323 |
|
|
324 |
|
* ----------------------------------------------------- |
325 |
|
* number of GOOD strips around MAXS |
326 |
|
* (NB this cut has been removed in track fitting but |
327 |
|
* not in calibration) |
328 |
|
* ----------------------------------------------------- |
329 |
|
parameter (ngoodstr=2) |
330 |
|
* ----------------------------------------------------- |
331 |
|
* first cuts on the parameters determined with |
332 |
|
* the hough transform, in order to exclude from the |
333 |
|
* analysis non physical dublets and triplets |
334 |
|
* (out of the geometrical acceptance of the apparatus) |
335 |
|
* ----------------------------------------------------- |
336 |
|
* geometrical acceptance whit 6 planes |
337 |
|
c$$$ parameter (alfyz1_max=8.7) !Y0 (real acc+1cm) |
338 |
|
c$$$ parameter (alfyz2_max=0.47) !tg theta-yz (18+7deg) |
339 |
|
c$$$ parameter (alfxz1_max=9.5) !X0 (real acc+1cm) |
340 |
|
c$$$ parameter (alfxz2_max=0.47) !tg theta-xz (18+7deg) |
341 |
|
|
342 |
|
c$$$* geometrical acceptance whit the last 5 planes |
343 |
|
c$$$ parameter (alfyz1_max=12.4) !Y0 (real acc+1cm) |
344 |
|
c$$$ parameter (alfyz2_max=0.55) !tg theta-yz (22+7deg) |
345 |
|
c$$$ parameter (alfxz1_max=13.7) !X0 (real acc+1cm) |
346 |
|
c$$$ parameter (alfxz2_max=0.55) !tg theta-xz (22+7deg) |
347 |
|
c$$$ |
348 |
|
c$$$* geometrical acceptance whit the last 4 planes |
349 |
|
c$$$ parameter (alfyz1_max=18.6) !Y0 (real acc+1cm) |
350 |
|
c$$$ parameter (alfyz2_max=0.70) !tg theta-yz (28+7deg) |
351 |
|
c$$$ parameter (alfxz1_max=20.6) !X0 (real acc+1cm) |
352 |
|
c$$$ parameter (alfxz2_max=0.70) !tg theta-xz (28+7deg) |
353 |
|
c$$$ |
354 |
|
* geometrical acceptance whit the last 3 planes |
355 |
|
parameter (alfyz1_max=31.0) !Y0 (real acc+1cm) |
356 |
|
parameter (alfyz2_max=1.04) !tg theta-yz (39+7deg) |
357 |
|
parameter (alfxz1_max=34.4) !X0 (real acc+1cm) |
358 |
|
parameter (alfxz2_max=1.04) !tg theta-xz (39+7deg) |
359 |
|
* ----------------------------------------------------- |
360 |
|
* cut on the position of the circle center: |
361 |
|
* center inside the spectrometer volume is not physical |
362 |
|
* ==> THE TRIPLET IS REJECTED |
363 |
|
* ----------------------------------------------------- |
364 |
|
parameter (xclimit=8.) !cm |
365 |
|
* ----------------------------------------------------- |
366 |
|
* Parameter normalization constants, needed to evaluate |
367 |
|
* distances in parameter space |
368 |
|
* ----------------------------------------------------- |
369 |
|
|
370 |
|
* --- David ground |
371 |
|
c$$$ parameter (Dalfayz1=0.8864e-1) |
372 |
|
c$$$ parameter (Dalfayz2=0.6204e-3) |
373 |
|
c$$$ parameter (Dalfaxz1=0.2909e-1) |
374 |
|
c$$$ parameter (Dalfaxz2=0.2759e-2) |
375 |
|
* --- David flight |
376 |
|
parameter (Dalfayz1=0.64e-3) |
377 |
|
parameter (Dalfayz2=0.54e-3) |
378 |
|
parameter (Dalfaxz1=0.50e-3) |
379 |
|
parameter (Dalfaxz2=0.12e-3) |
380 |
|
parameter (Dalfaxz3=0.86e-5) |
381 |
|
|
382 |
|
|
383 |
|
* ----------------------------------------------------- |
384 |
|
* Cut on normalized distances in parameter space. |
385 |
|
* Doublets/triplets are recursively included in a cloud |
386 |
|
* if the distance from any of the points already included |
387 |
|
* is less than this cut. |
388 |
|
* ----------------------------------------------------- |
389 |
|
* --- David ground |
390 |
|
c$$$ parameter(cutystart=0.3) |
391 |
|
c$$$ parameter(cutystep=0.3) |
392 |
|
c$$$ parameter(cutxstart=1.) |
393 |
|
c$$$ parameter(cutxstep=1.) |
394 |
|
c$$$ parameter(maxcuty=100.) |
395 |
|
c$$$ parameter(maxcutx=150.) |
396 |
|
c$$$ parameter(nstepx=50) !inclusion-cut increasing steps |
397 |
|
c$$$ parameter(nstepy=50) |
398 |
|
* --- David flight (preliminary) |
399 |
|
c$$$ parameter(cutystart=7.) |
400 |
|
c$$$ parameter(cutystep=5.) |
401 |
|
c$$$ parameter(cutxstart=5.) |
402 |
|
c$$$ parameter(cutxstep=2.) |
403 |
|
c$$$ parameter(maxcuty=200.) |
404 |
|
c$$$ parameter(maxcutx=150.) |
405 |
|
c$$$ parameter(nstepx=5) !inclusion-cut increasing steps |
406 |
|
c$$$ parameter(nstepy=5) |
407 |
|
* --- David flight |
408 |
|
real maxcuty, maxcutx ! EM GCC4.7 |
409 |
|
parameter(cutystart=30.) |
410 |
|
parameter(cutystep=10.) !buoni??? |
411 |
|
parameter(cutxstart=5.) |
412 |
|
parameter(cutxstep=2.) |
413 |
|
parameter(maxcuty=1000.) |
414 |
|
parameter(maxcutx=1000.) |
415 |
|
parameter(nstepx=10) !inclusion-cut increasing steps |
416 |
|
parameter(nstepy=30) |
417 |
|
|
418 |
|
|
419 |
|
real cutdistyz !y0 / tg theta_yz space |
420 |
|
real cutdistxz !x0 / tg theta_xz space |
421 |
|
common/cutdi/cutdistyz,cutdistxz |
422 |
|
* (NB deflection is not considered in the selection criteria) |
423 |
|
* -------------------------------------------------- |
424 |
|
* cloud selection |
425 |
|
* -------------------------------------------------- |
426 |
|
integer x_min_start,x_min_step ! EM GCC4.7 |
427 |
|
parameter(x_min_start=4) |
428 |
|
parameter(x_min_step=1) |
429 |
|
|
430 |
|
integer ncpxz_min |
431 |
|
integer nptxz_min !for a circle |
432 |
|
integer nplxz_min !for a circle |
433 |
|
|
434 |
|
common/cutxclouds/ncpxz_min,nptxz_min,nplxz_min |
435 |
|
|
436 |
|
integer y_min_start ! EM GCC4.7 |
437 |
|
parameter(y_min_start=3) |
438 |
|
|
439 |
|
integer ncpyz_min |
440 |
|
integer nptyz_min !for a straight line |
441 |
|
integer nplyz_min !for a circle |
442 |
|
common/cutyclouds/ncpyz_min,nptyz_min,nplyz_min |
443 |
|
* -------------------------------------------------- |
444 |
|
|
445 |
|
* ----------------------------------------------------- |
446 |
|
* minimum number of matching couples required to combine |
447 |
|
* XZ-YZ clouds and perform the fit |
448 |
|
* ----------------------------------------------------- |
449 |
|
parameter (ncpok=3) |
450 |
|
|
451 |
|
* ----------------------------------------------------- |
452 |
|
* maximum value of deflection from Hough transform |
453 |
|
* accepted in order to perform the track fit |
454 |
|
* ----------------------------------------------------- |
455 |
|
c parameter (defmax=10000.) !GV-1 |
456 |
|
parameter (defmax=100.) !GV-1 |
457 |
|
|
458 |
|
* ----------------------------------------------------- |
459 |
|
* cut to include new couple or single clusters in the |
460 |
|
* track fitting, after the first fit |
461 |
|
* ----------------------------------------------------- |
462 |
|
c parameter (clinc=3) |
463 |
|
parameter (clinc=7) |
464 |
|
|
465 |
|
|
466 |
|
|