]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSresponseSDD.cxx
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / ITS / AliITSresponseSDD.cxx
index 883b5e37572637c1f86996c1279810e85d194c55..b56e192259748cee1f171ab51ff07f5bdf850800 100644 (file)
 #include <AliITSgeomTGeo.h>
 
 const Float_t AliITSresponseSDD::fgkTimeOffsetDefault = 54.30;
-const Float_t AliITSresponseSDD::fgkADC2keVDefault = 5.243;
+const Float_t AliITSresponseSDD::fgkADC2keVDefault = 3.34;
+const Float_t AliITSresponseSDD::fgkChargevsTimeDefault = 0.00355;
+const Float_t AliITSresponseSDD::fgkADCvsDrTimeDefault = 0.0101;
 const Float_t AliITSresponseSDD::fgkCarlosRXClockPeriod = 25.;
 ClassImp(AliITSresponseSDD)
 
 //_________________________________________________________________________
 AliITSresponseSDD::AliITSresponseSDD():
 TObject(),
-fTimeOffset(fgkTimeOffsetDefault),
-fADC2keV(fgkADC2keVDefault){
+  fTimeOffset(fgkTimeOffsetDefault),
+  fADC2keV(fgkADC2keVDefault),
+  fChargevsTime(fgkChargevsTimeDefault)
+{
   // default constructor
   for(Int_t i=0; i<kNSDDmods;i++){
     fTimeZero[i]=fgkTimeOffsetDefault;
+    fDeltaVDrift[i] = fDeltaVDrift[i+kNSDDmods] = 0.;
+    fADCtokeV[i]=fgkADC2keVDefault;
+    fADCvsDriftTime[i]=fgkADCvsDrTimeDefault;
   }  
+  SetVDCorr2Side(kTRUE); // default for new objects will be separate corrections for 2 sides (bwd compatible)
+  //  SetVDCorrMult(kTRUE); // default for new objects will have multiplicative correction v'=(1+corr)*v (bwd compatible)
 }
 //_________________________________________________________________________
 void AliITSresponseSDD::SetHalfLadderATimeZero(Int_t lay, Int_t lad, Float_t tzero){
@@ -98,3 +107,62 @@ void AliITSresponseSDD::SetHalfLadderCTimeZero(Int_t lay, Int_t lad, Float_t tze
     SetModuleTimeZero(modIndex,tzero);
   }
 }
+//_________________________________________________________________________
+void AliITSresponseSDD::PrintChargeCalibrationParams() const{
+  // Dump charge calibration parameters
+
+  printf("ADC vs. drift time corr=%f\n",GetChargevsTime());
+  printf("-------------------------------------\n");
+  printf("Layer 3\n");
+  for(Int_t ilad=1; ilad<=14; ilad++){
+    for(Int_t idet=1; idet<=6;idet++){
+      Int_t modIndex=AliITSgeomTGeo::GetModuleIndex(3,ilad,idet);
+      Float_t tz=GetADCtokeV(modIndex);
+      printf("%7.2f   ",tz);
+    }
+    printf("\n");
+  }
+  printf("\n");
+  printf("Layer 4\n");
+  for(Int_t ilad=1; ilad<=22; ilad++){
+    for(Int_t idet=1; idet<=8;idet++){
+      Int_t modIndex=AliITSgeomTGeo::GetModuleIndex(4,ilad,idet);
+      Float_t tz=GetADCtokeV(modIndex);
+      printf("%7.2f   ",tz);
+    }
+    printf("\n");
+  }  
+}
+//_________________________________________________________________________
+void AliITSresponseSDD::PrintTimeZeroes() const{
+  // Dump time zero values
+
+  printf("Layer 3\n");
+  for(Int_t ilad=1; ilad<=14; ilad++){
+    for(Int_t idet=1; idet<=6;idet++){
+      Int_t modIndex=AliITSgeomTGeo::GetModuleIndex(3,ilad,idet);
+      Float_t tz=GetTimeZero(modIndex);
+      printf("%7.2f   ",tz);
+    }
+    printf("\n");
+  }
+  printf("\n");
+  printf("Layer 4\n");
+  for(Int_t ilad=1; ilad<=22; ilad++){
+    for(Int_t idet=1; idet<=8;idet++){
+      Int_t modIndex=AliITSgeomTGeo::GetModuleIndex(4,ilad,idet);
+      Float_t tz=GetTimeZero(modIndex);
+      printf("%7.2f   ",tz);
+    }
+    printf("\n");
+  }
+  
+}
+//_________________________________________________________________________
+void AliITSresponseSDD::PrintVdriftCorerctions() const{
+  // Dump corrections to vdrift
+
+  for(Int_t iMod=240; iMod<500; iMod++){
+    printf("Module %d   dVleft=%f   dVright=%f\n",iMod,GetDeltaVDrift(iMod,0),GetDeltaVDrift(iMod,1));
+  }
+}