]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSCalibrationSDD.cxx
Fix for loading selected branches in PROOF (Christian Holm)
[u/mrichter/AliRoot.git] / ITS / AliITSCalibrationSDD.cxx
index c84138c67554ed5aa2727e8e1dd3023cd3775255..3a1ede1d8edff49d70bbc56979bd82e886c47c27 100644 (file)
 //////////////////////////////////////////////////////
 
 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),
@@ -62,26 +63,25 @@ fDrSpeed1(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),
@@ -99,16 +99,15 @@ fDrSpeed1(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);
  }
 //_____________________________________________________________________
@@ -124,23 +123,21 @@ AliITSCalibrationSDD::~AliITSCalibrationSDD(){
 }
 
 //______________________________________________________________________
-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;
 }
@@ -149,20 +146,28 @@ void AliITSCalibrationSDD::GetCorrections(Float_t z, Float_t x, Float_t &devz, F
   //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 )
@@ -191,7 +196,6 @@ void AliITSCalibrationSDD::Print(){
   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();
 
 }