//////////////////////////////////////////////////////
const Float_t AliITSCalibrationSDD::fgkTemperatureDefault = 296.;
-const Float_t AliITSCalibrationSDD::fgkNoiseDefault = 10.;
+const Float_t AliITSCalibrationSDD::fgkNoiseDefault = 2.38;
const Float_t AliITSCalibrationSDD::fgkGainDefault = 1.;
const Float_t AliITSCalibrationSDD::fgkBaselineDefault = 20.;
-const Float_t AliITSCalibrationSDD::fgkMinValDefault = 4;
//______________________________________________________________________
+
+using std::endl;
+using std::cout;
ClassImp(AliITSCalibrationSDD)
AliITSCalibrationSDD::AliITSCalibrationSDD():
AliITSCalibration(),
+fZeroSupp(kTRUE),
+fAMAt20MHz(kFALSE),
fDeadChips(0),
fDeadChannels(0),
-fMinVal(fgkMinValDefault),
fIsBad(kFALSE),
fBadChannels(),
-fUseACorrMap(0),
-fUseTCorrMap(0),
fMapAW0(0),
fMapAW1(0),
fMapTW0(0),
SetNoiseAfterElectronics(ian);
}
for(Int_t iw=0;iw<fgkWings;iw++){
+ SetZSLowThreshold(iw);
+ SetZSHighThreshold(iw);
for(Int_t icp=0;icp<fgkChips;icp++){
Int_t chipindex=iw*fgkChips+icp;
fIsChipBad[chipindex]=kFALSE;
}
}
- SetThresholds(fgkMinValDefault,0.);
SetTemperature(fgkTemperatureDefault);
- SetUseCorrectionMaps(kTRUE,kTRUE);
SetDataType();
}
//______________________________________________________________________
AliITSCalibrationSDD::AliITSCalibrationSDD(const char *dataType):
AliITSCalibration(),
+fZeroSupp(kTRUE),
+fAMAt20MHz(kFALSE),
fDeadChips(0),
fDeadChannels(0),
-fMinVal(fgkMinValDefault),
fIsBad(kFALSE),
fBadChannels(),
-fUseACorrMap(0),
-fUseTCorrMap(0),
fMapAW0(0),
fMapAW1(0),
fMapTW0(0),
SetNoiseAfterElectronics(ian);
}
for(Int_t iw=0;iw<fgkWings;iw++){
+ SetZSLowThreshold(iw);
+ SetZSHighThreshold(iw);
for(Int_t icp=0;icp<fgkChips;icp++){
Int_t chipindex=iw*fgkChips+icp;
fIsChipBad[chipindex]=kFALSE;
}
}
-
- SetThresholds(fgkMinValDefault,0.);
SetTemperature(fgkTemperatureDefault);
- SetUseCorrectionMaps(kTRUE,kTRUE);
SetDataType(dataType);
}
//_____________________________________________________________________
}
//______________________________________________________________________
-void AliITSCalibrationSDD::GiveCompressParam(Int_t cp[8],Int_t ian) const {
+void AliITSCalibrationSDD::GiveCompressParam(Int_t cp[4]) const {
// give compression param
-
- cp[0]=(Int_t) fBaseline[ian];
- cp[1]=(Int_t) fBaseline[ian];
- cp[2]=(Int_t)(2.*fNoiseAfterEl[ian] + 0.5);
- cp[3]=(Int_t)(2.*fNoiseAfterEl[ian] + 0.5);
- cp[4]=0;
- cp[5]=0;
- cp[6]=0;
- cp[7]=0;
+ cp[0]=fZSTH[0];
+ cp[1]=fZSTL[0];
+ cp[2]=fZSTH[1];
+ cp[3]=fZSTL[1];
}
//_____________________________________________________________________
void AliITSCalibrationSDD::SetBadChannel(Int_t i,Int_t anode){
//Set bad anode (set gain=0 for these channels);
- if(anode<0 || anode >fgkChannels*fgkChips*fgkWings-1)AliError("Wrong anode number");
+ if(anode<0 || anode >fgkChannels*fgkChips*fgkWings-1){
+ AliError("Wrong anode number");
+ return;
+ }
fBadChannels[i]=anode;
fGain[anode]=0;
}
//correction of coordinates using the maps stored in the DB
Int_t nSide=seg->GetSideFromLocalX(x);
devz=0;
- if(fUseACorrMap){
- if(nSide==0) devz=fMapAW0->GetCorrection(z,x,seg);
- else devz=fMapAW1->GetCorrection(z,x,seg);
- }
+// if(nSide==0) devz=fMapAW0->GetCorrection(z,x,seg);
+// else devz=fMapAW1->GetCorrection(z,x,seg);
devx=0;
- if(fUseTCorrMap){
- if(nSide==0) devx=fMapTW0->GetCorrection(z,x,seg);
- else devx=fMapTW1->GetCorrection(z,x,seg);
- }
+ if(nSide==0) devx=fMapTW0->GetCorrection(z,x,seg);
+ else devx=fMapTW1->GetCorrection(z,x,seg);
+ return;
+}
+//______________________________________________________________________
+void AliITSCalibrationSDD::GetShiftsForSimulation(Float_t z, Float_t x, Float_t &devz, Float_t &devx, AliITSsegmentationSDD* seg){
+ //correction of coordinates using the maps stored in the DB
+ Int_t nSide=seg->GetSideFromLocalX(x);
+ devz=0;
+// if(nSide==0) devz=fMapAW0->GetCorrection(z,x,seg);
+// else devz=fMapAW1->GetCorrection(z,x,seg);
+ devx=0;
+ if(nSide==0) devx=fMapTW0->GetShiftForSimulation(z,x,seg);
+ else devx=fMapTW1->GetShiftForSimulation(z,x,seg);
return;
}
//______________________________________________________________________
void AliITSCalibrationSDD::PrintGains() const{
- //
+ // Print Gains
if( GetDeadChips() == 0 &&
GetDeadChannels() == 0 )
cout << "Baseline (ADC units): " << fBaseline[0] << endl;
cout << "Noise after electronics (ADC units): " << fNoiseAfterEl[0] << endl;
cout << "Temperature: " << Temperature() << " K " << endl;
- cout << "Min. Value: " << fMinVal << endl;
PrintGains();
}