/[PAMELA software]/yoda/techmodel/forroutines/tracker/commonyoda/commontracker.f
ViewVC logotype

Annotation of /yoda/techmodel/forroutines/tracker/commonyoda/commontracker.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 5.1 - (hide annotations) (download)
Sat Feb 4 12:37:45 2006 UTC (18 years, 10 months ago) by kusanagi
Branch: MAIN
CVS Tags: HEAD
Changes since 5.0: +0 -0 lines
FILE REMOVED
Several new features in this release:
a) all the packets are conform to the Mass Memory Format specifications (http://people.roma2.infn.it/~cpu/Mass_Memory_Format.html)
b) unpacking either using the old files structure OR the new one file unpacking.
c) parametrized root files compression factor
d) deleting of the following packet: TofTest, TrkTest, TrkEvent.
e) the Tracker routines now work without the use of temp files.

The point a) allow Yoda to unpack in the root file all the packets generated by the CPU. According to the MassMemoryFormat; that is three possible data are available:

1) almost explicit structure of the packet (like for Log, Tracker, Mcmd, etc....);
2) dummy data collection structure (InitHeader, InitTrailer, CalibHeader, CalibTrailer);
3) just the data of the packet (almost all Alarm and Init procedures). The class regarding this packets have only one parameters, a TArrayC class, which contain the data-block included in the packet (tat is the data below the packet Header).

The point b) has been implemented as a consequence of an agreement about a more compact structure of the unpacked data. Up to now the structure of each unpacked data consisted of a folder, named after the packet type, and three files: xxx.Header.root, xxx.NamePacket.root, xxx.Registry.root.
Starting from this release YODA, by default will unpack the data in a unique root file. The structure of this file will consist of:
- several TTree(s) named after the packet type;
- into each TTree are foreseen three TBranche(s):
    - 'Header'  (the old xxx.Header.root file)
    - 'NameOfThePacket' (the old xxx.Event.root file or the xxx.Event.DETECTOR.root)
    - 'Registry' (the old xxx.Registry.root file)

Anyway is still possible, but deprecated, to unpack using the old structure, passing to the "yoda" command the optional parameter "-multifile"

The point c) has been implemented because is well know that writing time in a TTree is as much fast as much lower is the compression factor for the root file; anyway for a PAMELA dat file, a compression equal to 0 will generate a root file which will be more than two times the original size. To modify the compression parameter just add the optional parameter "-c [0-9]" to the yoda command line.

