Double_t AliHMPIDPreprocessor::ProcTrans(TMap* pMap)
{
// Process transparency monitoring data and calculates Emean
-
Double_t sEnergProb=0, sProb=0;
for(Int_t i=0; i<30; i++){
// evaluate wavelenght
- TObjArray *pWaveLenght = (TObjArray*)pMap->GetValue(Form("HMP_DET/HMP_INFR/HMP_INFR_TRANPLANT/HMP_INFR_TRANPLANT_MEASURE.measure[%i].waveLenght",i));
- TIter NextWl(pWaveLenght); pVal=(AliDCSValue*)NextWl();
+ TObjArray *pWaveLenght = (TObjArray*)pMap->GetValue(Form("HMP_DET/HMP_INFR/HMP_INFR_TRANPLANT/HMP_INFR_TRANPLANT_MEASURE.mesure%i.waveLenght",i));
+ if(!pWaveLenght){
+ AliWarning(Form("No Data Point values for HMP_DET/HMP_INFR/HMP_INFR_TRANPLANT/HMP_INFR_TRANPLANT_MEASURE.mesure%i.waveLenght -----> Default E mean used!!!!!",i));
+ return DefaultEMean(); // to be checked
+ }
+
+ pVal=(AliDCSValue*)pWaveLenght->At(0);
Double_t lambda = pVal->GetFloat();
+ if(lambda<150. || lambda>230.){
+ AliWarning(Form("Wrong value for HMP_DET/HMP_INFR/HMP_INFR_TRANPLANT/HMP_INFR_TRANPLANT_MEASURE.mesure%i.waveLenght -----> Default E mean used!!!!!",i));
+ return DefaultEMean(); // to be checked
+ }
+
Double_t photEn = 1239.842609/lambda; // 1239.842609 from nm to eV
if(photEn<AliHMPIDParam::EPhotMin() || photEn>AliHMPIDParam::EPhotMax()) continue;
// evaluate phototube current for argon reference
- TObjArray *pArgonRef = (TObjArray*)pMap->GetValue(Form("HMP_DET/HMP_INFR/HMP_INFR_TRANPLANT/HMP_INFR_TRANPLANT_MEASURE.measure[%i].argonReference",i));
- TIter NextArRef(pArgonRef); pVal=(AliDCSValue*)NextArRef();
+ TObjArray *pArgonRef = (TObjArray*)pMap->GetValue(Form("HMP_DET/HMP_INFR/HMP_INFR_TRANPLANT/HMP_INFR_TRANPLANT_MEASURE.mesure%i.argonReference",i));
+ if(!pArgonRef){
+ AliWarning(Form("No Data Point values for HMP_DET/HMP_INFR/HMP_INFR_TRANPLANT/HMP_INFR_TRANPLANT_MEASURE.mesure%i.argonReference -----> Default E mean used!!!!!",i));
+ return DefaultEMean(); // to be checked
+ }
+
+ pVal=(AliDCSValue*)pArgonRef->At(0);
Double_t aRefArgon = pVal->GetFloat();
// evaluate phototube current for argon cell
- TObjArray *pArgonCell = (TObjArray*)pMap->GetValue(Form("HMP_DET/HMP_INFR/HMP_INFR_TRANPLANT/HMP_INFR_TRANPLANT_MEASURE.measure[%i].argonCell",i));
- TIter NextArCell(pArgonCell); pVal=(AliDCSValue*)NextArCell();
+ TObjArray *pArgonCell = (TObjArray*)pMap->GetValue(Form("HMP_DET/HMP_INFR/HMP_INFR_TRANPLANT/HMP_INFR_TRANPLANT_MEASURE.mesure%i.argonCell",i));
+ if(!pArgonCell){
+ AliWarning(Form("No Data Point values for HMP_DET/HMP_INFR/HMP_INFR_TRANPLANT/HMP_INFR_TRANPLANT_MEASURE.mesure%i.argonCell -----> Default E mean used!!!!!",i));
+ return DefaultEMean(); // to be checked
+ }
+
+ pVal=(AliDCSValue*)pArgonRef->At(0);
Double_t aCellArgon = pVal->GetFloat();
//evaluate phototube current for freon reference
- TObjArray *pFreonRef = (TObjArray*)pMap->GetValue(Form("HMP_DET/HMP_INFR/HMP_INFR_TRANPLANT/HMP_INFR_TRANPLANT_MEASURE.measure[%i].c6f14Reference",i));
- TIter NextFrRef(pFreonRef); pVal=(AliDCSValue*)NextFrRef();
+ TObjArray *pFreonRef = (TObjArray*)pMap->GetValue(Form("HMP_DET/HMP_INFR/HMP_INFR_TRANPLANT/HMP_INFR_TRANPLANT_MEASURE.mesure%i.c6f14Reference",i));
+ if(!pFreonRef){
+ AliWarning(Form("No Data Point values for HMP_DET/HMP_INFR/HMP_INFR_TRANPLANT/HMP_INFR_TRANPLANT_MEASURE.mesure%i.c6f14Reference -----> Default E mean used!!!!!",i));
+ return DefaultEMean(); // to be checked
+ }
+
+ pVal=(AliDCSValue*)pFreonRef->At(0);
Double_t aRefFreon = pVal->GetFloat();
//evaluate phototube current for freon cell
- TObjArray *pFreonCell = (TObjArray*)pMap->GetValue(Form("HMP_DET/HMP_INFR/HMP_INFR_TRANPLANT/HMP_INFR_TRANPLANT_MEASURE.measure[%i].c6f14Cell",i));
- TIter NextFrCell(pFreonCell); pVal=(AliDCSValue*)NextFrCell();
+ TObjArray *pFreonCell = (TObjArray*)pMap->GetValue(Form("HMP_DET/HMP_INFR/HMP_INFR_TRANPLANT/HMP_INFR_TRANPLANT_MEASURE.mesure%i.c6f14Cell",i));
+ if(!pFreonCell){
+ AliWarning(Form("No Data Point values for HMP_DET/HMP_INFR/HMP_INFR_TRANPLANT/HMP_INFR_TRANPLANT_MEASURE.mesure%i.c6f14Cell -----> Default E mean used!!!!!",i));
+ return DefaultEMean(); // to be checked
+ }
+
+ pVal=(AliDCSValue*)pFreonCell->At(0);
Double_t aCellFreon = pVal->GetFloat();
//evaluate correction factor to calculate trasparency (Ref. NIMA 486 (2002) 590-609)
sProb+=aTotConvolution;
}
-
if(sProb>0) {
eMean = sEnergProb/sProb;
} else {
return DefaultEMean();
}
-
Log(Form(" Mean energy photon calculated ---> %f eV ",eMean));
if(eMean<AliHMPIDParam::EPhotMin() || eMean>AliHMPIDParam::EPhotMax()) return DefaultEMean();
return eMean;
-
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Double_t AliHMPIDPreprocessor::DefaultEMean()