X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ITS%2FAliITSresponseSDD.cxx;h=c9de5113b66fc5b45578c60b5c44564bcd445c8d;hb=67c58c261ebba581435654a02ecf2a4b569659bd;hp=914c9afb61c3bc1ba25e31d77164dc1e15368898;hpb=de075daec2fd6732b765586f5fb29a62b7843185;p=u%2Fmrichter%2FAliRoot.git diff --git a/ITS/AliITSresponseSDD.cxx b/ITS/AliITSresponseSDD.cxx index 914c9afb61c..c9de5113b66 100644 --- a/ITS/AliITSresponseSDD.cxx +++ b/ITS/AliITSresponseSDD.cxx @@ -27,18 +27,136 @@ #include #include "AliITSresponseSDD.h" +#include 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::fgkCarlosRXClockPeriod = 25.; ClassImp(AliITSresponseSDD) //_________________________________________________________________________ AliITSresponseSDD::AliITSresponseSDD(): TObject(), -fTimeOffset(fgkTimeOffsetDefault), -fADC2keV(fgkADC2keVDefault){ + fTimeOffset(fgkTimeOffsetDefault), + fADC2keV(fgkADC2keVDefault), + fChargevsTime(fgkChargevsTimeDefault){ // default constructor + for(Int_t i=0; i0) + Int_t minMod,maxMod; + if(lay==3){ + minMod=1; + maxMod=3; + if(lad>kNLaddersLay3){ + AliError(Form("Ladder number %d out of range",lad)); + return; + } + }else if(lay==4){ + minMod=1; + maxMod=4; + if(lad>kNLaddersLay4){ + AliError(Form("Ladder number %d out of range",lad)); + return; + } + }else{ + AliError(Form("Layer number %d out of range",lay)); + return; + } + for(Int_t iMod=minMod; iMod<=maxMod; iMod++){ + Int_t modIndex=AliITSgeomTGeo::GetModuleIndex(lay,lad,iMod); + SetModuleTimeZero(modIndex,tzero); + } +} +//_________________________________________________________________________ +void AliITSresponseSDD::SetHalfLadderCTimeZero(Int_t lay, Int_t lad, Float_t tzero){ + // Sets time Zero for all modules of a ladder on side C (Z<0) + Int_t minMod,maxMod; + if(lay==3){ + minMod=4; + maxMod=6; + if(lad>kNLaddersLay3){ + AliError(Form("Ladder number %d out of range",lad)); + return; + } + }else if(lay==4){ + minMod=5; + maxMod=8; + if(lad>kNLaddersLay4){ + AliError(Form("Ladder number %d out of range",lad)); + return; + } + }else{ + AliError(Form("Layer number %d out of range",lay)); + return; + } + for(Int_t iMod=minMod; iMod<=maxMod; iMod++){ + Int_t modIndex=AliITSgeomTGeo::GetModuleIndex(lay,lad,iMod); + SetModuleTimeZero(modIndex,tzero); + } +} +//_________________________________________________________________________ +void AliITSresponseSDD::PrintChargeCalibrationParams() const{ + // + 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{ + // + 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{ + // + for(Int_t iMod=240; iMod<500; iMod++){ + printf("Module %d dVleft=%f dVright=%f\n",iMod,GetDeltaVDrift(iMod,0),GetDeltaVDrift(iMod,1)); + } } - -