1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
18 ///////////////////////////////////////////////////////////////////////////////
20 // TRD parameter class //
22 ///////////////////////////////////////////////////////////////////////////////
28 #include "AliTRDparameter.h"
29 #include "AliTRDgeometryFull.h"
30 #include "AliTRDpadPlane.h"
32 ClassImp(AliTRDparameter)
34 //_____________________________________________________________________________
35 AliTRDparameter::AliTRDparameter():TNamed()
38 // AliTRDparameter default constructor
58 fSamplingFrequency = 0.0;
79 fAnodeWireOffset = 0.0;
81 fDiffusionOn = kFALSE;
89 fTimeStructOn = kFALSE;
93 //_____________________________________________________________________________
94 AliTRDparameter::AliTRDparameter(const Text_t *name, const Text_t *title)
98 // AliTRDparameter constructor
101 fGeo = new AliTRDgeometryFull();
102 fPadPlaneArray = new TObjArray(AliTRDgeometry::Nplan()
103 * AliTRDgeometry::Ncham());
119 fDriftVelocity = 0.0;
120 fSamplingFrequency = 0.0;
141 fAnodeWireOffset = 0.0;
143 fDiffusionOn = kFALSE;
144 fElAttachOn = kFALSE;
151 fTimeStructOn = kFALSE;
158 //_____________________________________________________________________________
159 AliTRDparameter::AliTRDparameter(const AliTRDparameter &p):TNamed(p)
162 // AliTRDparameter copy constructor
165 ((AliTRDparameter &) p).Copy(*this);
169 ///_____________________________________________________________________________
170 AliTRDparameter::~AliTRDparameter()
173 // AliTRDparameter destructor
201 if (fPadPlaneArray) {
202 fPadPlaneArray->Delete();
203 delete fPadPlaneArray;
208 delete [] fTimeStruct1;
213 delete [] fTimeStruct2;
219 //_____________________________________________________________________________
220 AliTRDparameter &AliTRDparameter::operator=(const AliTRDparameter &p)
223 // Assignment operator
226 if (this != &p) ((AliTRDparameter &) p).Copy(*this);
231 //_____________________________________________________________________________
232 void AliTRDparameter::Copy(TObject &p) const
240 ((AliTRDparameter &) p).fGasGain = fGasGain;
241 ((AliTRDparameter &) p).fNoise = fNoise;
242 ((AliTRDparameter &) p).fChipGain = fChipGain;
243 ((AliTRDparameter &) p).fADCoutRange = fADCoutRange;
244 ((AliTRDparameter &) p).fADCinRange = fADCinRange;
245 ((AliTRDparameter &) p).fADCthreshold = fADCthreshold;
246 ((AliTRDparameter &) p).fADCbaseline = fADCbaseline;
247 ((AliTRDparameter &) p).fDiffusionOn = fDiffusionOn;
248 ((AliTRDparameter &) p).fDiffusionT = fDiffusionT;
249 ((AliTRDparameter &) p).fDiffusionL = fDiffusionL;
250 ((AliTRDparameter &) p).fElAttachOn = fElAttachOn;
251 ((AliTRDparameter &) p).fElAttachProp = fElAttachProp;
252 ((AliTRDparameter &) p).fExBOn = fExBOn;
253 ((AliTRDparameter &) p).fOmegaTau = fOmegaTau;
254 ((AliTRDparameter &) p).fLorentzFactor = fLorentzFactor;
255 ((AliTRDparameter &) p).fDriftVelocity = fDriftVelocity;
256 ((AliTRDparameter &) p).fSamplingFrequency = fSamplingFrequency;
257 ((AliTRDparameter &) p).fPadCoupling = fPadCoupling;
258 ((AliTRDparameter &) p).fTimeCoupling = fTimeCoupling;
259 ((AliTRDparameter &) p).fField = fField;
260 ((AliTRDparameter &) p).fPRFOn = fPRFOn;
261 ((AliTRDparameter &) p).fTRFOn = fTRFOn;
262 ((AliTRDparameter &) p).fCTOn = fCTOn;
263 ((AliTRDparameter &) p).fTCOn = fTCOn;
264 ((AliTRDparameter &) p).fPRFbin = fPRFbin;
265 ((AliTRDparameter &) p).fPRFlo = fPRFlo;
266 ((AliTRDparameter &) p).fPRFhi = fPRFhi;
267 ((AliTRDparameter &) p).fPRFwid = fPRFwid;
268 ((AliTRDparameter &) p).fPRFpad = fPRFpad;
269 if (((AliTRDparameter &) p).fPRFsmp) delete [] ((AliTRDparameter &) p).fPRFsmp;
270 ((AliTRDparameter &) p).fPRFsmp = new Float_t[fPRFbin];
271 for (iBin = 0; iBin < fPRFbin; iBin++) {
272 ((AliTRDparameter &) p).fPRFsmp[iBin] = fPRFsmp[iBin];
274 ((AliTRDparameter &) p).fTRFbin = fTRFbin;
275 ((AliTRDparameter &) p).fTRFlo = fTRFlo;
276 ((AliTRDparameter &) p).fTRFhi = fTRFhi;
277 ((AliTRDparameter &) p).fTRFwid = fTRFwid;
278 if (((AliTRDparameter &) p).fTRFsmp) delete [] ((AliTRDparameter &) p).fTRFsmp;
279 ((AliTRDparameter &) p).fTRFsmp = new Float_t[fTRFbin];
280 for (iBin = 0; iBin < fTRFbin; iBin++) {
281 ((AliTRDparameter &) p).fTRFsmp[iBin] = fTRFsmp[iBin];
283 if (((AliTRDparameter &) p).fCTsmp) delete [] ((AliTRDparameter &) p).fCTsmp;
284 ((AliTRDparameter &) p).fCTsmp = new Float_t[fTRFbin];
285 for (iBin = 0; iBin < fTRFbin; iBin++) {
286 ((AliTRDparameter &) p).fCTsmp[iBin] = fCTsmp[iBin];
288 ((AliTRDparameter &) p).fTCnexp = fTCnexp;
290 ((AliTRDparameter &) p).fLUTOn = fLUTOn;
291 ((AliTRDparameter &) p).fLUTbin = fLUTbin;
292 if (((AliTRDparameter &) p).fLUT) delete [] ((AliTRDparameter &) p).fLUT;
293 ((AliTRDparameter &) p).fLUT = new Float_t[fLUTbin];
294 for (iBin = 0; iBin < fLUTbin; iBin++) {
295 ((AliTRDparameter &) p).fLUT[iBin] = fLUT[iBin];
297 ((AliTRDparameter &) p).fClusMaxThresh = fClusMaxThresh;
298 ((AliTRDparameter &) p).fClusSigThresh = fClusSigThresh;
300 ((AliTRDparameter &) p).fAnodeWireOffset = fAnodeWireOffset;
301 ((AliTRDparameter &) p).fTimeStructOn = fTimeStructOn;
302 if (((AliTRDparameter &) p).fTimeStruct1)
303 delete [] ((AliTRDparameter &) p).fTimeStruct1;
304 ((AliTRDparameter &) p).fTimeStruct1 = new Float_t[38*11];
305 for (Int_t i = 0; i < 38*11; i++) {
306 ((AliTRDparameter &) p).fTimeStruct1[i] = fTimeStruct1[i];
308 if (((AliTRDparameter &) p).fTimeStruct2)
309 delete [] ((AliTRDparameter &) p).fTimeStruct2;
310 ((AliTRDparameter &) p).fTimeStruct2 = new Float_t[38*11];
311 for (Int_t i = 0; i < 38*11; i++) {
312 ((AliTRDparameter &) p).fTimeStruct2[i] = fTimeStruct2[i];
317 //_____________________________________________________________________________
318 void AliTRDparameter::Init()
321 // Initializes the parameter
328 // ----------------------------------------------------------------------------
330 // ----------------------------------------------------------------------------
332 for (iplan = 0; iplan < AliTRDgeometry::Nplan(); iplan++) {
333 for (icham = 0; icham < AliTRDgeometry::Ncham(); icham++) {
334 Int_t ipp = iplan + icham * AliTRDgeometry::Nplan();
335 fPadPlaneArray->AddAt(new AliTRDpadPlane(iplan,icham),ipp);
340 // Time position of anode wire plane
341 for (iplan = 0; iplan < AliTRDgeometry::Nplan(); iplan++) {
342 fTime0[iplan] = AliTRDgeometry::Rmin()
343 + AliTRDgeometry::CraHght()
344 + AliTRDgeometry::CdrHght()
345 + AliTRDgeometry::CamHght()/2.
346 + iplan * (AliTRDgeometry::Cheight() + AliTRDgeometry::Cspace());
350 // ----------------------------------------------------------------------------
351 // The digitization parameters
352 // ----------------------------------------------------------------------------
355 // Use drift time maps
356 fTimeStructOn = kTRUE;
358 // The Sampling Frequency. Default is 10MHz
359 fSamplingFrequency = 10.0;
361 // The drift velocity (in drift region) and the time structure of the
362 // drift cells. Default is 1.5 cm/mus
363 SetDriftVelocity(1.5);
365 // Additional time bins before and after the drift region.
366 // Default is to only sample the drift region
367 SetExpandTimeBin(0,0);
369 // The default parameter for the digitization
373 fADCoutRange = 1023.; // 10-bit ADC
374 fADCinRange = 2000.; // 2V input range
379 fDiffusionOn = kTRUE;
384 // Propability for electron attachment
385 fElAttachOn = kFALSE;
388 // The pad response function
391 // The time response function
397 // The tail cancelation
400 // The number of exponentials
403 // The pad coupling factor
404 //fPadCoupling = 0.3;
405 // Use 0.46 instead which reproduces better the test beam
406 // data, even tough it is not understood why.
409 // The time coupling factor (same number as for the TPC)
412 // Distance of first Anode wire from first pad edge
413 fAnodeWireOffset = 0.25;
415 // The magnetic field strength in Tesla
416 Double_t x[3] = { 0.0, 0.0, 0.0 };
418 gAlice->Field(x,b); // b[] is in kilo Gauss
419 fField = b[2] * 0.1; // Tesla
422 // ----------------------------------------------------------------------------
423 // The clusterization parameter
424 // ----------------------------------------------------------------------------
427 // The default parameter for the clustering
438 //_____________________________________________________________________________
439 void AliTRDparameter::ReInit()
442 // Reinitializes the parameter class after a change
445 Float_t maxdrift = AliTRDgeometry::DrThick() + AliTRDgeometry::AmThick()/2.0;
447 // Number of time bins:
448 fTimeMax = (Int_t) ( maxdrift / fDriftVelocity * fSamplingFrequency );
450 // The range and the binwidth for the sampled TRF
452 // Start 0.2 mus before the signal
454 // End the maximum drift time after the signal
457 fTRFwid = (fTRFhi - fTRFlo) / ((Float_t) fTRFbin);
459 // Transverse and longitudinal diffusion coefficients (Xe/CO2)
460 fDiffusionT = GetDiffusionT(fDriftVelocity,fField);
461 fDiffusionL = GetDiffusionL(fDriftVelocity,fField);
463 // omega * tau = tan(Lorentz-angle)
464 fOmegaTau = GetOmegaTau(fDriftVelocity,fField);
466 // The Lorentz factor
468 fLorentzFactor = 1.0 / (1.0 + fOmegaTau*fOmegaTau);
471 fLorentzFactor = 1.0;
474 // Create the sampled PRF
477 // Create the sampled TRF
485 //_____________________________________________________________________________
486 AliTRDpadPlane *AliTRDparameter::GetPadPlane(Int_t p, Int_t c) const
489 // Returns the pad plane for a given plane <p> and chamber <c> number
492 Int_t ipp = p + c * AliTRDgeometry::Nplan();
493 return ((AliTRDpadPlane *) fPadPlaneArray->At(ipp));
497 //_____________________________________________________________________________
498 Int_t AliTRDparameter::GetRowMax(Int_t p, Int_t c, Int_t /*s*/) const
501 // Returns the number of rows on the pad plane
504 return GetPadPlane(p,c)->GetNrows();
508 //_____________________________________________________________________________
509 Int_t AliTRDparameter::GetColMax(Int_t p) const
512 // Returns the number of rows on the pad plane
515 return GetPadPlane(p,0)->GetNcols();
519 //_____________________________________________________________________________
520 Double_t AliTRDparameter::GetRow0(Int_t p, Int_t c, Int_t /*s*/) const
523 // Returns the position of the border of the first pad in a row
526 return GetPadPlane(p,c)->GetRow0();
530 //_____________________________________________________________________________
531 Double_t AliTRDparameter::GetCol0(Int_t p) const
534 // Returns the position of the border of the first pad in a column
537 return GetPadPlane(p,0)->GetCol0();
541 //_____________________________________________________________________________
542 Double_t AliTRDparameter::CrossTalk(Double_t time) const
545 // Applies the pad-pad capacitive cross talk
548 Int_t iBin = ((Int_t) ((time - fTRFlo) / fTRFwid));
549 if ((iBin >= 0) && (iBin < fTRFbin)) {
558 //_____________________________________________________________________________
559 void AliTRDparameter::PrintDriftVelocity()
562 // Prints the used drift velocity
565 printf("<AliTRDparameter::PrintDriftVelocity> Driftvelocity = %.3f\n"
570 //_____________________________________________________________________________
571 Double_t AliTRDparameter::TimeStruct(Double_t dist, Double_t z) const
574 // Applies the time structure of the drift cells (by C.Lippmann).
575 // The drift time of electrons to the anode wires depends on the
576 // distance to the wire (z) and on the position in the drift region.
579 // dist = radial distance from (cathode) pad plane [cm]
580 // z = distance from anode wire (parallel to cathode planes) [cm]
583 // tdrift = the drift time of an electron at the given position
585 // We interpolate between the drift time values at the two drift
586 // velocities fVDlo and fVDhi, being smaller and larger than
587 // fDriftVelocity. We use the two stored drift time maps fTimeStruct1
588 // and fTimeStruct2, calculated for the two mentioned drift velocities.
592 Int_t r1 = (Int_t)(10*dist);
596 const Int_t kz1 = (Int_t)(100*z/2.5);
597 const Int_t kz2 = kz1+1;
599 if (r1<0 || r1>37 || kz1<0 || kz1>10) {
600 printf("<AliTRDparameter::TimeStruct> Warning. Indices out of range: ");
601 printf("dist=%.2f, z=%.2f, r1=%d, kz1=%d\n",dist,z,r1,kz1);
604 const Float_t ky111 = fTimeStruct1[r1+38*kz1];
605 const Float_t ky221 = (r2 <= 37 && kz2 <= 10) ? fTimeStruct1[r2+38*kz2] : fTimeStruct1[37+38*10];
606 const Float_t ky121 = (kz2 <= 10) ? fTimeStruct1[r1+38*kz2] : fTimeStruct1[r1+38*10];
607 const Float_t ky211 = (r2 <= 37) ? fTimeStruct1[r2+38*kz1] : fTimeStruct1[37+38*kz1];
609 // 2D Interpolation, lower drift time map
610 const Float_t ky11 = (ky211-ky111)*10*dist + ky111 - (ky211-ky111)*r1;
611 const Float_t ky21 = (ky221-ky121)*10*dist + ky121 - (ky221-ky121)*r1;
613 const Float_t ky112 = fTimeStruct2[r1+38*kz1];
614 const Float_t ky222 = (r2 <= 37 && kz2 <= 10) ? fTimeStruct2[r2+38*kz2] : fTimeStruct2[37+38*10];
615 const Float_t ky122 = (kz2 <= 10) ? fTimeStruct2[r1+38*kz2] : fTimeStruct2[r1+38*10];
616 const Float_t ky212 = (r2 <= 37) ? fTimeStruct2[r2+38*kz1] : fTimeStruct2[37+38*kz1];
618 // 2D Interpolation, larger drift time map
619 const Float_t ky12 = (ky212-ky112)*10*dist + ky112 - (ky212-ky112)*r1;
620 const Float_t ky22 = (ky222-ky122)*10*dist + ky122 - (ky222-ky122)*r1;
622 // dist now is the drift distance to the anode wires (negative if electrons are
623 // between anode wire plane and cathode pad plane)
624 dist -= AliTRDgeometry::AmThick()/2.0;
626 // Get the drift times for the drift velocities fVDlo and fVDhi
627 const Float_t ktdrift1 =
628 ( TMath::Abs(dist)>0.005 || z>0.005 ) ? (ky21-ky11)*100*z/2.5+ky11-(ky21-ky11)*kz1 : 0.0;
629 const Float_t ktdrift2 =
630 ( TMath::Abs(dist)>0.005 || z>0.005 ) ? (ky22-ky12)*100*z/2.5+ky12-(ky22-ky12)*kz1 : 0.0;
632 // 1D Interpolation between the values at fVDlo and fVDhi
633 Float_t a = (ktdrift2 - ktdrift1) / (fVDhi - fVDlo);
634 Float_t b = ktdrift2 - a * fVDhi;
637 //printf("(%.2f, %.2f): %f, %f -> %f\n",
638 // dist+AliTRDgeometry::AmThick()/2.0, z, ktdrift1, ktdrift2, a*fDriftVelocity+b);
640 return a * fDriftVelocity + b;
644 //_____________________________________________________________________________
645 Int_t AliTRDparameter::Diffusion(Double_t driftlength, Double_t *xyz)
648 // Applies the diffusion smearing to the position of a single electron
651 Float_t driftSqrt = TMath::Sqrt(driftlength);
652 Float_t sigmaT = driftSqrt * fDiffusionT;
653 Float_t sigmaL = driftSqrt * fDiffusionL;
654 xyz[0] = gRandom->Gaus(xyz[0], sigmaL * fLorentzFactor);
655 xyz[1] = gRandom->Gaus(xyz[1], sigmaT * fLorentzFactor);
656 xyz[2] = gRandom->Gaus(xyz[2], sigmaT);
662 //_____________________________________________________________________________
663 Int_t AliTRDparameter::ExB(Double_t driftlength, Double_t *xyz) const
666 // Applies E x B effects to the position of a single electron
670 xyz[1] = xyz[1] + fOmegaTau * driftlength;
677 //_____________________________________________________________________________
678 Int_t AliTRDparameter::PadResponse(Double_t signal, Double_t dist
679 , Int_t plane, Double_t *pad) const
682 // Applies the pad response
685 const Int_t kNplan = AliTRDgeometry::kNplan;
687 Int_t iBin = ((Int_t) (( - dist - fPRFlo) / fPRFwid));
688 Int_t iOff = plane * fPRFbin;
690 Int_t iBin0 = iBin - fPRFpad + iOff;
691 Int_t iBin1 = iBin + iOff;
692 Int_t iBin2 = iBin + fPRFpad + iOff;
697 if ((iBin1 >= 0) && (iBin1 < (fPRFbin*kNplan))) {
700 pad[0] = signal * fPRFsmp[iBin0];
702 pad[1] = signal * fPRFsmp[iBin1];
703 if (iBin2 < (fPRFbin*kNplan)) {
704 pad[2] = signal * fPRFsmp[iBin2];
718 //_____________________________________________________________________________
719 Double_t AliTRDparameter::TimeResponse(Double_t time) const
722 // Applies the preamp shaper time response
725 Int_t iBin = ((Int_t) ((time) / fTRFwid));
726 //Int_t iBin = ((Int_t) ((time - fTRFlo) / fTRFwid));
727 if ((iBin >= 0) && (iBin < fTRFbin)) {
728 return fTRFsmp[iBin];
736 //_____________________________________________________________________________
737 void AliTRDparameter::SampleTRF()
740 // Samples the time response function
742 // New TRF from Venelin Angelov, simulated with CADENCE
743 // Pad-ground capacitance = 25 pF
744 // Pad-pad cross talk capacitance = 6 pF
751 const Int_t kNpasa = 252;
753 Float_t time[kNpasa] = { -0.220000, -0.210000, -0.200000, -0.190000
754 , -0.180000, -0.170000, -0.160000, -0.150000
755 , -0.140000, -0.130000, -0.120000, -0.110000
756 , -0.100000, -0.090000, -0.080000, -0.070000
757 , -0.060000, -0.050000, -0.040000, -0.030000
758 , -0.020000, -0.010000, -0.000000, 0.010000
759 , 0.020000, 0.030000, 0.040000, 0.050000
760 , 0.060000, 0.070000, 0.080000, 0.090000
761 , 0.100000, 0.110000, 0.120000, 0.130000
762 , 0.140000, 0.150000, 0.160000, 0.170000
763 , 0.180000, 0.190000, 0.200000, 0.210000
764 , 0.220000, 0.230000, 0.240000, 0.250000
765 , 0.260000, 0.270000, 0.280000, 0.290000
766 , 0.300000, 0.310000, 0.320000, 0.330000
767 , 0.340000, 0.350000, 0.360000, 0.370000
768 , 0.380000, 0.390000, 0.400000, 0.410000
769 , 0.420000, 0.430000, 0.440000, 0.450000
770 , 0.460000, 0.470000, 0.480000, 0.490000
771 , 0.500000, 0.510000, 0.520000, 0.530000
772 , 0.540000, 0.550000, 0.560000, 0.570000
773 , 0.580000, 0.590000, 0.600000, 0.610000
774 , 0.620000, 0.630000, 0.640000, 0.650000
775 , 0.660000, 0.670000, 0.680000, 0.690000
776 , 0.700000, 0.710000, 0.720000, 0.730000
777 , 0.740000, 0.750000, 0.760000, 0.770000
778 , 0.780000, 0.790000, 0.800000, 0.810000
779 , 0.820000, 0.830000, 0.840000, 0.850000
780 , 0.860000, 0.870000, 0.880000, 0.890000
781 , 0.900000, 0.910000, 0.920000, 0.930000
782 , 0.940000, 0.950000, 0.960000, 0.970000
783 , 0.980000, 0.990000, 1.000000, 1.010000
784 , 1.020000, 1.030000, 1.040000, 1.050000
785 , 1.060000, 1.070000, 1.080000, 1.090000
786 , 1.100000, 1.110000, 1.120000, 1.130000
787 , 1.140000, 1.150000, 1.160000, 1.170000
788 , 1.180000, 1.190000, 1.200000, 1.210000
789 , 1.220000, 1.230000, 1.240000, 1.250000
790 , 1.260000, 1.270000, 1.280000, 1.290000
791 , 1.300000, 1.310000, 1.320000, 1.330000
792 , 1.340000, 1.350000, 1.360000, 1.370000
793 , 1.380000, 1.390000, 1.400000, 1.410000
794 , 1.420000, 1.430000, 1.440000, 1.450000
795 , 1.460000, 1.470000, 1.480000, 1.490000
796 , 1.500000, 1.510000, 1.520000, 1.530000
797 , 1.540000, 1.550000, 1.560000, 1.570000
798 , 1.580000, 1.590000, 1.600000, 1.610000
799 , 1.620000, 1.630000, 1.640000, 1.650000
800 , 1.660000, 1.670000, 1.680000, 1.690000
801 , 1.700000, 1.710000, 1.720000, 1.730000
802 , 1.740000, 1.750000, 1.760000, 1.770000
803 , 1.780000, 1.790000, 1.800000, 1.810000
804 , 1.820000, 1.830000, 1.840000, 1.850000
805 , 1.860000, 1.870000, 1.880000, 1.890000
806 , 1.900000, 1.910000, 1.920000, 1.930000
807 , 1.940000, 1.950000, 1.960000, 1.970000
808 , 1.980000, 1.990000, 2.000000, 2.010000
809 , 2.020000, 2.030000, 2.040000, 2.050000
810 , 2.060000, 2.070000, 2.080000, 2.090000
811 , 2.100000, 2.110000, 2.120000, 2.130000
812 , 2.140000, 2.150000, 2.160000, 2.170000
813 , 2.180000, 2.190000, 2.200000, 2.210000
814 , 2.220000, 2.230000, 2.240000, 2.250000
815 , 2.260000, 2.270000, 2.280000, 2.290000 };
817 Float_t signal[kNpasa] = { 0.000000, 0.000000, 0.000000, 0.000000
818 , 0.000000, 0.000000, 0.000000, 0.000396
819 , 0.005096, 0.022877, 0.061891, 0.126614
820 , 0.215798, 0.324406, 0.444507, 0.566817
821 , 0.683465, 0.787089, 0.873159, 0.937146
822 , 0.979049, 0.999434, 1.000000, 0.983579
823 , 0.954134, 0.913364, 0.866365, 0.813703
824 , 0.759910, 0.706116, 0.653454, 0.603624
825 , 0.556625, 0.514156, 0.475085, 0.439977
826 , 0.408834, 0.380578, 0.355549, 0.333352
827 , 0.313647, 0.296093, 0.280351, 0.266195
828 , 0.253397, 0.241789, 0.231257, 0.221574
829 , 0.212627, 0.204417, 0.196772, 0.189581
830 , 0.182956, 0.176784, 0.171008, 0.165515
831 , 0.160419, 0.155606, 0.151076, 0.146716
832 , 0.142639, 0.138845, 0.135221, 0.131767
833 , 0.128482, 0.125368, 0.122424, 0.119592
834 , 0.116931, 0.114326, 0.111891, 0.109513
835 , 0.107248, 0.105096, 0.103058, 0.101019
836 , 0.099151, 0.097282, 0.095527, 0.093715
837 , 0.092129, 0.090544, 0.088958, 0.087429
838 , 0.086014, 0.084598, 0.083239, 0.081880
839 , 0.080634, 0.079388, 0.078143, 0.077010
840 , 0.075878, 0.074745, 0.073669, 0.072593
841 , 0.071574, 0.070612, 0.069649, 0.068686
842 , 0.067780, 0.066874, 0.066025, 0.065176
843 , 0.064326, 0.063533, 0.062684, 0.061948
844 , 0.061212, 0.060419, 0.059740, 0.059003
845 , 0.058324, 0.057644, 0.057022, 0.056342
846 , 0.055663, 0.055096, 0.054473, 0.053851
847 , 0.053284, 0.052718, 0.052152, 0.051585
848 , 0.051019, 0.050566, 0.050000, 0.049490
849 , 0.048981, 0.048528, 0.048018, 0.047508
850 , 0.047055, 0.046602, 0.046149, 0.045696
851 , 0.045300, 0.044904, 0.044451, 0.044054
852 , 0.043658, 0.043205, 0.042865, 0.042469
853 , 0.042072, 0.041733, 0.041336, 0.040997
854 , 0.040657, 0.040260, 0.039921, 0.039581
855 , 0.039241, 0.038958, 0.038618, 0.038335
856 , 0.037995, 0.037656, 0.037373, 0.037089
857 , 0.036806, 0.036467, 0.036183, 0.035900
858 , 0.035617, 0.035334, 0.035108, 0.034824
859 , 0.034541, 0.034315, 0.034032, 0.033805
860 , 0.033522, 0.033296, 0.033069, 0.032786
861 , 0.032559, 0.032333, 0.032106, 0.031880
862 , 0.031653, 0.031427, 0.031200, 0.030974
863 , 0.030804, 0.030578, 0.030351, 0.030125
864 , 0.029955, 0.029785, 0.029558, 0.029332
865 , 0.029162, 0.028992, 0.028766, 0.028596
866 , 0.028426, 0.028199, 0.028086, 0.027860
867 , 0.027746, 0.027633, 0.027463, 0.027293
868 , 0.027180, 0.027067, 0.026954, 0.026954
869 , 0.026840, 0.026727, 0.026727, 0.026614
870 , 0.026614, 0.026614, 0.026557, 0.026501
871 , 0.026501, 0.026501, 0.026501, 0.026501
872 , 0.026501, 0.026501, 0.026501, 0.026387
873 , 0.026387, 0.026387, 0.026387, 0.026387
874 , 0.026387, 0.026387, 0.026387, 0.026387
875 , 0.026387, 0.026387, 0.026387, 0.026387
876 , 0.026387, 0.026274, 0.026274, 0.026274
877 , 0.026274, 0.026274, 0.026274, 0.026274
878 , 0.026274, 0.026274, 0.026274, 0.026274
879 , 0.026274, 0.026274, 0.026274, 0.026161 };
881 Float_t xtalk[kNpasa] = { 0.000000, 0.000000, 0.000000, 0.000000
882 , 0.000000, 0.000000, 0.000000, 0.000113
883 , 0.000793, 0.003058, 0.007305, 0.013194
884 , 0.019706, 0.025821, 0.030634, 0.033465
885 , 0.034145, 0.032729, 0.029615, 0.025198
886 , 0.019989, 0.014496, 0.009003, 0.003964
887 , -0.000510, -0.004190, -0.007191, -0.009400
888 , -0.010872, -0.011835, -0.012288, -0.012288
889 , -0.012005, -0.011495, -0.010872, -0.010136
890 , -0.009343, -0.008607, -0.007871, -0.007191
891 , -0.006512, -0.005946, -0.005379, -0.004926
892 , -0.004473, -0.004077, -0.003737, -0.003398
893 , -0.003114, -0.002831, -0.002605, -0.002378
894 , -0.002208, -0.002039, -0.001869, -0.001699
895 , -0.001585, -0.001472, -0.001359, -0.001246
896 , -0.001132, -0.001019, -0.001019, -0.000906
897 , -0.000906, -0.000793, -0.000793, -0.000680
898 , -0.000680, -0.000680, -0.000566, -0.000566
899 , -0.000566, -0.000566, -0.000453, -0.000453
900 , -0.000453, -0.000453, -0.000453, -0.000453
901 , -0.000340, -0.000340, -0.000340, -0.000340
902 , -0.000340, -0.000340, -0.000340, -0.000340
903 , -0.000340, -0.000340, -0.000340, -0.000340
904 , -0.000340, -0.000227, -0.000227, -0.000227
905 , -0.000227, -0.000227, -0.000227, -0.000227
906 , -0.000227, -0.000227, -0.000227, -0.000227
907 , -0.000227, -0.000227, -0.000227, -0.000227
908 , -0.000227, -0.000227, -0.000227, -0.000227
909 , -0.000227, -0.000227, -0.000227, -0.000227
910 , -0.000227, -0.000227, -0.000227, -0.000227
911 , -0.000227, -0.000227, -0.000227, -0.000227
912 , -0.000227, -0.000227, -0.000227, -0.000227
913 , -0.000227, -0.000227, -0.000227, -0.000113
914 , -0.000113, -0.000113, -0.000113, -0.000113
915 , -0.000113, -0.000113, -0.000113, -0.000113
916 , -0.000113, -0.000113, -0.000113, -0.000113
917 , -0.000113, -0.000113, -0.000113, -0.000113
918 , -0.000113, -0.000113, -0.000113, -0.000113
919 , -0.000113, -0.000113, -0.000113, -0.000113
920 , -0.000113, -0.000113, -0.000113, -0.000113
921 , -0.000113, -0.000113, -0.000113, -0.000113
922 , -0.000113, -0.000113, -0.000113, -0.000113
923 , -0.000113, -0.000113, -0.000113, -0.000113
924 , -0.000113, -0.000113, -0.000113, -0.000113
925 , -0.000113, -0.000113, -0.000113, -0.000113
926 , -0.000113, -0.000113, -0.000113, -0.000113
927 , -0.000113, -0.000113, -0.000113, -0.000113
928 , -0.000113, -0.000113, -0.000113, -0.000113
929 , -0.000113, -0.000113, -0.000113, -0.000113
930 , -0.000113, -0.000113, -0.000113, -0.000113
931 , -0.000113, -0.000113, -0.000113, -0.000113
932 , -0.000113, -0.000113, -0.000113, -0.000113
933 , -0.000113, -0.000113, -0.000113, 0.000000
934 , 0.000000, 0.000000, 0.000000, 0.000000
935 , 0.000000, 0.000000, 0.000000, 0.000000
936 , 0.000000, 0.000000, 0.000000, 0.000000
937 , 0.000000, 0.000000, 0.000000, 0.000000
938 , 0.000000, 0.000000, 0.000000, 0.000000
939 , 0.000000, 0.000000, 0.000000, 0.000000
940 , 0.000000, 0.000000, 0.000000, 0.000000
941 , 0.000000, 0.000000, 0.000000, 0.000000
942 , 0.000000, 0.000000, 0.000000, 0.000000
943 , 0.000000, 0.000000, 0.000000, 0.000000 };
945 // increase CrossTalk to measurements
946 for (Int_t ipasa = 0; ipasa < kNpasa; ipasa++) {
947 xtalk[ipasa] *= 1.75;
950 if (fTRFsmp) delete [] fTRFsmp;
951 fTRFsmp = new Float_t[fTRFbin];
952 if (fCTsmp) delete [] fCTsmp;
953 fCTsmp = new Float_t[fTRFbin];
955 Float_t loTRF = TMath::Max(fTRFlo, time[0]);
956 Float_t hiTRF = TMath::Min(fTRFhi, time[kNpasa-1]);
957 Float_t binWidth = (hiTRF - loTRF) / ((Float_t) fTRFbin);
959 // Take the linear interpolation
960 for (Int_t iBin = 0; iBin < fTRFbin; iBin++) {
962 Float_t bin = (((Float_t) iBin) + 0.5) * binWidth + loTRF;
966 diff = bin - time[ipos2++];
969 if (ipos2 >= kNpasa) ipos2 = kNpasa - 1;
972 fTRFsmp[iBin] = signal[ipos2]
973 + diff * (signal[ipos2] - signal[ipos1])
974 / ( time[ipos2] - time[ipos1]);
976 fCTsmp[iBin] = xtalk[ipos2]
977 + diff * (xtalk[ipos2] - xtalk[ipos1])
978 / ( time[ipos2] - time[ipos1]);
984 //_____________________________________________________________________________
985 void AliTRDparameter::SampleTimeStruct()
989 // Samples the timing structure of a drift cell
990 // Drift Time data calculated with Garfield (by C.Lippmann)
993 // drift time maps are saved for some drift velocity values (in drift region):
1004 if ( fDriftVelocity < fVDsmp[0] ) {
1005 printf("<AliTRDparameter::SampleTimeStruct> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");
1006 printf("<AliTRDparameter::SampleTimeStruct> Drift Velocity too small (%.3f<%.3f)\n"
1007 , fDriftVelocity, fVDsmp[0]);
1008 printf("<AliTRDparameter::SampleTimeStruct> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");
1009 fDriftVelocity = fVDsmp[0];
1010 } else if ( fDriftVelocity > fVDsmp[7] ) {
1011 printf("<AliTRDparameter::SampleTimeStruct> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");
1012 printf("<AliTRDparameter::SampleTimeStruct> Drift Velocity too large (%.3f>%.3f)\n"
1013 , fDriftVelocity,fVDsmp[6]);
1014 printf("<AliTRDparameter::SampleTimeStruct> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");
1015 fDriftVelocity = fVDsmp[7];
1018 const Int_t ktimebin = 38;
1019 const Int_t kZbin = 11;
1021 // Garfield simulation at UD = -1500V; vd = 1.032cm/microsec, <driftfield> = 525V/cm
1022 Float_t time1500[ktimebin][kZbin] =
1023 {{0.09170, 0.09205, 0.09306, 0.09475, 0.09716, 0.10035,
1024 0.10445, 0.10993, 0.11838, 0.13986, 0.37858},
1025 {0.06588, 0.06626, 0.06739, 0.06926, 0.07186, 0.07524,
1026 0.07951, 0.08515, 0.09381, 0.11601, 0.35673},
1027 {0.03946, 0.04003, 0.04171, 0.04435, 0.04780, 0.05193,
1028 0.05680, 0.06306, 0.07290, 0.09873, 0.34748},
1029 {0.01151, 0.01283, 0.01718, 0.02282, 0.02880, 0.03479,
1030 0.04098, 0.04910, 0.06413, 0.10567, 0.36897},
1031 {0.01116, 0.01290, 0.01721, 0.02299, 0.02863, 0.03447,
1032 0.04074, 0.04984, 0.06839, 0.11625, 0.37277},
1033 {0.03919, 0.03974, 0.04131, 0.04380, 0.04703, 0.05102,
1034 0.05602, 0.06309, 0.07651, 0.10938, 0.36838},
1035 {0.06493, 0.06560, 0.06640, 0.06802, 0.07051, 0.07392,
1036 0.07853, 0.08510, 0.09690, 0.12621, 0.38058},
1037 {0.09174, 0.09186, 0.09225, 0.09303, 0.09477, 0.00000,
1038 0.11205, 0.11952, 0.13461, 0.16984, 0.43017},
1039 {0.14356, 0.14494, 0.14959, 0.16002, 0.18328, 0.27981,
1040 0.22785, 0.21240, 0.21948, 0.25965, 0.52392},
1041 {0.23120, 0.23366, 0.24046, 0.25422, 0.28071, 0.36914,
1042 0.32999, 0.31208, 0.31772, 0.35804, 0.62249},
1043 {0.32686, 0.32916, 0.33646, 0.35053, 0.37710, 0.46292,
1044 0.42773, 0.40948, 0.41497, 0.45527, 0.71955},
1045 {0.42353, 0.42583, 0.43317, 0.44727, 0.47380, 0.55884,
1046 0.52479, 0.50650, 0.51194, 0.55225, 0.81658},
1047 {0.52038, 0.52271, 0.53000, 0.54415, 0.57064, 0.65545,
1048 0.62172, 0.60341, 0.60885, 0.64915, 0.91339},
1049 {0.61724, 0.61953, 0.62694, 0.64098, 0.66756, 0.75226,
1050 0.71862, 0.70030, 0.70575, 0.74604, 1.01035},
1051 {0.71460, 0.71678, 0.72376, 0.73786, 0.76447, 0.84913,
1052 0.81551, 0.79720, 0.80264, 0.84292, 1.10723},
1053 {0.81101, 0.81334, 0.82066, 0.83475, 0.86127, 0.94599,
1054 0.91240, 0.89408, 0.89952, 0.93981, 1.20409},
1055 {0.90788, 0.91023, 0.91752, 0.93163, 0.95815, 1.04293,
1056 1.00929, 0.99096, 0.99640, 1.03669, 1.30106},
1057 {1.00477, 1.00707, 1.01449, 1.02852, 1.05504, 1.13976,
1058 1.10617, 1.08784, 1.09329, 1.13358, 1.39796},
1059 {1.10166, 1.10397, 1.11130, 1.12541, 1.15257, 1.23672,
1060 1.20307, 1.18472, 1.19018, 1.23046, 1.49486},
1061 {1.19854, 1.20084, 1.20818, 1.22235, 1.24885, 1.33355,
1062 1.29992, 1.28156, 1.28707, 1.32735, 1.59177},
1063 {1.29544, 1.29780, 1.30507, 1.31917, 1.34575, 1.43073,
1064 1.39681, 1.37851, 1.38396, 1.42377, 1.68854},
1065 {1.39236, 1.39462, 1.40205, 1.41607, 1.44259, 1.52745,
1066 1.49368, 1.47541, 1.48083, 1.52112, 1.78546},
1067 {1.49314, 1.49149, 1.49885, 1.51297, 1.53949, 1.62420,
1068 1.59016, 1.57231, 1.57772, 1.61800, 1.88048},
1069 {1.58610, 1.58839, 1.59572, 1.60983, 1.63635, 1.72109,
1070 1.68651, 1.66921, 1.67463, 1.71489, 1.97918},
1071 {1.68400, 1.68529, 1.69261, 1.70671, 1.73331, 1.81830,
1072 1.78341, 1.76605, 1.77150, 1.81179, 2.07608},
1073 {1.77991, 1.78215, 1.78952, 1.80385, 1.83014, 1.91486,
1074 1.88128, 1.86215, 1.86837, 1.90865, 2.17304},
1075 {1.87674, 1.87904, 1.88647, 1.90052, 1.92712, 2.01173,
1076 1.97812, 1.95905, 1.96527, 2.00710, 2.26979},
1077 {1.97369, 1.97594, 1.98326, 1.99869, 2.02442, 2.10865,
1078 2.07501, 2.05666, 2.06214, 2.10243, 2.36669},
1079 {2.07052, 2.07281, 2.08016, 2.09425, 2.12132, 2.20555,
1080 2.17182, 2.15341, 2.15904, 2.19933, 2.46363},
1081 {2.16742, 2.16971, 2.17707, 2.19114, 2.21766, 2.30240,
1082 2.26877, 2.25015, 2.25573, 2.29586, 2.56060},
1083 {2.26423, 2.26659, 2.27396, 2.28803, 2.31456, 2.40828,
1084 2.36567, 2.34705, 2.35282, 2.39765, 2.65744},
1085 {2.36153, 2.36349, 2.37330, 2.38501, 2.41159, 2.49940,
1086 2.46257, 2.44420, 2.44843, 2.48987, 2.75431},
1087 {2.46558, 2.46035, 2.46822, 2.48181, 2.50849, 2.59630,
1088 2.55947, 2.54112, 2.54513, 2.58677, 2.85094},
1089 {2.56248, 2.55723, 2.56486, 2.57871, 2.60520, 2.68998,
1090 2.65626, 2.63790, 2.64316, 2.68360, 2.94813},
1091 {2.65178, 2.65441, 2.66153, 2.67556, 2.70210, 2.78687,
1092 2.75319, 2.73463, 2.74032, 2.78060, 3.04503},
1093 {2.74868, 2.75131, 2.75870, 2.77245, 2.79385, 2.88700,
1094 2.85009, 2.83177, 2.83723, 2.87750, 3.14193},
1095 {2.84574, 2.84789, 2.85560, 2.86935, 2.89075, 2.98060,
1096 2.94576, 2.92868, 2.93356, 2.97436, 3.23868},
1097 {2.94239, 2.94469, 2.95221, 2.96625, 2.99345, 3.07747,
1098 3.04266, 3.02545, 3.03051, 3.07118, 3.33555}};
1100 // Garfield simulation at UD = -1600V; vd = 1.158cm/microsec, <driftfield> = 558V/cm
1101 Float_t time1600[ktimebin][kZbin] =
1102 {{0.09169, 0.09203, 0.09305, 0.09473, 0.09714, 0.10032,
1103 0.10441, 0.10990, 0.11835, 0.13986, 0.37845},
1104 {0.06589, 0.06626, 0.06738, 0.06924, 0.07184, 0.07521,
1105 0.07947, 0.08512, 0.09379, 0.11603, 0.35648},
1106 {0.03947, 0.04003, 0.04171, 0.04434, 0.04778, 0.05190,
1107 0.05678, 0.06304, 0.07292, 0.09876, 0.34759},
1108 {0.01111, 0.01281, 0.01718, 0.02281, 0.02879, 0.03477,
1109 0.04097, 0.04910, 0.06415, 0.10573, 0.36896},
1110 {0.01120, 0.01311, 0.01721, 0.02279, 0.02862, 0.03446,
1111 0.04074, 0.04981, 0.06825, 0.11595, 0.37255},
1112 {0.03919, 0.03980, 0.04132, 0.04380, 0.04704, 0.05102,
1113 0.05602, 0.06302, 0.07633, 0.10896, 0.36743},
1114 {0.06531, 0.06528, 0.06631, 0.06805, 0.07053, 0.07392,
1115 0.07853, 0.08505, 0.09669, 0.12578, 0.37967},
1116 {0.09157, 0.09171, 0.09216, 0.09301, 0.09475, 0.00000,
1117 0.11152, 0.11879, 0.13352, 0.16802, 0.42750},
1118 {0.13977, 0.14095, 0.14509, 0.15433, 0.17534, 0.26406,
1119 0.21660, 0.20345, 0.21113, 0.25067, 0.51434},
1120 {0.21816, 0.22041, 0.22631, 0.23850, 0.26208, 0.34340,
1121 0.30755, 0.29237, 0.29878, 0.33863, 0.60258},
1122 {0.30344, 0.30547, 0.31241, 0.32444, 0.34809, 0.42696,
1123 0.39464, 0.37919, 0.38546, 0.42530, 0.68926},
1124 {0.38969, 0.39164, 0.39810, 0.41059, 0.43441, 0.51246,
1125 0.48112, 0.46562, 0.47191, 0.51172, 0.77558},
1126 {0.47592, 0.47799, 0.48442, 0.49689, 0.52061, 0.59855,
1127 0.56752, 0.55201, 0.55826, 0.59808, 0.86202},
1128 {0.56226, 0.56428, 0.57074, 0.58324, 0.60696, 0.68483,
1129 0.65388, 0.63837, 0.64461, 0.68445, 0.94830},
1130 {0.64881, 0.65063, 0.65709, 0.66958, 0.69331, 0.77117,
1131 0.74023, 0.72472, 0.73098, 0.77079, 1.03486},
1132 {0.73506, 0.73698, 0.74344, 0.75596, 0.77964, 0.85751,
1133 0.82658, 0.81107, 0.81731, 0.85712, 1.12106},
1134 {0.82132, 0.82333, 0.82979, 0.84228, 0.86608, 0.94386,
1135 0.91293, 0.89742, 0.90367, 0.94335, 1.20737},
1136 {0.90767, 0.90968, 0.91614, 0.92863, 0.95236, 1.03021,
1137 0.99928, 0.98377, 0.99001, 1.02984, 1.29371},
1138 {0.99410, 0.99602, 1.00257, 1.01498, 1.03869, 1.11720,
1139 1.08563, 1.07011, 1.07637, 1.11621, 1.37873},
1140 {1.08036, 1.08240, 1.08884, 1.10138, 1.12504, 1.20301,
1141 1.17198, 1.15647, 1.16272, 1.20255, 1.46651},
1142 {1.16670, 1.16872, 1.17525, 1.18783, 1.21139, 1.28934,
1143 1.25833, 1.24281, 1.24909, 1.28889, 1.55275},
1144 {1.25307, 1.25510, 1.26153, 1.27404, 1.29773, 1.37584,
1145 1.34469, 1.32916, 1.33536, 1.37524, 1.63915},
1146 {1.33942, 1.34146, 1.34788, 1.36040, 1.38410, 1.46438,
1147 1.43105, 1.41537, 1.42176, 1.46158, 1.72538},
1148 {1.42579, 1.42782, 1.43458, 1.44674, 1.47043, 1.55085,
1149 1.51675, 1.50168, 1.50810, 1.54793, 1.81174},
1150 {1.51207, 1.51454, 1.52060, 1.53307, 1.55684, 1.63478,
1151 1.60336, 1.58820, 1.59446, 1.63414, 1.89814},
1152 {1.59856, 1.60047, 1.60693, 1.61942, 1.64317, 1.72257,
1153 1.69008, 1.67454, 1.68080, 1.72063, 1.98433},
1154 {1.68481, 1.68682, 1.69330, 1.70584, 1.72949, 1.80752,
1155 1.77643, 1.76089, 1.76716, 1.80692, 2.07069},
1156 {1.77117, 1.77319, 1.77969, 1.79260, 1.81583, 1.89376,
1157 1.86226, 1.84720, 1.85355, 1.89256, 2.15343},
1158 {1.85748, 1.85967, 1.86605, 1.87848, 1.90222, 1.98010,
1159 1.94913, 1.93271, 1.93981, 1.97968, 2.24355},
1160 {1.94386, 1.94587, 1.95233, 1.96484, 1.98854, 2.06646,
1161 2.03542, 2.01755, 2.02617, 2.06604, 2.32993},
1162 {2.03022, 2.03230, 2.03868, 2.05134, 2.07488, 2.15367,
1163 2.12178, 2.10391, 2.11252, 2.15432, 2.41623},
1164 {2.11656, 2.11857, 2.12505, 2.13772, 2.16147, 2.23919,
1165 2.20817, 2.19265, 2.20744, 2.23872, 2.49996},
1166 {2.20291, 2.20611, 2.21137, 2.22387, 2.24758, 2.32563,
1167 2.29450, 2.27901, 2.28525, 2.32507, 2.58897},
1168 {2.28922, 2.29172, 2.29774, 2.31345, 2.33400, 2.41287,
1169 2.38086, 2.36535, 2.37160, 2.40869, 2.67113},
1170 {2.37572, 2.37764, 2.38410, 2.39803, 2.42046, 2.49817,
1171 2.46721, 2.45171, 2.45794, 2.49505, 2.76061},
1172 {2.46190, 2.46396, 2.47043, 2.48340, 2.50665, 2.58453,
1173 2.55357, 2.53728, 2.54430, 2.58407, 2.84816},
1174 {2.54833, 2.55032, 2.55679, 2.56976, 2.59312, 2.67103,
1175 2.63993, 2.62364, 2.63062, 2.67040, 2.93444},
1176 {2.63456, 2.63660, 2.64304, 2.65555, 2.67938, 2.75739,
1177 2.72629, 2.71064, 2.71688, 2.75671, 3.01886}};
1179 // Garfield simulation at UD = -1700V; vd = 1.299cm/microsec, <driftfield> = 590V/cm
1180 Float_t time1700[ktimebin][kZbin] =
1181 {{0.09167, 0.09201, 0.09302, 0.09471, 0.09712, 0.10029,
1182 0.10438, 0.10986, 0.11832, 0.13986, 0.37824},
1183 {0.06591, 0.06626, 0.06736, 0.06923, 0.07183, 0.07519,
1184 0.07944, 0.08511, 0.09378, 0.11603, 0.35625},
1185 {0.03946, 0.04003, 0.04170, 0.04433, 0.04777, 0.05189,
1186 0.05676, 0.06301, 0.07291, 0.09880, 0.34724},
1187 {0.01110, 0.01281, 0.01718, 0.02280, 0.02879, 0.03476,
1188 0.04096, 0.04910, 0.06417, 0.10582, 0.36861},
1189 {0.01115, 0.01294, 0.01721, 0.02276, 0.02862, 0.03447,
1190 0.04074, 0.04980, 0.06812, 0.11565, 0.37231},
1191 {0.03920, 0.03974, 0.04133, 0.04381, 0.04706, 0.05105,
1192 0.05603, 0.06299, 0.07618, 0.10860, 0.36646},
1193 {0.06498, 0.06529, 0.06634, 0.06808, 0.07055, 0.07395,
1194 0.07852, 0.08500, 0.09650, 0.12532, 0.37850},
1195 {0.09143, 0.09159, 0.09207, 0.09297, 0.09473, 0.00000,
1196 0.11102, 0.11809, 0.13245, 0.16627, 0.42496},
1197 {0.13646, 0.13750, 0.14112, 0.14926, 0.16806, 0.24960,
1198 0.20627, 0.19536, 0.20366, 0.24256, 0.50557},
1199 {0.20678, 0.20848, 0.21384, 0.22450, 0.24552, 0.32018,
1200 0.28740, 0.27477, 0.28196, 0.32128, 0.58475},
1201 {0.28287, 0.28461, 0.29020, 0.30108, 0.32224, 0.39467,
1202 0.36500, 0.35217, 0.35926, 0.39860, 0.66194},
1203 {0.35972, 0.36145, 0.36713, 0.37797, 0.39912, 0.47091,
1204 0.44212, 0.42925, 0.43632, 0.47563, 0.73892},
1205 {0.43667, 0.43841, 0.44413, 0.45494, 0.47607, 0.54780,
1206 0.51912, 0.50627, 0.51334, 0.55254, 0.81595},
1207 {0.51365, 0.51540, 0.52101, 0.53193, 0.55305, 0.62463,
1208 0.59617, 0.58328, 0.59035, 0.62965, 0.89303},
1209 {0.59064, 0.59240, 0.59801, 0.60893, 0.63009, 0.70169,
1210 0.67317, 0.66028, 0.66735, 0.70666, 0.96995},
1211 {0.66765, 0.66939, 0.67501, 0.68592, 0.70724, 0.77863,
1212 0.75016, 0.73728, 0.74435, 0.78366, 1.04696},
1213 {0.74464, 0.74636, 0.75200, 0.76293, 0.78405, 0.85561,
1214 0.82716, 0.81427, 0.82133, 0.86064, 1.12396},
1215 {0.82165, 0.82340, 0.82902, 0.83991, 0.86104, 0.93266,
1216 0.90414, 0.89128, 0.89834, 0.93763, 1.20100},
1217 {0.89863, 0.90042, 0.90659, 0.91705, 0.93805, 1.00960,
1218 0.98115, 0.96825, 0.97533, 1.01462, 1.27801},
1219 {0.97563, 0.97740, 0.98310, 0.99391, 1.01504, 1.08659,
1220 1.05814, 1.04526, 1.05233, 1.09163, 1.35503},
1221 {1.05276, 1.05451, 1.06002, 1.07090, 1.09099, 1.16357,
1222 1.13516, 1.12225, 1.12933, 1.16863, 1.43195},
1223 {1.12977, 1.13138, 1.13700, 1.14792, 1.16797, 1.24061,
1224 1.21212, 1.19926, 1.20626, 1.24554, 1.50900},
1225 {1.20664, 1.20839, 1.21400, 1.22490, 1.24606, 1.31772,
1226 1.28914, 1.27382, 1.28329, 1.32262, 1.58550},
1227 {1.28367, 1.28541, 1.29099, 1.30189, 1.32312, 1.39460,
1228 1.36612, 1.34924, 1.36030, 1.39961, 1.66310},
1229 {1.36064, 1.36249, 1.36799, 1.37896, 1.40004, 1.48030,
1230 1.44314, 1.43032, 1.43731, 1.47659, 1.73442},
1231 {1.43762, 1.43937, 1.44497, 1.45618, 1.47704, 1.54932,
1232 1.52012, 1.50725, 1.51430, 1.55357, 1.81708},
1233 {1.51462, 1.51937, 1.52203, 1.53316, 1.55403, 1.62572,
1234 1.59713, 1.58424, 1.59128, 1.63061, 1.89406},
1235 {1.59162, 1.59338, 1.59947, 1.60989, 1.63103, 1.70270,
1236 1.67411, 1.66124, 1.66799, 1.70759, 1.97103},
1237 {1.66874, 1.67037, 1.67597, 1.68687, 1.70814, 1.77969,
1238 1.75112, 1.73806, 1.74530, 1.78457, 2.04794},
1239 {1.74693, 1.74749, 1.75297, 1.76476, 1.78500, 1.85667,
1240 1.82811, 1.81504, 1.82101, 1.86161, 2.12492},
1241 {1.82260, 1.82437, 1.82995, 1.84174, 1.86202, 1.93372,
1242 1.90509, 1.89202, 1.89930, 1.93859, 2.20189},
1243 {1.89964, 1.90135, 1.90693, 1.91789, 1.93952, 2.01080,
1244 1.98207, 1.96921, 1.97628, 2.01384, 2.27887},
1245 {1.97662, 1.97917, 1.98611, 1.99487, 2.01601, 2.08778,
1246 2.05846, 2.04623, 2.05330, 2.09244, 2.35585},
1247 {2.05359, 2.05615, 2.06309, 2.07187, 2.09867, 2.16459,
1248 2.13610, 2.12322, 2.13029, 2.16942, 2.43199},
1249 {2.13063, 2.13233, 2.13795, 2.14886, 2.17008, 2.24199,
1250 2.21310, 2.20020, 2.20727, 2.24659, 2.50983},
1251 {2.20761, 2.20931, 2.21955, 2.22624, 2.24708, 2.32147,
1252 2.29009, 2.27725, 2.28276, 2.32359, 2.58680},
1253 {2.28459, 2.29108, 2.29202, 2.30286, 2.32007, 2.39559,
1254 2.36683, 2.35422, 2.36119, 2.40058, 2.66081},
1255 {2.36153, 2.36806, 2.36889, 2.37985, 2.40092, 2.47828,
1256 2.44381, 2.43099, 2.43819, 2.47750, 2.73779}};
1258 // Garfield simulation at UD = -1800V; vd = 1.450cm/microsec, <driftfield> = 623V/cm
1259 Float_t time1800[ktimebin][kZbin] =
1260 {{0.09166, 0.09199, 0.09300, 0.09470, 0.09709, 0.10026,
1261 0.10434, 0.10983, 0.11831, 0.13987, 0.37802},
1262 {0.06585, 0.06623, 0.06735, 0.06921, 0.07180, 0.07520,
1263 0.07941, 0.08507, 0.09376, 0.11604, 0.35624},
1264 {0.03945, 0.04004, 0.04169, 0.04432, 0.04776, 0.05187,
1265 0.05674, 0.06300, 0.07290, 0.09884, 0.34704},
1266 {0.01108, 0.01287, 0.01717, 0.02280, 0.02880, 0.03476,
1267 0.04095, 0.04909, 0.06419, 0.10589, 0.36843},
1268 {0.01115, 0.01287, 0.01720, 0.02276, 0.02862, 0.03448,
1269 0.04073, 0.04973, 0.06799, 0.11535, 0.37224},
1270 {0.03918, 0.03975, 0.04134, 0.04382, 0.04707, 0.05105,
1271 0.05603, 0.06296, 0.07605, 0.10822, 0.36560},
1272 {0.06498, 0.06532, 0.06635, 0.06809, 0.07058, 0.07395,
1273 0.07855, 0.08495, 0.09632, 0.12488, 0.37730},
1274 {0.09130, 0.09160, 0.09199, 0.09300, 0.09472, 0.00000,
1275 0.11059, 0.11747, 0.13146, 0.16462, 0.42233},
1276 {0.13364, 0.13449, 0.13767, 0.14481, 0.16147, 0.23635,
1277 0.19706, 0.18812, 0.19704, 0.23520, 0.49749},
1278 {0.19698, 0.19844, 0.20311, 0.21236, 0.23082, 0.29920,
1279 0.26936, 0.25927, 0.26732, 0.30601, 0.56871},
1280 {0.26518, 0.26670, 0.27160, 0.28099, 0.29955, 0.36597,
1281 0.33885, 0.32858, 0.33653, 0.37524, 0.63801},
1282 {0.33441, 0.33553, 0.34040, 0.34987, 0.36841, 0.43428,
1283 0.40797, 0.39763, 0.40556, 0.44425, 0.70698},
1284 {0.40296, 0.40447, 0.40934, 0.41881, 0.43737, 0.50306,
1285 0.47695, 0.46662, 0.47455, 0.51329, 0.77600},
1286 {0.47296, 0.47344, 0.47830, 0.48779, 0.50632, 0.57200,
1287 0.54593, 0.53559, 0.54351, 0.58222, 0.84489},
1288 {0.54089, 0.54264, 0.54727, 0.55673, 0.57529, 0.64094,
1289 0.61490, 0.60457, 0.61249, 0.65118, 0.91394},
1290 {0.60987, 0.61138, 0.61624, 0.62573, 0.64428, 0.70989,
1291 0.68397, 0.67354, 0.68147, 0.72015, 0.98291},
1292 {0.67883, 0.68035, 0.68521, 0.69469, 0.71324, 0.77896,
1293 0.75287, 0.74251, 0.75043, 0.78912, 1.04458},
1294 {0.74780, 0.74932, 0.75421, 0.76367, 0.78221, 0.84785,
1295 0.82185, 0.81148, 0.81941, 0.85811, 1.12085},
1296 {0.81690, 0.81830, 0.82316, 0.83263, 0.85120, 0.91683,
1297 0.89077, 0.88045, 0.88837, 0.92707, 1.18976},
1298 {0.88574, 0.88726, 0.89228, 0.90198, 0.92017, 0.98578,
1299 0.95974, 0.94947, 0.95734, 0.99604, 1.25873},
1300 {0.95493, 0.95624, 0.96110, 0.97058, 0.98913, 1.05481,
1301 1.02873, 1.01839, 1.02631, 1.06503, 1.32772},
1302 {1.02392, 1.02524, 1.03008, 1.03955, 1.05810, 1.12378,
1303 1.09757, 1.08605, 1.09530, 1.13399, 1.39669},
1304 {1.09270, 1.09418, 1.09911, 1.10854, 1.12714, 1.19281,
1305 1.16502, 1.15633, 1.16427, 1.20271, 1.46574},
1306 {1.16168, 1.16323, 1.16801, 1.17772, 1.19604, 1.26190,
1307 1.23399, 1.22531, 1.23323, 1.27194, 1.53475},
1308 {1.23061, 1.23214, 1.23698, 1.24669, 1.26503, 1.33073,
1309 1.30461, 1.29428, 1.30220, 1.34091, 1.60372},
1310 {1.29960, 1.30110, 1.30596, 1.31544, 1.33398, 1.39962,
1311 1.37228, 1.36323, 1.37121, 1.40988, 1.67273},
1312 {1.36851, 1.37007, 1.37512, 1.38441, 1.40297, 1.46865,
1313 1.44256, 1.43222, 1.44017, 1.47878, 1.74155},
1314 {1.43752, 1.43904, 1.44773, 1.45338, 1.47220, 1.53759,
1315 1.51136, 1.50119, 1.50914, 1.54775, 1.81050},
1316 {1.50646, 1.50802, 1.51288, 1.52237, 1.54097, 1.60697,
1317 1.58049, 1.57018, 1.57811, 1.61678, 1.87947},
1318 {1.57545, 1.57720, 1.58185, 1.59134, 1.60996, 1.67787,
1319 1.64929, 1.63914, 1.64707, 1.68570, 1.94851},
1320 {1.64442, 1.64617, 1.65081, 1.66035, 1.67893, 1.74684,
1321 1.71826, 1.70745, 1.71604, 1.75310, 2.01748},
1322 {1.71337, 1.71513, 1.71978, 1.72932, 1.74645, 1.81346,
1323 1.78739, 1.77642, 1.78501, 1.82151, 2.08644},
1324 {1.78238, 1.78410, 1.78876, 1.79824, 1.81678, 1.88332,
1325 1.85639, 1.84262, 1.85397, 1.89270, 2.15533},
1326 {1.85135, 1.85306, 1.85778, 1.86728, 1.88580, 1.95615,
1327 1.92536, 1.91171, 1.92283, 1.96165, 2.22428},
1328 {1.92774, 1.92184, 1.92672, 1.93618, 1.95477, 2.02048,
1329 1.99427, 1.98068, 1.99192, 2.03062, 2.29338},
1330 {1.98929, 1.99081, 1.99567, 2.00515, 2.02373, 2.08987,
1331 2.06332, 2.05249, 2.05939, 2.09928, 2.36227},
1332 {2.05829, 2.05978, 2.06464, 2.07414, 2.09272, 2.15850,
1333 2.12928, 2.12194, 2.12987, 2.16825, 2.43083},
1334 {2.12726, 2.12869, 2.13360, 2.14425, 2.16160, 2.22872,
1335 2.20118, 2.19078, 2.19876, 2.23416, 2.50007}};
1337 // Garfield simulation at UD = -1900V; vd = 1.610cm/microsec, <driftfield> = 655V/cm
1338 Float_t time1900[ktimebin][kZbin] =
1339 {{0.09166, 0.09198, 0.09298, 0.09467, 0.09707, 0.10023,
1340 0.10431, 0.10980, 0.11828, 0.13988, 0.37789},
1341 {0.06584, 0.06622, 0.06735, 0.06920, 0.07179, 0.07514,
1342 0.07938, 0.08505, 0.09374, 0.11606, 0.35599},
1343 {0.03945, 0.04002, 0.04169, 0.04432, 0.04775, 0.05185,
1344 0.05672, 0.06298, 0.07290, 0.09888, 0.34695},
1345 {0.01109, 0.01281, 0.01717, 0.02279, 0.02878, 0.03476,
1346 0.04094, 0.04909, 0.06421, 0.10597, 0.36823},
1347 {0.01115, 0.01287, 0.01720, 0.02294, 0.02862, 0.03448,
1348 0.04074, 0.04973, 0.06783, 0.11506, 0.37206},
1349 {0.03940, 0.03975, 0.04135, 0.04386, 0.04708, 0.05106,
1350 0.05604, 0.06293, 0.07592, 0.10787, 0.36484},
1351 {0.06500, 0.06534, 0.06638, 0.06811, 0.07060, 0.07413,
1352 0.07852, 0.08491, 0.09614, 0.12446, 0.37626},
1353 {0.09119, 0.09140, 0.09194, 0.09293, 0.09471, 0.00000,
1354 0.11013, 0.11685, 0.13050, 0.16302, 0.41991},
1355 {0.13111, 0.13190, 0.13466, 0.14091, 0.15554, 0.22409,
1356 0.18846, 0.18167, 0.19113, 0.22854, 0.48995},
1357 {0.18849, 0.18975, 0.19380, 0.20185, 0.21797, 0.28050,
1358 0.25368, 0.24575, 0.25446, 0.29249, 0.55442},
1359 {0.24995, 0.25125, 0.25563, 0.26366, 0.27986, 0.34065,
1360 0.31605, 0.30815, 0.31680, 0.35482, 0.61697},
1361 {0.31187, 0.31324, 0.31745, 0.32580, 0.34205, 0.40217,
1362 0.37825, 0.37031, 0.37897, 0.41696, 0.67890},
1363 {0.37401, 0.37531, 0.37955, 0.38777, 0.40395, 0.46408,
1364 0.44037, 0.43242, 0.44108, 0.47906, 0.74122},
1365 {0.43610, 0.43741, 0.44161, 0.44986, 0.46604, 0.52614,
1366 0.50248, 0.49452, 0.50316, 0.54116, 0.80326},
1367 {0.49820, 0.49988, 0.50372, 0.51196, 0.52814, 0.58822,
1368 0.56459, 0.55661, 0.56527, 0.60326, 0.86526},
1369 {0.56032, 0.56161, 0.56582, 0.57408, 0.59024, 0.65032,
1370 0.62670, 0.61872, 0.62737, 0.66537, 0.92749},
1371 {0.62240, 0.62371, 0.62792, 0.63624, 0.65236, 0.71241,
1372 0.68881, 0.68081, 0.68947, 0.72750, 0.98941},
1373 {0.68449, 0.68581, 0.69002, 0.69828, 0.71444, 0.77452,
1374 0.75089, 0.74295, 0.75157, 0.78957, 1.05157},
1375 {0.74660, 0.74790, 0.75212, 0.76036, 0.77654, 0.83748,
1376 0.81299, 0.80501, 0.81193, 0.85168, 1.11375},
1377 {0.80870, 0.81017, 0.81423, 0.82246, 0.83867, 0.89908,
1378 0.87509, 0.86660, 0.87577, 0.91376, 1.17586},
1379 {0.87080, 0.87233, 0.87632, 0.88458, 0.90074, 0.96083,
1380 0.93718, 0.92922, 0.93787, 0.97588, 1.23794},
1381 {0.93291, 0.93422, 0.93844, 0.94667, 0.96293, 1.02295,
1382 0.99929, 0.99127, 0.99997, 1.03797, 1.29995},
1383 {0.99500, 0.99645, 1.00308, 1.00877, 1.02497, 1.08504,
1384 1.06140, 1.05343, 1.06203, 1.10006, 1.36216},
1385 {1.05712, 1.05926, 1.06262, 1.07092, 1.08706, 1.14754,
1386 1.12350, 1.11550, 1.12417, 1.16218, 1.42427},
1387 {1.11921, 1.12059, 1.12473, 1.13297, 1.14916, 1.21140,
1388 1.18560, 1.17284, 1.18625, 1.22414, 1.48629},
1389 {1.18140, 1.18262, 1.18690, 1.19508, 1.21125, 1.27139,
1390 1.24164, 1.23495, 1.24838, 1.28634, 1.54852},
1391 {1.24340, 1.24473, 1.24901, 1.25732, 1.27336, 1.33358,
1392 1.30793, 1.30179, 1.31047, 1.34848, 1.61066},
1393 {1.30551, 1.30684, 1.31104, 1.32056, 1.33553, 1.39609,
1394 1.37004, 1.36392, 1.37045, 1.41057, 1.67259},
1395 {1.36755, 1.36892, 1.37315, 1.39148, 1.39755, 1.45820,
1396 1.43215, 1.42602, 1.43467, 1.47268, 1.73477},
1397 {1.42966, 1.43101, 1.43549, 1.45359, 1.45976, 1.52031,
1398 1.49601, 1.48811, 1.49677, 1.53477, 1.79691},
1399 {1.49180, 1.49321, 1.49760, 1.51570, 1.52175, 1.58185,
1400 1.55771, 1.55023, 1.55888, 1.59672, 1.85501},
1401 {1.55391, 1.55527, 1.55943, 1.57782, 1.58391, 1.64395,
1402 1.62008, 1.61233, 1.62085, 1.65883, 1.92091},
1403 {1.61599, 1.61732, 1.62154, 1.63993, 1.64612, 1.70608,
1404 1.68237, 1.67108, 1.68301, 1.72110, 1.97931},
1405 {1.67808, 1.67948, 1.68364, 1.70204, 1.70823, 1.76858,
1406 1.74404, 1.73539, 1.74512, 1.78321, 2.04522},
1407 {1.74019, 1.74152, 1.74573, 1.76415, 1.77015, 1.83040,
1408 1.80615, 1.79366, 1.80723, 1.84509, 2.10742},
1409 {1.80235, 1.80362, 1.80783, 1.82626, 1.83227, 1.89246,
1410 1.86795, 1.85405, 1.86938, 1.90720, 2.16953},
1411 {1.86442, 1.86572, 1.86994, 1.88837, 1.89438, 1.95445,
1412 1.93006, 1.92283, 1.93148, 1.96931, 2.23147},
1413 {1.92700, 1.92783, 1.93197, 1.95049, 1.95649, 2.01668,
1414 1.99217, 1.98486, 1.99352, 2.03143, 2.29358}};
1416 // Garfield simulation at UD = -2000V; vd = 1.783cm/microsec, <driftfield> = 688V/cm
1417 Float_t time2000[ktimebin][kZbin] =
1418 {{0.09176, 0.09196, 0.09296, 0.09465, 0.09704, 0.10020,
1419 0.10427, 0.10977, 0.11825, 0.13988, 0.37774},
1420 {0.06583, 0.06620, 0.06735, 0.06918, 0.07177, 0.07513,
1421 0.07936, 0.08503, 0.09372, 0.11606, 0.35586},
1422 {0.03944, 0.04001, 0.04170, 0.04431, 0.04774, 0.05184,
1423 0.05670, 0.06296, 0.07291, 0.09893, 0.34680},
1424 {0.01108, 0.01281, 0.01719, 0.02279, 0.02879, 0.03474,
1425 0.04093, 0.04908, 0.06422, 0.10605, 0.36800},
1426 {0.01114, 0.01287, 0.01720, 0.02276, 0.02863, 0.03449,
1427 0.04073, 0.04970, 0.06774, 0.11478, 0.37179},
1428 {0.03925, 0.03977, 0.04135, 0.04386, 0.04711, 0.05108,
1429 0.05604, 0.06290, 0.07580, 0.10748, 0.36386},
1430 {0.06501, 0.06536, 0.06640, 0.06814, 0.07062, 0.07398,
1431 0.07852, 0.08487, 0.09598, 0.12405, 0.37519},
1432 {0.09109, 0.09127, 0.09188, 0.09292, 0.09472, 0.00000,
1433 0.10964, 0.11630, 0.12960, 0.16150, 0.41765},
1434 {0.12898, 0.12968, 0.13209, 0.13749, 0.15034, 0.21286,
1435 0.18088, 0.17590, 0.18591, 0.22254, 0.48315},
1436 {0.18122, 0.18227, 0.18574, 0.19263, 0.20674, 0.26376,
1437 0.23960, 0.23375, 0.24316, 0.28047, 0.54179},
1438 {0.23674, 0.23784, 0.24142, 0.24847, 0.26264, 0.31810,
1439 0.29602, 0.29008, 0.29944, 0.33675, 0.59795},
1440 {0.29279, 0.29382, 0.29742, 0.30448, 0.31865, 0.37364,
1441 0.35215, 0.34629, 0.35555, 0.39286, 0.65411},
1442 {0.34875, 0.34987, 0.35346, 0.36054, 0.37472, 0.42956,
1443 0.40825, 0.40229, 0.41167, 0.44894, 0.71033},
1444 {0.40484, 0.40594, 0.40954, 0.41660, 0.43077, 0.48560,
1445 0.46433, 0.45840, 0.46772, 0.50500, 0.76632},
1446 {0.46090, 0.46201, 0.46560, 0.47267, 0.48684, 0.54167,
1447 0.52041, 0.51449, 0.52382, 0.56108, 0.82227},
1448 {0.51698, 0.51809, 0.52173, 0.52874, 0.54291, 0.59776,
1449 0.57646, 0.57052, 0.57986, 0.61717, 0.87836},
1450 {0.57306, 0.57418, 0.57782, 0.58513, 0.59899, 0.65380,
1451 0.63255, 0.62661, 0.63594, 0.67325, 0.93460},
1452 {0.62912, 0.63024, 0.63383, 0.64103, 0.65506, 0.70988,
1453 0.68484, 0.68267, 0.69202, 0.72878, 0.99046},
1454 {0.68521, 0.68633, 0.68990, 0.69699, 0.71115, 0.76595,
1455 0.74468, 0.73872, 0.74814, 0.78538, 1.04674},
1456 {0.74127, 0.74239, 0.74605, 0.75303, 0.77022, 0.82204,
1457 0.80078, 0.79484, 0.80416, 0.84147, 1.10261},
1458 {0.79736, 0.79846, 0.80206, 0.80947, 0.82330, 0.87813,
1459 0.85688, 0.85087, 0.86023, 0.89752, 1.15874},
1460 {0.85342, 0.85454, 0.85815, 0.86519, 0.87936, 0.93417,
1461 0.91293, 0.90428, 0.91631, 0.95360, 1.20760},
1462 {0.90949, 0.91061, 0.91423, 0.92128, 0.93544, 0.99026,
1463 0.96807, 0.96305, 0.97239, 1.00967, 1.27078},
1464 {0.96556, 0.96669, 0.97111, 0.97734, 0.99151, 1.04664,
1465 1.02508, 1.01879, 1.02846, 1.06167, 1.32695},
1466 {1.02167, 1.02279, 1.02656, 1.03341, 1.04759, 1.10242,
1467 1.08115, 1.07003, 1.08453, 1.12184, 1.38304},
1468 {1.07776, 1.07883, 1.08242, 1.08950, 1.10384, 1.16422,
1469 1.13725, 1.13133, 1.14061, 1.17793, 1.43910},
1470 {1.13379, 1.13492, 1.13864, 1.14567, 1.15973, 1.21455,
1471 1.19323, 1.18734, 1.19668, 1.23401, 1.49528},
1472 {1.18988, 1.19098, 1.19457, 1.20164, 1.21582, 1.27064,
1473 1.24937, 1.24044, 1.25275, 1.29004, 1.55137},
1474 {1.24592, 1.24706, 1.25087, 1.25773, 1.27188, 1.32670,
1475 1.30544, 1.29953, 1.30883, 1.34613, 1.60743},
1476 {1.30202, 1.30313, 1.30673, 1.31381, 1.32797, 1.38278,
1477 1.36151, 1.35167, 1.36490, 1.40221, 1.66306},
1478 {1.35809, 1.35921, 1.36282, 1.36986, 1.38403, 1.43888,
1479 1.41760, 1.41174, 1.42083, 1.45830, 1.71915},
1480 {1.41419, 1.41528, 1.41890, 1.42595, 1.44011, 1.49496,
1481 1.47368, 1.46769, 1.47706, 1.51436, 1.77523},
1482 {1.47131, 1.47141, 1.47494, 1.48850, 1.49620, 1.55137,
1483 1.52977, 1.51820, 1.53315, 1.57042, 1.83158},
1484 {1.52635, 1.52750, 1.53103, 1.53814, 1.55228, 1.60736,
1485 1.58503, 1.57986, 1.58920, 1.62649, 1.88767},
1486 {1.58418, 1.58355, 1.58711, 1.59526, 1.60833, 1.66316,
1487 1.63345, 1.63261, 1.64556, 1.68204, 1.94359},
1488 {1.64027, 1.63958, 1.64489, 1.65024, 1.66443, 1.71925,
1489 1.69794, 1.69201, 1.70143, 1.73865, 1.99968},
1490 {1.69450, 1.69566, 1.69940, 1.70697, 1.71841, 1.77819,
1491 1.75396, 1.74814, 1.75743, 1.79083, 2.05427},
1492 {1.75054, 1.75221, 1.75527, 1.76306, 1.77662, 1.83428,
1493 1.81006, 1.81173, 1.81345, 1.85076, 2.10289}};
1495 // Garfield simulation at UD = -2100V; vd = 1.959cm/microsec, <driftfield> = 720V/cm
1496 Float_t time2100[ktimebin][kZbin] =
1497 {{0.09160, 0.09194, 0.09294, 0.09462, 0.09701, 0.10017,
1498 0.10424, 0.10974, 0.11823, 0.13988, 0.37762},
1499 {0.06585, 0.06619, 0.06731, 0.06916, 0.07174, 0.07509,
1500 0.07933, 0.08500, 0.09370, 0.11609, 0.35565},
1501 {0.03960, 0.04001, 0.04171, 0.04430, 0.04774, 0.05182,
1502 0.05668, 0.06294, 0.07291, 0.09896, 0.34676},
1503 {0.01109, 0.01280, 0.01716, 0.02279, 0.02876, 0.03474,
1504 0.04096, 0.04908, 0.06424, 0.10612, 0.36790},
1505 {0.01114, 0.01285, 0.01719, 0.02287, 0.02863, 0.03449,
1506 0.04073, 0.04964, 0.06759, 0.11446, 0.37162},
1507 {0.03922, 0.03977, 0.04146, 0.04386, 0.04711, 0.05109,
1508 0.05605, 0.06287, 0.07575, 0.10713, 0.36298},
1509 {0.06504, 0.06538, 0.06641, 0.06818, 0.07064, 0.07426,
1510 0.07852, 0.08483, 0.09581, 0.12363, 0.37424},
1511 {0.09103, 0.09129, 0.09186, 0.09291, 0.09476, 0.00000,
1512 0.10923, 0.11578, 0.12873, 0.16005, 0.41525},
1513 {0.12723, 0.12777, 0.12988, 0.13458, 0.14579, 0.20264,
1514 0.17421, 0.17078, 0.18132, 0.21708, 0.47699},
1515 {0.17508, 0.17601, 0.17897, 0.18487, 0.19698, 0.24881,
1516 0.22737, 0.22337, 0.23348, 0.27000, 0.53032},
1517 {0.22571, 0.22663, 0.22969, 0.23570, 0.24787, 0.29826,
1518 0.27871, 0.27462, 0.28471, 0.32122, 0.58166},
1519 {0.27664, 0.27759, 0.28067, 0.28669, 0.29891, 0.34898,
1520 0.32982, 0.32570, 0.33576, 0.37229, 0.63268},
1521 {0.32766, 0.32862, 0.33170, 0.33778, 0.34988, 0.39973,
1522 0.38088, 0.37675, 0.38680, 0.42333, 0.68159},
1523 {0.37872, 0.37966, 0.38275, 0.38875, 0.40093, 0.45073,
1524 0.43192, 0.42780, 0.43786, 0.47438, 0.73480},
1525 {0.42974, 0.43070, 0.43378, 0.43982, 0.45196, 0.50177,
1526 0.48297, 0.47884, 0.48889, 0.52544, 0.78581},
1527 {0.48081, 0.48175, 0.48482, 0.49084, 0.50302, 0.55290,
1528 0.53398, 0.52988, 0.53994, 0.57647, 0.83687},
1529 {0.53645, 0.53295, 0.53586, 0.54188, 0.55408, 0.60398,
1530 0.58504, 0.58092, 0.59100, 0.62768, 0.88773},
1531 {0.58345, 0.58409, 0.58690, 0.59292, 0.60510, 0.65562,
1532 0.63609, 0.63197, 0.64203, 0.67856, 0.93907},
1533 {0.63397, 0.63490, 0.63795, 0.64403, 0.65613, 0.70612,
1534 0.68714, 0.68301, 0.69294, 0.72955, 0.99000},
1535 {0.68496, 0.68592, 0.68899, 0.69504, 0.70733, 0.75708,
1536 0.73818, 0.73405, 0.74412, 0.78064, 1.04100},
1537 {0.73600, 0.73696, 0.74003, 0.74624, 0.75828, 0.80805,
1538 0.78904, 0.78512, 0.79517, 0.83152, 1.09205},
1539 {0.78709, 0.78801, 0.79108, 0.79709, 0.80931, 0.85906,
1540 0.84027, 0.83614, 0.84621, 0.88269, 1.14058},
1541 {0.83808, 0.83905, 0.84215, 0.84816, 0.86031, 0.91011,
1542 0.89139, 0.88718, 0.89725, 0.93377, 1.19413},
1543 {0.88916, 0.89010, 0.89320, 0.89920, 0.91136, 0.96117,
1544 0.94235, 0.93822, 0.94828, 0.98480, 1.24538},
1545 {0.94036, 0.94113, 0.94422, 0.95023, 0.96241, 1.01220,
1546 0.99310, 0.98927, 0.99933, 1.03585, 1.29629},
1547 {0.99139, 0.99220, 0.99525, 1.00127, 1.01344, 1.06324,
1548 1.04451, 1.04033, 1.04836, 1.08690, 1.34727},
1549 {1.04261, 1.04325, 1.04628, 1.05232, 1.06448, 1.12090,
1550 1.09546, 1.09136, 1.10142, 1.13795, 1.39831},
1551 {1.09331, 1.09429, 1.09742, 1.10336, 1.11557, 1.16547,
1552 1.14658, 1.13642, 1.15247, 1.18898, 1.44936},
1553 {1.14436, 1.14539, 1.14847, 1.15443, 1.16662, 1.21794,
1554 1.19763, 1.19329, 1.20349, 1.23956, 1.50043},
1555 {1.19533, 1.19651, 1.19943, 1.20548, 1.21666, 1.26753,
1556 1.24862, 1.24434, 1.25455, 1.29106, 1.55142},
1557 {1.24638, 1.24756, 1.25046, 1.25648, 1.26764, 1.31858,
1558 1.29967, 1.29538, 1.30499, 1.34211, 1.60250},
1559 {1.29747, 1.29847, 1.30175, 1.30753, 1.31869, 1.36969,
1560 1.35069, 1.34656, 1.35663, 1.39316, 1.64644},
1561 {1.35537, 1.34952, 1.35255, 1.35869, 1.36973, 1.41387,
1562 1.40173, 1.39761, 1.40768, 1.44396, 1.70238},
1563 {1.39956, 1.40056, 1.40380, 1.40961, 1.42178, 1.46492,
1564 1.45278, 1.45423, 1.45872, 1.49522, 1.75557},
1565 {1.45080, 1.45159, 1.45463, 1.46109, 1.47287, 1.52263,
1566 1.50382, 1.50050, 1.50977, 1.54502, 1.80670},
1567 {1.50165, 1.50264, 1.50570, 1.51214, 1.52233, 1.57370,
1568 1.55484, 1.55155, 1.56080, 1.59731, 1.85778},
1569 {1.55269, 1.55364, 1.55675, 1.56274, 1.57491, 1.62598,
1570 1.60590, 1.60259, 1.61185, 1.64836, 1.90883},
1571 {1.60368, 1.60469, 1.60779, 1.61373, 1.62596, 1.67738,
1572 1.65651, 1.65249, 1.66290, 1.69936, 1.95959}};
1574 // Garfield simulation at UD = -2200V; vd = 2.134cm/microsec, <driftfield> = 753V/cm
1575 Float_t time2200[ktimebin][kZbin] =
1576 {{0.09162, 0.09194, 0.09292, 0.09460, 0.09702, 0.10014,
1577 0.10421, 0.10971, 0.11820, 0.13990, 0.37745},
1578 {0.06581, 0.06618, 0.06730, 0.06915, 0.07173, 0.07507,
1579 0.07931, 0.08497, 0.09368, 0.11609, 0.35560},
1580 {0.03947, 0.04001, 0.04167, 0.04429, 0.04772, 0.05183,
1581 0.05667, 0.06293, 0.07292, 0.09900, 0.34673},
1582 {0.01111, 0.01280, 0.01716, 0.02279, 0.02876, 0.03473,
1583 0.04091, 0.04907, 0.06426, 0.10620, 0.36766},
1584 {0.01113, 0.01285, 0.01719, 0.02276, 0.02863, 0.03452,
1585 0.04076, 0.04960, 0.06745, 0.11419, 0.37139},
1586 {0.03923, 0.03978, 0.04137, 0.04387, 0.04713, 0.05110,
1587 0.05605, 0.06284, 0.07551, 0.10677, 0.36210},
1588 {0.06505, 0.06540, 0.06644, 0.06820, 0.07069, 0.07401,
1589 0.07852, 0.08479, 0.09565, 0.12325, 0.37313},
1590 {0.09107, 0.09127, 0.09181, 0.09291, 0.09474, 0.00000,
1591 0.10883, 0.11528, 0.12789, 0.15865, 0.41313},
1592 {0.12559, 0.12622, 0.12800, 0.13206, 0.14166, 0.19331,
1593 0.16832, 0.16632, 0.17724, 0.21218, 0.47098},
1594 {0.16992, 0.17070, 0.17325, 0.17831, 0.18871, 0.23557,
1595 0.21690, 0.21451, 0.22514, 0.26082, 0.52034},
1596 {0.21640, 0.21722, 0.21987, 0.22500, 0.23540, 0.28097,
1597 0.26399, 0.26154, 0.27214, 0.30784, 0.56734},
1598 {0.26318, 0.26400, 0.26679, 0.27181, 0.28220, 0.32739,
1599 0.31090, 0.30842, 0.31902, 0.35474, 0.61415},
1600 {0.31001, 0.31085, 0.31348, 0.31866, 0.32903, 0.37412,
1601 0.35777, 0.35546, 0.36588, 0.40159, 0.66103},
1602 {0.35687, 0.35769, 0.36033, 0.36556, 0.37588, 0.42094,
1603 0.40523, 0.40214, 0.41273, 0.44841, 0.70785},
1604 {0.40372, 0.40457, 0.40723, 0.41234, 0.42273, 0.46778,
1605 0.45148, 0.44903, 0.45961, 0.49526, 0.75486},
1606 {0.45062, 0.45139, 0.45404, 0.45966, 0.46958, 0.51470,
1607 0.49833, 0.49584, 0.50644, 0.54211, 0.80160},
1608 {0.49742, 0.49825, 0.50088, 0.50605, 0.51644, 0.56148,
1609 0.54518, 0.54270, 0.55330, 0.58897, 0.84854},
1610 {0.54427, 0.54510, 0.54774, 0.55290, 0.56329, 0.60846,
1611 0.59203, 0.58955, 0.60014, 0.63578, 0.89528},
1612 {0.59119, 0.59199, 0.59471, 0.59975, 0.61014, 0.65533,
1613 0.63889, 0.63636, 0.64699, 0.68269, 0.94197},
1614 {0.63866, 0.63880, 0.64145, 0.64664, 0.65701, 0.70639,
1615 0.68574, 0.68325, 0.69385, 0.72949, 0.98900},
1616 {0.68483, 0.68566, 0.68831, 0.69347, 0.70386, 0.74890,
1617 0.73260, 0.73010, 0.74069, 0.77638, 1.03320},
1618 {0.73168, 0.73255, 0.73515, 0.74031, 0.75072, 0.79576,
1619 0.77117, 0.77501, 0.78755, 0.82318, 1.08006},
1620 {0.77854, 0.78310, 0.78200, 0.79525, 0.79756, 0.84281,
1621 0.81803, 0.82393, 0.83441, 0.87008, 1.12692},
1622 {0.82541, 0.82642, 0.82916, 0.83528, 0.84442, 0.89086,
1623 0.87315, 0.87079, 0.88125, 0.91694, 1.17648},
1624 {0.87226, 0.87308, 0.87602, 0.88086, 0.89128, 0.93772,
1625 0.92001, 0.91751, 0.92811, 0.95587, 1.22328},
1626 {0.91921, 0.91994, 0.92256, 0.92772, 0.94713, 0.98566,
1627 0.96690, 0.96436, 0.97495, 1.01064, 1.26882},
1628 {0.96790, 0.96679, 0.96941, 0.97463, 0.99399, 1.03001,
1629 1.01376, 1.01112, 1.02181, 1.05749, 1.31568},
1630 {1.01278, 1.01390, 1.01674, 1.02147, 1.03182, 1.07820,
1631 1.06056, 1.05798, 1.06867, 1.10433, 1.36390},
1632 {1.05964, 1.06076, 1.06331, 1.06833, 1.07870, 1.13297,
1633 1.10742, 1.10520, 1.11543, 1.15120, 1.41069},
1634 {1.10664, 1.10762, 1.10997, 1.11519, 1.12556, 1.17531,
1635 1.15427, 1.14620, 1.16229, 1.19805, 1.45758},
1636 {1.15352, 1.15421, 1.15683, 1.16218, 1.17242, 1.21910,
1637 1.20035, 1.19863, 1.20579, 1.24473, 1.50412},
1638 {1.20019, 1.20115, 1.20369, 1.20892, 1.21928, 1.26913,
1639 1.24721, 1.24549, 1.25605, 1.29159, 1.54920},
1640 {1.24707, 1.24846, 1.25052, 1.25602, 1.26608, 1.31558,
1641 1.29448, 1.29232, 1.30293, 1.33675, 1.59798},
1642 {1.29391, 1.29475, 1.29738, 1.30255, 1.31294, 1.36244,
1643 1.34167, 1.33918, 1.34979, 1.38229, 1.64496},
1644 {1.34078, 1.34304, 1.34424, 1.35565, 1.35980, 1.40930,
1645 1.38853, 1.38229, 1.39664, 1.42863, 1.69162},
1646 {1.38762, 1.38847, 1.39110, 1.39627, 1.40666, 1.45183,
1647 1.43539, 1.43289, 1.44348, 1.47549, 1.73876},
1648 {1.43524, 1.43533, 1.43796, 1.44310, 1.45371, 1.49305,
1649 1.48224, 1.47941, 1.49034, 1.52601, 1.78552},
1650 {1.48122, 1.48219, 1.48482, 1.48991, 1.50030, 1.53991,
1651 1.52898, 1.52653, 1.53653, 1.57282, 1.82386}};
1653 if (fTimeStruct1) delete [] fTimeStruct1;
1654 fTimeStruct1 = new Float_t[ktimebin*kZbin];
1656 if (fTimeStruct2) delete [] fTimeStruct2;
1657 fTimeStruct2 = new Float_t[ktimebin*kZbin];
1659 for (Int_t ctrt = 0; ctrt<ktimebin; ctrt++) {
1660 for (Int_t ctrz = 0; ctrz<kZbin; ctrz++) {
1661 if ( fDriftVelocity > fVDsmp[6] ) {
1662 fTimeStruct1[ctrt+ctrz*ktimebin] = time2100[ctrt][ctrz];
1663 fTimeStruct2[ctrt+ctrz*ktimebin] = time2200[ctrt][ctrz];
1666 } else if ( fDriftVelocity > fVDsmp[5] ) {
1667 fTimeStruct1[ctrt+ctrz*ktimebin] = time2000[ctrt][ctrz];
1668 fTimeStruct2[ctrt+ctrz*ktimebin] = time2100[ctrt][ctrz];
1671 } else if ( fDriftVelocity > fVDsmp[4] ) {
1672 fTimeStruct1[ctrt+ctrz*ktimebin] = time1900[ctrt][ctrz];
1673 fTimeStruct2[ctrt+ctrz*ktimebin] = time2000[ctrt][ctrz];
1676 } else if ( fDriftVelocity > fVDsmp[3] ) {
1677 fTimeStruct1[ctrt+ctrz*ktimebin] = time1800[ctrt][ctrz];
1678 fTimeStruct2[ctrt+ctrz*ktimebin] = time1900[ctrt][ctrz];
1681 } else if ( fDriftVelocity > fVDsmp[2] ) {
1682 fTimeStruct1[ctrt+ctrz*ktimebin] = time1700[ctrt][ctrz];
1683 fTimeStruct2[ctrt+ctrz*ktimebin] = time1800[ctrt][ctrz];
1686 } else if ( fDriftVelocity > fVDsmp[1] ) {
1687 fTimeStruct1[ctrt+ctrz*ktimebin] = time1600[ctrt][ctrz];
1688 fTimeStruct2[ctrt+ctrz*ktimebin] = time1700[ctrt][ctrz];
1691 } else if ( fDriftVelocity > (fVDsmp[0] - 1.e-5) ) {
1692 fTimeStruct1[ctrt+ctrz*ktimebin] = time1500[ctrt][ctrz];
1693 fTimeStruct2[ctrt+ctrz*ktimebin] = time1600[ctrt][ctrz];
1700 //printf("fVDlo = %f, fVDhi = %f\n", fVDlo, fVDhi);
1706 //_____________________________________________________________________________
1707 void AliTRDparameter::SamplePRF()
1710 // Samples the pad response function
1713 const Int_t kNplan = AliTRDgeometry::kNplan;
1714 const Int_t kPRFbin = 61;
1716 Float_t prf[kNplan][kPRFbin] = { {2.9037e-02, 3.3608e-02, 3.9020e-02, 4.5292e-02,
1717 5.2694e-02, 6.1362e-02, 7.1461e-02, 8.3362e-02,
1718 9.7063e-02, 1.1307e-01, 1.3140e-01, 1.5235e-01,
1719 1.7623e-01, 2.0290e-01, 2.3294e-01, 2.6586e-01,
1720 3.0177e-01, 3.4028e-01, 3.8077e-01, 4.2267e-01,
1721 4.6493e-01, 5.0657e-01, 5.4655e-01, 5.8397e-01,
1722 6.1767e-01, 6.4744e-01, 6.7212e-01, 6.9188e-01,
1723 7.0627e-01, 7.1499e-01, 7.1851e-01, 7.1499e-01,
1724 7.0627e-01, 6.9188e-01, 6.7212e-01, 6.4744e-01,
1725 6.1767e-01, 5.8397e-01, 5.4655e-01, 5.0657e-01,
1726 4.6493e-01, 4.2267e-01, 3.8077e-01, 3.4028e-01,
1727 3.0177e-01, 2.6586e-01, 2.3294e-01, 2.0290e-01,
1728 1.7623e-01, 1.5235e-01, 1.3140e-01, 1.1307e-01,
1729 9.7063e-02, 8.3362e-02, 7.1461e-02, 6.1362e-02,
1730 5.2694e-02, 4.5292e-02, 3.9020e-02, 3.3608e-02,
1732 {2.5478e-02, 2.9695e-02, 3.4655e-02, 4.0454e-02,
1733 4.7342e-02, 5.5487e-02, 6.5038e-02, 7.6378e-02,
1734 8.9696e-02, 1.0516e-01, 1.2327e-01, 1.4415e-01,
1735 1.6794e-01, 1.9516e-01, 2.2573e-01, 2.5959e-01,
1736 2.9694e-01, 3.3719e-01, 3.7978e-01, 4.2407e-01,
1737 4.6889e-01, 5.1322e-01, 5.5569e-01, 5.9535e-01,
1738 6.3141e-01, 6.6259e-01, 6.8882e-01, 7.0983e-01,
1739 7.2471e-01, 7.3398e-01, 7.3761e-01, 7.3398e-01,
1740 7.2471e-01, 7.0983e-01, 6.8882e-01, 6.6259e-01,
1741 6.3141e-01, 5.9535e-01, 5.5569e-01, 5.1322e-01,
1742 4.6889e-01, 4.2407e-01, 3.7978e-01, 3.3719e-01,
1743 2.9694e-01, 2.5959e-01, 2.2573e-01, 1.9516e-01,
1744 1.6794e-01, 1.4415e-01, 1.2327e-01, 1.0516e-01,
1745 8.9696e-02, 7.6378e-02, 6.5038e-02, 5.5487e-02,
1746 4.7342e-02, 4.0454e-02, 3.4655e-02, 2.9695e-02,
1748 {2.2363e-02, 2.6233e-02, 3.0782e-02, 3.6140e-02,
1749 4.2535e-02, 5.0157e-02, 5.9197e-02, 6.9900e-02,
1750 8.2707e-02, 9.7811e-02, 1.1548e-01, 1.3601e-01,
1751 1.5998e-01, 1.8739e-01, 2.1840e-01, 2.5318e-01,
1752 2.9182e-01, 3.3373e-01, 3.7837e-01, 4.2498e-01,
1753 4.7235e-01, 5.1918e-01, 5.6426e-01, 6.0621e-01,
1754 6.4399e-01, 6.7700e-01, 7.0472e-01, 7.2637e-01,
1755 7.4206e-01, 7.5179e-01, 7.5551e-01, 7.5179e-01,
1756 7.4206e-01, 7.2637e-01, 7.0472e-01, 6.7700e-01,
1757 6.4399e-01, 6.0621e-01, 5.6426e-01, 5.1918e-01,
1758 4.7235e-01, 4.2498e-01, 3.7837e-01, 3.3373e-01,
1759 2.9182e-01, 2.5318e-01, 2.1840e-01, 1.8739e-01,
1760 1.5998e-01, 1.3601e-01, 1.1548e-01, 9.7811e-02,
1761 8.2707e-02, 6.9900e-02, 5.9197e-02, 5.0157e-02,
1762 4.2535e-02, 3.6140e-02, 3.0782e-02, 2.6233e-02,
1764 {1.9635e-02, 2.3167e-02, 2.7343e-02, 3.2293e-02,
1765 3.8224e-02, 4.5335e-02, 5.3849e-02, 6.4039e-02,
1766 7.6210e-02, 9.0739e-02, 1.0805e-01, 1.2841e-01,
1767 1.5216e-01, 1.7960e-01, 2.1099e-01, 2.4671e-01,
1768 2.8647e-01, 3.2996e-01, 3.7660e-01, 4.2547e-01,
1769 4.7536e-01, 5.2473e-01, 5.7215e-01, 6.1632e-01,
1770 6.5616e-01, 6.9075e-01, 7.1939e-01, 7.4199e-01,
1771 7.5838e-01, 7.6848e-01, 7.7227e-01, 7.6848e-01,
1772 7.5838e-01, 7.4199e-01, 7.1939e-01, 6.9075e-01,
1773 6.5616e-01, 6.1632e-01, 5.7215e-01, 5.2473e-01,
1774 4.7536e-01, 4.2547e-01, 3.7660e-01, 3.2996e-01,
1775 2.8647e-01, 2.4671e-01, 2.1099e-01, 1.7960e-01,
1776 1.5216e-01, 1.2841e-01, 1.0805e-01, 9.0739e-02,
1777 7.6210e-02, 6.4039e-02, 5.3849e-02, 4.5335e-02,
1778 3.8224e-02, 3.2293e-02, 2.7343e-02, 2.3167e-02,
1780 {1.7224e-02, 2.0450e-02, 2.4286e-02, 2.8860e-02,
1781 3.4357e-02, 4.0979e-02, 4.8966e-02, 5.8612e-02,
1782 7.0253e-02, 8.4257e-02, 1.0102e-01, 1.2094e-01,
1783 1.4442e-01, 1.7196e-01, 2.0381e-01, 2.4013e-01,
1784 2.8093e-01, 3.2594e-01, 3.7450e-01, 4.2563e-01,
1785 4.7796e-01, 5.2991e-01, 5.7974e-01, 6.2599e-01,
1786 6.6750e-01, 7.0344e-01, 7.3329e-01, 7.5676e-01,
1787 7.7371e-01, 7.8410e-01, 7.8793e-01, 7.8410e-01,
1788 7.7371e-01, 7.5676e-01, 7.3329e-01, 7.0344e-01,
1789 6.6750e-01, 6.2599e-01, 5.7974e-01, 5.2991e-01,
1790 4.7796e-01, 4.2563e-01, 3.7450e-01, 3.2594e-01,
1791 2.8093e-01, 2.4013e-01, 2.0381e-01, 1.7196e-01,
1792 1.4442e-01, 1.2094e-01, 1.0102e-01, 8.4257e-02,
1793 7.0253e-02, 5.8612e-02, 4.8966e-02, 4.0979e-02,
1794 3.4357e-02, 2.8860e-02, 2.4286e-02, 2.0450e-02,
1796 {1.5096e-02, 1.8041e-02, 2.1566e-02, 2.5793e-02,
1797 3.0886e-02, 3.7044e-02, 4.4515e-02, 5.3604e-02,
1798 6.4668e-02, 7.8109e-02, 9.4364e-02, 1.1389e-01,
1799 1.3716e-01, 1.6461e-01, 1.9663e-01, 2.3350e-01,
1800 2.7527e-01, 3.2170e-01, 3.7214e-01, 4.2549e-01,
1801 4.8024e-01, 5.3460e-01, 5.8677e-01, 6.3512e-01,
1802 6.7838e-01, 7.1569e-01, 7.4655e-01, 7.7071e-01,
1803 7.8810e-01, 7.9871e-01, 8.0255e-01, 7.9871e-01,
1804 7.8810e-01, 7.7071e-01, 7.4655e-01, 7.1569e-01,
1805 6.7838e-01, 6.3512e-01, 5.8677e-01, 5.3460e-01,
1806 4.8024e-01, 4.2549e-01, 3.7214e-01, 3.2170e-01,
1807 2.7527e-01, 2.3350e-01, 1.9663e-01, 1.6461e-01,
1808 1.3716e-01, 1.1389e-01, 9.4364e-02, 7.8109e-02,
1809 6.4668e-02, 5.3604e-02, 4.4515e-02, 3.7044e-02,
1810 3.0886e-02, 2.5793e-02, 2.1566e-02, 1.8041e-02,
1813 // More sampling precision with linear interpolation
1816 Float_t pad[kPRFbin];
1817 Int_t sPRFbin = kPRFbin;
1818 Float_t sPRFwid = (fPRFhi - fPRFlo) / ((Float_t) sPRFbin);
1819 for (Int_t iPad = 0; iPad < sPRFbin; iPad++) {
1820 pad[iPad] = ((Float_t) iPad + 0.5) * sPRFwid + fPRFlo;
1823 fPRFwid = (fPRFhi - fPRFlo) / ((Float_t) fPRFbin);
1824 fPRFpad = ((Int_t) (1.0 / fPRFwid));
1826 if (fPRFsmp) delete [] fPRFsmp;
1827 fPRFsmp = new Float_t[kNplan*fPRFbin];
1833 for (Int_t iPla = 0; iPla < kNplan; iPla++) {
1835 for (Int_t iBin = 0; iBin < fPRFbin; iBin++) {
1837 Float_t bin = (((Float_t) iBin) + 0.5) * fPRFwid + fPRFlo;
1841 diff = bin - pad[ipos2++];
1842 } while ((diff > 0) && (ipos2 < kPRFbin));
1843 if (ipos2 == kPRFbin) {
1844 fPRFsmp[iPla*fPRFbin+iBin] = prf[iPla][ipos2-1];
1846 else if (ipos2 == 1) {
1847 fPRFsmp[iPla*fPRFbin+iBin] = prf[iPla][ipos2-1];
1851 if (ipos2 >= kPRFbin) ipos2 = kPRFbin - 1;
1853 fPRFsmp[iPla*fPRFbin+iBin] = prf[iPla][ipos2]
1854 + diff * (prf[iPla][ipos2] - prf[iPla][ipos1])
1863 //_____________________________________________________________________________
1864 void AliTRDparameter::FillLUT()
1870 const Int_t kNplan = AliTRDgeometry::kNplan;
1871 const Int_t kNlut = 128;
1873 fLUTbin = kNplan * kNlut;
1875 // The lookup table from Bogdan
1876 Float_t lut[kNplan][kNlut] = {
1878 0.0070, 0.0150, 0.0224, 0.0298, 0.0374, 0.0454, 0.0533, 0.0611,
1879 0.0684, 0.0755, 0.0827, 0.0900, 0.0975, 0.1049, 0.1120, 0.1187,
1880 0.1253, 0.1318, 0.1385, 0.1453, 0.1519, 0.1584, 0.1646, 0.1704,
1881 0.1762, 0.1821, 0.1879, 0.1938, 0.1996, 0.2053, 0.2108, 0.2160,
1882 0.2210, 0.2260, 0.2310, 0.2361, 0.2411, 0.2461, 0.2509, 0.2557,
1883 0.2602, 0.2646, 0.2689, 0.2732, 0.2774, 0.2816, 0.2859, 0.2901,
1884 0.2942, 0.2983, 0.3022, 0.3061, 0.3099, 0.3136, 0.3172, 0.3207,
1885 0.3242, 0.3278, 0.3312, 0.3347, 0.3382, 0.3416, 0.3450, 0.3483,
1886 0.3515, 0.3547, 0.3579, 0.3609, 0.3639, 0.3669, 0.3698, 0.3727,
1887 0.3756, 0.3785, 0.3813, 0.3842, 0.3870, 0.3898, 0.3926, 0.3952,
1888 0.3979, 0.4005, 0.4032, 0.4057, 0.4082, 0.4108, 0.4132, 0.4157,
1889 0.4181, 0.4205, 0.4228, 0.4252, 0.4275, 0.4299, 0.4322, 0.4345,
1890 0.4367, 0.4390, 0.4412, 0.4434, 0.4456, 0.4478, 0.4499, 0.4520,
1891 0.4541, 0.4562, 0.4583, 0.4603, 0.4623, 0.4643, 0.4663, 0.4683,
1892 0.4702, 0.4722, 0.4741, 0.4758, 0.4774, 0.4790, 0.4805, 0.4824,
1893 0.4844, 0.4863, 0.4883, 0.4902, 0.4921, 0.4940, 0.4959, 0.4978
1896 0.0072, 0.0156, 0.0235, 0.0313, 0.0394, 0.0478, 0.0561, 0.0642,
1897 0.0718, 0.0792, 0.0868, 0.0947, 0.1025, 0.1101, 0.1172, 0.1241,
1898 0.1309, 0.1378, 0.1449, 0.1518, 0.1586, 0.1650, 0.1710, 0.1770,
1899 0.1830, 0.1891, 0.1952, 0.2011, 0.2070, 0.2125, 0.2177, 0.2229,
1900 0.2280, 0.2332, 0.2383, 0.2435, 0.2484, 0.2533, 0.2581, 0.2627,
1901 0.2670, 0.2714, 0.2757, 0.2799, 0.2842, 0.2884, 0.2927, 0.2968,
1902 0.3008, 0.3048, 0.3086, 0.3123, 0.3159, 0.3195, 0.3231, 0.3266,
1903 0.3301, 0.3335, 0.3370, 0.3404, 0.3438, 0.3471, 0.3504, 0.3536,
1904 0.3567, 0.3598, 0.3628, 0.3657, 0.3686, 0.3715, 0.3744, 0.3772,
1905 0.3800, 0.3828, 0.3856, 0.3884, 0.3911, 0.3938, 0.3965, 0.3991,
1906 0.4016, 0.4042, 0.4067, 0.4092, 0.4116, 0.4140, 0.4164, 0.4187,
1907 0.4211, 0.4234, 0.4257, 0.4280, 0.4302, 0.4325, 0.4347, 0.4369,
1908 0.4391, 0.4413, 0.4434, 0.4456, 0.4477, 0.4497, 0.4518, 0.4538,
1909 0.4558, 0.4578, 0.4598, 0.4618, 0.4637, 0.4656, 0.4675, 0.4694,
1910 0.4713, 0.4732, 0.4750, 0.4766, 0.4781, 0.4797, 0.4813, 0.4832,
1911 0.4851, 0.4870, 0.4888, 0.4906, 0.4925, 0.4942, 0.4960, 0.4978
1914 0.0075, 0.0163, 0.0246, 0.0328, 0.0415, 0.0504, 0.0592, 0.0674,
1915 0.0753, 0.0832, 0.0914, 0.0996, 0.1077, 0.1154, 0.1225, 0.1296,
1916 0.1369, 0.1442, 0.1515, 0.1585, 0.1652, 0.1714, 0.1776, 0.1839,
1917 0.1902, 0.1965, 0.2025, 0.2085, 0.2141, 0.2194, 0.2247, 0.2299,
1918 0.2352, 0.2405, 0.2457, 0.2507, 0.2557, 0.2604, 0.2649, 0.2693,
1919 0.2737, 0.2780, 0.2823, 0.2867, 0.2909, 0.2951, 0.2992, 0.3033,
1920 0.3072, 0.3110, 0.3146, 0.3182, 0.3218, 0.3253, 0.3288, 0.3323,
1921 0.3357, 0.3392, 0.3426, 0.3459, 0.3492, 0.3524, 0.3555, 0.3586,
1922 0.3616, 0.3645, 0.3674, 0.3703, 0.3731, 0.3759, 0.3787, 0.3815,
1923 0.3843, 0.3870, 0.3897, 0.3925, 0.3950, 0.3976, 0.4002, 0.4027,
1924 0.4052, 0.4076, 0.4101, 0.4124, 0.4148, 0.4171, 0.4194, 0.4217,
1925 0.4239, 0.4262, 0.4284, 0.4306, 0.4328, 0.4350, 0.4371, 0.4393,
1926 0.4414, 0.4435, 0.4455, 0.4476, 0.4496, 0.4516, 0.4536, 0.4555,
1927 0.4575, 0.4594, 0.4613, 0.4632, 0.4650, 0.4669, 0.4687, 0.4705,
1928 0.4723, 0.4741, 0.4758, 0.4773, 0.4789, 0.4804, 0.4821, 0.4839,
1929 0.4857, 0.4875, 0.4893, 0.4910, 0.4928, 0.4945, 0.4961, 0.4978
1932 0.0078, 0.0171, 0.0258, 0.0345, 0.0438, 0.0532, 0.0624, 0.0708,
1933 0.0791, 0.0875, 0.0962, 0.1048, 0.1130, 0.1206, 0.1281, 0.1356,
1934 0.1432, 0.1508, 0.1582, 0.1651, 0.1716, 0.1780, 0.1845, 0.1910,
1935 0.1975, 0.2038, 0.2099, 0.2155, 0.2210, 0.2263, 0.2317, 0.2371,
1936 0.2425, 0.2477, 0.2528, 0.2578, 0.2626, 0.2671, 0.2715, 0.2759,
1937 0.2803, 0.2846, 0.2890, 0.2933, 0.2975, 0.3016, 0.3056, 0.3095,
1938 0.3132, 0.3168, 0.3204, 0.3239, 0.3274, 0.3309, 0.3344, 0.3378,
1939 0.3412, 0.3446, 0.3479, 0.3511, 0.3543, 0.3574, 0.3603, 0.3633,
1940 0.3662, 0.3690, 0.3718, 0.3747, 0.3774, 0.3802, 0.3829, 0.3857,
1941 0.3883, 0.3910, 0.3936, 0.3962, 0.3987, 0.4012, 0.4037, 0.4061,
1942 0.4085, 0.4109, 0.4132, 0.4155, 0.4177, 0.4200, 0.4222, 0.4244,
1943 0.4266, 0.4288, 0.4309, 0.4331, 0.4352, 0.4373, 0.4394, 0.4414,
1944 0.4435, 0.4455, 0.4475, 0.4494, 0.4514, 0.4533, 0.4552, 0.4571,
1945 0.4590, 0.4608, 0.4626, 0.4645, 0.4662, 0.4680, 0.4698, 0.4715,
1946 0.4733, 0.4750, 0.4766, 0.4781, 0.4796, 0.4812, 0.4829, 0.4846,
1947 0.4863, 0.4880, 0.4897, 0.4914, 0.4930, 0.4946, 0.4963, 0.4979
1950 0.0081, 0.0178, 0.0270, 0.0364, 0.0463, 0.0562, 0.0656, 0.0744,
1951 0.0831, 0.0921, 0.1013, 0.1102, 0.1183, 0.1261, 0.1339, 0.1419,
1952 0.1499, 0.1576, 0.1648, 0.1715, 0.1782, 0.1849, 0.1917, 0.1984,
1953 0.2048, 0.2110, 0.2167, 0.2223, 0.2278, 0.2333, 0.2389, 0.2444,
1954 0.2497, 0.2548, 0.2598, 0.2645, 0.2691, 0.2735, 0.2780, 0.2824,
1955 0.2868, 0.2912, 0.2955, 0.2997, 0.3038, 0.3078, 0.3116, 0.3152,
1956 0.3188, 0.3224, 0.3259, 0.3294, 0.3329, 0.3364, 0.3398, 0.3432,
1957 0.3465, 0.3497, 0.3529, 0.3561, 0.3591, 0.3620, 0.3649, 0.3677,
1958 0.3705, 0.3733, 0.3761, 0.3788, 0.3816, 0.3843, 0.3869, 0.3896,
1959 0.3922, 0.3948, 0.3973, 0.3998, 0.4022, 0.4047, 0.4070, 0.4094,
1960 0.4117, 0.4139, 0.4162, 0.4184, 0.4206, 0.4227, 0.4249, 0.4270,
1961 0.4291, 0.4313, 0.4334, 0.4354, 0.4375, 0.4395, 0.4415, 0.4435,
1962 0.4455, 0.4474, 0.4493, 0.4512, 0.4531, 0.4550, 0.4568, 0.4586,
1963 0.4604, 0.4622, 0.4639, 0.4657, 0.4674, 0.4691, 0.4708, 0.4725,
1964 0.4742, 0.4758, 0.4773, 0.4788, 0.4803, 0.4819, 0.4836, 0.4852,
1965 0.4869, 0.4885, 0.4901, 0.4917, 0.4933, 0.4948, 0.4964, 0.4979
1968 0.0085, 0.0189, 0.0288, 0.0389, 0.0497, 0.0603, 0.0699, 0.0792,
1969 0.0887, 0.0985, 0.1082, 0.1170, 0.1253, 0.1336, 0.1421, 0.1505,
1970 0.1587, 0.1662, 0.1733, 0.1803, 0.1874, 0.1945, 0.2014, 0.2081,
1971 0.2143, 0.2201, 0.2259, 0.2316, 0.2374, 0.2431, 0.2487, 0.2541,
1972 0.2593, 0.2642, 0.2689, 0.2735, 0.2781, 0.2826, 0.2872, 0.2917,
1973 0.2961, 0.3003, 0.3045, 0.3086, 0.3125, 0.3162, 0.3198, 0.3235,
1974 0.3270, 0.3306, 0.3342, 0.3377, 0.3411, 0.3446, 0.3479, 0.3511,
1975 0.3543, 0.3575, 0.3605, 0.3634, 0.3663, 0.3691, 0.3720, 0.3748,
1976 0.3775, 0.3803, 0.3830, 0.3857, 0.3884, 0.3911, 0.3937, 0.3962,
1977 0.3987, 0.4012, 0.4036, 0.4060, 0.4084, 0.4107, 0.4129, 0.4152,
1978 0.4174, 0.4196, 0.4218, 0.4239, 0.4261, 0.4282, 0.4303, 0.4324,
1979 0.4344, 0.4365, 0.4385, 0.4405, 0.4425, 0.4445, 0.4464, 0.4483,
1980 0.4502, 0.4521, 0.4539, 0.4558, 0.4576, 0.4593, 0.4611, 0.4629,
1981 0.4646, 0.4663, 0.4680, 0.4697, 0.4714, 0.4730, 0.4747, 0.4759,
1982 0.4769, 0.4780, 0.4790, 0.4800, 0.4811, 0.4827, 0.4843, 0.4859,
1983 0.4874, 0.4889, 0.4905, 0.4920, 0.4935, 0.4950, 0.4965, 0.4979
1987 if (fLUT) delete [] fLUT;
1988 fLUT = new Float_t[fLUTbin];
1990 for (Int_t iplan = 0; iplan < kNplan; iplan++) {
1991 for (Int_t ilut = 0; ilut < kNlut; ilut++) {
1992 fLUT[iplan*kNlut+ilut] = lut[iplan][ilut];
1998 //_____________________________________________________________________________
1999 Float_t AliTRDparameter::GetDiffusionL(Float_t vd, Float_t b)
2002 // Returns the longitudinal diffusion coefficient for a given drift
2003 // velocity <vd> and a B-field <b> for Xe/CO2 (15%).
2004 // The values are according to a GARFIELD simulation.
2007 const Int_t kNb = 5;
2008 Float_t p0[kNb] = { 0.007440, 0.007493, 0.007513, 0.007672, 0.007831 };
2009 Float_t p1[kNb] = { 0.019252, 0.018912, 0.018636, 0.018012, 0.017343 };
2010 Float_t p2[kNb] = { -0.005042, -0.004926, -0.004867, -0.004650, -0.004424 };
2011 Float_t p3[kNb] = { 0.000195, 0.000189, 0.000195, 0.000182, 0.000169 };
2013 Int_t ib = ((Int_t) (10 * (b - 0.15)));
2014 ib = TMath::Max( 0,ib);
2015 ib = TMath::Min(kNb,ib);
2017 Float_t diff = p0[ib]
2020 + p3[ib] * vd*vd*vd;
2026 //_____________________________________________________________________________
2027 Float_t AliTRDparameter::GetDiffusionT(Float_t vd, Float_t b)
2030 // Returns the transverse diffusion coefficient for a given drift
2031 // velocity <vd> and a B-field <b> for Xe/CO2 (15%).
2032 // The values are according to a GARFIELD simulation.
2035 const Int_t kNb = 5;
2036 Float_t p0[kNb] = { 0.009550, 0.009599, 0.009674, 0.009757, 0.009850 };
2037 Float_t p1[kNb] = { 0.006667, 0.006539, 0.006359, 0.006153, 0.005925 };
2038 Float_t p2[kNb] = { -0.000853, -0.000798, -0.000721, -0.000635, -0.000541 };
2039 Float_t p3[kNb] = { 0.000131, 0.000122, 0.000111, 0.000098, 0.000085 };
2041 Int_t ib = ((Int_t) (10 * (b - 0.15)));
2042 ib = TMath::Max( 0,ib);
2043 ib = TMath::Min(kNb,ib);
2045 Float_t diff = p0[ib]
2048 + p3[ib] * vd*vd*vd;
2054 //_____________________________________________________________________________
2055 Float_t AliTRDparameter::GetOmegaTau(Float_t vd, Float_t b)
2058 // Returns omega*tau (tan(Lorentz-angle)) for a given drift velocity <vd>
2059 // and a B-field <b> for Xe/CO2 (15%).
2060 // The values are according to a GARFIELD simulation.
2063 const Int_t kNb = 5;
2064 Float_t p0[kNb] = { 0.004810, 0.007412, 0.010252, 0.013409, 0.016888 };
2065 Float_t p1[kNb] = { 0.054875, 0.081534, 0.107333, 0.131983, 0.155455 };
2066 Float_t p2[kNb] = { -0.008682, -0.012896, -0.016987, -0.020880, -0.024623 };
2067 Float_t p3[kNb] = { 0.000155, 0.000238, 0.000330, 0.000428, 0.000541 };
2069 Int_t ib = ((Int_t) (10 * (b - 0.15)));
2070 ib = TMath::Max( 0,ib);
2071 ib = TMath::Min(kNb,ib);
2073 Float_t alphaL = p0[ib]
2076 + p3[ib] * vd*vd*vd;
2078 return TMath::Tan(alphaL);
2082 //_____________________________________________________________________________
2083 Double_t AliTRDparameter::LUTposition(Int_t iplane, Double_t ampL
2085 , Double_t ampR) const
2088 // Calculates the cluster position using the lookup table.
2089 // Method provided by Bogdan Vulpescu.
2092 const Int_t kNplan = AliTRDgeometry::kNplan;
2093 const Int_t kNlut = 128;
2104 Double_t xMin[kNplan] = { 0.006492, 0.006377, 0.006258, 0.006144, 0.006030, 0.005980 };
2105 Double_t xMax[kNplan] = { 0.960351, 0.965870, 0.970445, 0.974352, 0.977667, 0.996101 };
2108 x = (ampL - ampR) / ampC;
2111 else if (ampL < ampR) {
2112 x = (ampR - ampL) / ampC;
2118 xmin = xMin[iplane] + 0.000005;
2119 xmax = xMax[iplane] - 0.000005;
2120 xwid = (xmax - xmin) / 127.0;
2125 else if (x > xmax) {
2126 pos = side * 0.5000;
2129 ix = (Int_t) ((x - xmin) / xwid);
2130 pos = side * fLUT[iplane*kNlut+ix];