// list of values to be read
// first: overall values for the whole SuperModule
- Int_t iReferenceTime;
+ Int_t iReferenceTime = 0;
// second: additional info for LED Reference and SM temperature
- Float_t rLEDRefAmp;
- Float_t rLEDRefAmpRMS;
- Int_t iLEDRefHighLow;
- Float_t temperature;
- Float_t temperatureRMS;
+ Float_t rLEDRefAmp = 0;
+ Float_t rLEDRefAmpRMS = 0;
+ Int_t iLEDRefHighLow = 0;
+ Float_t temperature = 0;
+ Float_t temperatureRMS = 0;
// third: info for each tower
- Int_t iHighLow; //
- Float_t rLEDAmp; // low gain eq. amplitude
- Float_t rLEDAmpRMS; //
+ Int_t iHighLow = 0; //
+ Float_t rLEDAmp = 0; // low gain eq. amplitude
+ Float_t rLEDAmpRMS = 0; //
// end - all values
Int_t nAPDPerSM = AliEMCALGeoParams::fgkEMCALCols * AliEMCALGeoParams::fgkEMCALRows;
for (Int_t i = 0; i < fNSuperModule; i++) {
AliEMCALSuperModuleCalibReference * t = (AliEMCALSuperModuleCalibReference*) fSuperModuleData[i];
if (!inputFile) {
- printf("AliEMCALCalibReference::ReadCalibReferenceInfo - Error while reading input file; likely EOF..");
+ printf("AliEMCALCalibReference::ReadCalibReferenceInfo - Error while reading input file; likely EOF..\n");
return;
}
inputFile >> iSM;
// second: additional info for LED Reference and SM temperature
for (Int_t j=0; j<AliEMCALGeoParams::fgkEMCALLEDRefs; j++) {
inputFile >> id >> iLEDRefHighLow >> rLEDRefAmp >> rLEDRefAmpRMS;
+ if (id<0 || id>(AliEMCALGeoParams::fgkEMCALLEDRefs-1) ) {
+ printf("AliEMCALCalibReference::ReadCalibReferenceInfo - Error while reading input file; LEDRef j %d id %d\n", j, id);
+ return;
+ }
t->SetLEDRefHighLow(id, iLEDRefHighLow);
t->SetLEDRefAmp(id, rLEDRefAmp);
t->SetLEDRefAmpRMS(id, rLEDRefAmpRMS);
}
+
for (Int_t j=0; j<AliEMCALGeoParams::fgkEMCALTempSensors; j++) {
inputFile >> id >> temperature >> temperatureRMS;
+ if (id<0 || id>(AliEMCALGeoParams::fgkEMCALTempSensors-1) ) {
+ printf("AliEMCALCalibReference::ReadCalibReferenceInfo - Error while reading input file; TempSensor j %d id %d\n", j, id);
+ return;
+ }
t->SetTemperature(id, temperature);
t->SetTemperatureRMS(id, temperatureRMS);
}
inputFile >> iCol >> iRow
>> iHighLow >> rLEDAmp >> rLEDAmpRMS;
+ // check that input values are not out bounds
+ if (iCol<0 || iCol>(AliEMCALGeoParams::fgkEMCALCols-1) ||
+ iRow<0 || iRow>(AliEMCALGeoParams::fgkEMCALRows-1) ) {
+ printf("AliEMCALCalibReference::ReadCalibReferenceInfo - Error while reading input file; j %d iCol %d iRow %d\n", j, iCol, iRow);
+ return;
+ }
+
// assume that this info is already swapped and done for this basis?
if (swapSides) {
// C side, oriented differently than A side: swap is requested
Int_t iSM = 0; // SuperModule index
// list of values to be read
// first: overall values for the whole SuperModule
- Int_t iReferenceTime= {0};
+ Int_t iReferenceTime= 0;
// second: additional info for LED Reference and SM temperature
Float_t rLEDRefAmp[AliEMCALGeoParams::fgkEMCALLEDRefs]= {0};
Float_t rLEDRefAmpRMS[AliEMCALGeoParams::fgkEMCALLEDRefs]= {0};