#include <TFile.h>
#include <TClonesArray.h>
#include <TList.h>
#include <TObjString.h>
#include <TTimeStamp.h>
#include "AliZDCPreprocessor.h"
#include "AliCDBManager.h"
#include "AliCDBEntry.h"
#include "AliCDBMetaData.h"
#include "AliDCSValue.h"
#include "AliAlignObj.h"
#include "AliAlignObjParams.h"
#include "AliLog.h"
#include "AliZDCDataDCS.h"
#include "AliZDCChMap.h"
#include "AliZDCPedestals.h"
#include "AliZDCLaserCalib.h"
#include "AliZDCEnCalib.h"
#include "AliZDCTowerCalib.h"
#include "AliZDCMBCalib.h"
#include "AliZDCTDCCalib.h"
ClassImp(AliZDCPreprocessor)
AliZDCPreprocessor::AliZDCPreprocessor(AliShuttleInterface* shuttle) :
AliPreprocessor("ZDC", shuttle),
fData(0)
{
AddRunType("STANDALONE_PEDESTAL");
AddRunType("STANDALONE_LASER");
AddRunType("STANDALONE_COSMIC");
AddRunType("CALIBRATION_EMD");
AddRunType("CALIBRATION_MB");
AddRunType("CALIBRATION_CENTRAL");
AddRunType("CALIBRATION_SEMICENTRAL");
AddRunType("CALIBRATION_BC");
AddRunType("PHYSICS");
}
AliZDCPreprocessor::~AliZDCPreprocessor()
{
}
void AliZDCPreprocessor::Initialize(Int_t run, UInt_t startTime, UInt_t endTime)
{
AliPreprocessor::Initialize(run, startTime, endTime);
AliDebug(2,Form("\n\tRun %d \n\tStartTime %s \n\tEndTime %s \n\tStartTime DCS Query %s \n\tEndTime DCS Query %s", run,
TTimeStamp(startTime).AsString(),
TTimeStamp(endTime).AsString(), ((TTimeStamp)GetStartTimeDCSQuery()).AsString(), ((TTimeStamp)GetEndTimeDCSQuery()).AsString()));
fRun = run;
fStartTime = startTime;
fEndTime = endTime;
fData = new AliZDCDataDCS(fRun, fStartTime, fEndTime, GetStartTimeDCSQuery(), GetEndTimeDCSQuery());
}
Bool_t AliZDCPreprocessor::ProcessDCS(){
TString runType = GetRunType();
Log(Form("RunType %s",runType.Data()));
if (runType=="STANDALONE_COSMIC" || runType=="STANDALONE_PEDESTAL"){
return kFALSE;
}
return kTRUE;
}
UInt_t AliZDCPreprocessor::ProcessDCSData(TMap* dcsAliasMap)
{
if(!dcsAliasMap){
Log(" No DCS map found: ZDC exiting from Shuttle");
if(fData){
delete fData;
fData = 0;
}
return 1;
}
Log(Form("Processing data from DCS"));
Bool_t resDCSProcess = fData->ProcessData(*dcsAliasMap);
if(resDCSProcess==kFALSE){
Log(" Problems in processing DCS DP");
return 1;
}
AliCDBMetaData metadata;
metadata.SetResponsible("Chiara Oppedisano");
metadata.SetComment("DCS DP TMap for ZDC");
Bool_t resDCSRef = kTRUE;
resDCSRef = StoreReferenceData("DCS","Data", dcsAliasMap, &metadata);
if(resDCSRef==kFALSE) return 2;
TClonesArray *array = new TClonesArray("AliAlignObjParams",10);
TClonesArray &alobj = *array;
AliAlignObjParams a;
Double_t dx=0., dz=0., dpsi=0., dtheta=0., dphi=0.;
Double_t dyZN1 = (Double_t) (fData->GetAlignData(0)/10.);
Double_t dyZP1 = (Double_t) (fData->GetAlignData(1)/10.);
Double_t dyZN2 = (Double_t) (fData->GetAlignData(2)/10.);
Double_t dyZP2 = (Double_t) (fData->GetAlignData(3)/10.);
const char *n1ZDC="ZDC/NeutronZDC_C";
const char *p1ZDC="ZDC/ProtonZDC_C";
const char *n2ZDC="ZDC/NeutronZDC_A";
const char *p2ZDC="ZDC/ProtonZDC_A";
UShort_t iIndex=0;
AliGeomManager::ELayerID iLayer = AliGeomManager::kInvalidLayer;
UShort_t volid = AliGeomManager::LayerToVolUID(iLayer,iIndex);
new(alobj[0]) AliAlignObjParams(n1ZDC, volid, dx, dyZN1, dz, dpsi, dtheta, dphi, kTRUE);
new(alobj[1]) AliAlignObjParams(p1ZDC, volid, dx, dyZP1, dz, dpsi, dtheta, dphi, kTRUE);
new(alobj[2]) AliAlignObjParams(n2ZDC, volid, dx, dyZN2, dz, dpsi, dtheta, dphi, kTRUE);
new(alobj[3]) AliAlignObjParams(p2ZDC, volid, dx, dyZP2, dz, dpsi, dtheta, dphi, kTRUE);
AliCDBMetaData mdDCS;
mdDCS.SetResponsible("Chiara Oppedisano");
mdDCS.SetComment("Alignment object for ZDC");
Bool_t resultAl = Store("Align","Data", array, &mdDCS, 0, kFALSE);
if(resultAl==kFALSE) return 3;
return 0;
}
UInt_t AliZDCPreprocessor::ProcessChMap()
{
const int kNModules=10, kNch=48, kNScch=32, kNtdcch=32;
TList* daqSource = GetFileSources(kDAQ, "MAPPING");
if(!daqSource){
AliError(Form("No sources for file ZDCChMapping.dat in run %d ", fRun));
return 4;
}
if(daqSource->GetEntries()==0) return 4;
Log("\t List of DAQ sources for MAPPING id: "); daqSource->Print();
TIter iter(daqSource);
TObjString* source = 0;
Int_t isou = 0;
Int_t modMap[kNModules][3], adcMap[kNch][6], scMap[kNScch][6], tdcMap[kNtdcch][4];
while((source = dynamic_cast<TObjString*> (iter.Next()))){
TString fileName = GetFile(kDAQ, "MAPPING", source->GetName());
Log(Form("\t Getting file #%d: ZDCChMapping.dat from %s\n",++isou, source->GetName()));
if(fileName.Length() <= 0){
Log(Form("No file from source %s!", source->GetName()));
return 4;
}
if(fileName){
FILE *file;
if((file = fopen(fileName,"r")) == NULL){
printf("Cannot open file %s \n",fileName.Data());
return 4;
}
Log(Form("File %s connected to process data for ADC mapping", fileName.Data()));
for(Int_t j=0; j<kNch; j++){
for(Int_t k=0; k<6; k++){
int read = fscanf(file,"%d",&adcMap[j][k]);
if(read == 0) AliDebug(3," Failing in reading data from mapping file");
}
}
for(Int_t j=kNch; j<kNch+kNScch; j++){
for(Int_t k=0; k<6; k++){
int read = fscanf(file,"%d",&scMap[j-kNch][k]);
if(read == 0) AliDebug(3," Failing in reading data from mapping file");
}
}
for(Int_t j=kNch+kNScch; j<kNch+kNScch+kNtdcch; j++){
for(Int_t k=0; k<4; k++){
int read = fscanf(file,"%d",&tdcMap[j-kNch-kNScch][k]);
if(read == 0) AliDebug(3," Failing in reading data from mapping file");
}
}
for(Int_t j=kNch+kNScch+kNtdcch; j<kNch+kNScch+kNtdcch+kNModules; j++){
for(Int_t k=0; k<3; k++){
int read = fscanf(file,"%d",&modMap[j-kNch-kNScch-kNtdcch][k]);
if(read == 0) AliDebug(3," Failing in reading data from mapping file");
}
}
fclose(file);
}
else{
Log(Form("File %s not found", fileName.Data()));
return 4;
}
}
Bool_t adcMapUpdated=kFALSE, scMapUpdated=kFALSE, tdcMapUpdated=kFALSE;
Bool_t updateOCDB = kFALSE;
AliCDBEntry *cdbEntry = GetFromOCDB("Calib","ChMap");
if(!cdbEntry){
Log(" No existing CDB entry for ADC mapping");
updateOCDB = kTRUE;
}
else{
AliZDCChMap *chMap = (AliZDCChMap*) cdbEntry->GetObject();
for(Int_t i=0; i<kNch; i++){
if( (adcMap[i][1] != chMap->GetADCModule(i))
|| (adcMap[i][2] != chMap->GetADCChannel(i))
|| (adcMap[i][3] != chMap->GetADCSignalCode(i))
|| (adcMap[i][4] != chMap->GetDetector(i))
|| (adcMap[i][5] != chMap->GetSector(i)))
adcMapUpdated = kTRUE;
}
for(Int_t i=0; i<kNScch; i++){
if( (scMap[i][2] != chMap->GetScChannel(i))
|| (scMap[i][3] != chMap->GetScSignalCode(i)) )
scMapUpdated = kTRUE;
}
for(Int_t i=0; i<kNtdcch; i++){
if( (tdcMap[i][2] != chMap->GetTDCChannel(i))
|| (tdcMap[i][3] != chMap->GetTDCSignalCode(i)))
tdcMapUpdated = kTRUE;
}
}
if(adcMapUpdated || scMapUpdated || tdcMapUpdated) updateOCDB = kTRUE;
Bool_t resChMapStore = kTRUE;
if(updateOCDB==kTRUE){
Log(" A new entry ZDC/Calib/ChMap will be created");
AliZDCChMap *mapCalib = new AliZDCChMap("ZDC");
for(Int_t k=0; k<kNModules; k++){
mapCalib->SetModuleMap(k, modMap[k][0], modMap[k][1], modMap[k][2]);
}
for(Int_t k=0; k<kNch; k++){
mapCalib->SetADCModule(k,adcMap[k][1]);
mapCalib->SetADCChannel(k,adcMap[k][2]);
mapCalib->SetADCSignalCode(k,adcMap[k][3]);
mapCalib->SetDetector(k,adcMap[k][4]);
mapCalib->SetSector(k,adcMap[k][5]);
}
for(Int_t k=0; k<kNScch; k++){
mapCalib->SetScChannel(k, scMap[k][2]);
mapCalib->SetScSignalCode(k, scMap[k][3]);
mapCalib->SetScDetector(k, scMap[k][4]);
mapCalib->SetScSector(k, scMap[k][5]);
}
for(Int_t k=0; k<kNtdcch; k++){
mapCalib->SetTDCChannel(k, tdcMap[k][2]);
mapCalib->SetTDCSignalCode(k, tdcMap[k][3]);
}
AliCDBMetaData metaData;
metaData.SetBeamPeriod(0);
metaData.SetResponsible("Chiara Oppedisano");
metaData.SetComment("AliZDCChMap object created by ZDC preprocessor");
resChMapStore = Store("Calib","ChMap",mapCalib, &metaData, 0, kTRUE);
printf(" Mapping object stored in OCDB\n");
}
else{
Log(" ZDC/Calib/ChMap entry in OCDB is valid and won't be updated");
resChMapStore = kTRUE;
}
delete daqSource; daqSource=0;
TString runType = GetRunType();
if(runType.CompareTo("PHYSICS")==0){
Log(Form("RunType %s -> producing TDC calibration data",runType.Data()));
TList* daqSourcetdc = GetFileSources(kDAQ, "TDCDATA");
if(!daqSourcetdc){
AliError(Form("No sources for file ZDCChMappingTDCCalib.dat in run %d ", fRun));
return 20;
}
if(daqSourcetdc->GetEntries()==0) return 20;
Log("\t List of DAQ sources for TDCDATA id: "); daqSourcetdc->Print();
Bool_t resTDCcal = kTRUE;
TIter itertdc(daqSourcetdc);
TObjString* sourcetdc = 0;
Int_t isoutdc = 0;
while((sourcetdc = dynamic_cast<TObjString*> (itertdc.Next()))){
TString fileNametdc = GetFile(kDAQ, "TDCDATA", sourcetdc->GetName());
Log(Form("\t Getting file #%d: ZDCTDCdata.dat from %s\n",++isoutdc, sourcetdc->GetName()));
if(fileNametdc.Length() <= 0){
Log(Form("No file from source %s!", sourcetdc->GetName()));
return 20;
}
AliZDCTDCCalib *tdcCalib = new AliZDCTDCCalib("ZDC");
if(fileNametdc){
FILE *filetdc;
if((filetdc = fopen(fileNametdc,"r")) == NULL){
printf("Cannot open file %s \n",fileNametdc.Data());
return 20;
}
Log(Form("File %s connected to process TDC data", fileNametdc.Data()));
Float_t tdcMean[6][2];
for(Int_t it=0; it<6; it++){
for(Int_t iu=0; iu<2; iu++) tdcMean[it][iu]=0.;
}
for(Int_t k=0; k<6; k++){
for(Int_t j=0; j<2; j++){
int leggi = fscanf(filetdc,"%f",&tdcMean[k][j]);
if(leggi==0) AliDebug(3," Failing reading data from tdc file");
tdcCalib->SetMeanTDC(k, tdcMean[k][0]);
tdcCalib->SetWidthTDC(k, tdcMean[k][1]);
}
}
fclose(filetdc);
}
else{
Log(Form("File %s not found", fileNametdc.Data()));
return 20;
}
AliCDBMetaData metaData;
metaData.SetBeamPeriod(0);
metaData.SetResponsible("Chiara Oppedisano");
metaData.SetComment("Filling AliZDCTDCCalib object");
resTDCcal = Store("Calib","TDCCalib",tdcCalib, &metaData, 0, kTRUE);
if(resTDCcal==kFALSE) return 21;
}
delete daqSourcetdc; daqSourcetdc = 0;
Bool_t restdcHist = kTRUE;
TList* daqSourceH = GetFileSources(kDAQ, "TDCHISTOS");
if(!daqSourceH){
Log(Form("No source for TDCHISTOS id run %d !", fRun));
return 22;
}
Log("\t List of DAQ sources for TDCHISTOS id: "); daqSourceH->Print();
TIter iterH(daqSourceH);
TObjString* sourceH = 0;
Int_t iH=0;
while((sourceH = dynamic_cast<TObjString*> (iterH.Next()))){
TString stringTDCFileName = GetFile(kDAQ, "TDCHISTOS", sourceH->GetName());
if(stringTDCFileName.Length() <= 0){
Log(Form("No TDCHISTOS file from source %s!", sourceH->GetName()));
return 22;
}
const char* tdcFileName = stringTDCFileName.Data();
Log(Form("\t Getting file #%d: %s from %s\n",++iH, tdcFileName, sourceH->GetName()));
restdcHist = StoreReferenceFile(tdcFileName, "tdcReference.root");
if(restdcHist==kFALSE) return 23;
}
delete daqSourceH; daqSourceH=0;
}
if(resChMapStore==kFALSE) return 5;
else return 0;
}
UInt_t AliZDCPreprocessor::ProcessppData()
{
Bool_t resEnCal=kTRUE, resTowCal=kTRUE;
AliCDBEntry *cdbEnEntry = GetFromOCDB("Calib", "EnergyCalib");
if(!cdbEnEntry){
Log(Form(" ZDC/Calib/EnergyCalib entry will be created"));
AliCDBMetaData metaData;
metaData.SetBeamPeriod(0);
metaData.SetResponsible("Chiara Oppedisano");
AliZDCEnCalib *eCalib = new AliZDCEnCalib("ZDC");
for(Int_t j=0; j<6; j++) eCalib->SetEnCalib(j,1.);
metaData.SetComment("AliZDCEnCalib object");
resEnCal = Store("Calib", "EnergyCalib", eCalib, &metaData, 0, kTRUE);
}
else{
Log(Form(" Valid ZDC/Calib/EnergyCalib object already existing in OCDB!!!"));
resEnCal = kTRUE;
}
if(resEnCal==kFALSE) return 6;
AliCDBEntry *cdbTowEntry = GetFromOCDB("Calib", "TowerCalib");
if(!cdbTowEntry){
AliZDCTowerCalib *towCalib = new AliZDCTowerCalib("ZDC");
for(Int_t j=0; j<5; j++){
towCalib->SetZN1EqualCoeff(j, 1.);
towCalib->SetZP1EqualCoeff(j, 1.);
towCalib->SetZN2EqualCoeff(j, 1.);
towCalib->SetZP2EqualCoeff(j, 1.);
}
AliCDBMetaData metaData;
metaData.SetBeamPeriod(0);
metaData.SetResponsible("Chiara Oppedisano");
metaData.SetComment("AliZDCTowerCalib object");
resTowCal = Store("Calib", "TowerCalib", towCalib, &metaData, 0, kTRUE);
}
else{
Log(Form(" Valid ZDC/Calib/TowerCalib object already existing in OCDB!!!"));
resTowCal = kTRUE;
}
if(resTowCal==kFALSE) return 7;
return 0;
}
UInt_t AliZDCPreprocessor::ProcessCalibData(Float_t beamEnergy)
{
TList* daqSources = GetFileSources(kDAQ, "EMDENERGYCALIB");
if(!daqSources){
AliError(Form("No sources for CALIBRATION_EMD run %d !", fRun));
return 8;
}
Log("\t List of DAQ sources for EMDENERGYCALIB id: "); daqSources->Print();
TIter iter2(daqSources);
TObjString* source = 0;
Int_t i=0;
Bool_t resEnCal=kTRUE, resTowCal=kTRUE;
while((source = dynamic_cast<TObjString*> (iter2.Next()))){
TString stringEMDFileName = GetFile(kDAQ, "EMDENERGYCALIB", source->GetName());
if(stringEMDFileName.Length() <= 0){
Log(Form("No file from source %s!", source->GetName()));
return 8;
}
const char* emdFileName = stringEMDFileName.Data();
Log(Form("\t Getting file #%d: %s from %s\n",++i,emdFileName,source->GetName()));
AliZDCEnCalib *eCalib = new AliZDCEnCalib("ZDC");
if(emdFileName){
FILE *file;
if((file = fopen(emdFileName,"r")) == NULL){
printf("Cannot open file %s \n",emdFileName);
return 8;
}
Log(Form("File %s connected to process data from EM dissociation events", emdFileName));
Float_t fitValEMD[6];
for(Int_t j=0; j<6; j++){
if(j<6){
int iread = fscanf(file,"%f",&fitValEMD[j]);
if(iread==0) AliDebug(3," Failing reading data from EMD calibration data file");
if(fitValEMD[j]!=1.) eCalib->SetEnCalib(j, beamEnergy/fitValEMD[j]);
else eCalib->SetEnCalib(j, fitValEMD[j]);
}
}
fclose(file);
}
else{
Log(Form("File %s not found", emdFileName));
return 8;
}
AliCDBMetaData metaData;
metaData.SetBeamPeriod(0);
metaData.SetResponsible("Chiara Oppedisano");
metaData.SetComment("Filling AliZDCEnCalib object");
resEnCal = Store("Calib","EnergyCalib",eCalib, &metaData, 0, kTRUE);
if(resEnCal==kFALSE) return 6;
}
delete daqSources; daqSources = 0;
TList* daqSourcesH = GetFileSources(kDAQ, "EMDTOWERCALIB");
if(!daqSourcesH){
AliError(Form("No sources for CALIBRATION_EMD run %d !", fRun));
return 9;
}
Log("\t List of DAQ sources for EMDTOWERCALIB id: "); daqSourcesH->Print();
TIter iter2H(daqSourcesH);
TObjString* sourceH = 0;
Int_t iH=0;
while((sourceH = dynamic_cast<TObjString*> (iter2H.Next()))){
TString stringtowEMDFileName = GetFile(kDAQ, "EMDTOWERCALIB", sourceH->GetName());
if(stringtowEMDFileName.Length() <= 0){
Log(Form("No file from source %s!", sourceH->GetName()));
return 9;
}
const char * towEMDFileName = stringtowEMDFileName.Data();
Log(Form("\t Getting file #%d: %s from source %s\n",++iH,towEMDFileName,sourceH->GetName()));
AliZDCTowerCalib *towCalib = new AliZDCTowerCalib("ZDC");
if(towEMDFileName){
FILE *file;
if((file = fopen(towEMDFileName,"r")) == NULL){
printf("Cannot open file %s \n",towEMDFileName);
return 9;
}
Float_t equalCoeff[4][5];
for(Int_t j=0; j<4; j++){
for(Int_t k=0; k<5; k++){
int leggi = fscanf(file,"%f",&equalCoeff[j][k]);
if(leggi==0) AliDebug(3," Failing reading data from EMD calibration file");
if(j==0) towCalib->SetZN1EqualCoeff(k, equalCoeff[j][k]);
else if(j==1) towCalib->SetZP1EqualCoeff(k, equalCoeff[j][k]);
else if(j==2) towCalib->SetZN2EqualCoeff(k, equalCoeff[j][k]);
else if(j==3) towCalib->SetZP2EqualCoeff(k, equalCoeff[j][k]);
}
}
fclose(file);
}
else{
Log(Form("File %s not found", towEMDFileName));
return 9;
}
AliCDBMetaData metaData;
metaData.SetBeamPeriod(0);
metaData.SetResponsible("Chiara Oppedisano");
metaData.SetComment("Filling AliZDCTowerCalib object");
resTowCal = Store("Calib","TowerCalib",towCalib, &metaData, 0, kTRUE);
if(resTowCal==kFALSE) return 7;
}
delete daqSourcesH; daqSourcesH = 0;
return 0;
}
UInt_t AliZDCPreprocessor::ProcessPedestalData()
{
TList* daqSources = GetFileSources(kDAQ, "PEDESTALDATA");
if(!daqSources){
Log(Form("No source for STANDALONE_PEDESTAL run %d !", fRun));
return 10;
}
if(daqSources->GetEntries()==0) return 10;
Log("\t List of DAQ sources for PEDESTALDATA id: "); daqSources->Print();
TIter iter(daqSources);
TObjString* source;
Int_t i=0;
Bool_t resPedCal=kTRUE, resPedHist=kTRUE;
while((source = dynamic_cast<TObjString*> (iter.Next()))){
TString stringPedFileName = GetFile(kDAQ, "PEDESTALDATA", source->GetName());
if(stringPedFileName.Length() <= 0){
Log(Form("No PEDESTALDATA file from source %s!", source->GetName()));
return 10;
}
const char* pedFileName = stringPedFileName.Data();
Log(Form("\t Getting file #%d: %s from %s\n",++i,pedFileName,source->GetName()));
AliZDCPedestals *pedCalib = new AliZDCPedestals("ZDC");
const Int_t knZDCch = 48;
FILE *file;
if((file = fopen(pedFileName,"r")) == NULL){
printf("Cannot open file %s \n",pedFileName);
return 10;
}
Log(Form("File %s connected to process pedestal data", pedFileName));
Float_t pedVal[(3*knZDCch)][2];
for(Int_t k=0; k<(3*knZDCch); k++){
for(Int_t j=0; j<2; j++){
int aleggi = fscanf(file,"%f",&pedVal[k][j]);
if(aleggi==0) AliDebug(3," Failing reading data from pedestal file");
}
if(k<knZDCch){
pedCalib->SetMeanPed(k,pedVal[k][0]);
pedCalib->SetMeanPedWidth(k,pedVal[k][1]);
}
else if(k>=knZDCch && k<(2*knZDCch)){
pedCalib->SetOOTPed(k-knZDCch,pedVal[k][0]);
pedCalib->SetOOTPedWidth(k-knZDCch,pedVal[k][1]);
}
else if(k>=(2*knZDCch) && k<(3*knZDCch)){
pedCalib->SetPedCorrCoeff(k-(2*knZDCch),pedVal[k][0],pedVal[k][1]);
}
}
fclose(file);
AliCDBMetaData metaData;
metaData.SetBeamPeriod(0);
metaData.SetResponsible("Chiara Oppedisano");
metaData.SetComment("Filling AliZDCPedestals object");
resPedCal = Store("Calib","Pedestals",pedCalib, &metaData, 0, kTRUE);
if(resPedCal==kFALSE) return 11;
}
delete daqSources; daqSources = 0;
TList* daqSourceH = GetFileSources(kDAQ, "PEDESTALHISTOS");
if(!daqSourceH){
Log(Form("No source for PEDESTALHISTOS id run %d !", fRun));
return 12;
}
Log("\t List of DAQ sources for PEDESTALHISTOS id: "); daqSourceH->Print();
TIter iterH(daqSourceH);
TObjString* sourceH = 0;
Int_t iH=0;
while((sourceH = dynamic_cast<TObjString*> (iterH.Next()))){
TString stringPedFileName = GetFile(kDAQ, "PEDESTALHISTOS", sourceH->GetName());
if(stringPedFileName.Length() <= 0){
Log(Form("No PEDESTALHISTOS file from source %s!", sourceH->GetName()));
return 12;
}
const char* pedFileName = stringPedFileName.Data();
Log(Form("\t Getting file #%d: %s from %s\n",++iH, pedFileName, sourceH->GetName()));
resPedHist = StoreReferenceFile(pedFileName, "pedestalReference.root");
if(resPedHist==kFALSE) return 13;
}
delete daqSourceH; daqSourceH=0;
return 0;
}
UInt_t AliZDCPreprocessor::ProcessLaserData()
{
TList* daqSources = GetFileSources(kDAQ, "LASERDATA");
if(!daqSources){
AliError(Form("No sources for STANDALONE_LASER run %d !", fRun));
return 14;
}
if(daqSources->GetEntries()==0) return 14;
Log("\t List of DAQ sources for LASERDATA id: "); daqSources->Print();
TIter iter2(daqSources);
TObjString* source = 0;
Int_t i=0;
Bool_t resLaserCal=kTRUE, resLaserHist=kTRUE;
while((source = dynamic_cast<TObjString*> (iter2.Next()))){
TString stringLaserFileName = GetFile(kDAQ, "LASERDATA", source->GetName());
if(stringLaserFileName.Length() <= 0){
Log(Form("No LASER file from source %s!", source->GetName()));
return 14;
}
const char* laserFileName = stringLaserFileName.Data();
Log(Form("\t Getting file #%d: %s from %s\n",++i,laserFileName,source->GetName()));
AliZDCLaserCalib *lCalib = new AliZDCLaserCalib("ZDC");
if(laserFileName){
FILE *file;
if((file = fopen(laserFileName,"r")) == NULL){
printf("Cannot open file %s \n",laserFileName);
return 14;
}
Log(Form("File %s connected to process data from LASER events", laserFileName));
Float_t ivalRead[22][4];
for(Int_t j=0; j<22; j++){
for(Int_t k=0; k<4; k++){
int aleggi = fscanf(file,"%f",&ivalRead[j][k]);
if(aleggi==0) AliDebug(3," Failng reading data from laser file");
}
lCalib->SetDetector(j, (Int_t) ivalRead[j][0]);
lCalib->SetSector(j, (Int_t) ivalRead[j][1]);
lCalib->SetfPMValue(j, ivalRead[j][2]);
lCalib->SetfPMWidth(j, ivalRead[j][3]);
}
fclose(file);
}
else{
Log(Form("File %s not found", laserFileName));
return 14;
}
AliCDBMetaData metaData;
metaData.SetBeamPeriod(0);
metaData.SetResponsible("Chiara Oppedisano");
metaData.SetComment("Filling AliZDCLaserCalib object");
resLaserCal = Store("Calib","LaserCalib",lCalib, &metaData, 0, kTRUE);
if(resLaserCal==kFALSE) return 15;
}
delete daqSources; daqSources = 0;
TList* daqSourceH = GetFileSources(kDAQ, "LASERHISTOS");
if(!daqSourceH){
AliError(Form("No sources for STANDALONE_LASER run %d !", fRun));
return 16;
}
Log("\t List of DAQ sources for LASERHISTOS id: "); daqSourceH->Print();
TIter iter2H(daqSourceH);
TObjString* sourceH = 0;
Int_t iH=0;
while((sourceH = dynamic_cast<TObjString*> (iter2H.Next()))){
Log(Form("\t Getting file #%d\n",++iH));
TString stringLaserFileName = GetFile(kDAQ, "LASERHISTOS", sourceH->GetName());
if(stringLaserFileName.Length() <= 0){
Log(Form("No LASER file from source %s!", sourceH->GetName()));
return 16;
}
resLaserHist = StoreReferenceFile(stringLaserFileName.Data(), "laserReference.root");
if(resLaserHist==kFALSE) return 17;
}
delete daqSourceH; daqSourceH = 0;
return 0;
}
UInt_t AliZDCPreprocessor::ProcessMBCalibData()
{
TList* daqSources = GetFileSources(kDAQ, "MBCALIB");
if(!daqSources){
AliError(Form("No sources for CALIBRATION_MB run %d !", fRun));
return 18;
}
if(daqSources->GetEntries()==0) return 18;
Log("\t List of DAQ sources for MBCALIB id: "); daqSources->Print();
TIter iter2(daqSources);
TObjString* source = 0;
Int_t i=0;
Bool_t resMBCal=kTRUE;
while((source = dynamic_cast<TObjString*> (iter2.Next()))){
TString stringMBFileName = GetFile(kDAQ, "MBCALIB", source->GetName());
if(stringMBFileName.Length() <= 0){
Log(Form("No MBCALIB file from source %s!", source->GetName()));
return 18;
}
const char* mbFileName = stringMBFileName.Data();
Log(Form("\t Getting file #%d: %s from %s\n",++i,mbFileName,source->GetName()));
AliZDCMBCalib *mbCalib = new AliZDCMBCalib("ZDC");
if(mbFileName){
TFile * fileHistos = TFile::Open(mbFileName);
Log(Form("File %s connected to process data from CALIBRATION_MB events", mbFileName));
fileHistos->cd();
TH2F *hZDCvsZEM = (TH2F*) fileHistos->Get("hZDCvsZEM");
TH2F *hZDCCvsZEM = (TH2F*) fileHistos->Get("hZDCCvsZEM");
TH2F *hZDCAvsZEM = (TH2F*) fileHistos->Get("hZDCAvsZEM");
mbCalib->SetZDCvsZEM(hZDCvsZEM);
mbCalib->SetZDCCvsZEM(hZDCCvsZEM);
mbCalib->SetZDCAvsZEM(hZDCAvsZEM);
}
else{
Log(Form("File %s not found", mbFileName));
return 14;
}
AliCDBMetaData metaData;
metaData.SetBeamPeriod(0);
metaData.SetResponsible("Chiara Oppedisano");
metaData.SetComment("Filling AliZDCMBCalib object");
resMBCal = Store("Calib","MBCalib",mbCalib, &metaData, 0, kTRUE);
printf(" here 1000\n");
if(resMBCal==kFALSE) return 19;
}
delete daqSources; daqSources = 0;
return 0;
}
UInt_t AliZDCPreprocessor::Process(TMap* dcsAliasMap)
{
UInt_t resDCS = 0;
UInt_t resChMap=0;
UInt_t resEnergyCalib=0, resPedestalCalib=0, resLaserCalib=0, resMBCalib=0;
if(ProcessDCS()) resDCS = ProcessDCSData(dcsAliasMap);
const char* beamType = GetRunParameter("beamType");
TString runType = GetRunType();
Float_t beamEnergy = (Float_t)(((TString)GetRunParameter("beamEnergy")).Atof());
printf("\t **** AliZDCPreprocessor -> runType %s, beamType %s, beamEnergy %1.0f ****\n",
runType.Data(),beamType,beamEnergy);
resChMap = ProcessChMap();
if((strcmp(beamType,"p-p")==0) || (strcmp(beamType,"P-P")==0)
|| (strcmp(beamType,"P-A")==0) || (strcmp(beamType,"A-P")==0))
resEnergyCalib = ProcessppData();
if((strcmp(beamType,"A-A")==0) && (runType.CompareTo("CALIBRATION_EMD")==0))
resEnergyCalib = ProcessCalibData(beamEnergy);
if(runType.CompareTo("STANDALONE_PEDESTAL")==0) resPedestalCalib = ProcessPedestalData();
else if(runType.CompareTo("STANDALONE_LASER")==0) resLaserCalib = ProcessLaserData();
else if(runType.CompareTo("CALIBRATION_MB")==0) resMBCalib = ProcessMBCalibData();
if(resDCS!=0) return resDCS;
else if(resChMap!=0) return resChMap;
else if(resEnergyCalib!=0) return resEnergyCalib;
else if(resPedestalCalib!=0) return resPedestalCalib;
else if(resLaserCalib!=0) return resLaserCalib;
else if(resMBCalib!=0) return resMBCalib;
return 0;
}
AliZDCPreprocessor.cxx:10 AliZDCPreprocessor.cxx:11 AliZDCPreprocessor.cxx:12 AliZDCPreprocessor.cxx:13 AliZDCPreprocessor.cxx:14 AliZDCPreprocessor.cxx:15 AliZDCPreprocessor.cxx:16 AliZDCPreprocessor.cxx:17 AliZDCPreprocessor.cxx:18 AliZDCPreprocessor.cxx:19 AliZDCPreprocessor.cxx:20 AliZDCPreprocessor.cxx:21 AliZDCPreprocessor.cxx:22 AliZDCPreprocessor.cxx:23 AliZDCPreprocessor.cxx:24 AliZDCPreprocessor.cxx:25 AliZDCPreprocessor.cxx:26 AliZDCPreprocessor.cxx:27 AliZDCPreprocessor.cxx:28 AliZDCPreprocessor.cxx:29 AliZDCPreprocessor.cxx:30 AliZDCPreprocessor.cxx:31 AliZDCPreprocessor.cxx:32 AliZDCPreprocessor.cxx:33 AliZDCPreprocessor.cxx:34 AliZDCPreprocessor.cxx:35 AliZDCPreprocessor.cxx:36 AliZDCPreprocessor.cxx:37 AliZDCPreprocessor.cxx:38 AliZDCPreprocessor.cxx:39 AliZDCPreprocessor.cxx:40 AliZDCPreprocessor.cxx:41 AliZDCPreprocessor.cxx:42 AliZDCPreprocessor.cxx:43 AliZDCPreprocessor.cxx:44 AliZDCPreprocessor.cxx:45 AliZDCPreprocessor.cxx:46 AliZDCPreprocessor.cxx:47 AliZDCPreprocessor.cxx:48 AliZDCPreprocessor.cxx:49 AliZDCPreprocessor.cxx:50 AliZDCPreprocessor.cxx:51 AliZDCPreprocessor.cxx:52 AliZDCPreprocessor.cxx:53 AliZDCPreprocessor.cxx:54 AliZDCPreprocessor.cxx:55 AliZDCPreprocessor.cxx:56 AliZDCPreprocessor.cxx:57 AliZDCPreprocessor.cxx:58 AliZDCPreprocessor.cxx:59 AliZDCPreprocessor.cxx:60 AliZDCPreprocessor.cxx:61 AliZDCPreprocessor.cxx:62 AliZDCPreprocessor.cxx:63 AliZDCPreprocessor.cxx:64 AliZDCPreprocessor.cxx:65 AliZDCPreprocessor.cxx:66 AliZDCPreprocessor.cxx:67 AliZDCPreprocessor.cxx:68 AliZDCPreprocessor.cxx:69 AliZDCPreprocessor.cxx:70 AliZDCPreprocessor.cxx:71 AliZDCPreprocessor.cxx:72 AliZDCPreprocessor.cxx:73 AliZDCPreprocessor.cxx:74 AliZDCPreprocessor.cxx:75 AliZDCPreprocessor.cxx:76 AliZDCPreprocessor.cxx:77 AliZDCPreprocessor.cxx:78 AliZDCPreprocessor.cxx:79 AliZDCPreprocessor.cxx:80 AliZDCPreprocessor.cxx:81 AliZDCPreprocessor.cxx:82 AliZDCPreprocessor.cxx:83 AliZDCPreprocessor.cxx:84 AliZDCPreprocessor.cxx:85 AliZDCPreprocessor.cxx:86 AliZDCPreprocessor.cxx:87 AliZDCPreprocessor.cxx:88 AliZDCPreprocessor.cxx:89 AliZDCPreprocessor.cxx:90 AliZDCPreprocessor.cxx:91 AliZDCPreprocessor.cxx:92 AliZDCPreprocessor.cxx:93 AliZDCPreprocessor.cxx:94 AliZDCPreprocessor.cxx:95 AliZDCPreprocessor.cxx:96 AliZDCPreprocessor.cxx:97 AliZDCPreprocessor.cxx:98 AliZDCPreprocessor.cxx:99 AliZDCPreprocessor.cxx:100 AliZDCPreprocessor.cxx:101 AliZDCPreprocessor.cxx:102 AliZDCPreprocessor.cxx:103 AliZDCPreprocessor.cxx:104 AliZDCPreprocessor.cxx:105 AliZDCPreprocessor.cxx:106 AliZDCPreprocessor.cxx:107 AliZDCPreprocessor.cxx:108 AliZDCPreprocessor.cxx:109 AliZDCPreprocessor.cxx:110 AliZDCPreprocessor.cxx:111 AliZDCPreprocessor.cxx:112 AliZDCPreprocessor.cxx:113 AliZDCPreprocessor.cxx:114 AliZDCPreprocessor.cxx:115 AliZDCPreprocessor.cxx:116 AliZDCPreprocessor.cxx:117 AliZDCPreprocessor.cxx:118 AliZDCPreprocessor.cxx:119 AliZDCPreprocessor.cxx:120 AliZDCPreprocessor.cxx:121 AliZDCPreprocessor.cxx:122 AliZDCPreprocessor.cxx:123 AliZDCPreprocessor.cxx:124 AliZDCPreprocessor.cxx:125 AliZDCPreprocessor.cxx:126 AliZDCPreprocessor.cxx:127 AliZDCPreprocessor.cxx:128 AliZDCPreprocessor.cxx:129 AliZDCPreprocessor.cxx:130 AliZDCPreprocessor.cxx:131 AliZDCPreprocessor.cxx:132 AliZDCPreprocessor.cxx:133 AliZDCPreprocessor.cxx:134 AliZDCPreprocessor.cxx:135 AliZDCPreprocessor.cxx:136 AliZDCPreprocessor.cxx:137 AliZDCPreprocessor.cxx:138 AliZDCPreprocessor.cxx:139 AliZDCPreprocessor.cxx:140 AliZDCPreprocessor.cxx:141 AliZDCPreprocessor.cxx:142 AliZDCPreprocessor.cxx:143 AliZDCPreprocessor.cxx:144 AliZDCPreprocessor.cxx:145 AliZDCPreprocessor.cxx:146 AliZDCPreprocessor.cxx:147 AliZDCPreprocessor.cxx:148 AliZDCPreprocessor.cxx:149 AliZDCPreprocessor.cxx:150 AliZDCPreprocessor.cxx:151 AliZDCPreprocessor.cxx:152 AliZDCPreprocessor.cxx:153 AliZDCPreprocessor.cxx:154 AliZDCPreprocessor.cxx:155 AliZDCPreprocessor.cxx:156 AliZDCPreprocessor.cxx:157 AliZDCPreprocessor.cxx:158 AliZDCPreprocessor.cxx:159 AliZDCPreprocessor.cxx:160 AliZDCPreprocessor.cxx:161 AliZDCPreprocessor.cxx:162 AliZDCPreprocessor.cxx:163 AliZDCPreprocessor.cxx:164 AliZDCPreprocessor.cxx:165 AliZDCPreprocessor.cxx:166 AliZDCPreprocessor.cxx:167 AliZDCPreprocessor.cxx:168 AliZDCPreprocessor.cxx:169 AliZDCPreprocessor.cxx:170 AliZDCPreprocessor.cxx:171 AliZDCPreprocessor.cxx:172 AliZDCPreprocessor.cxx:173 AliZDCPreprocessor.cxx:174 AliZDCPreprocessor.cxx:175 AliZDCPreprocessor.cxx:176 AliZDCPreprocessor.cxx:177 AliZDCPreprocessor.cxx:178 AliZDCPreprocessor.cxx:179 AliZDCPreprocessor.cxx:180 AliZDCPreprocessor.cxx:181 AliZDCPreprocessor.cxx:182 AliZDCPreprocessor.cxx:183 AliZDCPreprocessor.cxx:184 AliZDCPreprocessor.cxx:185 AliZDCPreprocessor.cxx:186 AliZDCPreprocessor.cxx:187 AliZDCPreprocessor.cxx:188 AliZDCPreprocessor.cxx:189 AliZDCPreprocessor.cxx:190 AliZDCPreprocessor.cxx:191 AliZDCPreprocessor.cxx:192 AliZDCPreprocessor.cxx:193 AliZDCPreprocessor.cxx:194 AliZDCPreprocessor.cxx:195 AliZDCPreprocessor.cxx:196 AliZDCPreprocessor.cxx:197 AliZDCPreprocessor.cxx:198 AliZDCPreprocessor.cxx:199 AliZDCPreprocessor.cxx:200 AliZDCPreprocessor.cxx:201 AliZDCPreprocessor.cxx:202 AliZDCPreprocessor.cxx:203 AliZDCPreprocessor.cxx:204 AliZDCPreprocessor.cxx:205 AliZDCPreprocessor.cxx:206 AliZDCPreprocessor.cxx:207 AliZDCPreprocessor.cxx:208 AliZDCPreprocessor.cxx:209 AliZDCPreprocessor.cxx:210 AliZDCPreprocessor.cxx:211 AliZDCPreprocessor.cxx:212 AliZDCPreprocessor.cxx:213 AliZDCPreprocessor.cxx:214 AliZDCPreprocessor.cxx:215 AliZDCPreprocessor.cxx:216 AliZDCPreprocessor.cxx:217 AliZDCPreprocessor.cxx:218 AliZDCPreprocessor.cxx:219 AliZDCPreprocessor.cxx:220 AliZDCPreprocessor.cxx:221 AliZDCPreprocessor.cxx:222 AliZDCPreprocessor.cxx:223 AliZDCPreprocessor.cxx:224 AliZDCPreprocessor.cxx:225 AliZDCPreprocessor.cxx:226 AliZDCPreprocessor.cxx:227 AliZDCPreprocessor.cxx:228 AliZDCPreprocessor.cxx:229 AliZDCPreprocessor.cxx:230 AliZDCPreprocessor.cxx:231 AliZDCPreprocessor.cxx:232 AliZDCPreprocessor.cxx:233 AliZDCPreprocessor.cxx:234 AliZDCPreprocessor.cxx:235 AliZDCPreprocessor.cxx:236 AliZDCPreprocessor.cxx:237 AliZDCPreprocessor.cxx:238 AliZDCPreprocessor.cxx:239 AliZDCPreprocessor.cxx:240 AliZDCPreprocessor.cxx:241 AliZDCPreprocessor.cxx:242 AliZDCPreprocessor.cxx:243 AliZDCPreprocessor.cxx:244 AliZDCPreprocessor.cxx:245 AliZDCPreprocessor.cxx:246 AliZDCPreprocessor.cxx:247 AliZDCPreprocessor.cxx:248 AliZDCPreprocessor.cxx:249 AliZDCPreprocessor.cxx:250 AliZDCPreprocessor.cxx:251 AliZDCPreprocessor.cxx:252 AliZDCPreprocessor.cxx:253 AliZDCPreprocessor.cxx:254 AliZDCPreprocessor.cxx:255 AliZDCPreprocessor.cxx:256 AliZDCPreprocessor.cxx:257 AliZDCPreprocessor.cxx:258 AliZDCPreprocessor.cxx:259 AliZDCPreprocessor.cxx:260 AliZDCPreprocessor.cxx:261 AliZDCPreprocessor.cxx:262 AliZDCPreprocessor.cxx:263 AliZDCPreprocessor.cxx:264 AliZDCPreprocessor.cxx:265 AliZDCPreprocessor.cxx:266 AliZDCPreprocessor.cxx:267 AliZDCPreprocessor.cxx:268 AliZDCPreprocessor.cxx:269 AliZDCPreprocessor.cxx:270 AliZDCPreprocessor.cxx:271 AliZDCPreprocessor.cxx:272 AliZDCPreprocessor.cxx:273 AliZDCPreprocessor.cxx:274 AliZDCPreprocessor.cxx:275 AliZDCPreprocessor.cxx:276 AliZDCPreprocessor.cxx:277 AliZDCPreprocessor.cxx:278 AliZDCPreprocessor.cxx:279 AliZDCPreprocessor.cxx:280 AliZDCPreprocessor.cxx:281 AliZDCPreprocessor.cxx:282 AliZDCPreprocessor.cxx:283 AliZDCPreprocessor.cxx:284 AliZDCPreprocessor.cxx:285 AliZDCPreprocessor.cxx:286 AliZDCPreprocessor.cxx:287 AliZDCPreprocessor.cxx:288 AliZDCPreprocessor.cxx:289 AliZDCPreprocessor.cxx:290 AliZDCPreprocessor.cxx:291 AliZDCPreprocessor.cxx:292 AliZDCPreprocessor.cxx:293 AliZDCPreprocessor.cxx:294 AliZDCPreprocessor.cxx:295 AliZDCPreprocessor.cxx:296 AliZDCPreprocessor.cxx:297 AliZDCPreprocessor.cxx:298 AliZDCPreprocessor.cxx:299 AliZDCPreprocessor.cxx:300 AliZDCPreprocessor.cxx:301 AliZDCPreprocessor.cxx:302 AliZDCPreprocessor.cxx:303 AliZDCPreprocessor.cxx:304 AliZDCPreprocessor.cxx:305 AliZDCPreprocessor.cxx:306 AliZDCPreprocessor.cxx:307 AliZDCPreprocessor.cxx:308 AliZDCPreprocessor.cxx:309 AliZDCPreprocessor.cxx:310 AliZDCPreprocessor.cxx:311 AliZDCPreprocessor.cxx:312 AliZDCPreprocessor.cxx:313 AliZDCPreprocessor.cxx:314 AliZDCPreprocessor.cxx:315 AliZDCPreprocessor.cxx:316 AliZDCPreprocessor.cxx:317 AliZDCPreprocessor.cxx:318 AliZDCPreprocessor.cxx:319 AliZDCPreprocessor.cxx:320 AliZDCPreprocessor.cxx:321 AliZDCPreprocessor.cxx:322 AliZDCPreprocessor.cxx:323 AliZDCPreprocessor.cxx:324 AliZDCPreprocessor.cxx:325 AliZDCPreprocessor.cxx:326 AliZDCPreprocessor.cxx:327 AliZDCPreprocessor.cxx:328 AliZDCPreprocessor.cxx:329 AliZDCPreprocessor.cxx:330 AliZDCPreprocessor.cxx:331 AliZDCPreprocessor.cxx:332 AliZDCPreprocessor.cxx:333 AliZDCPreprocessor.cxx:334 AliZDCPreprocessor.cxx:335 AliZDCPreprocessor.cxx:336 AliZDCPreprocessor.cxx:337 AliZDCPreprocessor.cxx:338 AliZDCPreprocessor.cxx:339 AliZDCPreprocessor.cxx:340 AliZDCPreprocessor.cxx:341 AliZDCPreprocessor.cxx:342 AliZDCPreprocessor.cxx:343 AliZDCPreprocessor.cxx:344 AliZDCPreprocessor.cxx:345 AliZDCPreprocessor.cxx:346 AliZDCPreprocessor.cxx:347 AliZDCPreprocessor.cxx:348 AliZDCPreprocessor.cxx:349 AliZDCPreprocessor.cxx:350 AliZDCPreprocessor.cxx:351 AliZDCPreprocessor.cxx:352 AliZDCPreprocessor.cxx:353 AliZDCPreprocessor.cxx:354 AliZDCPreprocessor.cxx:355 AliZDCPreprocessor.cxx:356 AliZDCPreprocessor.cxx:357 AliZDCPreprocessor.cxx:358 AliZDCPreprocessor.cxx:359 AliZDCPreprocessor.cxx:360 AliZDCPreprocessor.cxx:361 AliZDCPreprocessor.cxx:362 AliZDCPreprocessor.cxx:363 AliZDCPreprocessor.cxx:364 AliZDCPreprocessor.cxx:365 AliZDCPreprocessor.cxx:366 AliZDCPreprocessor.cxx:367 AliZDCPreprocessor.cxx:368 AliZDCPreprocessor.cxx:369 AliZDCPreprocessor.cxx:370 AliZDCPreprocessor.cxx:371 AliZDCPreprocessor.cxx:372 AliZDCPreprocessor.cxx:373 AliZDCPreprocessor.cxx:374 AliZDCPreprocessor.cxx:375 AliZDCPreprocessor.cxx:376 AliZDCPreprocessor.cxx:377 AliZDCPreprocessor.cxx:378 AliZDCPreprocessor.cxx:379 AliZDCPreprocessor.cxx:380 AliZDCPreprocessor.cxx:381 AliZDCPreprocessor.cxx:382 AliZDCPreprocessor.cxx:383 AliZDCPreprocessor.cxx:384 AliZDCPreprocessor.cxx:385 AliZDCPreprocessor.cxx:386 AliZDCPreprocessor.cxx:387 AliZDCPreprocessor.cxx:388 AliZDCPreprocessor.cxx:389 AliZDCPreprocessor.cxx:390 AliZDCPreprocessor.cxx:391 AliZDCPreprocessor.cxx:392 AliZDCPreprocessor.cxx:393 AliZDCPreprocessor.cxx:394 AliZDCPreprocessor.cxx:395 AliZDCPreprocessor.cxx:396 AliZDCPreprocessor.cxx:397 AliZDCPreprocessor.cxx:398 AliZDCPreprocessor.cxx:399 AliZDCPreprocessor.cxx:400 AliZDCPreprocessor.cxx:401 AliZDCPreprocessor.cxx:402 AliZDCPreprocessor.cxx:403 AliZDCPreprocessor.cxx:404 AliZDCPreprocessor.cxx:405 AliZDCPreprocessor.cxx:406 AliZDCPreprocessor.cxx:407 AliZDCPreprocessor.cxx:408 AliZDCPreprocessor.cxx:409 AliZDCPreprocessor.cxx:410 AliZDCPreprocessor.cxx:411 AliZDCPreprocessor.cxx:412 AliZDCPreprocessor.cxx:413 AliZDCPreprocessor.cxx:414 AliZDCPreprocessor.cxx:415 AliZDCPreprocessor.cxx:416 AliZDCPreprocessor.cxx:417 AliZDCPreprocessor.cxx:418 AliZDCPreprocessor.cxx:419 AliZDCPreprocessor.cxx:420 AliZDCPreprocessor.cxx:421 AliZDCPreprocessor.cxx:422 AliZDCPreprocessor.cxx:423 AliZDCPreprocessor.cxx:424 AliZDCPreprocessor.cxx:425 AliZDCPreprocessor.cxx:426 AliZDCPreprocessor.cxx:427 AliZDCPreprocessor.cxx:428 AliZDCPreprocessor.cxx:429 AliZDCPreprocessor.cxx:430 AliZDCPreprocessor.cxx:431 AliZDCPreprocessor.cxx:432 AliZDCPreprocessor.cxx:433 AliZDCPreprocessor.cxx:434 AliZDCPreprocessor.cxx:435 AliZDCPreprocessor.cxx:436 AliZDCPreprocessor.cxx:437 AliZDCPreprocessor.cxx:438 AliZDCPreprocessor.cxx:439 AliZDCPreprocessor.cxx:440 AliZDCPreprocessor.cxx:441 AliZDCPreprocessor.cxx:442 AliZDCPreprocessor.cxx:443 AliZDCPreprocessor.cxx:444 AliZDCPreprocessor.cxx:445 AliZDCPreprocessor.cxx:446 AliZDCPreprocessor.cxx:447 AliZDCPreprocessor.cxx:448 AliZDCPreprocessor.cxx:449 AliZDCPreprocessor.cxx:450 AliZDCPreprocessor.cxx:451 AliZDCPreprocessor.cxx:452 AliZDCPreprocessor.cxx:453 AliZDCPreprocessor.cxx:454 AliZDCPreprocessor.cxx:455 AliZDCPreprocessor.cxx:456 AliZDCPreprocessor.cxx:457 AliZDCPreprocessor.cxx:458 AliZDCPreprocessor.cxx:459 AliZDCPreprocessor.cxx:460 AliZDCPreprocessor.cxx:461 AliZDCPreprocessor.cxx:462 AliZDCPreprocessor.cxx:463 AliZDCPreprocessor.cxx:464 AliZDCPreprocessor.cxx:465 AliZDCPreprocessor.cxx:466 AliZDCPreprocessor.cxx:467 AliZDCPreprocessor.cxx:468 AliZDCPreprocessor.cxx:469 AliZDCPreprocessor.cxx:470 AliZDCPreprocessor.cxx:471 AliZDCPreprocessor.cxx:472 AliZDCPreprocessor.cxx:473 AliZDCPreprocessor.cxx:474 AliZDCPreprocessor.cxx:475 AliZDCPreprocessor.cxx:476 AliZDCPreprocessor.cxx:477 AliZDCPreprocessor.cxx:478 AliZDCPreprocessor.cxx:479 AliZDCPreprocessor.cxx:480 AliZDCPreprocessor.cxx:481 AliZDCPreprocessor.cxx:482 AliZDCPreprocessor.cxx:483 AliZDCPreprocessor.cxx:484 AliZDCPreprocessor.cxx:485 AliZDCPreprocessor.cxx:486 AliZDCPreprocessor.cxx:487 AliZDCPreprocessor.cxx:488 AliZDCPreprocessor.cxx:489 AliZDCPreprocessor.cxx:490 AliZDCPreprocessor.cxx:491 AliZDCPreprocessor.cxx:492 AliZDCPreprocessor.cxx:493 AliZDCPreprocessor.cxx:494 AliZDCPreprocessor.cxx:495 AliZDCPreprocessor.cxx:496 AliZDCPreprocessor.cxx:497 AliZDCPreprocessor.cxx:498 AliZDCPreprocessor.cxx:499 AliZDCPreprocessor.cxx:500 AliZDCPreprocessor.cxx:501 AliZDCPreprocessor.cxx:502 AliZDCPreprocessor.cxx:503 AliZDCPreprocessor.cxx:504 AliZDCPreprocessor.cxx:505 AliZDCPreprocessor.cxx:506 AliZDCPreprocessor.cxx:507 AliZDCPreprocessor.cxx:508 AliZDCPreprocessor.cxx:509 AliZDCPreprocessor.cxx:510 AliZDCPreprocessor.cxx:511 AliZDCPreprocessor.cxx:512 AliZDCPreprocessor.cxx:513 AliZDCPreprocessor.cxx:514 AliZDCPreprocessor.cxx:515 AliZDCPreprocessor.cxx:516 AliZDCPreprocessor.cxx:517 AliZDCPreprocessor.cxx:518 AliZDCPreprocessor.cxx:519 AliZDCPreprocessor.cxx:520 AliZDCPreprocessor.cxx:521 AliZDCPreprocessor.cxx:522 AliZDCPreprocessor.cxx:523 AliZDCPreprocessor.cxx:524 AliZDCPreprocessor.cxx:525 AliZDCPreprocessor.cxx:526 AliZDCPreprocessor.cxx:527 AliZDCPreprocessor.cxx:528 AliZDCPreprocessor.cxx:529 AliZDCPreprocessor.cxx:530 AliZDCPreprocessor.cxx:531 AliZDCPreprocessor.cxx:532 AliZDCPreprocessor.cxx:533 AliZDCPreprocessor.cxx:534 AliZDCPreprocessor.cxx:535 AliZDCPreprocessor.cxx:536 AliZDCPreprocessor.cxx:537 AliZDCPreprocessor.cxx:538 AliZDCPreprocessor.cxx:539 AliZDCPreprocessor.cxx:540 AliZDCPreprocessor.cxx:541 AliZDCPreprocessor.cxx:542 AliZDCPreprocessor.cxx:543 AliZDCPreprocessor.cxx:544 AliZDCPreprocessor.cxx:545 AliZDCPreprocessor.cxx:546 AliZDCPreprocessor.cxx:547 AliZDCPreprocessor.cxx:548 AliZDCPreprocessor.cxx:549 AliZDCPreprocessor.cxx:550 AliZDCPreprocessor.cxx:551 AliZDCPreprocessor.cxx:552 AliZDCPreprocessor.cxx:553 AliZDCPreprocessor.cxx:554 AliZDCPreprocessor.cxx:555 AliZDCPreprocessor.cxx:556 AliZDCPreprocessor.cxx:557 AliZDCPreprocessor.cxx:558 AliZDCPreprocessor.cxx:559 AliZDCPreprocessor.cxx:560 AliZDCPreprocessor.cxx:561 AliZDCPreprocessor.cxx:562 AliZDCPreprocessor.cxx:563 AliZDCPreprocessor.cxx:564 AliZDCPreprocessor.cxx:565 AliZDCPreprocessor.cxx:566 AliZDCPreprocessor.cxx:567 AliZDCPreprocessor.cxx:568 AliZDCPreprocessor.cxx:569 AliZDCPreprocessor.cxx:570 AliZDCPreprocessor.cxx:571 AliZDCPreprocessor.cxx:572 AliZDCPreprocessor.cxx:573 AliZDCPreprocessor.cxx:574 AliZDCPreprocessor.cxx:575 AliZDCPreprocessor.cxx:576 AliZDCPreprocessor.cxx:577 AliZDCPreprocessor.cxx:578 AliZDCPreprocessor.cxx:579 AliZDCPreprocessor.cxx:580 AliZDCPreprocessor.cxx:581 AliZDCPreprocessor.cxx:582 AliZDCPreprocessor.cxx:583 AliZDCPreprocessor.cxx:584 AliZDCPreprocessor.cxx:585 AliZDCPreprocessor.cxx:586 AliZDCPreprocessor.cxx:587 AliZDCPreprocessor.cxx:588 AliZDCPreprocessor.cxx:589 AliZDCPreprocessor.cxx:590 AliZDCPreprocessor.cxx:591 AliZDCPreprocessor.cxx:592 AliZDCPreprocessor.cxx:593 AliZDCPreprocessor.cxx:594 AliZDCPreprocessor.cxx:595 AliZDCPreprocessor.cxx:596 AliZDCPreprocessor.cxx:597 AliZDCPreprocessor.cxx:598 AliZDCPreprocessor.cxx:599 AliZDCPreprocessor.cxx:600 AliZDCPreprocessor.cxx:601 AliZDCPreprocessor.cxx:602 AliZDCPreprocessor.cxx:603 AliZDCPreprocessor.cxx:604 AliZDCPreprocessor.cxx:605 AliZDCPreprocessor.cxx:606 AliZDCPreprocessor.cxx:607 AliZDCPreprocessor.cxx:608 AliZDCPreprocessor.cxx:609 AliZDCPreprocessor.cxx:610 AliZDCPreprocessor.cxx:611 AliZDCPreprocessor.cxx:612 AliZDCPreprocessor.cxx:613 AliZDCPreprocessor.cxx:614 AliZDCPreprocessor.cxx:615 AliZDCPreprocessor.cxx:616 AliZDCPreprocessor.cxx:617 AliZDCPreprocessor.cxx:618 AliZDCPreprocessor.cxx:619 AliZDCPreprocessor.cxx:620 AliZDCPreprocessor.cxx:621 AliZDCPreprocessor.cxx:622 AliZDCPreprocessor.cxx:623 AliZDCPreprocessor.cxx:624 AliZDCPreprocessor.cxx:625 AliZDCPreprocessor.cxx:626 AliZDCPreprocessor.cxx:627 AliZDCPreprocessor.cxx:628 AliZDCPreprocessor.cxx:629 AliZDCPreprocessor.cxx:630 AliZDCPreprocessor.cxx:631 AliZDCPreprocessor.cxx:632 AliZDCPreprocessor.cxx:633 AliZDCPreprocessor.cxx:634 AliZDCPreprocessor.cxx:635 AliZDCPreprocessor.cxx:636 AliZDCPreprocessor.cxx:637 AliZDCPreprocessor.cxx:638 AliZDCPreprocessor.cxx:639 AliZDCPreprocessor.cxx:640 AliZDCPreprocessor.cxx:641 AliZDCPreprocessor.cxx:642 AliZDCPreprocessor.cxx:643 AliZDCPreprocessor.cxx:644 AliZDCPreprocessor.cxx:645 AliZDCPreprocessor.cxx:646 AliZDCPreprocessor.cxx:647 AliZDCPreprocessor.cxx:648 AliZDCPreprocessor.cxx:649 AliZDCPreprocessor.cxx:650 AliZDCPreprocessor.cxx:651 AliZDCPreprocessor.cxx:652 AliZDCPreprocessor.cxx:653 AliZDCPreprocessor.cxx:654 AliZDCPreprocessor.cxx:655 AliZDCPreprocessor.cxx:656 AliZDCPreprocessor.cxx:657 AliZDCPreprocessor.cxx:658 AliZDCPreprocessor.cxx:659 AliZDCPreprocessor.cxx:660 AliZDCPreprocessor.cxx:661 AliZDCPreprocessor.cxx:662 AliZDCPreprocessor.cxx:663 AliZDCPreprocessor.cxx:664 AliZDCPreprocessor.cxx:665 AliZDCPreprocessor.cxx:666 AliZDCPreprocessor.cxx:667 AliZDCPreprocessor.cxx:668 AliZDCPreprocessor.cxx:669 AliZDCPreprocessor.cxx:670 AliZDCPreprocessor.cxx:671 AliZDCPreprocessor.cxx:672 AliZDCPreprocessor.cxx:673 AliZDCPreprocessor.cxx:674 AliZDCPreprocessor.cxx:675 AliZDCPreprocessor.cxx:676 AliZDCPreprocessor.cxx:677 AliZDCPreprocessor.cxx:678 AliZDCPreprocessor.cxx:679 AliZDCPreprocessor.cxx:680 AliZDCPreprocessor.cxx:681 AliZDCPreprocessor.cxx:682 AliZDCPreprocessor.cxx:683 AliZDCPreprocessor.cxx:684 AliZDCPreprocessor.cxx:685 AliZDCPreprocessor.cxx:686 AliZDCPreprocessor.cxx:687 AliZDCPreprocessor.cxx:688 AliZDCPreprocessor.cxx:689 AliZDCPreprocessor.cxx:690 AliZDCPreprocessor.cxx:691 AliZDCPreprocessor.cxx:692 AliZDCPreprocessor.cxx:693 AliZDCPreprocessor.cxx:694 AliZDCPreprocessor.cxx:695 AliZDCPreprocessor.cxx:696 AliZDCPreprocessor.cxx:697 AliZDCPreprocessor.cxx:698 AliZDCPreprocessor.cxx:699 AliZDCPreprocessor.cxx:700 AliZDCPreprocessor.cxx:701 AliZDCPreprocessor.cxx:702 AliZDCPreprocessor.cxx:703 AliZDCPreprocessor.cxx:704 AliZDCPreprocessor.cxx:705 AliZDCPreprocessor.cxx:706 AliZDCPreprocessor.cxx:707 AliZDCPreprocessor.cxx:708 AliZDCPreprocessor.cxx:709 AliZDCPreprocessor.cxx:710 AliZDCPreprocessor.cxx:711 AliZDCPreprocessor.cxx:712 AliZDCPreprocessor.cxx:713 AliZDCPreprocessor.cxx:714 AliZDCPreprocessor.cxx:715 AliZDCPreprocessor.cxx:716 AliZDCPreprocessor.cxx:717 AliZDCPreprocessor.cxx:718 AliZDCPreprocessor.cxx:719 AliZDCPreprocessor.cxx:720 AliZDCPreprocessor.cxx:721 AliZDCPreprocessor.cxx:722 AliZDCPreprocessor.cxx:723 AliZDCPreprocessor.cxx:724 AliZDCPreprocessor.cxx:725 AliZDCPreprocessor.cxx:726 AliZDCPreprocessor.cxx:727 AliZDCPreprocessor.cxx:728 AliZDCPreprocessor.cxx:729 AliZDCPreprocessor.cxx:730 AliZDCPreprocessor.cxx:731 AliZDCPreprocessor.cxx:732 AliZDCPreprocessor.cxx:733 AliZDCPreprocessor.cxx:734 AliZDCPreprocessor.cxx:735 AliZDCPreprocessor.cxx:736 AliZDCPreprocessor.cxx:737 AliZDCPreprocessor.cxx:738 AliZDCPreprocessor.cxx:739 AliZDCPreprocessor.cxx:740 AliZDCPreprocessor.cxx:741 AliZDCPreprocessor.cxx:742 AliZDCPreprocessor.cxx:743 AliZDCPreprocessor.cxx:744 AliZDCPreprocessor.cxx:745 AliZDCPreprocessor.cxx:746 AliZDCPreprocessor.cxx:747 AliZDCPreprocessor.cxx:748 AliZDCPreprocessor.cxx:749 AliZDCPreprocessor.cxx:750 AliZDCPreprocessor.cxx:751 AliZDCPreprocessor.cxx:752 AliZDCPreprocessor.cxx:753 AliZDCPreprocessor.cxx:754 AliZDCPreprocessor.cxx:755 AliZDCPreprocessor.cxx:756 AliZDCPreprocessor.cxx:757 AliZDCPreprocessor.cxx:758 AliZDCPreprocessor.cxx:759 AliZDCPreprocessor.cxx:760 AliZDCPreprocessor.cxx:761 AliZDCPreprocessor.cxx:762 AliZDCPreprocessor.cxx:763 AliZDCPreprocessor.cxx:764 AliZDCPreprocessor.cxx:765 AliZDCPreprocessor.cxx:766 AliZDCPreprocessor.cxx:767 AliZDCPreprocessor.cxx:768 AliZDCPreprocessor.cxx:769 AliZDCPreprocessor.cxx:770 AliZDCPreprocessor.cxx:771 AliZDCPreprocessor.cxx:772 AliZDCPreprocessor.cxx:773 AliZDCPreprocessor.cxx:774 AliZDCPreprocessor.cxx:775 AliZDCPreprocessor.cxx:776 AliZDCPreprocessor.cxx:777 AliZDCPreprocessor.cxx:778 AliZDCPreprocessor.cxx:779 AliZDCPreprocessor.cxx:780 AliZDCPreprocessor.cxx:781 AliZDCPreprocessor.cxx:782 AliZDCPreprocessor.cxx:783 AliZDCPreprocessor.cxx:784 AliZDCPreprocessor.cxx:785 AliZDCPreprocessor.cxx:786 AliZDCPreprocessor.cxx:787 AliZDCPreprocessor.cxx:788 AliZDCPreprocessor.cxx:789 AliZDCPreprocessor.cxx:790 AliZDCPreprocessor.cxx:791 AliZDCPreprocessor.cxx:792 AliZDCPreprocessor.cxx:793 AliZDCPreprocessor.cxx:794 AliZDCPreprocessor.cxx:795 AliZDCPreprocessor.cxx:796 AliZDCPreprocessor.cxx:797 AliZDCPreprocessor.cxx:798 AliZDCPreprocessor.cxx:799 AliZDCPreprocessor.cxx:800 AliZDCPreprocessor.cxx:801 AliZDCPreprocessor.cxx:802 AliZDCPreprocessor.cxx:803 AliZDCPreprocessor.cxx:804 AliZDCPreprocessor.cxx:805 AliZDCPreprocessor.cxx:806 AliZDCPreprocessor.cxx:807 AliZDCPreprocessor.cxx:808 AliZDCPreprocessor.cxx:809 AliZDCPreprocessor.cxx:810 AliZDCPreprocessor.cxx:811 AliZDCPreprocessor.cxx:812 AliZDCPreprocessor.cxx:813 AliZDCPreprocessor.cxx:814 AliZDCPreprocessor.cxx:815 AliZDCPreprocessor.cxx:816 AliZDCPreprocessor.cxx:817 AliZDCPreprocessor.cxx:818 AliZDCPreprocessor.cxx:819 AliZDCPreprocessor.cxx:820 AliZDCPreprocessor.cxx:821 AliZDCPreprocessor.cxx:822 AliZDCPreprocessor.cxx:823 AliZDCPreprocessor.cxx:824 AliZDCPreprocessor.cxx:825 AliZDCPreprocessor.cxx:826 AliZDCPreprocessor.cxx:827 AliZDCPreprocessor.cxx:828 AliZDCPreprocessor.cxx:829 AliZDCPreprocessor.cxx:830 AliZDCPreprocessor.cxx:831 AliZDCPreprocessor.cxx:832 AliZDCPreprocessor.cxx:833 AliZDCPreprocessor.cxx:834 AliZDCPreprocessor.cxx:835 AliZDCPreprocessor.cxx:836 AliZDCPreprocessor.cxx:837 AliZDCPreprocessor.cxx:838 AliZDCPreprocessor.cxx:839 AliZDCPreprocessor.cxx:840 AliZDCPreprocessor.cxx:841 AliZDCPreprocessor.cxx:842 AliZDCPreprocessor.cxx:843 AliZDCPreprocessor.cxx:844 AliZDCPreprocessor.cxx:845 AliZDCPreprocessor.cxx:846 AliZDCPreprocessor.cxx:847 AliZDCPreprocessor.cxx:848 AliZDCPreprocessor.cxx:849 AliZDCPreprocessor.cxx:850 AliZDCPreprocessor.cxx:851 AliZDCPreprocessor.cxx:852 AliZDCPreprocessor.cxx:853 AliZDCPreprocessor.cxx:854 AliZDCPreprocessor.cxx:855 AliZDCPreprocessor.cxx:856 AliZDCPreprocessor.cxx:857 AliZDCPreprocessor.cxx:858 AliZDCPreprocessor.cxx:859 AliZDCPreprocessor.cxx:860 AliZDCPreprocessor.cxx:861 AliZDCPreprocessor.cxx:862 AliZDCPreprocessor.cxx:863 AliZDCPreprocessor.cxx:864 AliZDCPreprocessor.cxx:865 AliZDCPreprocessor.cxx:866 AliZDCPreprocessor.cxx:867 AliZDCPreprocessor.cxx:868 AliZDCPreprocessor.cxx:869 AliZDCPreprocessor.cxx:870 AliZDCPreprocessor.cxx:871 AliZDCPreprocessor.cxx:872 AliZDCPreprocessor.cxx:873 AliZDCPreprocessor.cxx:874 AliZDCPreprocessor.cxx:875 AliZDCPreprocessor.cxx:876 AliZDCPreprocessor.cxx:877 AliZDCPreprocessor.cxx:878 AliZDCPreprocessor.cxx:879 AliZDCPreprocessor.cxx:880 AliZDCPreprocessor.cxx:881 AliZDCPreprocessor.cxx:882 AliZDCPreprocessor.cxx:883 AliZDCPreprocessor.cxx:884 AliZDCPreprocessor.cxx:885 AliZDCPreprocessor.cxx:886 AliZDCPreprocessor.cxx:887 AliZDCPreprocessor.cxx:888 AliZDCPreprocessor.cxx:889 AliZDCPreprocessor.cxx:890 AliZDCPreprocessor.cxx:891 AliZDCPreprocessor.cxx:892 AliZDCPreprocessor.cxx:893 AliZDCPreprocessor.cxx:894 AliZDCPreprocessor.cxx:895 AliZDCPreprocessor.cxx:896 AliZDCPreprocessor.cxx:897 AliZDCPreprocessor.cxx:898 AliZDCPreprocessor.cxx:899 AliZDCPreprocessor.cxx:900 AliZDCPreprocessor.cxx:901 AliZDCPreprocessor.cxx:902 AliZDCPreprocessor.cxx:903 AliZDCPreprocessor.cxx:904 AliZDCPreprocessor.cxx:905 AliZDCPreprocessor.cxx:906 AliZDCPreprocessor.cxx:907 AliZDCPreprocessor.cxx:908 AliZDCPreprocessor.cxx:909 AliZDCPreprocessor.cxx:910 AliZDCPreprocessor.cxx:911 AliZDCPreprocessor.cxx:912 AliZDCPreprocessor.cxx:913 AliZDCPreprocessor.cxx:914 AliZDCPreprocessor.cxx:915 AliZDCPreprocessor.cxx:916 AliZDCPreprocessor.cxx:917 AliZDCPreprocessor.cxx:918 AliZDCPreprocessor.cxx:919 AliZDCPreprocessor.cxx:920 AliZDCPreprocessor.cxx:921 AliZDCPreprocessor.cxx:922 AliZDCPreprocessor.cxx:923 AliZDCPreprocessor.cxx:924 AliZDCPreprocessor.cxx:925 AliZDCPreprocessor.cxx:926 AliZDCPreprocessor.cxx:927 AliZDCPreprocessor.cxx:928 AliZDCPreprocessor.cxx:929 AliZDCPreprocessor.cxx:930 AliZDCPreprocessor.cxx:931 AliZDCPreprocessor.cxx:932 AliZDCPreprocessor.cxx:933 AliZDCPreprocessor.cxx:934 AliZDCPreprocessor.cxx:935 AliZDCPreprocessor.cxx:936 AliZDCPreprocessor.cxx:937