1 #if !defined( __CINT__) || defined(__MAKECINT__) 2 #include <AliCDBEntry.h> 3 #include <AliCDBManager.h> 4 #include <AliCDBMetaData.h> 5 #include <AliDCSValue.h> 6 #include <AliEMCALPreprocessor.h> 7 #include <AliEMCALSensorTempArray.h> 8 #include <AliEMCALTriggerDCSConfig.h> 9 #include <AliEMCALTriggerSTUDCSConfig.h> 10 #include <AliEMCALTriggerTRUDCSConfig.h> 28 TGrid::Connect(
"alien://");
30 AliCDBManager* cdb = AliCDBManager::Instance();
31 if (cdb->GetDefaultStorage()==0)
32 cdb->SetDefaultStorage(
"raw://");
37 en=cdb->Get(
"EMCAL/Calib/Temperature/");
40 printf(
"no entry found for run %d!\n", runNb);
46 AliEMCALSensorTempArray *arr =
dynamic_cast< AliEMCALSensorTempArray *
> (en->GetObject());
48 cout <<
" NumSensors " << arr->NumSensors()
49 <<
" GetFirstIdDCS() " << arr->GetFirstIdDCS()
50 <<
" GetLastIdDCS() " << arr->GetLastIdDCS()
54 const Int_t kNumSens = 160;
55 Int_t np[kNumSens] = {0};
64 for (
Int_t isensor=0; isensor<kNumSens; isensor++) {
65 AliEMCALSensorTemp *o = arr->GetSensor(isensor);
69 UInt_t startt = o->GetStartTime();
70 UInt_t stopt = o->GetEndTime();
73 cout <<
"Sensor " << isensor
74 <<
" " << o->GetStringID() <<
":" 75 <<
" side " << o->GetSide()
76 <<
" sector " << o->GetSector()
77 <<
" num " << o->GetNum()
78 <<
" startTime " << startt
79 <<
" endTime " << stopt
88 AliSplineFit *f = o->GetFit();
90 np[isensor] = f->GetKnots();
92 cout <<
" np " << np[isensor] << endl;
96 for (
Int_t i=0; i<np[isensor]; ++i) {
103 avg[isensor] += y0[i];
104 rms[isensor] += y0[i]*y0[i];
105 if (min[isensor]>y0[i]) min[isensor]=y0[i];
106 if (max[isensor]<y0[i]) max[isensor]=y0[i];
109 TGraph *g = o->GetGraph();
111 np[isensor] = g->GetN();
113 cout <<
" np " << np[isensor] << endl;
116 for (
Int_t i=0; i<np[isensor]; i++) {
122 avg[isensor] += y0[i];
123 rms[isensor] += y0[i]*y0[i];
124 if (min[isensor]>y0[i]) min[isensor]=y0[i];
125 if (max[isensor]<y0[i]) max[isensor]=y0[i];
131 avg[isensor] /= np[isensor];
133 rms[isensor] /= np[isensor];
134 rms[isensor] = TMath::Sqrt(rms[isensor]-avg[isensor]*avg[isensor])/(np[isensor]-1);
139 cout <<
"Avg Temp: " << avg[isensor] <<
" RMS Temp: " << rms[isensor] <<
" Min Temp: " << min[isensor] <<
" Max Temp: " << max[isensor] << endl;
140 info->
Set(isensor, avg[isensor], rms[isensor], min[isensor], max[isensor]);
141 avTime += startt + stopt;
149 cout <<
"Tree: " << runNb
151 <<
" " << o->GetSide()
152 <<
" " << o->GetSector()
153 <<
" " << o->GetNum()
154 <<
" " << o->GetStartTime()
155 <<
" " << o->GetEndTime()
156 <<
" " << avg[isensor]
157 <<
" " << rms[isensor]
158 <<
" " << max[isensor]
159 <<
" " << max[isensor] << endl;
164 info->
SetTime(avTime,fTime,lTime);
void SetTime(UInt_t av, UInt_t f, UInt_t l)
TInfo * readOCDB_Temperature(Int_t runNb=286350, Bool_t debug=1)
void Print(Option_t *option="") const
void testOCDB_Temperature(Int_t runNb=286350)
void Set(Int_t ns, Float_t avg, Float_t rms, Float_t min, Float_t max)