1 kusanagi 1.1 ************************************************************************
2     *
3     * Common commontracker.f
4     *
5     * contains tracker general variables definitions
6     *
7     * to be included in:
8     * - ../readraw/readraw.F
9     * - ../reduction/reduction.f
10     * - ../reduction/fillpedsig.f
11     * - ../reduction/filladc.f
12     * - ../reduction/cncomp.f
13     * - ../reduction/cnoise.f
14     * - ../reduction/cutcn.f
15     * - ../analysis/preanalysis.f
16     * - ../analysis/analysis.f
17     * - ../align/align.f
18     * - ../magnet/read_B.f
19     * - !???
20     *
21     * parameters:
22     * - !???
23     *
24     *************************************************************************
25    
26    
27     c------------------------------------------------------------------------
28     c
29     c HBOOK initialization variable
30     c
31     c------------------------------------------------------------------------
32    
33     parameter (NWPAWC=6500000)
34     common/PAWC/HMEM(NWPAWC)
35    
36    
37     c------------------------------------------------------------------------
38     c
39     c ntuples id numbers and parameters
40     c
41     c------------------------------------------------------------------------
42    
43     parameter (ntp_runinfo=19) !RUNINFO
44     parameter (ntp_level0=20) !LEVEL0
45     parameter (ntp_level1=21) !LEVEL1
46     parameter (ntp_level2=22) !LEVEL2
47     parameter (ntp_level3=23) !LEVEL3
48    
49    
50     c parameter (nclstrmax=1000) !maximum number of clusters per event
51     parameter (nclstrmax=500)
52     parameter (nclstrp=17) !maximum number of strips to be checked for
53     ! inclusion in the cluster
54     parameter (maxlength=nclstrmax*nclstrp) !maximum number of strip belonging
55     ! to clusters for the whole event
56    
57    
58     c------------------------------------------------------------------------
59     c
60     c spectrometer parameters
61     c
62     c------------------------------------------------------------------------
63    
64     parameter (nviews=12) !number of views
65     parameter (nplanes=nviews/2) !number of planes
66     parameter (nladders_view=3) !number of ladders per view
67     parameter (nva1_ladder=8) !number of VA1s per ladder (per side)
68     parameter (nstrips_va1=128) !number of strips per VA1
69    
70    
71     parameter (nstrips_ladder=nstrips_va1*nva1_ladder) !number of strips
72     ! per ladder
73     parameter (nva1_view=nva1_ladder*nladders_view) !number of VA1s per
74     ! view
75     parameter (nstrips_view=nstrips_va1*nva1_view) !number of strips per
76     ! view
77     parameter (nva1=nva1_view*nviews) !number of VA1s
78     parameter (nstrips=nstrips_va1*nva1) !number of strips
79    
80     parameter (pitchX=51.)
81     parameter (pitchY=66.5)
82    
83    
84     c------------------------------------------------------------------------
85     c
86     c pedestal, sigma and badstrip variables
87     c
88     c------------------------------------------------------------------------
89    
90     real pedestal(nviews,nva1_view,nstrips_va1) !pedestal value
91     real pedestal_t(nviews,nva1_view,nstrips_va1) !pedestal truncated value
92    
93     real sigma(nviews,nva1_view,nstrips_va1) !sigma value
94     real sigma_t(nviews,nva1_view,nstrips_va1) !sigma truncated value
95    
96     integer bad(nviews,nva1_view,nstrips_va1) !bad strip flag matrix
97     ! (bad=1 --> good strip, bad=0 --> bad strip)
98    
99     common/pedsigbad/pedestal,pedestal_t,sigma,sigma_t,bad
100    
101    
102    
103    
104    
105    
106    
107     c todo!???
108    
109     real adc(nviews,nva1_view,nstrips_va1)
110     c real adc1(nviews,nva1_view,nstrips_va1)!per check della compressione
111    
112     common/adc_value/adc
113     ! ,adc1!per check della compressione
114    
115    
116    
117    
118    
119    
120    
121    
122     c------------------------------------------------------------------------
123     c
124     c common noise computation
125     c
126     c------------------------------------------------------------------------
127     parameter (scut=3.)
128     c parameter (nch=50)
129     c parameter (interval=10)
130    
131     real cn(nviews,nva1_view) !common noise value
132    
133     integer clstr(nviews,nva1_view,nstrips_va1) !flag matrix to mark
134     ! strips with signal and exclude them from
135     ! common noise computation
136    
137     integer strange(nviews,nva1_view,nstrips_va1) !flag matrix to mark
138     ! strips with unusually high or low signal and
139     ! exclude them from common noise computation
140    
141     common/cn/cn,clstr,strange
142    
143    
144     c------------------------------------------------------------------------
145     c
146     c cluster seed cuts
147     c
148     c------------------------------------------------------------------------
149     parameter (clcutx=7.) !cluster seed cut (to esclude particles in CN
150     ! computation and to find clusters in data
151     ! reduction)
152     parameter (clcuty=7.)
153    
154    
155     c------------------------------------------------------------------------
156     c
157     c common noise inclusion cut
158     c
159     c------------------------------------------------------------------------
160     parameter (cnincut=2.) !cut to include strips in cluster definition
161     ! during common noise computation
162    
163    
164     c------------------------------------------------------------------------
165     c
166     c cluster finding inclusion cut
167     c
168     c------------------------------------------------------------------------
169     parameter (incutx=4.) !cut to include strips in cluster definition
170     ! during cluster finding procedure
171     parameter (incuty=4.)
172    
173    
174     c------------------------------------------------------------------------
175     c
176     c eta-i computation
177     c
178     c------------------------------------------------------------------------
179     c parameter (nn=100) !eta function histos id number
180    
181     c real eta2(nclstrmax),eta3(nclstrmax),eta4(nclstrmax) !eta-i arrays
182    
183     c common/eta/eta2,eta3,eta4
184    
185    
186     parameter (id_hi_eta2=200000)
187     parameter (id_hi_eta3=300000)
188     parameter (id_hi_eta4=400000)
189    
190    
191    
192     c------------------------------------------------------------------------
193     c
194     c track selection for alignment
195     c
196     c------------------------------------------------------------------------
197     parameter (id_hi_residuals=10000) !residuals histos id number
198    
199     parameter (nnn=1000) !chi square histos id number
200    
201     real reslim(28) !tagli sulla buona traccia
202    
203     real resX1min,resX1max !tagli sugli scarti per decidere tracce buone
204     real resX2min,resX2max
205     real resX3min,resX3max
206     real resX4min,resX4max
207     real resX5min,resX5max
208     real resX6min,resX6max
209     real resY1min,resY1max
210     real resY2min,resY2max
211     real resY3min,resY3max
212     real resY4min,resY4max
213     real resY5min,resY5max
214     real resY6min,resY6max
215     real chiXmin,chiXmax
216     real chiYmin,chiYmax
217    
218     equivalence (reslim(1),resX1min),(reslim(2),resX1max),
219     + (reslim(3),resX2min),(reslim(4),resX2max),
220     + (reslim(5),resX3min),(reslim(6),resX3max),
221     + (reslim(7),resX4min),(reslim(8),resX4max),
222     + (reslim(9),resX5min),(reslim(10),resX5max),
223     + (reslim(9),resX6min),(reslim(10),resX6max),
224     + (reslim(11),resY1min),(reslim(12),resY1max),
225     + (reslim(13),resY2min),(reslim(14),resY2max),
226     + (reslim(15),resY3min),(reslim(16),resY3max),
227     + (reslim(17),resY4min),(reslim(18),resY4max),
228     + (reslim(19),resY5min),(reslim(20),resY5max),
229     + (reslim(19),resY6min),(reslim(20),resY6max),
230     + (reslim(21),chiXmin),(reslim(22),chiXmax),
231     + (reslim(23),chiYmin),(reslim(24),chiYmax)
232    
233    
234     c------------------------------------------------------------------------
235     c
236     c magnetic field
237     c
238     c------------------------------------------------------------------------
239     parameter (nx=29, ny=23, nz=101) !number of measures along X, Y and Z axes
240    
241     real*8 px(nx,3),py(ny,3),pz(nz,3) !coordinates of measure points:
242     ! e.g. py(ny,1) = Y coordinates of Bx (=1)
243     ! component of magnetic field
244    
245     real*8 b(nx,ny,nz,3),db(nx,ny,nz,3) !magnetic field values and error:
246     ! e.g. b(nx,ny,nz,2) = By (=2) component of
247     ! magnetic field measured in (nx, ny, nz)
248    
249     common/interpolation/px,py,pz,b,db
250    
251    
252     c MECH_POS block:
253     real x_mech_sensor(6,3,2) !mechanical project coordinates of silicon
254     real y_mech_sensor(6,3,2) ! sensors centres (plane, ladderX, ladderY)
255     real z_mech_sensor(6,3,2) ! in millimeters (ladderY=1 if near the hybrid,
256     common/mechanical_positions/
257     $ x_mech_sensor,y_mech_sensor,z_mech_sensor
258     ! =2 if far from it)
259    
260    
261     c ALIGNP block:
262     c silicon sensors alignment parameters:
263     real dx_sensor(6,3,2) !X translations (plane, ladderX, ladderY)
264     real dy_sensor(6,3,2) !Y translations
265     real dz_sensor(6,3,2) !Z translations
266     real omega_sensor(6,3,2) !Z axis rotation angle
267     real beta_sensor(6,3,2) !X axis rotation angle
268     real gamma_sensor(6,3,2) !Y axis rotation angle
269    
270     common/allign_parameters/dx_sensor,dy_sensor,dz_sensor
271     $ ,omega_sensor,beta_sensor,gamma_sensor

  ViewVC Help
Powered by ViewVC 1.1.23