- ConfigureDRange();
-
- // hit position LUT
- // reset values
- const UShort_t lutPos[128] = {
- 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 11, 12, 12, 13, 13, 14, 14, 15, 15,
- 16, 16, 16, 17, 17, 18, 18, 19, 19, 19, 20, 20, 20, 21, 21, 22, 22, 22, 23, 23, 23, 24, 24, 24, 24, 25, 25, 25, 26, 26, 26, 26,
- 27, 27, 27, 27, 27, 27, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 27, 27, 27, 27, 26,
- 26, 26, 26, 25, 25, 25, 24, 24, 23, 23, 22, 22, 21, 21, 20, 20, 19, 18, 18, 17, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 7};
- for (Int_t iCOG = 0; iCOG < 128; iCOG++)
- cfg->SetTrapReg((AliTRDtrapConfig::TrapReg_t) (AliTRDtrapConfig::kTPL00 + iCOG), lutPos[iCOG]);
+ // magnetic field
+ ltuParam.SetRawMagField(0.0);
+ // scaling factors for q0, q1
+ ltuParam.SetRawScaleQ0(0);
+ ltuParam.SetRawScaleQ1(0);
+ // disable length correction and tilting correction
+ ltuParam.SetRawLengthCorrectionEnable(kFALSE);
+ ltuParam.SetRawTiltCorrectionEnable(kFALSE);
+
+ for (Int_t iDet = 0; iDet < 540; iDet++) {
+ // HC header configuration bits
+ fTrapConfig->SetTrapReg(AliTRDtrapConfig::kC15CPUA, 0x2102, iDet); // zs, deh
+
+ // no. of timebins
+ fTrapConfig->SetTrapReg(AliTRDtrapConfig::kC13CPUA, 24, iDet);
+
+ // pedestal filter
+ fTrapConfig->SetTrapReg(AliTRDtrapConfig::kFPNP, 4*10, iDet);
+ fTrapConfig->SetTrapReg(AliTRDtrapConfig::kFPTC, 0, iDet);
+ fTrapConfig->SetTrapReg(AliTRDtrapConfig::kFPBY, 0, iDet); // bypassed!
+
+ // gain filter
+ for (Int_t adc = 0; adc < 20; adc++) {
+ fTrapConfig->SetTrapReg(AliTRDtrapConfig::TrapReg_t(AliTRDtrapConfig::kFGA0+adc), 40, iDet);
+ fTrapConfig->SetTrapReg(AliTRDtrapConfig::TrapReg_t(AliTRDtrapConfig::kFGF0+adc), 15, iDet);
+ }
+ fTrapConfig->SetTrapReg(AliTRDtrapConfig::kFGTA, 20, iDet);
+ fTrapConfig->SetTrapReg(AliTRDtrapConfig::kFGTB, 2060, iDet);
+ fTrapConfig->SetTrapReg(AliTRDtrapConfig::kFGBY, 0, iDet); // bypassed!
+
+ // tail cancellation
+ fTrapConfig->SetTrapReg(AliTRDtrapConfig::kFTAL, 200, iDet);
+ fTrapConfig->SetTrapReg(AliTRDtrapConfig::kFTLL, 0, iDet);
+ fTrapConfig->SetTrapReg(AliTRDtrapConfig::kFTLS, 200, iDet);
+ fTrapConfig->SetTrapReg(AliTRDtrapConfig::kFTBY, 0, iDet);
+
+ // tracklet calculation
+ fTrapConfig->SetTrapReg(AliTRDtrapConfig::kTPQS0, 5, iDet);
+ fTrapConfig->SetTrapReg(AliTRDtrapConfig::kTPQE0, 10, iDet);
+ fTrapConfig->SetTrapReg(AliTRDtrapConfig::kTPQS1, 11, iDet);
+ fTrapConfig->SetTrapReg(AliTRDtrapConfig::kTPQE1, 20, iDet);
+ fTrapConfig->SetTrapReg(AliTRDtrapConfig::kTPFS, 5, iDet);
+ fTrapConfig->SetTrapReg(AliTRDtrapConfig::kTPFE, 20, iDet);
+ fTrapConfig->SetTrapReg(AliTRDtrapConfig::kTPVBY, 0, iDet);
+ fTrapConfig->SetTrapReg(AliTRDtrapConfig::kTPVT, 10, iDet);
+ fTrapConfig->SetTrapReg(AliTRDtrapConfig::kTPHT, 150, iDet);
+ fTrapConfig->SetTrapReg(AliTRDtrapConfig::kTPFP, 40, iDet);
+ fTrapConfig->SetTrapReg(AliTRDtrapConfig::kTPCL, 1, iDet);
+ fTrapConfig->SetTrapReg(AliTRDtrapConfig::kTPCT, 10, iDet);
+
+ // apply ltuParams
+ ConfigureDyCorr(iDet);
+ ConfigureDRange(iDet); // deflection range
+ ConfigureNTimebins(iDet); // timebins in the drift region
+ ConfigurePIDcorr(iDet); // scaling parameters for the PID
+
+ // event buffer
+ fTrapConfig->SetTrapReg(AliTRDtrapConfig::kEBSF, 1, iDet); // 0: store filtered; 1: store unfiltered
+
+ // zs applied to data stored in event buffer (sel. by EBSF)
+ fTrapConfig->SetTrapReg(AliTRDtrapConfig::kEBIS, 15 << 2, iDet); // single indicator threshold (plus two digits)
+ fTrapConfig->SetTrapReg(AliTRDtrapConfig::kEBIT, 30 << 2, iDet); // sum indicator threshold (plus two digits)
+ fTrapConfig->SetTrapReg(AliTRDtrapConfig::kEBIL, 0xf0, iDet); // lookup table
+ fTrapConfig->SetTrapReg(AliTRDtrapConfig::kEBIN, 0, iDet); // neighbour sensitivity
+
+ // raw data
+ fTrapConfig->SetTrapReg(AliTRDtrapConfig::kNES, (0x0000 << 16) | 0x1000, iDet);
+ }
+
+ // ****** hit position LUT