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 |
c parameter (nclstrmax_level2=10*nplanes) |
* maximum (total) number of STORED clusters |
23 |
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 |
parameter (ncp_max=10*nplanes) |
c parameter (ncp_max=10*nplanes) |
49 |
c parameter (ncp_max=ncouplemaxtot) |
c parameter (ncp_max=10*nplanes) |
50 |
|
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 |
* ----------------------------------------------------------- |
* ----------------------------------------------------------- |
86 |
common/clusters/cl_good,cl_used |
common/clusters/cl_good,cl_used,ncl_view |
87 |
|
|
88 |
* ----------------------------------------------------------- |
* ----------------------------------------------------------- |
89 |
* --- COUPLES ----------------------------------------------- |
* --- COUPLES ----------------------------------------------- |
251 |
c |
c |
252 |
c------------------------------------------------------------------------ |
c------------------------------------------------------------------------ |
253 |
|
|
254 |
|
* ----------------------------------------------------- |
255 |
|
* default p.f.a. |
256 |
|
* used to fit track candidates |
257 |
|
* ----------------------------------------------------- |
258 |
character*5 PFAdef |
character*5 PFAdef |
259 |
c common/PFAdefault/PFAdef |
parameter (PFAdef='COG1') |
260 |
parameter (PFAdef='COG') |
|
|
|
|
261 |
c------------------------------------------------------------------------ |
c------------------------------------------------------------------------ |
262 |
c variable related to track selection and fitting |
c variable related to track selection and fitting |
263 |
c------------------------------------------------------------------------ |
c------------------------------------------------------------------------ |
280 |
REAL YGOOD_STORE(NPLANES,NTRACKSMAX) |
REAL YGOOD_STORE(NPLANES,NTRACKSMAX) |
281 |
INTEGER CP_STORE(NPLANES,NTRACKSMAX) |
INTEGER CP_STORE(NPLANES,NTRACKSMAX) |
282 |
INTEGER CLS_STORE(NPLANES,NTRACKSMAX) |
INTEGER CLS_STORE(NPLANES,NTRACKSMAX) |
283 |
|
INTEGER SENSOR_STORE(NPLANES,NTRACKSMAX) |
284 |
|
INTEGER LADDER_STORE(NPLANES,NTRACKSMAX) |
285 |
|
REAL BX_STORE(NPLANES,NTRACKSMAX) |
286 |
|
REAL BY_STORE(NPLANES,NTRACKSMAX) |
287 |
REAL RCHI2_STORE(NTRACKSMAX) |
REAL RCHI2_STORE(NTRACKSMAX) |
288 |
common/track_candidates/NTRACKS,AL_STORE |
common/track_candidates/NTRACKS,AL_STORE |
289 |
$ ,XV_STORE,YV_STORE,ZV_STORE |
$ ,XV_STORE,YV_STORE,ZV_STORE |
291 |
$ ,RESX_STORE,RESY_STORE |
$ ,RESX_STORE,RESY_STORE |
292 |
$ ,AXV_STORE,AYV_STORE |
$ ,AXV_STORE,AYV_STORE |
293 |
$ ,XGOOD_STORE,YGOOD_STORE |
$ ,XGOOD_STORE,YGOOD_STORE |
294 |
$ ,CP_STORE,CLS_STORE,RCHI2_STORE |
$ ,CP_STORE,CLS_STORE |
295 |
|
$ ,SENSOR_STORE,LADDER_STORE |
296 |
|
$ ,BX_STORE,BY_STORE |
297 |
|
$ ,RCHI2_STORE |
298 |
|
|
299 |
|
|
300 |
* best-candidate selection |
* best-candidate selection |
302 |
|
|
303 |
|
|
304 |
|
|
305 |
|
c------------------------------------------------------------------------ |
306 |
|
c CUTS and other parameters |
307 |
|
c------------------------------------------------------------------------ |
308 |
|
PARAMETER (PIGR=3.14) !159265359)!(1) |
309 |
|
* ----------------------------------------------------- |
310 |
|
* cuts on cluster signal |
311 |
|
* ----------------------------------------------------- |
312 |
|
parameter (dedx_x_min=0.) |
313 |
|
parameter (dedx_y_min=0.) |
314 |
|
* ----------------------------------------------------- |
315 |
|
* number of GOOD strips around MAXS |
316 |
|
* (NB this cut has been removed in track fitting but |
317 |
|
* not in calibration) |
318 |
|
* ----------------------------------------------------- |
319 |
|
parameter (ngoodstr=2) |
320 |
|
* ----------------------------------------------------- |
321 |
|
* first cuts on the parameters determined with |
322 |
|
* the hough transform, in order to exclude from the |
323 |
|
* analysis non physical dublets and triplets |
324 |
|
* (out of the geometrical acceptance of the apparatus) |
325 |
|
* ----------------------------------------------------- |
326 |
|
* geometrical acceptance whit 6 planes |
327 |
|
c$$$ parameter (alfyz1_max=8.7) !Y0 (real acc+1cm) |
328 |
|
c$$$ parameter (alfyz2_max=0.47) !tg theta-yz (18+7deg) |
329 |
|
c$$$ parameter (alfxz1_max=9.5) !X0 (real acc+1cm) |
330 |
|
c$$$ parameter (alfxz2_max=0.47) !tg theta-xz (18+7deg) |
331 |
|
|
332 |
|
c$$$* geometrical acceptance whit the last 5 planes |
333 |
|
c$$$ parameter (alfyz1_max=12.4) !Y0 (real acc+1cm) |
334 |
|
c$$$ parameter (alfyz2_max=0.55) !tg theta-yz (22+7deg) |
335 |
|
c$$$ parameter (alfxz1_max=13.7) !X0 (real acc+1cm) |
336 |
|
c$$$ parameter (alfxz2_max=0.55) !tg theta-xz (22+7deg) |
337 |
|
c$$$ |
338 |
|
c$$$* geometrical acceptance whit the last 4 planes |
339 |
|
c$$$ parameter (alfyz1_max=18.6) !Y0 (real acc+1cm) |
340 |
|
c$$$ parameter (alfyz2_max=0.70) !tg theta-yz (28+7deg) |
341 |
|
c$$$ parameter (alfxz1_max=20.6) !X0 (real acc+1cm) |
342 |
|
c$$$ parameter (alfxz2_max=0.70) !tg theta-xz (28+7deg) |
343 |
|
c$$$ |
344 |
|
* geometrical acceptance whit the last 3 planes |
345 |
|
parameter (alfyz1_max=31.0) !Y0 (real acc+1cm) |
346 |
|
parameter (alfyz2_max=1.04) !tg theta-yz (39+7deg) |
347 |
|
parameter (alfxz1_max=34.4) !X0 (real acc+1cm) |
348 |
|
parameter (alfxz2_max=1.04) !tg theta-xz (39+7deg) |
349 |
|
* ----------------------------------------------------- |
350 |
|
* cut on the position of the circle center: |
351 |
|
* center inside the spectrometer volume is not physical |
352 |
|
* ==> THE TRIPLET IS REJECTED |
353 |
|
* ----------------------------------------------------- |
354 |
|
parameter (xclimit=8.) !cm |
355 |
|
* ----------------------------------------------------- |
356 |
|
* Parameter normalization constants, needed to evaluate |
357 |
|
* distances in parameter space |
358 |
|
* ----------------------------------------------------- |
359 |
|
|
360 |
|
* --- David ground |
361 |
|
c$$$ parameter (Dalfayz1=0.8864e-1) |
362 |
|
c$$$ parameter (Dalfayz2=0.6204e-3) |
363 |
|
c$$$ parameter (Dalfaxz1=0.2909e-1) |
364 |
|
c$$$ parameter (Dalfaxz2=0.2759e-2) |
365 |
|
* --- David flight |
366 |
|
parameter (Dalfayz1=0.64e-3) |
367 |
|
parameter (Dalfayz2=0.54e-3) |
368 |
|
parameter (Dalfaxz1=0.50e-3) |
369 |
|
parameter (Dalfaxz2=0.12e-3) |
370 |
|
parameter (Dalfaxz3=0.86e-5) |
371 |
|
|
372 |
|
|
373 |
|
* ----------------------------------------------------- |
374 |
|
* Cut on normalized distances in parameter space. |
375 |
|
* Doublets/triplets are recursively included in a cloud |
376 |
|
* if the distance from any of the points already included |
377 |
|
* is less than this cut. |
378 |
|
* ----------------------------------------------------- |
379 |
|
* --- David ground |
380 |
|
c$$$ parameter(cutystart=0.3) |
381 |
|
c$$$ parameter(cutystep=0.3) |
382 |
|
c$$$ parameter(cutxstart=1.) |
383 |
|
c$$$ parameter(cutxstep=1.) |
384 |
|
c$$$ parameter(maxcuty=100.) |
385 |
|
c$$$ parameter(maxcutx=150.) |
386 |
|
c$$$ parameter(nstepx=50) !inclusion-cut increasing steps |
387 |
|
c$$$ parameter(nstepy=50) |
388 |
|
* --- David flight (preliminary) |
389 |
|
c$$$ parameter(cutystart=7.) |
390 |
|
c$$$ parameter(cutystep=5.) |
391 |
|
c$$$ parameter(cutxstart=5.) |
392 |
|
c$$$ parameter(cutxstep=2.) |
393 |
|
c$$$ parameter(maxcuty=200.) |
394 |
|
c$$$ parameter(maxcutx=150.) |
395 |
|
c$$$ parameter(nstepx=5) !inclusion-cut increasing steps |
396 |
|
c$$$ parameter(nstepy=5) |
397 |
|
* --- David flight |
398 |
|
parameter(cutystart=30.) |
399 |
|
parameter(cutystep=10.) !buoni??? |
400 |
|
parameter(cutxstart=5.) |
401 |
|
parameter(cutxstep=2.) |
402 |
|
parameter(maxcuty=1000.) |
403 |
|
parameter(maxcutx=1000.) |
404 |
|
parameter(nstepx=10) !inclusion-cut increasing steps |
405 |
|
parameter(nstepy=30) |
406 |
|
|
407 |
|
|
408 |
|
real cutdistyz !y0 / tg theta_yz space |
409 |
|
real cutdistxz !x0 / tg theta_xz space |
410 |
|
common/cutdi/cutdistyz,cutdistxz |
411 |
|
* (NB deflection is not considered in the selection criteria) |
412 |
|
* -------------------------------------------------- |
413 |
|
* cloud selection |
414 |
|
* -------------------------------------------------- |
415 |
|
parameter(x_min_start=4) |
416 |
|
parameter(x_min_step=1) |
417 |
|
|
418 |
|
integer ncpxz_min |
419 |
|
integer nptxz_min !for a circle |
420 |
|
integer nplxz_min !for a circle |
421 |
|
|
422 |
|
common/cutxclouds/ncpxz_min,nptxz_min,nplxz_min |
423 |
|
|
424 |
|
parameter(y_min_start=3) |
425 |
|
|
426 |
|
integer ncpyz_min |
427 |
|
integer nptyz_min !for a straight line |
428 |
|
integer nplyz_min !for a circle |
429 |
|
common/cutyclouds/ncpyz_min,nptyz_min,nplyz_min |
430 |
|
* -------------------------------------------------- |
431 |
|
|
432 |
|
* ----------------------------------------------------- |
433 |
|
* minimum number of matching couples required to combine |
434 |
|
* XZ-YZ clouds and perform the fit |
435 |
|
* ----------------------------------------------------- |
436 |
|
parameter (ncpok=3) |
437 |
|
|
438 |
|
* ----------------------------------------------------- |
439 |
|
* maximum value of deflection from Hough transform |
440 |
|
* accepted in order to perform the track fit |
441 |
|
* ----------------------------------------------------- |
442 |
|
c parameter (defmax=10000.) !GV-1 |
443 |
|
parameter (defmax=100.) !GV-1 |
444 |
|
|
445 |
|
* ----------------------------------------------------- |
446 |
|
* cut to include new couple or single clusters in the |
447 |
|
* track fitting, after the first fit |
448 |
|
* ----------------------------------------------------- |
449 |
|
c parameter (clinc=3) |
450 |
|
parameter (clinc=7) |
451 |
|
|
452 |
|
|
453 |
|
|