#include "AliITSPreprocessorSSD.h"
#include "AliCDBMetaData.h"
#include "AliLog.h"
#include "TFile.h"
#include <TTimeStamp.h>
#include <TObjString.h>
#include "AliITSRawStreamSSD.h"
#include "AliITSNoiseSSDv2.h"
#include "AliITSPedestalSSDv2.h"
#include "AliITSBadChannelsSSDv2.h"
#include <Riostream.h>
const Int_t AliITSPreprocessorSSD::fgkNumberOfSSD = 1698;
ClassImp(AliITSPreprocessorSSD)
AliITSPreprocessorSSD::AliITSPreprocessorSSD(AliShuttleInterface* shuttle) :
AliPreprocessor("SSD", shuttle)
{
AddRunType("ELECTRONICS_CALIBRATION_RUN");
AddRunType("PEDESTAL");
AddRunType("PHYSICS");
}
void AliITSPreprocessorSSD::Initialize(Int_t run, UInt_t startTime,
UInt_t endTime)
{
AliPreprocessor::Initialize(run, startTime, endTime);
Log(Form("\n\tRun %d \n\tStartTime %s \n\tEndTime %s", run,
TTimeStamp(startTime).AsString(),
TTimeStamp(endTime).AsString()));
}
UInt_t AliITSPreprocessorSSD::Process(TMap* )
{
AliITSNoiseSSDv2 *calib = new AliITSNoiseSSDv2();
AliITSBadChannelsSSDv2 *badch = new AliITSBadChannelsSSDv2();
AliITSPedestalSSDv2 *pedel = new AliITSPedestalSSDv2();
TString runType = GetRunType();
if(runType == "ELECTRONICS_CALIBRATION_RUN") {
}
else if(runType == "PEDESTAL") {
TList* list = GetFileSources(kDAQ, "CALIBRATION");
if (list && list->GetEntries() > 0)
{
Log("The following sources produced files with the id CALIBRATION");
list->Print();
TIter next(list);
TObjString *ok;
while ( (ok = (TObjString*) next()) ) {
TString key = ok->String();
TString fileName = GetFile(kDAQ, "CALIBRATION", key.Data());
if (fileName.Length() > 0) {
Log(Form("Got the file %s, now we can extract some values.", fileName.Data()));
TFile *f = new TFile(fileName.Data());
if(!f || !f->IsOpen()){
Log("Error opening file!");
delete list;
return 2;
}
AliITSNoiseSSDv2 *cal;
f->GetObject("AliITSNoiseSSDv2;1", cal);
if(!cal) {
Log("File does not contain expected data for the noise!");
delete list;
return 3;
}
AliITSPedestalSSDv2 *ped;
f->GetObject("AliITSPedestalSSDv2;1", ped);
if(!ped) {
Log("File does not contain expected data for the pedestals!");
delete list;
return 5;
}
AliITSBadChannelsSSDv2 *bad;
f->GetObject("AliITSBadChannelsSSDv2;1", bad);
if(!bad) {
Log("File does not contain expected data for bad channels !");
delete list;
return 4;
}
for(Int_t module=0; module<fgkNumberOfSSD; module++) {
for(Int_t strip=0; strip<768; strip++) {
if(cal->GetNoiseP(module,strip))
calib->AddNoiseP(module,strip,cal->GetNoiseP(module,strip));
if(cal->GetNoiseN(module,strip))
calib->AddNoiseN(module,strip,cal->GetNoiseN(module,strip));
if(ped->GetPedestalP(module,strip))
pedel->AddPedestalP(module,strip,
ped->GetPedestalP(module,strip));
if(ped->GetPedestalN(module,strip))
pedel->AddPedestalN(module,strip,
ped->GetPedestalN(module,strip));
if(bad->GetBadChannelP(module,strip))
badch->AddBadChannelP(module,strip,
bad->GetBadChannelP(module,strip));
if(bad->GetBadChannelN(module,strip))
badch->AddBadChannelN(module,strip,
bad->GetBadChannelN(module,strip));
}
}
f->Close(); delete f;
} else {
Log("GetFile error!");
delete list;
return 6;
}
}
delete list;
} else {
Log("GetFileSources error!");
if(list) delete list;
return 7;
}
AliCDBMetaData metaData;
metaData.SetBeamPeriod(0);
metaData.SetResponsible("Enrico Fragiacomo");
metaData.SetComment("Fills noise, pedestal and bad channels TObjArray");
if(!Store("Calib", "NoiseSSD", (TObject *)calib, &metaData, 0, 1)) {
Log("no store");
return 1;
}
if(!Store("Calib", "BadChannelsSSD", (TObject*)badch, &metaData, 0, 1)) {
Log("no store");
return 1;
}
if(!StoreReferenceData("Ref","PedestalSSD", (TObject*)pedel, &metaData)) {
Log("no store");
return 1;
}
}
else {
Log("Nothing to do");
return 0;
}
Log("Database updated");
return 0;
}
AliITSPreprocessorSSD.cxx:1 AliITSPreprocessorSSD.cxx:2 AliITSPreprocessorSSD.cxx:3 AliITSPreprocessorSSD.cxx:4 AliITSPreprocessorSSD.cxx:5 AliITSPreprocessorSSD.cxx:6 AliITSPreprocessorSSD.cxx:7 AliITSPreprocessorSSD.cxx:8 AliITSPreprocessorSSD.cxx:9 AliITSPreprocessorSSD.cxx:10 AliITSPreprocessorSSD.cxx:11 AliITSPreprocessorSSD.cxx:12 AliITSPreprocessorSSD.cxx:13 AliITSPreprocessorSSD.cxx:14 AliITSPreprocessorSSD.cxx:15 AliITSPreprocessorSSD.cxx:16 AliITSPreprocessorSSD.cxx:17 AliITSPreprocessorSSD.cxx:18 AliITSPreprocessorSSD.cxx:19 AliITSPreprocessorSSD.cxx:20 AliITSPreprocessorSSD.cxx:21 AliITSPreprocessorSSD.cxx:22 AliITSPreprocessorSSD.cxx:23 AliITSPreprocessorSSD.cxx:24 AliITSPreprocessorSSD.cxx:25 AliITSPreprocessorSSD.cxx:26 AliITSPreprocessorSSD.cxx:27 AliITSPreprocessorSSD.cxx:28 AliITSPreprocessorSSD.cxx:29 AliITSPreprocessorSSD.cxx:30 AliITSPreprocessorSSD.cxx:31 AliITSPreprocessorSSD.cxx:32 AliITSPreprocessorSSD.cxx:33 AliITSPreprocessorSSD.cxx:34 AliITSPreprocessorSSD.cxx:35 AliITSPreprocessorSSD.cxx:36 AliITSPreprocessorSSD.cxx:37 AliITSPreprocessorSSD.cxx:38 AliITSPreprocessorSSD.cxx:39 AliITSPreprocessorSSD.cxx:40 AliITSPreprocessorSSD.cxx:41 AliITSPreprocessorSSD.cxx:42 AliITSPreprocessorSSD.cxx:43 AliITSPreprocessorSSD.cxx:44 AliITSPreprocessorSSD.cxx:45 AliITSPreprocessorSSD.cxx:46 AliITSPreprocessorSSD.cxx:47 AliITSPreprocessorSSD.cxx:48 AliITSPreprocessorSSD.cxx:49 AliITSPreprocessorSSD.cxx:50 AliITSPreprocessorSSD.cxx:51 AliITSPreprocessorSSD.cxx:52 AliITSPreprocessorSSD.cxx:53 AliITSPreprocessorSSD.cxx:54 AliITSPreprocessorSSD.cxx:55 AliITSPreprocessorSSD.cxx:56 AliITSPreprocessorSSD.cxx:57 AliITSPreprocessorSSD.cxx:58 AliITSPreprocessorSSD.cxx:59 AliITSPreprocessorSSD.cxx:60 AliITSPreprocessorSSD.cxx:61 AliITSPreprocessorSSD.cxx:62 AliITSPreprocessorSSD.cxx:63 AliITSPreprocessorSSD.cxx:64 AliITSPreprocessorSSD.cxx:65 AliITSPreprocessorSSD.cxx:66 AliITSPreprocessorSSD.cxx:67 AliITSPreprocessorSSD.cxx:68 AliITSPreprocessorSSD.cxx:69 AliITSPreprocessorSSD.cxx:70 AliITSPreprocessorSSD.cxx:71 AliITSPreprocessorSSD.cxx:72 AliITSPreprocessorSSD.cxx:73 AliITSPreprocessorSSD.cxx:74 AliITSPreprocessorSSD.cxx:75 AliITSPreprocessorSSD.cxx:76 AliITSPreprocessorSSD.cxx:77 AliITSPreprocessorSSD.cxx:78 AliITSPreprocessorSSD.cxx:79 AliITSPreprocessorSSD.cxx:80 AliITSPreprocessorSSD.cxx:81 AliITSPreprocessorSSD.cxx:82 AliITSPreprocessorSSD.cxx:83 AliITSPreprocessorSSD.cxx:84 AliITSPreprocessorSSD.cxx:85 AliITSPreprocessorSSD.cxx:86 AliITSPreprocessorSSD.cxx:87 AliITSPreprocessorSSD.cxx:88 AliITSPreprocessorSSD.cxx:89 AliITSPreprocessorSSD.cxx:90 AliITSPreprocessorSSD.cxx:91 AliITSPreprocessorSSD.cxx:92 AliITSPreprocessorSSD.cxx:93 AliITSPreprocessorSSD.cxx:94 AliITSPreprocessorSSD.cxx:95 AliITSPreprocessorSSD.cxx:96 AliITSPreprocessorSSD.cxx:97 AliITSPreprocessorSSD.cxx:98 AliITSPreprocessorSSD.cxx:99 AliITSPreprocessorSSD.cxx:100 AliITSPreprocessorSSD.cxx:101 AliITSPreprocessorSSD.cxx:102 AliITSPreprocessorSSD.cxx:103 AliITSPreprocessorSSD.cxx:104 AliITSPreprocessorSSD.cxx:105 AliITSPreprocessorSSD.cxx:106 AliITSPreprocessorSSD.cxx:107 AliITSPreprocessorSSD.cxx:108 AliITSPreprocessorSSD.cxx:109 AliITSPreprocessorSSD.cxx:110 AliITSPreprocessorSSD.cxx:111 AliITSPreprocessorSSD.cxx:112 AliITSPreprocessorSSD.cxx:113 AliITSPreprocessorSSD.cxx:114 AliITSPreprocessorSSD.cxx:115 AliITSPreprocessorSSD.cxx:116 AliITSPreprocessorSSD.cxx:117 AliITSPreprocessorSSD.cxx:118 AliITSPreprocessorSSD.cxx:119 AliITSPreprocessorSSD.cxx:120 AliITSPreprocessorSSD.cxx:121 AliITSPreprocessorSSD.cxx:122 AliITSPreprocessorSSD.cxx:123 AliITSPreprocessorSSD.cxx:124 AliITSPreprocessorSSD.cxx:125 AliITSPreprocessorSSD.cxx:126 AliITSPreprocessorSSD.cxx:127 AliITSPreprocessorSSD.cxx:128 AliITSPreprocessorSSD.cxx:129 AliITSPreprocessorSSD.cxx:130 AliITSPreprocessorSSD.cxx:131 AliITSPreprocessorSSD.cxx:132 AliITSPreprocessorSSD.cxx:133 AliITSPreprocessorSSD.cxx:134 AliITSPreprocessorSSD.cxx:135 AliITSPreprocessorSSD.cxx:136 AliITSPreprocessorSSD.cxx:137 AliITSPreprocessorSSD.cxx:138 AliITSPreprocessorSSD.cxx:139 AliITSPreprocessorSSD.cxx:140 AliITSPreprocessorSSD.cxx:141 AliITSPreprocessorSSD.cxx:142 AliITSPreprocessorSSD.cxx:143 AliITSPreprocessorSSD.cxx:144 AliITSPreprocessorSSD.cxx:145 AliITSPreprocessorSSD.cxx:146 AliITSPreprocessorSSD.cxx:147 AliITSPreprocessorSSD.cxx:148 AliITSPreprocessorSSD.cxx:149 AliITSPreprocessorSSD.cxx:150 AliITSPreprocessorSSD.cxx:151 AliITSPreprocessorSSD.cxx:152 AliITSPreprocessorSSD.cxx:153 AliITSPreprocessorSSD.cxx:154 AliITSPreprocessorSSD.cxx:155 AliITSPreprocessorSSD.cxx:156 AliITSPreprocessorSSD.cxx:157 AliITSPreprocessorSSD.cxx:158 AliITSPreprocessorSSD.cxx:159 AliITSPreprocessorSSD.cxx:160 AliITSPreprocessorSSD.cxx:161 AliITSPreprocessorSSD.cxx:162 AliITSPreprocessorSSD.cxx:163 AliITSPreprocessorSSD.cxx:164 AliITSPreprocessorSSD.cxx:165 AliITSPreprocessorSSD.cxx:166 AliITSPreprocessorSSD.cxx:167 AliITSPreprocessorSSD.cxx:168 AliITSPreprocessorSSD.cxx:169 AliITSPreprocessorSSD.cxx:170 AliITSPreprocessorSSD.cxx:171 AliITSPreprocessorSSD.cxx:172 AliITSPreprocessorSSD.cxx:173 AliITSPreprocessorSSD.cxx:174 AliITSPreprocessorSSD.cxx:175 AliITSPreprocessorSSD.cxx:176 AliITSPreprocessorSSD.cxx:177 AliITSPreprocessorSSD.cxx:178 AliITSPreprocessorSSD.cxx:179 AliITSPreprocessorSSD.cxx:180 AliITSPreprocessorSSD.cxx:181 AliITSPreprocessorSSD.cxx:182 AliITSPreprocessorSSD.cxx:183 AliITSPreprocessorSSD.cxx:184 AliITSPreprocessorSSD.cxx:185 AliITSPreprocessorSSD.cxx:186 AliITSPreprocessorSSD.cxx:187 AliITSPreprocessorSSD.cxx:188 AliITSPreprocessorSSD.cxx:189 AliITSPreprocessorSSD.cxx:190 AliITSPreprocessorSSD.cxx:191 AliITSPreprocessorSSD.cxx:192 AliITSPreprocessorSSD.cxx:193 AliITSPreprocessorSSD.cxx:194 AliITSPreprocessorSSD.cxx:195 AliITSPreprocessorSSD.cxx:196