+ Bool_t storeOK = Store("Calib", "Raw", rawArray, &metaData, 0, kTRUE);
+ if ( !storeOK ) ++result;
+ } else {
+ Log ("Error: no entries in raw file list!");
+ result = 1;
+ }
+
+ rawArray->Delete();
+ delete rawArray;
+
+ return result;
+}
+//______________________________________________________________________________________________
+
+UInt_t AliTPCPreprocessor::ExtractCE(Int_t sourceFXS)
+{
+ //
+ // Read Central Electrode file from file exchage server
+ //
+ //
+ AliTPCCalPad *ceTmean=0;
+ AliTPCCalPad *ceTrms=0;
+ AliTPCCalPad *ceQmean=0;
+ TObjArray *rocTtime=0;
+ TObjArray *rocQtime=0;
+
+ TObjArray *ceObjects= new TObjArray;
+
+
+ Int_t nSectors = fROC->GetNSectors();
+
+ ceTmean = new AliTPCCalPad("CETmean","CETmean");
+ ceObjects->Add(ceTmean);
+
+ ceTrms = new AliTPCCalPad("CETrms","CETrms");
+ ceObjects->Add(ceTrms);
+
+ ceQmean = new AliTPCCalPad("CEQmean","CEQmean");
+ ceObjects->Add(ceQmean);
+
+ rocTtime = new TObjArray(nSectors+2); // also make room for A and C side average
+ rocTtime->SetName("rocTtime");
+ ceObjects->Add(rocTtime);
+
+ rocQtime = new TObjArray(nSectors);
+ rocQtime->SetName("rocQtime");
+ ceObjects->Add(rocQtime);
+
+ //=== new part
+ TObjArray *arrFitGraphs=new TObjArray;
+ arrFitGraphs->SetName("ceFitsDrift");
+ ceObjects->Add(arrFitGraphs);
+
+// Temperature maps
+
+ if (fTemp) {
+ AliTPCSensorTempArray *tempMap = new AliTPCSensorTempArray(*fTemp);
+ tempMap->SetNameTitle("TempMap","TempMap");
+ ceObjects->Add(tempMap);
+ }
+
+// Pressure maps
+
+ if (fPressure) {
+ AliDCSSensor *sensor=0, *sensorCopy=0;
+ for (Int_t isensor=0; isensor<kNumPressureSensors; ++isensor ) {
+ sensor = fPressure->GetSensor(kPressureSensorNames[isensor]);
+ if (sensor) {
+ sensorCopy = new AliDCSSensor(*sensor);
+ sensorCopy->SetNameTitle(kPressureSensorNames[isensor],kPressureSensorNames[isensor]);
+ ceObjects->Add(sensorCopy);
+ }
+ }
+ }
+
+ UInt_t result=0;
+
+ TList* list = GetFileSources(sourceFXS,"CE");
+
+ if (list && list->GetEntries()>0) {
+
+// loop through all files from LDCs
+
+ UInt_t index = 0;
+ while (list->At(index)!=NULL) {
+ TObjString* fileNameEntry = (TObjString*) list->At(index);
+ if (fileNameEntry!=NULL) {
+ TString fileName = GetFile(sourceFXS, "CE",
+ fileNameEntry->GetString().Data());
+ AliTPCCalibCE *calCE=AliTPCCalibCE::ReadFromFile(fileName.Data());
+
+ if (!calCE) {
+ Log ("No valid calibCE object.");
+ result=2;
+ break;
+ }
+ // replace entries for the sectors available in the present file
+