#include "AliVZEROPreprocessor.h"
#include "AliVZEROCalibData.h"
#include "AliVZEROTriggerData.h"
#include "AliCDBMetaData.h"
#include "AliCDBEntry.h"
#include "AliDCSValue.h"
#include "AliLog.h"
#include "AliShuttleInterface.h"
#include "AliVZERODataFEE.h"
#include "AliVZERODataDCS.h"
#include <TFile.h>
#include <TTimeStamp.h>
#include <TObjString.h>
#include <TSystem.h>
#include <TH1F.h>
class Tlist;
ClassImp(AliVZEROPreprocessor)
AliVZEROPreprocessor::AliVZEROPreprocessor(AliShuttleInterface* shuttle) :
AliPreprocessor("V00", shuttle),
fData(0),
fFEEData(0)
{
AddRunType("STANDALONE_PULSER");
AddRunType("STANDALONE_BC");
AddRunType("PHYSICS");
}
AliVZEROPreprocessor::~AliVZEROPreprocessor()
{
delete fFEEData;
delete fData;
}
void AliVZEROPreprocessor::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()));
fRun = run;
fStartTime = GetStartTimeDCSQuery ();
fEndTime = GetEndTimeDCSQuery ();
time_t daqStart = (time_t) (((TString)GetRunParameter("DAQ_time_start")).Atoi());
time_t daqEnd = (time_t) (((TString)GetRunParameter("DAQ_time_end")).Atoi());
time_t ctpStart = (time_t) (((TString)GetRunParameter("TRGTimeStart")).Atoi());
time_t ctpEnd = (time_t) (((TString)GetRunParameter("TRGTimeEnd")).Atoi());
fData = new AliVZERODataDCS(fRun, fStartTime, fEndTime,(UInt_t)daqStart, (UInt_t)daqEnd,(UInt_t)ctpStart, (UInt_t)ctpEnd);
fFEEData = new AliVZERODataFEE(fRun, fStartTime, fEndTime);
}
UInt_t AliVZEROPreprocessor::Process(TMap* dcsAliasMap)
{
TString runType = GetRunType();
TString fileName;
AliVZEROCalibData *calibData = new AliVZEROCalibData();
if(!dcsAliasMap) return 1;
if (!fData->ProcessData(*dcsAliasMap)) return 1;
calibData->FillDCSData(fData);
TString sourcesId = "V00da_results";
TList* sourceList = GetFileSources(kDAQ, sourcesId.Data());
if (!sourceList) {
Log(Form("No sources found for id %s", sourcesId.Data()));
return 1; }
Log(Form("The following sources produced files with the id %s",sourcesId.Data()));
sourceList->Print();
TIter iter(sourceList);
TObjString *source;
while((source=dynamic_cast<TObjString*> (iter.Next()))){
fileName = GetFile(kDAQ, sourcesId.Data(), source->GetName());
if (fileName.Length() > 0)
Log(Form("Got the file %s, now we can extract some values.", fileName.Data()));
FILE *file;
if((file = fopen(fileName.Data(),"r")) == NULL){
Log(Form("Cannot open file %s",fileName.Data()));
return 1;}
Float_t pedMean[128], pedSigma[128], adcMean[128], adcSigma[128] ;
for(Int_t j=0; j<128; j++) {
Int_t resScan = fscanf(file,"%f %f %f %f",
&pedMean[j], &pedSigma[j], &adcMean[j], &adcSigma[j]);
if (resScan != 4) Log(Form("Bad data in file %s !",fileName.Data()));
}
fclose(file);
calibData->SetPedestal(pedMean);
calibData->SetSigma(pedSigma);
calibData->SetADCsigma(adcSigma);
}
delete source;
Bool_t resECal=kTRUE;
Bool_t result = 0;
AliCDBMetaData metaData;
metaData.SetBeamPeriod(0);
metaData.SetResponsible("Brigitte Cheynis");
metaData.SetComment("This preprocessor fills an AliVZEROCalibData object");
resECal = Store("Calib", "Data", calibData, &metaData, 0, kTRUE);
if(resECal==kFALSE ) result = 1;
delete calibData;
delete sourceList;
AliVZEROTriggerData *triggerData = new AliVZEROTriggerData();
fFEEData->ProcessData(*dcsAliasMap);
triggerData->FillData(fFEEData);
resECal=kTRUE;
metaData.SetBeamPeriod(0);
metaData.SetResponsible("Brigitte Cheynis");
metaData.SetComment("This preprocessor fills an AliVZEROTriggerData object");
resECal = Store("Trigger", "Data", triggerData, &metaData, 0, kTRUE);
if(resECal==kFALSE ) result = 1;
TH1F *eqFactors = new TH1F("VZEROEqualizationFactors","VZERO Equalization Factors for Pb-Pb",64,-0.5,63.5);
sourcesId = "V00DAEqualFactors";
TList* sourceList2 = GetFileSources(kDAQ, sourcesId.Data());
if (!sourceList2) {
Log(Form("No sources found for id %s", sourcesId.Data()));
return 1; }
Log(Form("The following sources produced files with the id %s",sourcesId.Data()));
sourceList2->Print();
TIter iter2(sourceList2);
TObjString *source2;
while((source2=dynamic_cast<TObjString*> (iter2.Next()))){
fileName = GetFile(kDAQ, sourcesId.Data(), source2->GetName());
if (fileName.Length() > 0)
Log(Form("Got the file %s, now we can extract some values.", fileName.Data()));
FILE *file2;
if((file2 = fopen(fileName.Data(),"r")) == NULL){
Log(Form("Cannot open file %s",fileName.Data()));
return 1;}
Double_t alpha[66];
alpha[0] = alpha[65] = 0;
Int_t tempCh;
Float_t tempAlpha;
for(Int_t j=0; j<64; ++j) {
Int_t resScan = fscanf(file2,"%d %f", &tempCh, &tempAlpha);
if (resScan != 2) Log(Form("Bad data in file %s !",fileName.Data()));
alpha[tempCh+1] = tempAlpha;
}
fclose(file2);
printf("Equalization factors (0->64): ");
for(Int_t j=0; j<64; ++j) printf("%.5f ",alpha[j+1]);
printf("\n");
eqFactors->SetContent(alpha);
}
delete source2;
resECal=kTRUE;
AliCDBMetaData metaData2;
metaData2.SetBeamPeriod(0);
metaData2.SetResponsible("Brigitte Cheynis");
metaData2.SetComment("VZERO Equalization Factors object filled by VZERO preprocessor");
resECal = Store("Calib", "EqualizationFactors", eqFactors, &metaData2, 0, kTRUE);
if(resECal==kFALSE ) result = 1;
delete eqFactors;
delete sourceList2;
return result;
}
AliVZEROPreprocessor.cxx:1 AliVZEROPreprocessor.cxx:2 AliVZEROPreprocessor.cxx:3 AliVZEROPreprocessor.cxx:4 AliVZEROPreprocessor.cxx:5 AliVZEROPreprocessor.cxx:6 AliVZEROPreprocessor.cxx:7 AliVZEROPreprocessor.cxx:8 AliVZEROPreprocessor.cxx:9 AliVZEROPreprocessor.cxx:10 AliVZEROPreprocessor.cxx:11 AliVZEROPreprocessor.cxx:12 AliVZEROPreprocessor.cxx:13 AliVZEROPreprocessor.cxx:14 AliVZEROPreprocessor.cxx:15 AliVZEROPreprocessor.cxx:16 AliVZEROPreprocessor.cxx:17 AliVZEROPreprocessor.cxx:18 AliVZEROPreprocessor.cxx:19 AliVZEROPreprocessor.cxx:20 AliVZEROPreprocessor.cxx:21 AliVZEROPreprocessor.cxx:22 AliVZEROPreprocessor.cxx:23 AliVZEROPreprocessor.cxx:24 AliVZEROPreprocessor.cxx:25 AliVZEROPreprocessor.cxx:26 AliVZEROPreprocessor.cxx:27 AliVZEROPreprocessor.cxx:28 AliVZEROPreprocessor.cxx:29 AliVZEROPreprocessor.cxx:30 AliVZEROPreprocessor.cxx:31 AliVZEROPreprocessor.cxx:32 AliVZEROPreprocessor.cxx:33 AliVZEROPreprocessor.cxx:34 AliVZEROPreprocessor.cxx:35 AliVZEROPreprocessor.cxx:36 AliVZEROPreprocessor.cxx:37 AliVZEROPreprocessor.cxx:38 AliVZEROPreprocessor.cxx:39 AliVZEROPreprocessor.cxx:40 AliVZEROPreprocessor.cxx:41 AliVZEROPreprocessor.cxx:42 AliVZEROPreprocessor.cxx:43 AliVZEROPreprocessor.cxx:44 AliVZEROPreprocessor.cxx:45 AliVZEROPreprocessor.cxx:46 AliVZEROPreprocessor.cxx:47 AliVZEROPreprocessor.cxx:48 AliVZEROPreprocessor.cxx:49 AliVZEROPreprocessor.cxx:50 AliVZEROPreprocessor.cxx:51 AliVZEROPreprocessor.cxx:52 AliVZEROPreprocessor.cxx:53 AliVZEROPreprocessor.cxx:54 AliVZEROPreprocessor.cxx:55 AliVZEROPreprocessor.cxx:56 AliVZEROPreprocessor.cxx:57 AliVZEROPreprocessor.cxx:58 AliVZEROPreprocessor.cxx:59 AliVZEROPreprocessor.cxx:60 AliVZEROPreprocessor.cxx:61 AliVZEROPreprocessor.cxx:62 AliVZEROPreprocessor.cxx:63 AliVZEROPreprocessor.cxx:64 AliVZEROPreprocessor.cxx:65 AliVZEROPreprocessor.cxx:66 AliVZEROPreprocessor.cxx:67 AliVZEROPreprocessor.cxx:68 AliVZEROPreprocessor.cxx:69 AliVZEROPreprocessor.cxx:70 AliVZEROPreprocessor.cxx:71 AliVZEROPreprocessor.cxx:72 AliVZEROPreprocessor.cxx:73 AliVZEROPreprocessor.cxx:74 AliVZEROPreprocessor.cxx:75 AliVZEROPreprocessor.cxx:76 AliVZEROPreprocessor.cxx:77 AliVZEROPreprocessor.cxx:78 AliVZEROPreprocessor.cxx:79 AliVZEROPreprocessor.cxx:80 AliVZEROPreprocessor.cxx:81 AliVZEROPreprocessor.cxx:82 AliVZEROPreprocessor.cxx:83 AliVZEROPreprocessor.cxx:84 AliVZEROPreprocessor.cxx:85 AliVZEROPreprocessor.cxx:86 AliVZEROPreprocessor.cxx:87 AliVZEROPreprocessor.cxx:88 AliVZEROPreprocessor.cxx:89 AliVZEROPreprocessor.cxx:90 AliVZEROPreprocessor.cxx:91 AliVZEROPreprocessor.cxx:92 AliVZEROPreprocessor.cxx:93 AliVZEROPreprocessor.cxx:94 AliVZEROPreprocessor.cxx:95 AliVZEROPreprocessor.cxx:96 AliVZEROPreprocessor.cxx:97 AliVZEROPreprocessor.cxx:98 AliVZEROPreprocessor.cxx:99 AliVZEROPreprocessor.cxx:100 AliVZEROPreprocessor.cxx:101 AliVZEROPreprocessor.cxx:102 AliVZEROPreprocessor.cxx:103 AliVZEROPreprocessor.cxx:104 AliVZEROPreprocessor.cxx:105 AliVZEROPreprocessor.cxx:106 AliVZEROPreprocessor.cxx:107 AliVZEROPreprocessor.cxx:108 AliVZEROPreprocessor.cxx:109 AliVZEROPreprocessor.cxx:110 AliVZEROPreprocessor.cxx:111 AliVZEROPreprocessor.cxx:112 AliVZEROPreprocessor.cxx:113 AliVZEROPreprocessor.cxx:114 AliVZEROPreprocessor.cxx:115 AliVZEROPreprocessor.cxx:116 AliVZEROPreprocessor.cxx:117 AliVZEROPreprocessor.cxx:118 AliVZEROPreprocessor.cxx:119 AliVZEROPreprocessor.cxx:120 AliVZEROPreprocessor.cxx:121 AliVZEROPreprocessor.cxx:122 AliVZEROPreprocessor.cxx:123 AliVZEROPreprocessor.cxx:124 AliVZEROPreprocessor.cxx:125 AliVZEROPreprocessor.cxx:126 AliVZEROPreprocessor.cxx:127 AliVZEROPreprocessor.cxx:128 AliVZEROPreprocessor.cxx:129 AliVZEROPreprocessor.cxx:130 AliVZEROPreprocessor.cxx:131 AliVZEROPreprocessor.cxx:132 AliVZEROPreprocessor.cxx:133 AliVZEROPreprocessor.cxx:134 AliVZEROPreprocessor.cxx:135 AliVZEROPreprocessor.cxx:136 AliVZEROPreprocessor.cxx:137 AliVZEROPreprocessor.cxx:138 AliVZEROPreprocessor.cxx:139 AliVZEROPreprocessor.cxx:140 AliVZEROPreprocessor.cxx:141 AliVZEROPreprocessor.cxx:142 AliVZEROPreprocessor.cxx:143 AliVZEROPreprocessor.cxx:144 AliVZEROPreprocessor.cxx:145 AliVZEROPreprocessor.cxx:146 AliVZEROPreprocessor.cxx:147 AliVZEROPreprocessor.cxx:148 AliVZEROPreprocessor.cxx:149 AliVZEROPreprocessor.cxx:150 AliVZEROPreprocessor.cxx:151 AliVZEROPreprocessor.cxx:152 AliVZEROPreprocessor.cxx:153 AliVZEROPreprocessor.cxx:154 AliVZEROPreprocessor.cxx:155 AliVZEROPreprocessor.cxx:156 AliVZEROPreprocessor.cxx:157 AliVZEROPreprocessor.cxx:158 AliVZEROPreprocessor.cxx:159 AliVZEROPreprocessor.cxx:160 AliVZEROPreprocessor.cxx:161 AliVZEROPreprocessor.cxx:162 AliVZEROPreprocessor.cxx:163 AliVZEROPreprocessor.cxx:164 AliVZEROPreprocessor.cxx:165 AliVZEROPreprocessor.cxx:166 AliVZEROPreprocessor.cxx:167 AliVZEROPreprocessor.cxx:168 AliVZEROPreprocessor.cxx:169 AliVZEROPreprocessor.cxx:170 AliVZEROPreprocessor.cxx:171 AliVZEROPreprocessor.cxx:172 AliVZEROPreprocessor.cxx:173 AliVZEROPreprocessor.cxx:174 AliVZEROPreprocessor.cxx:175 AliVZEROPreprocessor.cxx:176 AliVZEROPreprocessor.cxx:177 AliVZEROPreprocessor.cxx:178 AliVZEROPreprocessor.cxx:179 AliVZEROPreprocessor.cxx:180 AliVZEROPreprocessor.cxx:181 AliVZEROPreprocessor.cxx:182 AliVZEROPreprocessor.cxx:183 AliVZEROPreprocessor.cxx:184 AliVZEROPreprocessor.cxx:185 AliVZEROPreprocessor.cxx:186 AliVZEROPreprocessor.cxx:187 AliVZEROPreprocessor.cxx:188 AliVZEROPreprocessor.cxx:189 AliVZEROPreprocessor.cxx:190 AliVZEROPreprocessor.cxx:191 AliVZEROPreprocessor.cxx:192 AliVZEROPreprocessor.cxx:193 AliVZEROPreprocessor.cxx:194 AliVZEROPreprocessor.cxx:195 AliVZEROPreprocessor.cxx:196 AliVZEROPreprocessor.cxx:197 AliVZEROPreprocessor.cxx:198 AliVZEROPreprocessor.cxx:199 AliVZEROPreprocessor.cxx:200 AliVZEROPreprocessor.cxx:201 AliVZEROPreprocessor.cxx:202 AliVZEROPreprocessor.cxx:203 AliVZEROPreprocessor.cxx:204 AliVZEROPreprocessor.cxx:205 AliVZEROPreprocessor.cxx:206 AliVZEROPreprocessor.cxx:207 AliVZEROPreprocessor.cxx:208 AliVZEROPreprocessor.cxx:209 AliVZEROPreprocessor.cxx:210 AliVZEROPreprocessor.cxx:211 AliVZEROPreprocessor.cxx:212 AliVZEROPreprocessor.cxx:213 AliVZEROPreprocessor.cxx:214 AliVZEROPreprocessor.cxx:215 AliVZEROPreprocessor.cxx:216 AliVZEROPreprocessor.cxx:217 AliVZEROPreprocessor.cxx:218 AliVZEROPreprocessor.cxx:219 AliVZEROPreprocessor.cxx:220 AliVZEROPreprocessor.cxx:221 AliVZEROPreprocessor.cxx:222 AliVZEROPreprocessor.cxx:223 AliVZEROPreprocessor.cxx:224 AliVZEROPreprocessor.cxx:225 AliVZEROPreprocessor.cxx:226 AliVZEROPreprocessor.cxx:227 AliVZEROPreprocessor.cxx:228 AliVZEROPreprocessor.cxx:229 AliVZEROPreprocessor.cxx:230 AliVZEROPreprocessor.cxx:231 AliVZEROPreprocessor.cxx:232 AliVZEROPreprocessor.cxx:233 AliVZEROPreprocessor.cxx:234 AliVZEROPreprocessor.cxx:235 AliVZEROPreprocessor.cxx:236 AliVZEROPreprocessor.cxx:237 AliVZEROPreprocessor.cxx:238 AliVZEROPreprocessor.cxx:239 AliVZEROPreprocessor.cxx:240 AliVZEROPreprocessor.cxx:241 AliVZEROPreprocessor.cxx:242 AliVZEROPreprocessor.cxx:243 AliVZEROPreprocessor.cxx:244 AliVZEROPreprocessor.cxx:245 AliVZEROPreprocessor.cxx:246 AliVZEROPreprocessor.cxx:247 AliVZEROPreprocessor.cxx:248 AliVZEROPreprocessor.cxx:249 AliVZEROPreprocessor.cxx:250 AliVZEROPreprocessor.cxx:251 AliVZEROPreprocessor.cxx:252 AliVZEROPreprocessor.cxx:253 AliVZEROPreprocessor.cxx:254 AliVZEROPreprocessor.cxx:255 AliVZEROPreprocessor.cxx:256 AliVZEROPreprocessor.cxx:257 AliVZEROPreprocessor.cxx:258 AliVZEROPreprocessor.cxx:259 AliVZEROPreprocessor.cxx:260 AliVZEROPreprocessor.cxx:261 AliVZEROPreprocessor.cxx:262 AliVZEROPreprocessor.cxx:263