#include <Riostream.h>
#include <TRandom.h>
#include "AliITSCalibrationSDD.h"
#include "AliLog.h"
const Float_t AliITSCalibrationSDD::fgkTemperatureDefault = 296.;
const Float_t AliITSCalibrationSDD::fgkNoiseDefault = 2.38;
const Float_t AliITSCalibrationSDD::fgkGainDefault = 1.;
const Float_t AliITSCalibrationSDD::fgkBaselineDefault = 20.;
using std::endl;
using std::cout;
ClassImp(AliITSCalibrationSDD)
AliITSCalibrationSDD::AliITSCalibrationSDD():
AliITSCalibration(),
fZeroSupp(kTRUE),
fAMAt20MHz(kFALSE),
fDeadChips(0),
fDeadChannels(0),
fIsBad(kFALSE),
fBadChannels(),
fMapAW0(0),
fMapAW1(0),
fMapTW0(0),
fMapTW1(0),
fDrSpeed0(0),
fDrSpeed1(0)
{
SetDeadChannels();
for(Int_t ian=0;ian<fgkWings*fgkChannels*fgkChips;ian++){
fBaseline[ian]=fgkBaselineDefault;
fNoise[ian]=fgkNoiseDefault;
fGain[ian]=1.;
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;
}
}
SetTemperature(fgkTemperatureDefault);
SetDataType();
}
AliITSCalibrationSDD::AliITSCalibrationSDD(const char *dataType):
AliITSCalibration(),
fZeroSupp(kTRUE),
fAMAt20MHz(kFALSE),
fDeadChips(0),
fDeadChannels(0),
fIsBad(kFALSE),
fBadChannels(),
fMapAW0(0),
fMapAW1(0),
fMapTW0(0),
fMapTW1(0),
fDrSpeed0(0),
fDrSpeed1(0)
{
SetDeadChannels();
for(Int_t ian=0;ian<fgkWings*fgkChannels*fgkChips;ian++){
fBaseline[ian]=fgkBaselineDefault;
fNoise[ian]=fgkNoiseDefault;
fGain[ian]=1.;
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;
}
}
SetTemperature(fgkTemperatureDefault);
SetDataType(dataType);
}
AliITSCalibrationSDD::~AliITSCalibrationSDD(){
if(fMapAW0) delete fMapAW0;
if(fMapAW1) delete fMapAW1;
if(fMapTW0) delete fMapTW0;
if(fMapTW1) delete fMapTW1;
if(fDrSpeed0) delete fDrSpeed0;
if(fDrSpeed1) delete fDrSpeed1;
}
void AliITSCalibrationSDD::GiveCompressParam(Int_t cp[4]) const {
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){
if(anode<0 || anode >fgkChannels*fgkChips*fgkWings-1){
AliError("Wrong anode number");
return;
}
fBadChannels[i]=anode;
fGain[anode]=0;
}
void AliITSCalibrationSDD::GetCorrections(Float_t z, Float_t x, Float_t &devz, Float_t &devx, AliITSsegmentationSDD* seg){
Int_t nSide=seg->GetSideFromLocalX(x);
devz=0;
devx=0;
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){
Int_t nSide=seg->GetSideFromLocalX(x);
devz=0;
devx=0;
if(nSide==0) devx=fMapTW0->GetShiftForSimulation(z,x,seg);
else devx=fMapTW1->GetShiftForSimulation(z,x,seg);
return;
}
void AliITSCalibrationSDD::PrintGains() const{
if( GetDeadChips() == 0 &&
GetDeadChannels() == 0 )
return;
cout << "**************************************************" << endl;
cout << " Print Electronics Gains " << endl;
cout << "**************************************************" << endl;
for(Int_t ian=0; ian<fgkWings*fgkChips*fgkChannels;ian++){
printf("Gain for channel %d = %f\n",ian,fGain[ian]);
}
}
void AliITSCalibrationSDD::Print(){
cout << "**************************************************" << endl;
cout << " Silicon Drift Detector Response Parameters " << endl;
cout << "**************************************************" << endl;
cout << "Hardware compression parameters: " << endl;
cout << "Noise before electronics (arbitrary units): " << fNoise[0] << endl;
cout << "Baseline (ADC units): " << fBaseline[0] << endl;
cout << "Noise after electronics (ADC units): " << fNoiseAfterEl[0] << endl;
cout << "Temperature: " << Temperature() << " K " << endl;
PrintGains();
}
AliITSCalibrationSDD.cxx:1 AliITSCalibrationSDD.cxx:2 AliITSCalibrationSDD.cxx:3 AliITSCalibrationSDD.cxx:4 AliITSCalibrationSDD.cxx:5 AliITSCalibrationSDD.cxx:6 AliITSCalibrationSDD.cxx:7 AliITSCalibrationSDD.cxx:8 AliITSCalibrationSDD.cxx:9 AliITSCalibrationSDD.cxx:10 AliITSCalibrationSDD.cxx:11 AliITSCalibrationSDD.cxx:12 AliITSCalibrationSDD.cxx:13 AliITSCalibrationSDD.cxx:14 AliITSCalibrationSDD.cxx:15 AliITSCalibrationSDD.cxx:16 AliITSCalibrationSDD.cxx:17 AliITSCalibrationSDD.cxx:18 AliITSCalibrationSDD.cxx:19 AliITSCalibrationSDD.cxx:20 AliITSCalibrationSDD.cxx:21 AliITSCalibrationSDD.cxx:22 AliITSCalibrationSDD.cxx:23 AliITSCalibrationSDD.cxx:24 AliITSCalibrationSDD.cxx:25 AliITSCalibrationSDD.cxx:26 AliITSCalibrationSDD.cxx:27 AliITSCalibrationSDD.cxx:28 AliITSCalibrationSDD.cxx:29 AliITSCalibrationSDD.cxx:30 AliITSCalibrationSDD.cxx:31 AliITSCalibrationSDD.cxx:32 AliITSCalibrationSDD.cxx:33 AliITSCalibrationSDD.cxx:34 AliITSCalibrationSDD.cxx:35 AliITSCalibrationSDD.cxx:36 AliITSCalibrationSDD.cxx:37 AliITSCalibrationSDD.cxx:38 AliITSCalibrationSDD.cxx:39 AliITSCalibrationSDD.cxx:40 AliITSCalibrationSDD.cxx:41 AliITSCalibrationSDD.cxx:42 AliITSCalibrationSDD.cxx:43 AliITSCalibrationSDD.cxx:44 AliITSCalibrationSDD.cxx:45 AliITSCalibrationSDD.cxx:46 AliITSCalibrationSDD.cxx:47 AliITSCalibrationSDD.cxx:48 AliITSCalibrationSDD.cxx:49 AliITSCalibrationSDD.cxx:50 AliITSCalibrationSDD.cxx:51 AliITSCalibrationSDD.cxx:52 AliITSCalibrationSDD.cxx:53 AliITSCalibrationSDD.cxx:54 AliITSCalibrationSDD.cxx:55 AliITSCalibrationSDD.cxx:56 AliITSCalibrationSDD.cxx:57 AliITSCalibrationSDD.cxx:58 AliITSCalibrationSDD.cxx:59 AliITSCalibrationSDD.cxx:60 AliITSCalibrationSDD.cxx:61 AliITSCalibrationSDD.cxx:62 AliITSCalibrationSDD.cxx:63 AliITSCalibrationSDD.cxx:64 AliITSCalibrationSDD.cxx:65 AliITSCalibrationSDD.cxx:66 AliITSCalibrationSDD.cxx:67 AliITSCalibrationSDD.cxx:68 AliITSCalibrationSDD.cxx:69 AliITSCalibrationSDD.cxx:70 AliITSCalibrationSDD.cxx:71 AliITSCalibrationSDD.cxx:72 AliITSCalibrationSDD.cxx:73 AliITSCalibrationSDD.cxx:74 AliITSCalibrationSDD.cxx:75 AliITSCalibrationSDD.cxx:76 AliITSCalibrationSDD.cxx:77 AliITSCalibrationSDD.cxx:78 AliITSCalibrationSDD.cxx:79 AliITSCalibrationSDD.cxx:80 AliITSCalibrationSDD.cxx:81 AliITSCalibrationSDD.cxx:82 AliITSCalibrationSDD.cxx:83 AliITSCalibrationSDD.cxx:84 AliITSCalibrationSDD.cxx:85 AliITSCalibrationSDD.cxx:86 AliITSCalibrationSDD.cxx:87 AliITSCalibrationSDD.cxx:88 AliITSCalibrationSDD.cxx:89 AliITSCalibrationSDD.cxx:90 AliITSCalibrationSDD.cxx:91 AliITSCalibrationSDD.cxx:92 AliITSCalibrationSDD.cxx:93 AliITSCalibrationSDD.cxx:94 AliITSCalibrationSDD.cxx:95 AliITSCalibrationSDD.cxx:96 AliITSCalibrationSDD.cxx:97 AliITSCalibrationSDD.cxx:98 AliITSCalibrationSDD.cxx:99 AliITSCalibrationSDD.cxx:100 AliITSCalibrationSDD.cxx:101 AliITSCalibrationSDD.cxx:102 AliITSCalibrationSDD.cxx:103 AliITSCalibrationSDD.cxx:104 AliITSCalibrationSDD.cxx:105 AliITSCalibrationSDD.cxx:106 AliITSCalibrationSDD.cxx:107 AliITSCalibrationSDD.cxx:108 AliITSCalibrationSDD.cxx:109 AliITSCalibrationSDD.cxx:110 AliITSCalibrationSDD.cxx:111 AliITSCalibrationSDD.cxx:112 AliITSCalibrationSDD.cxx:113 AliITSCalibrationSDD.cxx:114 AliITSCalibrationSDD.cxx:115 AliITSCalibrationSDD.cxx:116 AliITSCalibrationSDD.cxx:117 AliITSCalibrationSDD.cxx:118 AliITSCalibrationSDD.cxx:119 AliITSCalibrationSDD.cxx:120 AliITSCalibrationSDD.cxx:121 AliITSCalibrationSDD.cxx:122 AliITSCalibrationSDD.cxx:123 AliITSCalibrationSDD.cxx:124 AliITSCalibrationSDD.cxx:125 AliITSCalibrationSDD.cxx:126 AliITSCalibrationSDD.cxx:127 AliITSCalibrationSDD.cxx:128 AliITSCalibrationSDD.cxx:129 AliITSCalibrationSDD.cxx:130 AliITSCalibrationSDD.cxx:131 AliITSCalibrationSDD.cxx:132 AliITSCalibrationSDD.cxx:133 AliITSCalibrationSDD.cxx:134 AliITSCalibrationSDD.cxx:135 AliITSCalibrationSDD.cxx:136 AliITSCalibrationSDD.cxx:137 AliITSCalibrationSDD.cxx:138 AliITSCalibrationSDD.cxx:139 AliITSCalibrationSDD.cxx:140 AliITSCalibrationSDD.cxx:141 AliITSCalibrationSDD.cxx:142 AliITSCalibrationSDD.cxx:143 AliITSCalibrationSDD.cxx:144 AliITSCalibrationSDD.cxx:145 AliITSCalibrationSDD.cxx:146 AliITSCalibrationSDD.cxx:147 AliITSCalibrationSDD.cxx:148 AliITSCalibrationSDD.cxx:149 AliITSCalibrationSDD.cxx:150 AliITSCalibrationSDD.cxx:151 AliITSCalibrationSDD.cxx:152 AliITSCalibrationSDD.cxx:153 AliITSCalibrationSDD.cxx:154 AliITSCalibrationSDD.cxx:155 AliITSCalibrationSDD.cxx:156 AliITSCalibrationSDD.cxx:157 AliITSCalibrationSDD.cxx:158 AliITSCalibrationSDD.cxx:159 AliITSCalibrationSDD.cxx:160 AliITSCalibrationSDD.cxx:161 AliITSCalibrationSDD.cxx:162 AliITSCalibrationSDD.cxx:163 AliITSCalibrationSDD.cxx:164 AliITSCalibrationSDD.cxx:165 AliITSCalibrationSDD.cxx:166 AliITSCalibrationSDD.cxx:167 AliITSCalibrationSDD.cxx:168 AliITSCalibrationSDD.cxx:169 AliITSCalibrationSDD.cxx:170 AliITSCalibrationSDD.cxx:171 AliITSCalibrationSDD.cxx:172 AliITSCalibrationSDD.cxx:173 AliITSCalibrationSDD.cxx:174 AliITSCalibrationSDD.cxx:175 AliITSCalibrationSDD.cxx:176 AliITSCalibrationSDD.cxx:177 AliITSCalibrationSDD.cxx:178 AliITSCalibrationSDD.cxx:179 AliITSCalibrationSDD.cxx:180 AliITSCalibrationSDD.cxx:181 AliITSCalibrationSDD.cxx:182 AliITSCalibrationSDD.cxx:183 AliITSCalibrationSDD.cxx:184 AliITSCalibrationSDD.cxx:185 AliITSCalibrationSDD.cxx:186 AliITSCalibrationSDD.cxx:187 AliITSCalibrationSDD.cxx:188 AliITSCalibrationSDD.cxx:189 AliITSCalibrationSDD.cxx:190 AliITSCalibrationSDD.cxx:191 AliITSCalibrationSDD.cxx:192 AliITSCalibrationSDD.cxx:193 AliITSCalibrationSDD.cxx:194 AliITSCalibrationSDD.cxx:195 AliITSCalibrationSDD.cxx:196 AliITSCalibrationSDD.cxx:197 AliITSCalibrationSDD.cxx:198 AliITSCalibrationSDD.cxx:199 AliITSCalibrationSDD.cxx:200 AliITSCalibrationSDD.cxx:201