+ // Process transparency monitoring data and calculates Emean
+
+ Double_t sEnergProb=0, sProb=0;
+
+ // Double_t tRefCR5 = 19. ; // mean temperature of CR5 where the system is in place
+
+ Double_t eMean = 0;
+
+ AliDCSValue *pVal;
+
+ Double_t aCorrFactor[] = {0.937575212,0.93805688,0.938527113,0.938986068,0.939433897,0.939870746,0.940296755,0.94071206,0.941116795,0.941511085,0.941895054,0.942268821,0.942632502,
+ 0.942986208,0.943330047,0.943664126,0.943988544,0.944303401,0.944608794,0.944904814,0.945191552,0.945469097,0.945737533,0.945996945,0.946247412,
+ 0.946489015,0.94672183,0.946945933,0.947161396,0.947368291};
+
+ 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.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.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.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.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.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)
+
+ //Double_t aN1 = AliHMPIDParam::NIdxRad(photEn,tRefCR5);
+ //Double_t aN2 = AliHMPIDParam::NMgF2Idx(photEn);
+ //Double_t aN3 = 1; // Argon Idx
+
+ // Double_t aR1 = ((aN1 - aN2)*(aN1 - aN2))/((aN1 + aN2)*(aN1 + aN2));
+ // Double_t aR2 = ((aN2 - aN3)*(aN2 - aN3))/((aN2 + aN3)*(aN2 + aN3));
+ // Double_t aT1 = (1 - aR1);
+ // Double_t aT2 = (1 - aR2);
+ // Double_t aCorrFactor = (aT1*aT1)/(aT2*aT2);
+
+ // evaluate 15 mm of thickness C6F14 Trans
+ Double_t aTransRad;
+
+ Double_t aConvFactor = 1.0 - 0.3/1.8;
+
+ if(aRefFreon*aRefArgon>0) {
+ aTransRad = TMath::Power((aCellFreon/aRefFreon)/(aCellArgon/aRefArgon)*aCorrFactor[i],aConvFactor);
+ } else {
+ return DefaultEMean();
+ }
+
+ // evaluate 0.5 mm of thickness SiO2 Trans
+ Double_t aTransSiO2 = TMath::Exp(-0.5/AliHMPIDParam::LAbsWin(photEn));
+
+ // evaluate 80 cm of thickness Gap (low density CH4) transparency
+ Double_t aTransGap = TMath::Exp(-80./AliHMPIDParam::LAbsGap(photEn));
+
+ // evaluate CsI quantum efficiency
+ Double_t aCsIQE = AliHMPIDParam::QEffCSI(photEn);
+
+ // evaluate total convolution of all material optical properties
+ Double_t aTotConvolution = aTransRad*aTransSiO2*aTransGap*aCsIQE;
+
+ sEnergProb+=aTotConvolution*photEn;
+
+ 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();
+