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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 5.1 - (show 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
Error occurred while calculating annotation data.
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 ************************************************************************
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