#include "AliITSDDLModuleMapSDD.h"
#include "AliITSPreprocessorSDD.h"
#include "AliITSCalibrationSDD.h"
#include "AliITSDriftSpeedSDD.h"
#include "AliITSDriftSpeedArraySDD.h"
#include "AliITSDCSAnalyzerSDD.h"
#include "AliShuttleInterface.h"
#include "AliCDBEntry.h"
#include "AliCDBMetaData.h"
#include "TObjArray.h"
#include "AliLog.h"
#include <TObjString.h>
#include <TSystem.h>
#include <TList.h>
#include <TF1.h>
#include <TH1D.h>
const TString AliITSPreprocessorSDD::fgkNameHistoPedestals = "hpedestal";
const TString AliITSPreprocessorSDD::fgkNameHistoNoise = "hnoise";
ClassImp(AliITSPreprocessorSDD)
AliITSPreprocessorSDD::AliITSPreprocessorSDD( AliShuttleInterface* shuttle):
AliPreprocessor("SDD", shuttle)
{
AddRunType("PULSER");
AddRunType("INJECTOR");
AddRunType("PHYSICS");
}
UInt_t AliITSPreprocessorSDD::Process(TMap* dcsAliasMap){
AliCDBEntry* entry = GetFromOCDB("Calib", "DDLMapSDD");
if(!entry){
Log("DDL map file not found in OCDB.");
return 2;
}
AliITSDDLModuleMapSDD* ddlmap = (AliITSDDLModuleMapSDD*)entry->GetObject();
if(!ddlmap){
Log("AliITSDDLModuleMapSDD object not in file.");
return 2;
}
ddlmap->PrintDDLMap();
TString runType = GetRunType();
Int_t retcode=0;
if (runType == "PULSER"){
Log("Process FXS files from PULSER RUN");
retcode=ProcessPulser(ddlmap);
}else if(runType== "INJECTOR"){
Log("Process FXS files from INJECTOR RUN");
retcode=ProcessInjector(ddlmap);
}
if(retcode!=0) return retcode;
Log("Process DCS data");
Bool_t retcodedcs =ProcessDCSDataPoints(dcsAliasMap);
if(retcodedcs) return 0;
else return 1;
}
UInt_t AliITSPreprocessorSDD::ProcessPulser(AliITSDDLModuleMapSDD* ddlmap){
TObjArray calSDD(kNumberOfSDD);
calSDD.SetOwner(kFALSE);
Float_t baseline,rawnoise,cmn,corn,gain;
Int_t isgoodan,i,im,is,isgoodmod,basmin,basoff;
Int_t th,tl;
Int_t numOfBadChannels[kNumberOfSDD];
TList* sourceList = GetFileSources(kDAQ, "SDD_Calib");
if (!sourceList){
Log("Error: no sources found for SDD_Calib");
return 2;
}
Int_t ind = 0;
while (sourceList->At(ind)!=NULL) {
TObjString* tarId = (TObjString*) sourceList->At(ind);
TString tarName = GetFile(kDAQ, "SDD_Calib", tarId->GetString().Data());
if(tarName.Length()==0){
Log(Form("Baseline tar file from source %d not found.",ind));
return 2;
}
TString command;
command.Form("tar -xf %s",tarName.Data());
gSystem->Exec(command);
ind++;
}
delete sourceList;
Int_t amSamplFreq=40;
Int_t retfscf;
FILE* feefil=fopen("fee.conf","r");
if(feefil){
retfscf=fscanf(feefil,"%d \n",&amSamplFreq);
fclose(feefil);
if(retfscf<0){
Log("Error reading from fee.conf. AM sampling set at 40 MHz by default");
}else{
Log(Form("AM sampling frequency = %d MHz",amSamplFreq));
}
}else{
Log("File fee.conf not found. AM sampling set at 40 MHz by default");
}
for(Int_t iddl=0;iddl<kNumberOfDDL;iddl++){
for(Int_t imod=0;imod<kModulesPerDDL;imod++){
Int_t modID=ddlmap->GetModuleNumber(iddl,imod);
if(modID==-1) continue;
modID-=240;
AliITSCalibrationSDD *cal = new AliITSCalibrationSDD("simulated");
if(amSamplFreq!=40) cal->SetAMAt20MHz();
numOfBadChannels[modID]=0;
Int_t badch[kNumberOfChannels];
Bool_t sid0ok=kTRUE;
Bool_t sid1ok=kTRUE;
for(Int_t isid=0;isid<=1;isid++){
TString inpFileName;
inpFileName.Form("./SDDbase_ddl%02dc%02d_sid%d.data",iddl,imod,isid);
FILE* basFil = fopen(inpFileName,"read");
if (basFil == 0) {
Log(Form("File %s not found.",inpFileName.Data()));
if(isid==0){
sid0ok=kFALSE;
for(Int_t iChip=0; iChip<4; iChip++) cal->SetChipBad(iChip);
cal->SetDeadChannels(cal->GetDeadChannels()+256);
for(Int_t iAnode=0; iAnode<256; iAnode++) cal->SetBadChannel(iAnode,iAnode);
}else{
sid1ok=kFALSE;
for(Int_t iChip=4; iChip<8; iChip++) cal->SetChipBad(iChip);
cal->SetDeadChannels(cal->GetDeadChannels()+256);
for(Int_t iAnode=0; iAnode<256; iAnode++) cal->SetBadChannel(iAnode,iAnode+256);
}
continue;
}
retfscf=fscanf(basFil,"%d %d %d\n",&im,&is,&isgoodmod);
if(retfscf<0) isgoodmod=kFALSE;
if(!isgoodmod){
if(isid==0){
sid0ok=kFALSE;
for(Int_t iChip=0; iChip<4; iChip++) cal->SetChipBad(iChip);
}else{
sid1ok=kFALSE;
for(Int_t iChip=4; iChip<8; iChip++) cal->SetChipBad(iChip);
}
}
retfscf=fscanf(basFil,"%d\n",&th);
retfscf=fscanf(basFil,"%d\n",&tl);
cal->SetZSLowThreshold(isid,tl);
cal->SetZSHighThreshold(isid,th);
for(Int_t ian=0;ian<(kNumberOfChannels/2);ian++){
retfscf=fscanf(basFil,"%d %d %f %d %d %f %f %f %f\n",&i,&isgoodan,&baseline,&basmin,&basoff,&rawnoise,&cmn,&corn,&gain);
Int_t ich=ian;
if(isid==1) ich+=256;
if(!isgoodan){
Int_t ibad=numOfBadChannels[modID];
badch[ibad]=ich;
numOfBadChannels[modID]++;
}
cal->SetBaseline(ich,baseline-basoff);
cal->SetNoiseAfterElectronics(ich,rawnoise);
cal->SetGain(ich,gain);
}
cal->SetDeadChannels(numOfBadChannels[modID]);
for(Int_t ibad=0;ibad<numOfBadChannels[modID];ibad++){
cal->SetBadChannel(ibad,badch[ibad]);
}
fclose(basFil);
}
if(!sid0ok && !sid1ok) cal->SetBad();
Log(Form("Put calib obj for module %d (DDL %d Carlos %d)",modID,iddl,imod));
calSDD.AddAt(cal,modID);
}
}
AliCDBMetaData *md= new AliCDBMetaData();
md->SetResponsible("Francesco Prino");
md->SetBeamPeriod(0);
md->SetComment("AliITSCalibrationSDD from PEDESTAL+PULSER runs");
Bool_t retCode = Store("Calib","CalibSDD",&calSDD,md, 0, kTRUE);
if(retCode) return 0;
else return 1;
}
UInt_t AliITSPreprocessorSDD::ProcessInjector(AliITSDDLModuleMapSDD* ddlmap){
TObjArray vdrift(2*kNumberOfSDD);
vdrift.SetOwner(kFALSE);
Int_t evNumb,polDeg;
UInt_t timeStamp,statusInj;
Bool_t modSet[2*kNumberOfSDD];
for(Int_t ihyb=0; ihyb<2*kNumberOfSDD; ihyb++) modSet[ihyb]=0;
Double_t nPtLay3 = 0;
Double_t nPtLay4 = 0;
Double_t param[4];
Double_t minValP0=5.;
Double_t maxValP0=8.;
Double_t minValP1=0.;
Double_t aveCoefLay3[4]={0.,0.,0.,0.};
Double_t aveCoefLay4[4]={0.,0.,0.,0.};
Double_t defCoef[4]={6.53227,0.00128941,-5.14493e-06,0};
Float_t auxP;
TList* sourceList = GetFileSources(kDAQ, "SDD_Injec");
if (!sourceList){
Log("Error: no sources found for SDD_Injec");
return 2;
}
Int_t ind = 0;
while (sourceList->At(ind)!=NULL) {
TObjString* tarId = (TObjString*) sourceList->At(ind);
TString tarName = GetFile(kDAQ, "SDD_Injec", tarId->GetString().Data());
if(tarName.Length()==0){
Log(Form("Injector tar file from source %d not found.",ind));
return 2;
}
TString command;
command.Form("tar -xf %s",tarName.Data());
gSystem->Exec(command);
ind++;
}
delete sourceList;
Int_t retfscf;
for(Int_t iddl=0;iddl<kNumberOfDDL;iddl++){
for(Int_t imod=0;imod<kModulesPerDDL;imod++){
Int_t modID=ddlmap->GetModuleNumber(iddl,imod);
if(modID==-1) continue;
modID-=240;
for(Int_t isid=0;isid<=1;isid++){
AliITSDriftSpeedArraySDD *arr=new AliITSDriftSpeedArraySDD();
TString inpFileName;
inpFileName.Form("./SDDinj_ddl%02dc%02d_sid%d.data",iddl,imod,isid);
FILE* injFil = fopen(inpFileName,"read");
if (injFil == 0) {
Log(Form("File %s not found.",inpFileName.Data()));
continue;
}
retfscf=fscanf(injFil,"%d",&polDeg);
if(retfscf<0){
Log(Form("File %s has bad format.",inpFileName.Data()));
continue;
}
while (!feof(injFil)){
retfscf=fscanf(injFil,"%d %u ",&evNumb,&timeStamp);
if(evNumb==-99){
statusInj=timeStamp;
arr->SetInjectorStatus(statusInj);
}else{
if(feof(injFil)) break;
for(Int_t ic=0;ic<4;ic++){
retfscf=fscanf(injFil,"%f ",&auxP);
param[ic]=auxP;
}
if(polDeg>=0 && polDeg<=AliITSDriftSpeedSDD::GetMaxPolDeg() &&
param[0]>minValP0 && param[0]<maxValP0 && param[1]>minValP1){
if(polDeg==3){
if(modID<kNumberOfSDDLay3){
for(Int_t ic=0;ic<4;ic++) aveCoefLay3[ic]+=param[ic];
nPtLay3++;
}else{
for(Int_t ic=0;ic<4;ic++) aveCoefLay4[ic]+=param[ic];
nPtLay4++;
}
}
AliITSDriftSpeedSDD *dsp=new AliITSDriftSpeedSDD(evNumb,timeStamp,polDeg,param);
arr->AddDriftSpeed(dsp);
modSet[2*modID+isid]=1;
}else{
Log(Form("Module %d side %d not accepted, degree=%d, params=%g %g %g %g",modID+240,isid,polDeg,param[0],param[1],param[2],param[3]));
}
}
}
fclose(injFil);
Log(Form("Put calib obj for hybrid %d (DDL %d Carlos %d)",2*modID+isid,iddl,imod));
if(modSet[2*modID+isid]) vdrift.AddAt(arr,2*modID+isid);
}
}
}
for(Int_t ic=0;ic<4;ic++){
if(nPtLay3>0) aveCoefLay3[ic]/=nPtLay3;
else aveCoefLay3[ic]=defCoef[ic];
if(nPtLay4>0) aveCoefLay4[ic]/=nPtLay4;
else aveCoefLay4[ic]=defCoef[ic];
}
AliITSDriftSpeedSDD *avdsp3=new AliITSDriftSpeedSDD(evNumb,timeStamp,3,aveCoefLay3);
AliITSDriftSpeedSDD *avdsp4=new AliITSDriftSpeedSDD(evNumb,timeStamp,3,aveCoefLay4);
Int_t idGoldenMod=-1, idGoldenSide=-1;
Int_t idGoldenModList[5]={319,319,321,243,243};
Int_t idGoldenSideList[5]={0,1,0,0,1};
AliITSDriftSpeedSDD* refSpeed=0x0;
for(Int_t iGold=0; iGold<5; iGold++){
Int_t indexG=2*(idGoldenModList[iGold]-240)+idGoldenSideList[iGold];
if(modSet[indexG]){
idGoldenMod=idGoldenModList[iGold];
idGoldenSide=idGoldenSideList[iGold];
AliITSDriftSpeedArraySDD* arrRef=(AliITSDriftSpeedArraySDD*)vdrift.At(indexG);
refSpeed=arrRef->GetDriftSpeedObject(0);
break;
}
}
TList* correctionList=0x0;
if(idGoldenMod>=240 && idGoldenSide>=0){
AliCDBEntry* entry = GetFromOCDB("Calib", "RescaleDriftSpeedSDD");
if(!entry){
Log("RescaleDriftSpeedSDD file not found in OCDB.");
}
TList* fullList=(TList*)entry->GetObject();
if(!fullList){
Log("TList object not found in file.");
}
TString listName=Form("RefMod%d_Side%d",idGoldenMod,idGoldenSide);
correctionList=(TList*)fullList->FindObject(listName.Data());
if(!correctionList){
Log(Form("TList for requested module %d side %d not found",idGoldenMod,idGoldenSide));
}else{
Log(Form("Use module %d side %d as reference module",idGoldenMod,idGoldenSide));
if(refSpeed){
Log(Form("Drift speed params for golden module = %g %g %g %g",refSpeed->GetDriftSpeedParameter(0),refSpeed->GetDriftSpeedParameter(1),refSpeed->GetDriftSpeedParameter(2),refSpeed->GetDriftSpeedParameter(3)));
}else{
AliError("No drift speed object for golden module");
}
}
}
for(Int_t ihyb=0; ihyb<2*kNumberOfSDDLay3; ihyb++){
AliITSDriftSpeedArraySDD *arr=new AliITSDriftSpeedArraySDD();
if(modSet[ihyb]==0){
Int_t iBadMod=ihyb/2+240;
Int_t iBadSide=ihyb%2;
Bool_t goldenUsed=kFALSE;
if(correctionList && refSpeed){
Double_t *params=RescaleDriftSpeedModule(correctionList,iBadMod,iBadSide,refSpeed);
if(params){
AliWarning(Form("No good injector events for mod. %d side %d --> use rescaled values from golden module",iBadMod,iBadSide));
AliITSDriftSpeedSDD* dspres=new AliITSDriftSpeedSDD(0,refSpeed->GetEventTimestamp(),3,params);
arr->AddDriftSpeed(dspres);
arr->SetInjectorStatus(1);
goldenUsed=kTRUE;
}
}
if(!goldenUsed){
AliWarning(Form("No good injector events for mod. %d side %d --> use average values for layer 3",iBadMod,iBadSide));
arr->AddDriftSpeed(avdsp3);
arr->SetInjectorStatus(0);
}
vdrift.AddAt(arr,ihyb);
}
}
for(Int_t ihyb=2*kNumberOfSDDLay3; ihyb<2*kNumberOfSDD; ihyb++){
if(modSet[ihyb]==0){
AliWarning(Form("No good injector events for mod. %d side %d --> use average values for layer 4",ihyb/2,ihyb%2));
AliITSDriftSpeedArraySDD *arr=new AliITSDriftSpeedArraySDD();
arr->AddDriftSpeed(avdsp4);
arr->SetInjectorStatus(0);
vdrift.AddAt(arr,ihyb);
}
}
AliCDBMetaData *md= new AliCDBMetaData();
md->SetResponsible("Francesco Prino");
md->SetBeamPeriod(0);
md->SetComment("AliITSDriftSpeedSDD from injector events");
Bool_t retCode = Store("Calib","DriftSpeedSDD",&vdrift,md,0, kTRUE);
if(retCode) return 0;
else return 1;
}
Double_t* AliITSPreprocessorSDD::RescaleDriftSpeedModule(const TList* theList,
Int_t iBadMod,
Int_t iBadSide,
const AliITSDriftSpeedSDD* refSpeed)
const
{
if(!refSpeed) return 0x0;
TString hisName=Form("hRatioMod%d_Side%d",iBadMod,iBadSide);
TH1D* h=(TH1D*)theList->FindObject(hisName.Data());
if(!h) return 0x0;
TF1* fpoly=new TF1("fpoly","pol3",0.,255.);
for(Int_t iAnode=0; iAnode<256; iAnode++){
Double_t vref=refSpeed->GetDriftSpeedAtAnode((Double_t)iAnode);
Double_t vcorr=h->GetBinContent(iAnode+1)*vref;
h->SetBinContent(iAnode+1,vcorr);
}
h->Fit(fpoly,"RNQ");
Double_t *params=new Double_t[4];
for(Int_t iPar=0; iPar<4; iPar++) params[iPar]=fpoly->GetParameter(iPar);
delete fpoly;
return params;
}
Bool_t AliITSPreprocessorSDD::ProcessDCSDataPoints(TMap* dcsAliasMap){
AliITSDCSAnalyzerSDD *dcs=new AliITSDCSAnalyzerSDD();
dcs->AnalyzeData(dcsAliasMap);
TObjArray refDCS(kNumberOfSDD);
refDCS.SetOwner(kFALSE);
for(Int_t imod=0;imod<kNumberOfSDD;imod++){
AliITSDCSDataSDD *dcsdata=dcs->GetDCSData(imod);
refDCS.Add(dcsdata);
}
AliCDBMetaData *md= new AliCDBMetaData();
md->SetResponsible("Francesco Prino");
md->SetBeamPeriod(0);
md->SetComment("AliITSDCSDataSDD objects from DCS DB");
Bool_t retCode = StoreReferenceData("DCS","DataSDD",&refDCS,md);
return retCode;
}
AliITSPreprocessorSDD.cxx:1 AliITSPreprocessorSDD.cxx:2 AliITSPreprocessorSDD.cxx:3 AliITSPreprocessorSDD.cxx:4 AliITSPreprocessorSDD.cxx:5 AliITSPreprocessorSDD.cxx:6 AliITSPreprocessorSDD.cxx:7 AliITSPreprocessorSDD.cxx:8 AliITSPreprocessorSDD.cxx:9 AliITSPreprocessorSDD.cxx:10 AliITSPreprocessorSDD.cxx:11 AliITSPreprocessorSDD.cxx:12 AliITSPreprocessorSDD.cxx:13 AliITSPreprocessorSDD.cxx:14 AliITSPreprocessorSDD.cxx:15 AliITSPreprocessorSDD.cxx:16 AliITSPreprocessorSDD.cxx:17 AliITSPreprocessorSDD.cxx:18 AliITSPreprocessorSDD.cxx:19 AliITSPreprocessorSDD.cxx:20 AliITSPreprocessorSDD.cxx:21 AliITSPreprocessorSDD.cxx:22 AliITSPreprocessorSDD.cxx:23 AliITSPreprocessorSDD.cxx:24 AliITSPreprocessorSDD.cxx:25 AliITSPreprocessorSDD.cxx:26 AliITSPreprocessorSDD.cxx:27 AliITSPreprocessorSDD.cxx:28 AliITSPreprocessorSDD.cxx:29 AliITSPreprocessorSDD.cxx:30 AliITSPreprocessorSDD.cxx:31 AliITSPreprocessorSDD.cxx:32 AliITSPreprocessorSDD.cxx:33 AliITSPreprocessorSDD.cxx:34 AliITSPreprocessorSDD.cxx:35 AliITSPreprocessorSDD.cxx:36 AliITSPreprocessorSDD.cxx:37 AliITSPreprocessorSDD.cxx:38 AliITSPreprocessorSDD.cxx:39 AliITSPreprocessorSDD.cxx:40 AliITSPreprocessorSDD.cxx:41 AliITSPreprocessorSDD.cxx:42 AliITSPreprocessorSDD.cxx:43 AliITSPreprocessorSDD.cxx:44 AliITSPreprocessorSDD.cxx:45 AliITSPreprocessorSDD.cxx:46 AliITSPreprocessorSDD.cxx:47 AliITSPreprocessorSDD.cxx:48 AliITSPreprocessorSDD.cxx:49 AliITSPreprocessorSDD.cxx:50 AliITSPreprocessorSDD.cxx:51 AliITSPreprocessorSDD.cxx:52 AliITSPreprocessorSDD.cxx:53 AliITSPreprocessorSDD.cxx:54 AliITSPreprocessorSDD.cxx:55 AliITSPreprocessorSDD.cxx:56 AliITSPreprocessorSDD.cxx:57 AliITSPreprocessorSDD.cxx:58 AliITSPreprocessorSDD.cxx:59 AliITSPreprocessorSDD.cxx:60 AliITSPreprocessorSDD.cxx:61 AliITSPreprocessorSDD.cxx:62 AliITSPreprocessorSDD.cxx:63 AliITSPreprocessorSDD.cxx:64 AliITSPreprocessorSDD.cxx:65 AliITSPreprocessorSDD.cxx:66 AliITSPreprocessorSDD.cxx:67 AliITSPreprocessorSDD.cxx:68 AliITSPreprocessorSDD.cxx:69 AliITSPreprocessorSDD.cxx:70 AliITSPreprocessorSDD.cxx:71 AliITSPreprocessorSDD.cxx:72 AliITSPreprocessorSDD.cxx:73 AliITSPreprocessorSDD.cxx:74 AliITSPreprocessorSDD.cxx:75 AliITSPreprocessorSDD.cxx:76 AliITSPreprocessorSDD.cxx:77 AliITSPreprocessorSDD.cxx:78 AliITSPreprocessorSDD.cxx:79 AliITSPreprocessorSDD.cxx:80 AliITSPreprocessorSDD.cxx:81 AliITSPreprocessorSDD.cxx:82 AliITSPreprocessorSDD.cxx:83 AliITSPreprocessorSDD.cxx:84 AliITSPreprocessorSDD.cxx:85 AliITSPreprocessorSDD.cxx:86 AliITSPreprocessorSDD.cxx:87 AliITSPreprocessorSDD.cxx:88 AliITSPreprocessorSDD.cxx:89 AliITSPreprocessorSDD.cxx:90 AliITSPreprocessorSDD.cxx:91 AliITSPreprocessorSDD.cxx:92 AliITSPreprocessorSDD.cxx:93 AliITSPreprocessorSDD.cxx:94 AliITSPreprocessorSDD.cxx:95 AliITSPreprocessorSDD.cxx:96 AliITSPreprocessorSDD.cxx:97 AliITSPreprocessorSDD.cxx:98 AliITSPreprocessorSDD.cxx:99 AliITSPreprocessorSDD.cxx:100 AliITSPreprocessorSDD.cxx:101 AliITSPreprocessorSDD.cxx:102 AliITSPreprocessorSDD.cxx:103 AliITSPreprocessorSDD.cxx:104 AliITSPreprocessorSDD.cxx:105 AliITSPreprocessorSDD.cxx:106 AliITSPreprocessorSDD.cxx:107 AliITSPreprocessorSDD.cxx:108 AliITSPreprocessorSDD.cxx:109 AliITSPreprocessorSDD.cxx:110 AliITSPreprocessorSDD.cxx:111 AliITSPreprocessorSDD.cxx:112 AliITSPreprocessorSDD.cxx:113 AliITSPreprocessorSDD.cxx:114 AliITSPreprocessorSDD.cxx:115 AliITSPreprocessorSDD.cxx:116 AliITSPreprocessorSDD.cxx:117 AliITSPreprocessorSDD.cxx:118 AliITSPreprocessorSDD.cxx:119 AliITSPreprocessorSDD.cxx:120 AliITSPreprocessorSDD.cxx:121 AliITSPreprocessorSDD.cxx:122 AliITSPreprocessorSDD.cxx:123 AliITSPreprocessorSDD.cxx:124 AliITSPreprocessorSDD.cxx:125 AliITSPreprocessorSDD.cxx:126 AliITSPreprocessorSDD.cxx:127 AliITSPreprocessorSDD.cxx:128 AliITSPreprocessorSDD.cxx:129 AliITSPreprocessorSDD.cxx:130 AliITSPreprocessorSDD.cxx:131 AliITSPreprocessorSDD.cxx:132 AliITSPreprocessorSDD.cxx:133 AliITSPreprocessorSDD.cxx:134 AliITSPreprocessorSDD.cxx:135 AliITSPreprocessorSDD.cxx:136 AliITSPreprocessorSDD.cxx:137 AliITSPreprocessorSDD.cxx:138 AliITSPreprocessorSDD.cxx:139 AliITSPreprocessorSDD.cxx:140 AliITSPreprocessorSDD.cxx:141 AliITSPreprocessorSDD.cxx:142 AliITSPreprocessorSDD.cxx:143 AliITSPreprocessorSDD.cxx:144 AliITSPreprocessorSDD.cxx:145 AliITSPreprocessorSDD.cxx:146 AliITSPreprocessorSDD.cxx:147 AliITSPreprocessorSDD.cxx:148 AliITSPreprocessorSDD.cxx:149 AliITSPreprocessorSDD.cxx:150 AliITSPreprocessorSDD.cxx:151 AliITSPreprocessorSDD.cxx:152 AliITSPreprocessorSDD.cxx:153 AliITSPreprocessorSDD.cxx:154 AliITSPreprocessorSDD.cxx:155 AliITSPreprocessorSDD.cxx:156 AliITSPreprocessorSDD.cxx:157 AliITSPreprocessorSDD.cxx:158 AliITSPreprocessorSDD.cxx:159 AliITSPreprocessorSDD.cxx:160 AliITSPreprocessorSDD.cxx:161 AliITSPreprocessorSDD.cxx:162 AliITSPreprocessorSDD.cxx:163 AliITSPreprocessorSDD.cxx:164 AliITSPreprocessorSDD.cxx:165 AliITSPreprocessorSDD.cxx:166 AliITSPreprocessorSDD.cxx:167 AliITSPreprocessorSDD.cxx:168 AliITSPreprocessorSDD.cxx:169 AliITSPreprocessorSDD.cxx:170 AliITSPreprocessorSDD.cxx:171 AliITSPreprocessorSDD.cxx:172 AliITSPreprocessorSDD.cxx:173 AliITSPreprocessorSDD.cxx:174 AliITSPreprocessorSDD.cxx:175 AliITSPreprocessorSDD.cxx:176 AliITSPreprocessorSDD.cxx:177 AliITSPreprocessorSDD.cxx:178 AliITSPreprocessorSDD.cxx:179 AliITSPreprocessorSDD.cxx:180 AliITSPreprocessorSDD.cxx:181 AliITSPreprocessorSDD.cxx:182 AliITSPreprocessorSDD.cxx:183 AliITSPreprocessorSDD.cxx:184 AliITSPreprocessorSDD.cxx:185 AliITSPreprocessorSDD.cxx:186 AliITSPreprocessorSDD.cxx:187 AliITSPreprocessorSDD.cxx:188 AliITSPreprocessorSDD.cxx:189 AliITSPreprocessorSDD.cxx:190 AliITSPreprocessorSDD.cxx:191 AliITSPreprocessorSDD.cxx:192 AliITSPreprocessorSDD.cxx:193 AliITSPreprocessorSDD.cxx:194 AliITSPreprocessorSDD.cxx:195 AliITSPreprocessorSDD.cxx:196 AliITSPreprocessorSDD.cxx:197 AliITSPreprocessorSDD.cxx:198 AliITSPreprocessorSDD.cxx:199 AliITSPreprocessorSDD.cxx:200 AliITSPreprocessorSDD.cxx:201 AliITSPreprocessorSDD.cxx:202 AliITSPreprocessorSDD.cxx:203 AliITSPreprocessorSDD.cxx:204 AliITSPreprocessorSDD.cxx:205 AliITSPreprocessorSDD.cxx:206 AliITSPreprocessorSDD.cxx:207 AliITSPreprocessorSDD.cxx:208 AliITSPreprocessorSDD.cxx:209 AliITSPreprocessorSDD.cxx:210 AliITSPreprocessorSDD.cxx:211 AliITSPreprocessorSDD.cxx:212 AliITSPreprocessorSDD.cxx:213 AliITSPreprocessorSDD.cxx:214 AliITSPreprocessorSDD.cxx:215 AliITSPreprocessorSDD.cxx:216 AliITSPreprocessorSDD.cxx:217 AliITSPreprocessorSDD.cxx:218 AliITSPreprocessorSDD.cxx:219 AliITSPreprocessorSDD.cxx:220 AliITSPreprocessorSDD.cxx:221 AliITSPreprocessorSDD.cxx:222 AliITSPreprocessorSDD.cxx:223 AliITSPreprocessorSDD.cxx:224 AliITSPreprocessorSDD.cxx:225 AliITSPreprocessorSDD.cxx:226 AliITSPreprocessorSDD.cxx:227 AliITSPreprocessorSDD.cxx:228 AliITSPreprocessorSDD.cxx:229 AliITSPreprocessorSDD.cxx:230 AliITSPreprocessorSDD.cxx:231 AliITSPreprocessorSDD.cxx:232 AliITSPreprocessorSDD.cxx:233 AliITSPreprocessorSDD.cxx:234 AliITSPreprocessorSDD.cxx:235 AliITSPreprocessorSDD.cxx:236 AliITSPreprocessorSDD.cxx:237 AliITSPreprocessorSDD.cxx:238 AliITSPreprocessorSDD.cxx:239 AliITSPreprocessorSDD.cxx:240 AliITSPreprocessorSDD.cxx:241 AliITSPreprocessorSDD.cxx:242 AliITSPreprocessorSDD.cxx:243 AliITSPreprocessorSDD.cxx:244 AliITSPreprocessorSDD.cxx:245 AliITSPreprocessorSDD.cxx:246 AliITSPreprocessorSDD.cxx:247 AliITSPreprocessorSDD.cxx:248 AliITSPreprocessorSDD.cxx:249 AliITSPreprocessorSDD.cxx:250 AliITSPreprocessorSDD.cxx:251 AliITSPreprocessorSDD.cxx:252 AliITSPreprocessorSDD.cxx:253 AliITSPreprocessorSDD.cxx:254 AliITSPreprocessorSDD.cxx:255 AliITSPreprocessorSDD.cxx:256 AliITSPreprocessorSDD.cxx:257 AliITSPreprocessorSDD.cxx:258 AliITSPreprocessorSDD.cxx:259 AliITSPreprocessorSDD.cxx:260 AliITSPreprocessorSDD.cxx:261 AliITSPreprocessorSDD.cxx:262 AliITSPreprocessorSDD.cxx:263 AliITSPreprocessorSDD.cxx:264 AliITSPreprocessorSDD.cxx:265 AliITSPreprocessorSDD.cxx:266 AliITSPreprocessorSDD.cxx:267 AliITSPreprocessorSDD.cxx:268 AliITSPreprocessorSDD.cxx:269 AliITSPreprocessorSDD.cxx:270 AliITSPreprocessorSDD.cxx:271 AliITSPreprocessorSDD.cxx:272 AliITSPreprocessorSDD.cxx:273 AliITSPreprocessorSDD.cxx:274 AliITSPreprocessorSDD.cxx:275 AliITSPreprocessorSDD.cxx:276 AliITSPreprocessorSDD.cxx:277 AliITSPreprocessorSDD.cxx:278 AliITSPreprocessorSDD.cxx:279 AliITSPreprocessorSDD.cxx:280 AliITSPreprocessorSDD.cxx:281 AliITSPreprocessorSDD.cxx:282 AliITSPreprocessorSDD.cxx:283 AliITSPreprocessorSDD.cxx:284 AliITSPreprocessorSDD.cxx:285 AliITSPreprocessorSDD.cxx:286 AliITSPreprocessorSDD.cxx:287 AliITSPreprocessorSDD.cxx:288 AliITSPreprocessorSDD.cxx:289 AliITSPreprocessorSDD.cxx:290 AliITSPreprocessorSDD.cxx:291 AliITSPreprocessorSDD.cxx:292 AliITSPreprocessorSDD.cxx:293 AliITSPreprocessorSDD.cxx:294 AliITSPreprocessorSDD.cxx:295 AliITSPreprocessorSDD.cxx:296 AliITSPreprocessorSDD.cxx:297 AliITSPreprocessorSDD.cxx:298 AliITSPreprocessorSDD.cxx:299 AliITSPreprocessorSDD.cxx:300 AliITSPreprocessorSDD.cxx:301 AliITSPreprocessorSDD.cxx:302 AliITSPreprocessorSDD.cxx:303 AliITSPreprocessorSDD.cxx:304 AliITSPreprocessorSDD.cxx:305 AliITSPreprocessorSDD.cxx:306 AliITSPreprocessorSDD.cxx:307 AliITSPreprocessorSDD.cxx:308 AliITSPreprocessorSDD.cxx:309 AliITSPreprocessorSDD.cxx:310 AliITSPreprocessorSDD.cxx:311 AliITSPreprocessorSDD.cxx:312 AliITSPreprocessorSDD.cxx:313 AliITSPreprocessorSDD.cxx:314 AliITSPreprocessorSDD.cxx:315 AliITSPreprocessorSDD.cxx:316 AliITSPreprocessorSDD.cxx:317 AliITSPreprocessorSDD.cxx:318 AliITSPreprocessorSDD.cxx:319 AliITSPreprocessorSDD.cxx:320 AliITSPreprocessorSDD.cxx:321 AliITSPreprocessorSDD.cxx:322 AliITSPreprocessorSDD.cxx:323 AliITSPreprocessorSDD.cxx:324 AliITSPreprocessorSDD.cxx:325 AliITSPreprocessorSDD.cxx:326 AliITSPreprocessorSDD.cxx:327 AliITSPreprocessorSDD.cxx:328 AliITSPreprocessorSDD.cxx:329 AliITSPreprocessorSDD.cxx:330 AliITSPreprocessorSDD.cxx:331 AliITSPreprocessorSDD.cxx:332 AliITSPreprocessorSDD.cxx:333 AliITSPreprocessorSDD.cxx:334 AliITSPreprocessorSDD.cxx:335 AliITSPreprocessorSDD.cxx:336 AliITSPreprocessorSDD.cxx:337 AliITSPreprocessorSDD.cxx:338 AliITSPreprocessorSDD.cxx:339 AliITSPreprocessorSDD.cxx:340 AliITSPreprocessorSDD.cxx:341 AliITSPreprocessorSDD.cxx:342 AliITSPreprocessorSDD.cxx:343 AliITSPreprocessorSDD.cxx:344 AliITSPreprocessorSDD.cxx:345 AliITSPreprocessorSDD.cxx:346 AliITSPreprocessorSDD.cxx:347 AliITSPreprocessorSDD.cxx:348 AliITSPreprocessorSDD.cxx:349 AliITSPreprocessorSDD.cxx:350 AliITSPreprocessorSDD.cxx:351 AliITSPreprocessorSDD.cxx:352 AliITSPreprocessorSDD.cxx:353 AliITSPreprocessorSDD.cxx:354 AliITSPreprocessorSDD.cxx:355 AliITSPreprocessorSDD.cxx:356 AliITSPreprocessorSDD.cxx:357 AliITSPreprocessorSDD.cxx:358 AliITSPreprocessorSDD.cxx:359 AliITSPreprocessorSDD.cxx:360 AliITSPreprocessorSDD.cxx:361 AliITSPreprocessorSDD.cxx:362 AliITSPreprocessorSDD.cxx:363 AliITSPreprocessorSDD.cxx:364 AliITSPreprocessorSDD.cxx:365 AliITSPreprocessorSDD.cxx:366 AliITSPreprocessorSDD.cxx:367 AliITSPreprocessorSDD.cxx:368 AliITSPreprocessorSDD.cxx:369 AliITSPreprocessorSDD.cxx:370 AliITSPreprocessorSDD.cxx:371 AliITSPreprocessorSDD.cxx:372 AliITSPreprocessorSDD.cxx:373 AliITSPreprocessorSDD.cxx:374 AliITSPreprocessorSDD.cxx:375 AliITSPreprocessorSDD.cxx:376 AliITSPreprocessorSDD.cxx:377 AliITSPreprocessorSDD.cxx:378 AliITSPreprocessorSDD.cxx:379 AliITSPreprocessorSDD.cxx:380 AliITSPreprocessorSDD.cxx:381 AliITSPreprocessorSDD.cxx:382 AliITSPreprocessorSDD.cxx:383 AliITSPreprocessorSDD.cxx:384 AliITSPreprocessorSDD.cxx:385 AliITSPreprocessorSDD.cxx:386 AliITSPreprocessorSDD.cxx:387 AliITSPreprocessorSDD.cxx:388 AliITSPreprocessorSDD.cxx:389 AliITSPreprocessorSDD.cxx:390 AliITSPreprocessorSDD.cxx:391 AliITSPreprocessorSDD.cxx:392 AliITSPreprocessorSDD.cxx:393 AliITSPreprocessorSDD.cxx:394 AliITSPreprocessorSDD.cxx:395 AliITSPreprocessorSDD.cxx:396 AliITSPreprocessorSDD.cxx:397 AliITSPreprocessorSDD.cxx:398 AliITSPreprocessorSDD.cxx:399 AliITSPreprocessorSDD.cxx:400 AliITSPreprocessorSDD.cxx:401 AliITSPreprocessorSDD.cxx:402 AliITSPreprocessorSDD.cxx:403 AliITSPreprocessorSDD.cxx:404 AliITSPreprocessorSDD.cxx:405 AliITSPreprocessorSDD.cxx:406 AliITSPreprocessorSDD.cxx:407 AliITSPreprocessorSDD.cxx:408 AliITSPreprocessorSDD.cxx:409 AliITSPreprocessorSDD.cxx:410 AliITSPreprocessorSDD.cxx:411 AliITSPreprocessorSDD.cxx:412 AliITSPreprocessorSDD.cxx:413 AliITSPreprocessorSDD.cxx:414 AliITSPreprocessorSDD.cxx:415 AliITSPreprocessorSDD.cxx:416 AliITSPreprocessorSDD.cxx:417 AliITSPreprocessorSDD.cxx:418 AliITSPreprocessorSDD.cxx:419 AliITSPreprocessorSDD.cxx:420 AliITSPreprocessorSDD.cxx:421 AliITSPreprocessorSDD.cxx:422 AliITSPreprocessorSDD.cxx:423 AliITSPreprocessorSDD.cxx:424 AliITSPreprocessorSDD.cxx:425 AliITSPreprocessorSDD.cxx:426 AliITSPreprocessorSDD.cxx:427 AliITSPreprocessorSDD.cxx:428 AliITSPreprocessorSDD.cxx:429 AliITSPreprocessorSDD.cxx:430 AliITSPreprocessorSDD.cxx:431 AliITSPreprocessorSDD.cxx:432 AliITSPreprocessorSDD.cxx:433 AliITSPreprocessorSDD.cxx:434 AliITSPreprocessorSDD.cxx:435 AliITSPreprocessorSDD.cxx:436 AliITSPreprocessorSDD.cxx:437 AliITSPreprocessorSDD.cxx:438 AliITSPreprocessorSDD.cxx:439 AliITSPreprocessorSDD.cxx:440 AliITSPreprocessorSDD.cxx:441 AliITSPreprocessorSDD.cxx:442 AliITSPreprocessorSDD.cxx:443 AliITSPreprocessorSDD.cxx:444 AliITSPreprocessorSDD.cxx:445 AliITSPreprocessorSDD.cxx:446 AliITSPreprocessorSDD.cxx:447 AliITSPreprocessorSDD.cxx:448 AliITSPreprocessorSDD.cxx:449 AliITSPreprocessorSDD.cxx:450 AliITSPreprocessorSDD.cxx:451 AliITSPreprocessorSDD.cxx:452 AliITSPreprocessorSDD.cxx:453 AliITSPreprocessorSDD.cxx:454 AliITSPreprocessorSDD.cxx:455 AliITSPreprocessorSDD.cxx:456 AliITSPreprocessorSDD.cxx:457 AliITSPreprocessorSDD.cxx:458 AliITSPreprocessorSDD.cxx:459 AliITSPreprocessorSDD.cxx:460 AliITSPreprocessorSDD.cxx:461 AliITSPreprocessorSDD.cxx:462 AliITSPreprocessorSDD.cxx:463 AliITSPreprocessorSDD.cxx:464 AliITSPreprocessorSDD.cxx:465 AliITSPreprocessorSDD.cxx:466 AliITSPreprocessorSDD.cxx:467