--- /dev/null
+ET1/D:ET2/D:ET3/D:PeakPosition/D:FWHM/D:CorrFWHM/D:RelFWHM/D:Sigma/D:AnodeCurrent/D:CathodeCurrent/D:IB/D:UGEM3/D:UGEM4/D:UGEM1/D:UGEM2/D:Gain/D:ET4/D:UGEM3overUGEM4/D:ET2Scan/I:ET3Scan/I:GEM1Scan/I:GEM2Scan/I:UGEM3overUGEM4Scan/I
+4000 100 100 842 330 329.3 39.1 16.64 64.6 0.93 1.44 300 377 225 235 2000 4000 0.8 1 0 0 0 0
+4000 200 100 832 310 309.3 37.2 15.82 64.7 1.14 1.76 291 364 225 235 2000 4000 0.8 1 0 0 0 0
+4000 400 100 828 315 314.3 38.0 16.15 65.5 0.87 1.33 292 367 225 235 2000 4000 0.8 1 0 0 0 0
+4000 600 100 838 321 320.3 38.2 16.26 65.9 0.66 1.00 294 372 225 235 2000 4000 0.8 1 0 0 0 0
+4000 800 100 829 325 324.3 39.1 16.65 64.9 0.53 0.82 296 375 225 235 2000 4000 0.8 1 0 0 0 0
+4000 1000 100 832 327 326.3 39.2 16.69 64.9 0.44 0.68 298 377 225 235 2000 4000 0.8 1 0 0 0 0
+4000 1200 100 842 339 338.3 40.2 17.10 64.7 0.38 0.59 300 380 225 235 2000 4000 0.8 1 0 0 0 0
+4000 1400 100 842 343 342.3 40.7 17.30 64.7 0.34 0.53 301 381 225 235 2000 4000 0.8 1 0 0 0 0
+4000 1600 100 832 341 340.3 40.9 17.41 63.7 0.30 0.47 301 382 225 235 2000 4000 0.8 1 0 0 0 0
+4000 1800 100 841 345 344.3 40.9 17.42 64.7 0.27 0.42 302 383 225 235 2000 4000 0.8 1 0 0 0 0
+4000 2000 100 835 345 344.3 41.2 17.55 63.9 0.25 0.39 303 383 225 235 2000 4000 0.8 1 0 0 0 0
+4000 2200 100 831 346 345.3 41.6 17.68 63.7 0.24 0.38 304 383 225 235 2000 4000 0.8 1 0 0 0 0
+4000 2400 100 828 348 347.3 41.9 17.85 63.5 0.22 0.35 305 383 225 235 2000 4000 0.8 1 0 0 0 0
+4000 2600 100 826 347 346.3 41.9 17.84 63.2 0.21 0.33 306 383 225 235 2000 4000 0.8 1 0 0 0 0
+4000 100 100 834 324 323.3 38.8 16.5 66.3 1.15 1.73 301 377 225 235 2000 4000 0.8 0 1 0 0 0
+4000 100 200 841 328 327.3 38.9 16.6 66.4 1.27 1.91 291 364 225 235 2000 4000 0.8 0 1 0 0 0
+4000 100 400 829 320 319.3 38.5 16.4 64.9 1.27 1.96 284 355 225 235 2000 4000 0.8 0 1 0 0 0
+4000 100 600 826 321 320.3 38.8 16.5 64.4 1.23 1.91 281 351 225 235 2000 4000 0.8 0 1 0 0 0
+4000 100 800 837 321 320.3 38.3 16.3 65.1 1.21 1.86 279 349 225 235 2000 4000 0.8 0 1 0 0 0
+4000 100 1000 839 325 324.3 38.7 16.4 56.8 1.20 1.82 279 347 225 235 2000 4000 0.8 0 1 0 0 0
+4000 100 1200 840 325 324.3 38.6 16.4 65.9 1.18 1.79 277 346 225 235 2000 4000 0.8 0 1 0 0 0
+4000 100 1400 834 324 323.3 38.8 16.5 65.2 1.15 1.76 276 344 225 235 2000 4000 0.8 0 1 0 0 0
+4000 100 1600 840 325 324.3 38.6 16.4 65.7 1.14 1.74 275 343 225 235 2000 4000 0.8 0 1 0 0 0
+4000 100 1800 827 318 317.3 38.4 16.3 64.5 1.11 1.72 273 342 225 235 2000 4000 0.8 0 1 0 0 0
+4000 100 2000 834 323 322.3 38.6 16.4 64.8 1.10 1.7 273 341 225 235 2000 4000 0.8 0 1 0 0 0
+4000 100 2200 836 324 323.3 38.7 16.5 64.7 1.08 1.67 273 341 225 235 2000 4000 0.8 0 1 0 0 0
+4000 100 2400 845 326 325.3 38.5 16.4 65.9 1.06 1.61 273 342 225 235 2000 4000 0.8 0 1 0 0 0
+4000 100 2600 838 326 325.3 38.8 16.5 65.2 1.03 1.58 273 342 225 235 2000 4000 0.8 0 1 0 0 0
+4000 100 2800 832 325 324.3 39.0 16.6 64.5 1.00 1.55 273 342 225 235 2000 4000 0.8 0 1 0 0 0
+4000 100 3000 844 325 324.3 38.4 16.4 65.1 0.98 1.51 274 342 225 235 2000 4000 0.8 0 1 0 0 0
+4000 100 3200 833 324 323.3 38.8 16.5 64.1 0.94 1.47 274 342 225 235 2000 4000 0.8 0 1 0 0 0
+4000 2000 100 837 336 335.31 40.06 17.0 67.1 0.23 0.34 304 382 225 235 2000 4000 0.8 0 0 1 0 0
+4000 2000 100 831 311 310.26 37.34 15.9 65.4 0.26 0.40 301 374 235 235 2000 4000 0.8 0 0 1 0 0
+4000 2000 100 838 292 291.21 34.75 14.8 65.8 0.29 0.44 296 370 245 235 2000 4000 0.8 0 0 1 0 0
+4000 2000 100 828 269 268.14 32.38 13.8 65.1 0.33 0.51 292 364 255 235 2000 4000 0.8 0 0 1 0 0
+4000 2000 100 833 257 256.10 30.74 13.1 65.6 0.37 0.56 287 360 265 235 2000 4000 0.8 0 0 1 0 0
+4000 2000 100 831 238 237.03 28.52 12.1 66 0.43 0.65 284 354 275 235 2000 4000 0.8 0 0 1 0 0
+4000 2000 100 839 228 226.98 27.05 11.5 66.8 0.49 0.73 280 349 285 235 2000 4000 0.8 0 0 1 0 0
+4000 2000 100 827 215 213.92 25.87 11.0 66.1 0.57 0.86 275 344 295 235 2000 4000 0.8 0 0 1 0 0
+4000 2000 100 834 205 203.87 24.44 10.4 67.3 0.66 0.98 271 339 305 235 2000 4000 0.8 0 0 1 0 0
+4000 2000 100 839 197 195.82 23.34 9.9 68.3 0.775 1.13 267 334 315 235 2000 4000 0.8 0 0 1 0 0
+4000 2000 100 834 305 304.24 36.48 15.5 66.8 0.29 0.43 292 365 225 255 2000 4000 0.8 0 0 1 0 0
+4000 2000 100 829 284 283.19 34.16 14.5 66.2 0.32 0.48 288 359 235 255 2000 4000 0.8 0 0 1 0 0
+4000 2000 100 835 267 266.13 31.87 13.6 67 0.36 0.54 285 354 245 255 2000 4000 0.8 0 0 1 0 0
+4000 2000 100 844 254 253.09 29.99 12.8 67.6 0.41 0.61 280 250 255 255 2000 4000 0.8 0 0 1 0 0
+4000 2000 100 831 236 235.02 28.28 12.0 67.1 0.47 0.70 276 344 265 255 2000 4000 0.8 0 0 1 0 0
+4000 2000 100 827 222 220.96 26.72 11.4 68.2 0.54 0.79 272 339 275 255 2000 4000 0.8 0 0 1 0 0
+4000 2000 100 840 213 211.91 25.23 10.7 69.6 0.63 0.91 268 334 285 255 2000 4000 0.8 0 0 1 0 0
+4000 2000 100 829 202 200.85 24.23 10.3 69.3 0.73 1.05 263 329 295 255 2000 4000 0.8 0 0 1 0 0
+4000 2000 100 835 194 192.80 23.09 9.8 70.8 0.86 1.21 259 323 305 255 2000 4000 0.8 0 0 1 0 0
+4000 2000 100 842 189 187.77 22.30 9.5 72.3 1.01 1.40 255 319 315 255 2000 4000 0.8 0 0 1 0 0
+4000 2000 100 828 275 274.16 33.11 14.1 67.2 0.39 0.58 278 346 225 285 2000 4000 0.8 0 0 1 0 0
+4000 2000 100 834 258 257.10 30.83 13.1 68.3 0.45 0.66 273 242 235 285 2000 4000 0.8 0 0 1 0 0
+4000 2000 100 827 242 241.04 29.15 12.4 67.8 0.51 0.75 269 336 245 285 2000 4000 0.8 0 0 1 0 0
+4000 2000 100 836 231 230.00 27.51 11.7 68.8 0.59 0.86 266 330 255 285 2000 4000 0.8 0 0 1 0 0
+4000 2000 100 839 219 217.94 25.98 11.1 69.8 0.68 0.97 261 326 265 285 2000 4000 0.8 0 0 1 0 0
+4000 2000 100 829 208 206.89 24.96 10.6 69.6 0.79 1.14 256 321 275 285 2000 4000 0.8 0 0 1 0 0
+4000 2000 100 833 199 197.84 23.75 10.1 70.9 0.925 1.30 252 316 285 285 2000 4000 0.8 0 0 1 0 0
+4000 2000 100 837 192 190.79 22.79 9.7 72.4 1.09 1.51 248 311 295 285 2000 4000 0.8 0 0 1 0 0
+4000 2000 100 843 186 184.75 21.92 9.3 74.1 1.29 1.74 244 306 305 285 2000 4000 0.8 0 0 1 0 0
+4000 2000 100 832 180 178.71 21.48 9.1 74.2 1.52 2.05 240 300 315 285 2000 4000 0.8 0 0 1 0 0
+4000 2000 100 836 324 323.29 38.67 16.5 65.1 0.27 0.41 331 348 225 235 2000 4000 0.95 0 0 1 0 0
+4000 2000 100 842 304 303.24 36.01 15.3 65.3 0.3 0.46 326 343 235 235 2000 4000 0.95 0 0 1 0 0
+4000 2000 100 835 283 282.18 33.79 14.4 64.4 0.34 0.53 321 338 245 235 2000 4000 0.95 0 0 1 0 0
+4000 2000 100 828 264 263.12 31.78 13.5 63.9 0.38 0.59 316 333 255 235 2000 4000 0.95 0 0 1 0 0
+4000 2000 100 832 249 248.07 29.82 12.7 64.6 0.43 0.67 312 328 265 235 2000 4000 0.95 0 0 1 0 0
+4000 2000 100 835 236 235.02 28.15 12.0 64.8 0.49 0.76 308 323 275 235 2000 4000 0.95 0 0 1 0 0
+4000 2000 100 841 225 223.97 26.63 11.3 65.7 0.56 0.85 303 319 285 235 2000 4000 0.95 0 0 1 0 0
+4000 2000 100 829 212 210.91 25.44 10.8 65 0.64 0.98 298 314 295 235 2000 4000 0.95 0 0 1 0 0
+4000 2000 100 832 204 202.86 24.38 10.4 66 0.74 1.12 294 309 305 235 2000 4000 0.95 0 0 1 0 0
+4000 2000 100 830 193 191.80 23.11 9.8 66.6 0.86 1.29 289 305 315 235 2000 4000 0.95 0 0 1 0 0
+4000 2000 100 841 298 297.22 35.34 15.0 63.6 0.33 0.52 320 336 225 255 2000 4000 0.95 0 0 1 0 0
+4000 2000 100 835 278 277.17 33.19 14.1 62.9 0.36 0.57 315 331 235 255 2000 4000 0.95 0 0 1 0 0
+4000 2000 100 837 262 261.12 31.20 13.3 63.2 0.4 0.63 310 327 245 255 2000 4000 0.95 0 0 1 0 0
+4000 2000 100 843 250 249.07 29.55 12.6 64.5 0.47 0.73 306 322 255 255 2000 4000 0.95 0 0 1 0 0
+4000 2000 100 833 235 234.01 28.09 12.0 63.8 0.52 0.82 301 317 265 255 2000 4000 0.95 0 0 1 0 0
+4000 2000 100 837 224 222.97 26.64 11.3 64.6 0.6 0.93 297 312 275 255 2000 4000 0.95 0 0 1 0 0
+4000 2000 100 826 212 210.91 25.53 10.9 64 0.69 1.08 292 307 285 255 2000 4000 0.95 0 0 1 0 0
+4000 2000 100 828 205 203.87 24.62 10.5 64.7 0.79 1.22 287 303 295 255 2000 4000 0.95 0 0 1 0 0
+4000 2000 100 832 199 197.84 23.78 10.1 65.8 0.92 1.40 283 298 305 255 2000 4000 0.95 0 0 1 0 0
+4000 2000 100 836 193 191.80 22.94 9.8 66.9 1.1 1.64 279 293 315 255 2000 4000 0.95 0 0 1 0 0
+4000 2000 100 831 271 270.15 32.51 13.8 62.4 0.44 0.71 302 319 225 285 2000 4000 0.95 0 0 1 0 0
+4000 2000 100 830 251 250.08 30.13 12.8 62.7 0.5 0.80 298 314 235 285 2000 4000 0.95 0 0 1 0 0
+4000 2000 100 832 236 235.02 28.25 12.0 63.2 0.57 0.90 294 309 245 285 2000 4000 0.95 0 0 1 0 0
+4000 2000 100 835 228 226.98 27.18 11.6 63.9 0.64 1.00 289 305 255 285 2000 4000 0.95 0 0 1 0 0
+4000 2000 100 837 217 215.93 25.80 11.0 64.6 0.74 1.15 285 300 265 285 2000 4000 0.95 0 0 1 0 0
+4000 2000 100 840 206 204.87 24.39 10.4 65.6 0.86 1.31 281 295 275 285 2000 4000 0.95 0 0 1 0 0
+4000 2000 100 841 200 198.84 23.64 10.1 66.7 1 1.50 276 291 285 285 2000 4000 0.95 0 0 1 0 0
+4000 2000 100 826 188 186.77 22.61 9.6 66.5 1.2 1.80 272 285 295 285 2000 4000 0.95 0 0 1 0 0
+4000 2000 100 828 183 181.73 21.95 9.3 67.5 1.4 2.07 267 281 305 285 2000 4000 0.95 0 0 1 0 0
+4000 2000 100 835 179 177.70 21.28 9.1 69 1.6 2.32 263 276 315 285 2000 4000 0.95 0 0 1 0 0
+4000 2000 100 834 336 335.31 40.21 17.1 67.6 0.23 0.34 304 381 225 235 2000 4000 0.8 0 0 0 1 0
+4000 2000 100 839 322 321.28 38.29 16.3 67.8 0.26 0.38 299 374 225 245 2000 4000 0.8 0 0 0 1 0
+4000 2000 100 833 305 304.24 36.52 15.5 67.1 0.28 0.42 294 367 225 255 2000 4000 0.8 0 0 0 1 0
+4000 2000 100 842 299 298.23 35.42 15.1 67.7 0.3 0.44 289 361 225 265 2000 4000 0.8 0 0 0 1 0
+4000 2000 100 839 290 289.20 34.47 14.7 67.9 0.34 0.50 284 355 225 275 2000 4000 0.8 0 0 0 1 0
+4000 2000 100 833 281 280.18 33.63 14.3 67.2 0.38 0.57 279 348 225 285 2000 4000 0.8 0 0 0 1 0
+4000 2000 100 837 273 272.15 32.52 13.8 67.8 0.43 0.63 274 342 225 295 2000 4000 0.8 0 0 0 1 0
+4000 2000 100 839 268 267.14 31.84 13.5 68.3 0.49 0.72 269 335 225 305 2000 4000 0.8 0 0 0 1 0
+4000 2000 100 841 263 262.12 31.17 13.3 69 0.56 0.81 264 329 225 315 2000 4000 0.8 0 0 0 1 0
+4000 2000 100 841 261 260.11 30.93 13.2 70 0.66 0.94 259 323 225 325 2000 4000 0.8 0 0 0 1 0
+4000 2000 100 842 258 257.10 30.53 13.0 70.9 0.77 1.09 254 317 225 335 2000 4000 0.8 0 0 0 1 0
+4000 2000 100 838 249 248.07 29.60 12.6 71.6 0.9 1.26 249 311 225 345 2000 4000 0.8 0 0 0 1 0
+4000 2000 100 835 270 269.14 32.23 13.7 67 0.34 0.51 290 362 255 235 2000 4000 0.8 0 0 0 1 0
+4000 2000 100 839 266 265.13 31.60 13.4 67.9 0.37 0.54 285 357 255 245 2000 4000 0.8 0 0 0 1 0
+4000 2000 100 842 262 261.12 31.01 13.2 68.4 0.41 0.60 280 351 255 255 2000 4000 0.8 0 0 0 1 0
+4000 2000 100 829 248 247.07 29.80 12.7 67.8 0.46 0.68 275 344 255 265 2000 4000 0.8 0 0 0 1 0
+4000 2000 100 832 241 240.04 28.85 12.3 68.4 0.51 0.75 270 338 255 275 2000 4000 0.8 0 0 0 1 0
+4000 2000 100 837 235 234.01 27.96 11.9 69.3 0.59 0.85 265 332 255 285 2000 4000 0.8 0 0 0 1 0
+4000 2000 100 839 231 230.00 27.41 11.7 70.2 0.67 0.95 260 326 255 295 2000 4000 0.8 0 0 0 1 0
+4000 2000 100 838 227 225.98 26.97 11.5 71 0.78 1.10 256 319 255 305 2000 4000 0.8 0 0 0 1 0
+4000 2000 100 834 223 221.96 26.61 11.3 71.7 0.91 1.27 251 313 255 315 2000 4000 0.8 0 0 0 1 0
+4000 2000 100 830 218 216.94 26.14 11.1 72.4 1.06 1.46 246 307 255 325 2000 4000 0.8 0 0 0 1 0
+4000 2000 100 829 215 213.92 25.80 11.0 73.4 1.24 1.69 241 301 255 335 2000 4000 0.8 0 0 0 1 0
+4000 2000 100 842 215 213.92 25.41 10.8 75.8 1.48 1.95 237 295 255 345 2000 4000 0.8 0 0 0 1 0
+4000 2000 100 831 238 237.03 28.52 12.1 66 0.43 0.65 284 354 275 235 2000 4000 0.8 0 0 0 1 0
+4000 2000 100 831 234 233.01 28.04 11.9 66 0.47 0.71 278 348 275 245 2000 4000 0.8 0 0 0 1 0
+4000 2000 100 834 227 225.98 27.10 11.5 66.6 0.52 0.78 273 342 275 255 2000 4000 0.8 0 0 0 1 0
+4000 2000 100 842 225 223.97 26.60 11.3 67.6 0.58 0.86 268 336 275 265 2000 4000 0.8 0 0 0 1 0
+4000 2000 100 842 218 216.94 25.76 11.0 68.2 0.66 0.97 264 329 275 275 2000 4000 0.8 0 0 0 1 0
+4000 2000 100 834 211 209.90 25.17 10.7 68.2 0.76 1.11 259 323 275 285 2000 4000 0.8 0 0 0 1 0
+4000 2000 100 830 203 201.86 24.32 10.3 70.8 0.92 1.30 252 314 275 295 2000 4000 0.8 0 0 0 1 0
+4000 2000 100 830 199 197.84 23.84 10.1 71.8 1.06 1.48 247 308 275 305 2000 4000 0.8 0 0 0 1 0
+4000 2000 100 831 199 197.84 23.81 10.1 73.5 1.25 1.70 243 302 275 315 2000 4000 0.8 0 0 0 1 0
+4000 2000 100 828 196 194.82 23.53 10.0 74.1 1.46 1.97 237 297 275 325 2000 4000 0.8 0 0 0 1 0
+4000 2000 100 843 195 193.81 22.99 9.8 76.6 1.73 2.26 233 291 275 335 2000 4000 0.8 0 0 0 1 0
+4000 2000 100 839 195 193.81 23.10 9.8 77.3 2.05 2.65 228 285 275 345 2000 4000 0.8 0 0 0 1 0
+4000 2000 100 837 336 335.31 40.06 17.0 67.1 0.23 0.34 304 382 225 235 2000 4000 0.80 0 0 0 0 1
+4000 2000 100 837 335 334.31 39.94 17.0 67 0.23 0.34 307 379 225 235 2000 4000 0.81 0 0 0 0 1
+4000 2000 100 837 335 334.31 39.94 17.0 67.6 0.245 0.36 317 368 225 235 2000 4000 0.86 0 0 0 0 1
+4000 2000 100 845 334 333.31 39.44 16.8 68.3 0.26 0.38 327 358 225 235 2000 4000 0.91 0 0 0 0 1
+4000 2000 100 829 325 324.29 39.12 16.6 66.5 0.28 0.42 337 346 225 235 2000 4000 0.97 0 0 0 0 1
+4000 2000 100 826 325 324.29 39.26 16.7 66.5 0.29 0.44 341 342 225 235 2000 4000 1.00 0 0 0 0 1
+4000 2000 100 839 325 324.29 38.65 16.4 67.5 0.31 0.46 350 333 225 235 2000 4000 1.05 0 0 0 0 1
+
#include "AliTrackerBase.h"
#include "TDatabasePDG.h"
#include "TROOT.h"
+#include "AliMathBase.h"
+#include "TLatex.h"
//
// constants
//
}
}
+void SetGraphTDRStyle(TGraph * graph){
+ graph->GetXaxis()->SetLabelSize(0.08);
+ graph->GetXaxis()->SetTitleSize(0.08);
+ graph->GetYaxis()->SetLabelSize(0.08);
+ graph->GetYaxis()->SetTitleSize(0.08);
+ graph->GetXaxis()->SetNdivisions(505);
+ graph->GetYaxis()->SetNdivisions(510);
+}
Double_t RndmdNchdY(Double_t s){
//
void MakeLocalDistortionPlots(Int_t npoints, Int_t npointsZ){
//
+ // Macro to make trees with local distortions
+ // Results are later visualized in the function DrawLocalDistortionPlots()
//
TTreeSRedirector *pcstream = new TTreeSRedirector("localBins.root","update");
TFile *fCurrent = TFile::Open("SpaceChargeFluc10_1.root");
//
//
TVectorD vecDMeanRPhi(20), vecDMeanR(20), vecDMeanZ(20), vecDPhi(20);
+ TVectorD vecDMeanRPhiBinR(20), vecDMeanRBinR(20), vecDMeanZBinR(20), vecDBinR(20);
+ TVectorD vecDMeanRPhiBinZ(20), vecDMeanRBinZ(20), vecDMeanZBinZ(20), vecDBinZ(20);
+
for (Int_t ideltaBin=0; ideltaBin<20; ideltaBin++){
Double_t deltaPhi=ideltaBin*TMath::TwoPi()/360.;
+ Double_t deltaZ=ideltaBin*2;
+ Double_t deltaR=ideltaBin*2;
+ //
vecDPhi[ideltaBin]=deltaPhi;
vecDMeanRPhi[ideltaBin]=0;
vecDMeanR[ideltaBin]=0;
vecDMeanZ[ideltaBin]=0;
-
- for (Int_t i=-2; i<=2; i++){
- vecDMeanR[ideltaBin]+=0.2*(distortion->GetCorrXYZ(r0*TMath::Cos(phi0+deltaPhi*i), r0*TMath::Sin(phi0+deltaPhi*i), z0,0,1)-rNorm*distortion->GetCorrXYZ(r0*TMath::Cos(phi0+deltaPhi*i), r0*TMath::Sin(phi0+deltaPhi*i), z0,0,2));
- vecDMeanRPhi[ideltaBin]+=0.2*(distortion->GetCorrXYZ(r0*TMath::Cos(phi0+deltaPhi*i), r0*TMath::Sin(phi0+deltaPhi*i), z0,1,1)-rphiNorm*distortion->GetCorrXYZ(r0*TMath::Cos(phi0+deltaPhi*i), r0*TMath::Sin(phi0+deltaPhi*i), z0,1,2));
- vecDMeanZ[ideltaBin]+=0.2*(distortion->GetCorrXYZ(r0*TMath::Cos(phi0+deltaPhi*i), r0*TMath::Sin(phi0+deltaPhi*i), z0,2,1)-zNorm*distortion->GetCorrXYZ(r0*TMath::Cos(phi0+deltaPhi*i), r0*TMath::Sin(phi0+deltaPhi*i), z0,2,2));
+ //
+ vecDBinR[ideltaBin]=deltaR;
+ vecDMeanRPhiBinR[ideltaBin]=0;
+ vecDMeanRBinR[ideltaBin]=0;
+ vecDMeanZBinR[ideltaBin]=0;
+ //
+ //
+ vecDBinZ[ideltaBin]=deltaZ;
+ vecDMeanRPhiBinZ[ideltaBin]=0;
+ vecDMeanRBinZ[ideltaBin]=0;
+ vecDMeanZBinZ[ideltaBin]=0;
+ //
+ Double_t norm=1./9.;
+ for (Int_t idelta=-4; idelta<=4; idelta++){
+ Double_t i=(idelta/4.);
+ Double_t phi1= phi0+deltaPhi*i;
+ Double_t r1= r0+deltaR*i;
+ Double_t z1= z0+deltaZ*i;
+ if (z1*z0<0) z1=z0;
+ if (z1>245) z1=245;
+ if (z1<-245) z1=-245;
+ if (r1<85) r1=85;
+ if (r1>245) r1=245;
+ //
+ //
+ vecDMeanR[ideltaBin]+=norm*(distortion->GetCorrXYZ(r0*TMath::Cos(phi1), r0*TMath::Sin(phi1), z0,0,1)-rNorm*distortion->GetCorrXYZ(r0*TMath::Cos(phi1), r0*TMath::Sin(phi1), z0,0,2));
+ vecDMeanRPhi[ideltaBin]+=norm*(distortion->GetCorrXYZ(r0*TMath::Cos(phi1), r0*TMath::Sin(phi1), z0,1,1)-rphiNorm*distortion->GetCorrXYZ(r0*TMath::Cos(phi1), r0*TMath::Sin(phi1), z0,1,2));
+ vecDMeanZ[ideltaBin]+=norm*(distortion->GetCorrXYZ(r0*TMath::Cos(phi1), r0*TMath::Sin(phi1), z0,2,1)-zNorm*distortion->GetCorrXYZ(r0*TMath::Cos(phi1), r0*TMath::Sin(phi1), z0,2,2));
+ //
+ //
+ //
+ vecDMeanRBinR[ideltaBin]+=norm*(distortion->GetCorrXYZ(r1*TMath::Cos(phi0), r1*TMath::Sin(phi0), z0,0,1)-rNorm*distortion->GetCorrXYZ(r1*TMath::Cos(phi0), r1*TMath::Sin(phi0), z0,0,2));
+ vecDMeanRPhiBinR[ideltaBin]+=norm*(distortion->GetCorrXYZ(r1*TMath::Cos(phi0), r1*TMath::Sin(phi0), z0,1,1)-rphiNorm*distortion->GetCorrXYZ(r1*TMath::Cos(phi0), r1*TMath::Sin(phi0), z0,1,2));
+ vecDMeanZBinR[ideltaBin]+=norm*(distortion->GetCorrXYZ(r1*TMath::Cos(phi0), r1*TMath::Sin(phi0), z0,2,1)-zNorm*distortion->GetCorrXYZ(r1*TMath::Cos(phi0), r1*TMath::Sin(phi0), z0,2,2));
+ //
+ //
+ vecDMeanRBinZ[ideltaBin]+=norm*(distortion->GetCorrXYZ(r0*TMath::Cos(phi0), r0*TMath::Sin(phi0), z1,0,1)-rNorm*distortion->GetCorrXYZ(r0*TMath::Cos(phi0), r0*TMath::Sin(phi0), z1,0,2));
+ vecDMeanRPhiBinZ[ideltaBin]+=norm*(distortion->GetCorrXYZ(r0*TMath::Cos(phi0), r0*TMath::Sin(phi0), z1,1,1)-rphiNorm*distortion->GetCorrXYZ(r0*TMath::Cos(phi0), r0*TMath::Sin(phi0), z1,1,2));
+ vecDMeanZBinZ[ideltaBin]+=norm*(distortion->GetCorrXYZ(r0*TMath::Cos(phi0), r0*TMath::Sin(phi0), z1,2,1)-zNorm*distortion->GetCorrXYZ(r0*TMath::Cos(phi0), r0*TMath::Sin(phi0), z1,2,2));
+
}
}
+
+ TVectorD vecDMeanRPhiRND(40), vecDMeanRRND(40), vecDMeanZRND(40), vecPhiRND(40), vecZRND(40), vecRRND(40);
+ Int_t nintegral=25;
+ Double_t norm=1./Double_t(nintegral);
+ for (Int_t ideltaBin=0; ideltaBin<40; ideltaBin++){
+ vecDMeanRPhiRND[ideltaBin]=0;
+ vecDMeanRRND[ideltaBin]=0;
+ vecDMeanZRND[ideltaBin]=0;
+ vecPhiRND[ideltaBin]=gRandom->Rndm()*0.3;
+ vecZRND[ideltaBin] =gRandom->Rndm()*30;
+ vecRRND[ideltaBin] =gRandom->Rndm()*30;
+ for (Int_t ipoint=0; ipoint<nintegral; ipoint++){
+ Double_t phi1=phi0+2*(gRandom->Rndm()-0.5)*vecPhiRND[ideltaBin];
+ Double_t z1=z0+2*(gRandom->Rndm()-0.5)*vecZRND[ideltaBin];
+ Double_t r1=r0+2*(gRandom->Rndm()-0.5)*vecRRND[ideltaBin];
+ vecDMeanRRND[ideltaBin]+=norm*(distortion->GetCorrXYZ(r1*TMath::Cos(phi1), r1*TMath::Sin(phi1), z1,0,1)-rNorm*distortion->GetCorrXYZ(r1*TMath::Cos(phi1), r1*TMath::Sin(phi1), z1,0,2));
+ vecDMeanRPhiRND[ideltaBin]+=norm*(distortion->GetCorrXYZ(r1*TMath::Cos(phi1), r1*TMath::Sin(phi1), z1,1,1)-rphiNorm*distortion->GetCorrXYZ(r1*TMath::Cos(phi1), r1*TMath::Sin(phi1), z1,1,2));
+ vecDMeanZRND[ideltaBin]+=norm*(distortion->GetCorrXYZ(r1*TMath::Cos(phi1), r1*TMath::Sin(phi1), z1,2,1)-zNorm*distortion->GetCorrXYZ(r1*TMath::Cos(phi1), r1*TMath::Sin(phi1), z1,2,2));
+ }
+ }
+
+
+
+
(*pcstream)<<"meanDistortion"<<
+ "npoints="<<npoints<< // number of points genrated per file
+ "npointsZ="<<npointsZ<< // number of points generated to fit z bin
"izNorm="<<izNorm<< // z normalizatio flag
"fSector="<<fSector<< // sector position
"dSector="<<dSector<< // distance to the sector boundary
//
- "r0="<<r0<<
+ "r0="<<r0<< // r0 at center
"z0="<<z0<<
"phi0="<<phi0<<
//
"vecDMeanR.="<<&vecDMeanR<<
"vecDMeanZ.="<<&vecDMeanZ<<
"vecDPhi.="<<&vecDPhi<<
+ //
+ "vecDMeanRPhiBinZ.="<<&vecDMeanRPhiBinZ<<
+ "vecDMeanRBinZ.="<<&vecDMeanRBinZ<<
+ "vecDMeanZBinZ.="<<&vecDMeanZBinZ<<
+ "vecDBinZ.="<<&vecDBinZ<<
+ //
+ "vecDMeanRPhiBinR.="<<&vecDMeanRPhiBinR<<
+ "vecDMeanRBinR.="<<&vecDMeanRBinR<<
+ "vecDMeanZBinR.="<<&vecDMeanZBinR<<
+ "vecDBinR.="<<&vecDBinR<<
+ //
+ "vecDMeanRPhiRND.="<<&vecDMeanRPhiRND<<
+ "vecDMeanRRND.="<<&vecDMeanRRND<<
+ "vecDMeanZRND.="<<&vecDMeanZRND<<
+ "vecPhiRND.="<<&vecPhiRND<<
+ "vecZRND.="<<&vecZRND<<
+ "vecRRND.="<<&vecRRND<<
"\n";
+ //TVectorD vecDMeanRPhiRND(10), vecDMeanRRND(10), vecDMeanZRND(10), vecPhiRND(10), vecZRND(10), vecRRND(10);
}
}
delete pcstream;
TTree * meanNormZ = (TTree*) pcstream->GetFile()->Get("meanNormZ");
TTree * meanDistortion = (TTree*) pcstream->GetFile()->Get("meanDistortion");
meanNormZ->SetMarkerStyle(25); meanNormZ->SetMarkerSize(0.5);
+ meanDistortion->SetMarkerStyle(25); meanDistortion->SetMarkerSize(0.5);
Int_t colors[5]={1,2,3,4,6};
Int_t markers[5]={21,20,23,24,25};
TH2 * his2D;
hisRResPhi->GetXaxis()->SetTitle("#Delta#phi bin width");
hisRResPhi->GetYaxis()->SetTitle("#sigma_{res} (cm)");
hisRResPhi->SetMinimum(0);
- hisRResPhi->SetMaximum(1.5*hisRResPhi->GetMaximum());
+ hisRResPhi->SetMaximum(2.*hisRResPhi->GetMaximum());
gStyle->SetOptStat(0);
TCanvas * canvasResidualsFitPhi = new TCanvas("canvasResidualsFitPhi","canvasResidualsFitPhi",600,500);
TLegend * legendRRPhiFitSigmaPhi = new TLegend(0.2,0.6,0.88,0.88,"Distortion residuals-mean in bin. RMS((#Delta-c(z)#Delta_{ref})) (|z|<85)");
legendRRPhiFitSigmaPhi->Draw();
}
- canvasResidualsFitPhi->SaveAs("canvasResidualsFitPhi.pdf"); //~/hera/alice/miranov/SpaceCharge/Fluctuations/PbPbWithGain/dirmergeAll/dEpsilon20/canvasResidualsFit.png
+ canvasResidualsFitPhi->SaveAs("canvasResidualsFitPhi.pdf"); //~/hera/alice/miranov/SpaceCharge/Fluctuations/PbPbWithGain/dirmergeAll/dEpsilon20/canvasResidualsFitPhi.png
canvasResidualsFitPhi->SaveAs("canvasResidualsFitPhi.png");
+ //
+ // 5.) Draw mean residuals
+ //
+ TCanvas *canvasResDist = new TCanvas("canvasResDist","canvasResDist",800,800);
+ canvasResDist->Divide(2,3,0,0);
+ {
+ canvasResDist->cd(1);
+ meanDistortion->Draw("vecDMeanR.fElements[2]:phi0:r0","abs(z0)<85.&&izNorm==1&&r0<120","colz",100000,0);
+ canvasResDist->cd(2);
+ meanDistortion->Draw("vecDMeanR.fElements[2]:phi0:r0","abs(z0)<85.&&izNorm==1&&r0<120","colz",100000,200000);
+ canvasResDist->cd(3);
+ meanDistortion->Draw("vecDMeanR.fElements[2]:phi0:r0","abs(z0)<85.&&izNorm==1&&r0<120","colz",100000,400000);
+ canvasResDist->cd(4);
+ meanDistortion->Draw("vecDMeanR.fElements[2]:phi0:r0","abs(z0)<85.&&izNorm==1&&r0<120","colz",100000,600000);
+ canvasResDist->cd(5);
+ meanDistortion->Draw("vecDMeanR.fElements[2]:phi0:r0","abs(z0)<85.&&izNorm==1&&r0<120","colz",100000,800000);
+ canvasResDist->cd(6);
+ meanDistortion->Draw("vecDMeanR.fElements[2]:phi0:r0","abs(z0)<85.&&izNorm==1&&r0<120","colz",100000,1000000);
+ }
+ canvasResDist->SaveAs("canvasResidualsFitGraph.pdf"); //~/hera/alice/miranov/SpaceCharge/Fluctuations/PbPbWithGain/dirmergeAll/dEpsilon20/canvasResidualsFitGraph.png
+ canvasResDist->SaveAs("canvasResidualsFitGraph.png");
+}
+void BinScan(Int_t npoints){
+
+
+ TTreeSRedirector *pcstream = new TTreeSRedirector("localBins.root","update");
+ TTree * resolScan = (TTree*)pcstream->GetFile()->Get("resolScan");
+ if (!resolScan){
+ TTree * meanNormZ = (TTree*) pcstream->GetFile()->Get("meanNormZ");
+ TTree * meanDistortion = (TTree*) pcstream->GetFile()->Get("meanDistortion");
+ // meanNormZ->SetMarkerStyle(25); meanNormZ->SetMarkerSize(0.5);
+ // meanDistortion->SetMarkerStyle(25); meanDistortion->SetMarkerSize(0.5);
+ // Int_t colors[5]={1,2,3,4,6};
+ // Int_t markers[5]={21,20,23,24,25};
+ // TH2 * his2D;
+ // TObjArray arrFit(3);
+
+ {
+ //Int_t npoints=50000;
+ TCut cutDist="abs(ddeltaR0-vecDMeanRRND.fElements)<1&&abs(ddeltaRPhi0-vecDMeanRPhiRND.fElements)<1";
+ TCut cutGeom="abs(z0)<85&&r0<120.";
+ //
+ Int_t entries1 = meanDistortion->Draw("vecZRND.fElements:vecRRND.fElements:vecPhiRND.fElements","izNorm==1"+cutGeom+cutDist,"goff",npoints);
+ TVectorD vecBR1(entries1,meanDistortion->GetV1());
+ TVectorD vecBZ1(entries1,meanDistortion->GetV2());
+ TVectorD vecBPhi1(entries1,meanDistortion->GetV3());
+ meanDistortion->Draw("ddeltaR0-vecDMeanRRND.fElements:ddeltaRPhi0-vecDMeanRPhiRND.fElements","izNorm==1"+cutGeom+cutDist,"goff",npoints);
+ TVectorD vecDR1(entries1,meanDistortion->GetV1());
+ TVectorD vecDRPhi1(entries1,meanDistortion->GetV2());
+ //
+ Int_t entries0 = meanDistortion->Draw("vecZRND.fElements:vecRRND.fElements:vecPhiRND.fElements","izNorm==0"+cutGeom+cutDist,"goff",npoints);
+ TVectorD vecBR0(entries0,meanDistortion->GetV1());
+ TVectorD vecBZ0(entries0,meanDistortion->GetV2());
+ TVectorD vecBPhi0(entries0,meanDistortion->GetV3());
+ meanDistortion->Draw("ddeltaR0-vecDMeanRRND.fElements:ddeltaRPhi0-vecDMeanRPhiRND.fElements","izNorm==0"+cutGeom+cutDist,"goff",npoints);
+ TVectorD vecDR0(entries0,meanDistortion->GetV1());
+ TVectorD vecDRPhi0(entries0,meanDistortion->GetV2());
+ //
+ TVectorD vecSelR(TMath::Max(entries0,entries1));
+ TVectorD vecSelRPhi(TMath::Max(entries0,entries1));
+ //
+ for (Int_t iz=1; iz<10; iz+=1){
+ for (Int_t ir=1; ir<10; ir+=1){
+ for (Int_t iphi=1; iphi<10; iphi++){
+ Double_t zbin=3*iz;
+ Double_t rbin=3*ir;
+ Double_t phibin=0.025*iphi;
+ Int_t counter=0;
+ //
+ counter=0;
+ for (Int_t ipoint=0; ipoint<entries1; ipoint++){
+ Bool_t isOK=TMath::Abs(vecBZ1[ipoint]/zbin-1)<0.2;
+ isOK&=TMath::Abs(vecBR1[ipoint]/rbin-1.)<0.2;
+ isOK&=TMath::Abs(vecBPhi1[ipoint]/phibin-1.)<0.2;
+ if (isOK) {
+ vecSelRPhi[counter]=vecDRPhi1[ipoint];
+ vecSelR[counter]=vecDR1[ipoint];
+ counter++;
+ }
+ }
+ Double_t meanR1=0,rmsR1=0;
+ Double_t meanRPhi1=0,rmsRPhi1=0;
+ if (counter>3) AliMathBase::EvaluateUni(counter,vecSelR.GetMatrixArray(),meanR1,rmsR1,0.9*counter);
+ if (counter>3) AliMathBase::EvaluateUni(counter,vecSelRPhi.GetMatrixArray(),meanRPhi1,rmsRPhi1,0.9*counter);
+ //
+ counter=0;
+ for (Int_t ipoint=0; ipoint<entries0; ipoint++){
+ Bool_t isOK=TMath::Abs(vecBZ0[ipoint]/zbin-1)<0.2;
+ isOK&=TMath::Abs(vecBR0[ipoint]/rbin-1.)<0.2;
+ isOK&=TMath::Abs(vecBPhi0[ipoint]/phibin-1.)<0.2;
+ if (isOK) {
+ vecSelRPhi[counter]=vecDRPhi0[ipoint];
+ vecSelR[counter]=vecDR0[ipoint];
+ counter++;
+ }
+ }
+ Double_t meanR0=0, rmsR0=0;
+ Double_t meanRPhi0=0, rmsRPhi0=0;
+ if (counter>3) AliMathBase::EvaluateUni(counter,vecSelR.GetMatrixArray(),meanR0,rmsR0,0.9*counter);
+ if (counter>3) AliMathBase::EvaluateUni(counter,vecSelRPhi.GetMatrixArray(),meanRPhi0,rmsRPhi0,0.9*counter);
+ //
+ printf("%f\t%f\t%f\t%f\t%f\n",zbin,rbin,phibin,rmsR0/(rmsR1+0.0001), rmsRPhi0/(rmsRPhi1+0.00001));
+ (*pcstream)<<"resolScan"<<
+ "counter="<<counter<<
+ //
+ "iz="<<iz<<
+ "ir="<<ir<<
+ "iphi="<<iphi<<
+ //
+ "zbin="<<zbin<<
+ "rbin="<<rbin<<
+ "phibin="<<phibin<<
+ //
+ "meanR0="<<meanR0<<
+ "rmsR0="<<rmsR0<<
+ "meanRPhi0="<<meanRPhi0<<
+ "rmsRPhi0="<<rmsRPhi0<<
+ //
+ "meanR1="<<meanR1<<
+ "rmsR1="<<rmsR1<<
+ "meanRPhi1="<<meanRPhi1<<
+ "rmsRPhi1="<<rmsRPhi1<<
+ "\n";
+ }
+ }
+ }
+ }
+ delete pcstream;
+ }
+ //
+ pcstream = new TTreeSRedirector("localBins.root","update");
+ resolScan = (TTree*)pcstream->GetFile()->Get("resolScan");
+ resolScan->SetMarkerStyle(25);
+ //
+ Int_t colors[5]={1,2,3,4,6};
+ Int_t markers[5]={21,20,23,24,25};
+ gStyle->SetTitleFontSize(32);
+ gStyle->SetTitleFontSize(35);
+ //
+ //
+ //
+ for (Int_t itype=0; itype<2; itype++){
+ TCanvas * canvasRes = new TCanvas(TString::Format("canvasRes%d",itype),"canvasRes",800,800);
+ canvasRes->SetRightMargin(0.05);
+ canvasRes->SetLeftMargin(0.2);
+ canvasRes->SetBottomMargin(0.18);
+ canvasRes->Divide(2,3,0,0);
+ TLatex latexDraw;
+ latexDraw.SetTextSize(0.08);
+ //
+ for (Int_t iz=1; iz<6; iz+=2){
+ TLegend * legend0 = new TLegend(0.17,0.3,0.80,0.6,TString::Format("Residuals after mean correction"));
+ TLegend * legend1 = new TLegend(0.07,0.3,0.90,0.6,TString::Format("Residual after applying #it{q(z)} correction"));
+ legend0->SetBorderSize(0);
+ legend1->SetBorderSize(0);
+ for (Int_t ir=1; ir<8; ir+=2){
+ TCut cutR(TString::Format("ir==%d",ir));
+ TCut cutZ(TString::Format("iz==%d",iz));
+ TGraphErrors * gr0=0, *gr1=0;
+ if (itype==0){
+ gr0=TStatToolkit::MakeGraphErrors(resolScan,"10*rmsR0:phibin:10*rmsR0/sqrt(counter)",cutR+cutZ,markers[ir/2],colors[ir/2],0.75);
+ gr1=TStatToolkit::MakeGraphErrors(resolScan,"10*rmsR1:phibin:10*rmsR1/sqrt(counter)",cutR+cutZ,markers[ir/2],colors[ir/2],0.75);
+ gr0->GetYaxis()->SetTitle("#it{#sigma(#Delta_{R}-#bar{#Delta_{R}})} (mm)");
+ }
+ if (itype==1){
+ gr0=TStatToolkit::MakeGraphErrors(resolScan,"10*rmsRPhi0:phibin:10*rmsRPhi0/sqrt(counter)",cutR+cutZ,markers[ir/2],colors[ir/2],0.75);
+ gr1=TStatToolkit::MakeGraphErrors(resolScan,"10*rmsPhi1:phibin:10*rmsPhi1/sqrt(counter)",cutR+cutZ,markers[ir/2],colors[ir/2],0.75);
+ gr0->GetYaxis()->SetTitle("#it{#sigma(#Delta_{R#phi}-#bar{#Delta_{R#phi}})} (mm)");
+ }
+ gr0->GetXaxis()->SetTitle("#Delta#phi bin width");
+ gr1->GetXaxis()->SetTitle("#Delta#phi bin width");
+ SetGraphTDRStyle(gr0);
+ SetGraphTDRStyle(gr1);
+ gr0->GetXaxis()->SetLimits(0,0.25);
+ gr1->GetXaxis()->SetLimits(0,0.25);
+ gr0->SetMinimum(-0.5);
+ gr0->SetMaximum(0.7);
+ gr1->SetMinimum(-0.5);
+ gr1->SetMaximum(0.7);
+ canvasRes->cd(iz)->SetTicks(3,3);
+ canvasRes->cd(iz)->SetGrid(0,3);
+ canvasRes->cd(iz)->SetLeftMargin(0.15);
+ if (ir==1) gr0->Draw("alp");
+ gr0->Draw("lp");
+ canvasRes->cd(iz+1)->SetTicks(3,3);
+ canvasRes->cd(iz+1)->SetGrid(0,3);
+ if (ir==1) gr1->Draw("alp");
+ gr1->Draw("lp");
+ legend0->AddEntry(gr0,TString::Format("#it{#Delta_{R}}=%1.1f (cm)",ir*3.),"p");
+ legend1->AddEntry(gr1,TString::Format("#it{#Delta_{R}}=%1.1f (cm)",ir*3.),"p");
+ //
+ canvasRes->cd(iz);
+ latexDraw.DrawLatex(0.01,-0.45,TString::Format("#Delta_{Z}=%1.0f cm, R<120 cm, |Z|<85 cm ",iz*3.));
+ canvasRes->cd(iz+1);
+ latexDraw.DrawLatex(0.01,-0.45,TString::Format("#Delta_{Z}=%1.0f cm, R<120 cm, |Z|<85 cm ",iz*3.));
+ }
+ if (iz==5){
+ legend0->SetTextSize(0.06);
+ legend1->SetTextSize(0.06);
+ canvasRes->cd(iz);
+ legend0->Draw();
+ canvasRes->cd(iz+1);
+ legend1->Draw();
+ }
+ }
+ if (itype==0){
+ canvasRes->SaveAs("canvasSpaceChargeBinFlucR.pdf");
+ canvasRes->SaveAs("canvasSpaceChargeBinFlucR.png");
+ }
+ if (itype==1){
+ canvasRes->SaveAs("canvasSpaceChargeBinFlucRPhi.pdf");
+ canvasRes->SaveAs("canvasSpaceChargeBinFlucRPhi.png"); //~/hera/alice/miranov/SpaceCharge/Fluctuations/PbPbWithGain/dirmergeAll/dEpsilon20/canvasSpaceChargeBinFlucRPhi.pdf
+ }
+ }
}