#include <TMath.h>
#include <TH1F.h>
#include <TFile.h>
#include <TTree.h>
#include <TROOT.h>
#include "AliITSPlaneEffSPD.h"
#include "AliLog.h"
#include "AliCDBStorage.h"
#include "AliCDBEntry.h"
#include "AliCDBManager.h"
#include "AliITSsegmentationSPD.h"
#include "AliITSCalibrationSPD.h"
ClassImp(AliITSPlaneEffSPD)
AliITSPlaneEffSPD::AliITSPlaneEffSPD():
AliITSPlaneEff(),
fHisResX(0),
fHisResZ(0),
fHisResXZ(0),
fHisClusterSize(0),
fHisResXclu(0),
fHisResZclu(0),
fHisResXchip(0),
fHisResZchip(0),
fProfResXvsPhi(0),
fProfResZvsDip(0),
fProfResXvsPhiclu(0),
fProfResZvsDipclu(0),
fHisTrackErrX(0),
fHisTrackErrZ(0),
fHisClusErrX(0),
fHisClusErrZ(0),
fHisTrackXFOtrue(0),
fHisTrackZFOtrue(0),
fHisTrackXFOfalse(0),
fHisTrackZFOfalse(0),
fHisTrackXZFOtrue(0),
fHisTrackXZFOfalse(0){
for (UInt_t i=0; i<kNModule*kNChip*(kNClockPhase+1); i++){
fFound[i]=0;
fTried[i]=0;
}
AliDebug(1,Form("Calling default constructor"));
}
AliITSPlaneEffSPD::~AliITSPlaneEffSPD(){
DeleteHistos();
}
AliITSPlaneEffSPD::AliITSPlaneEffSPD(const AliITSPlaneEffSPD &s) : AliITSPlaneEff(s),
fHisResX(0),
fHisResZ(0),
fHisResXZ(0),
fHisClusterSize(0),
fHisResXclu(0),
fHisResZclu(0),
fHisResXchip(0),
fHisResZchip(0),
fProfResXvsPhi(0),
fProfResZvsDip(0),
fProfResXvsPhiclu(0),
fProfResZvsDipclu(0),
fHisTrackErrX(0),
fHisTrackErrZ(0),
fHisClusErrX(0),
fHisClusErrZ(0),
fHisTrackXFOtrue(0),
fHisTrackZFOtrue(0),
fHisTrackXFOfalse(0),
fHisTrackZFOfalse(0),
fHisTrackXZFOtrue(0),
fHisTrackXZFOfalse(0)
{
for (UInt_t i=0; i<kNModule*kNChip*(kNClockPhase+1); i++){
fFound[i]=s.fFound[i];
fTried[i]=s.fTried[i];
}
if(fHis) {
InitHistos();
for(Int_t i=0; i<kNHisto; i++) {
s.fHisResX[i]->Copy(*fHisResX[i]);
s.fHisResZ[i]->Copy(*fHisResZ[i]);
s.fHisResXZ[i]->Copy(*fHisResXZ[i]);
s.fHisClusterSize[i]->Copy(*fHisClusterSize[i]);
for(Int_t clu=0; clu<kNclu; clu++) {
s.fHisResXclu[i][clu]->Copy(*fHisResXclu[i][clu]);
s.fHisResZclu[i][clu]->Copy(*fHisResZclu[i][clu]);
s.fProfResXvsPhiclu[i][clu]->Copy(*fProfResXvsPhiclu[i][clu]);
s.fProfResZvsDipclu[i][clu]->Copy(*fProfResZvsDipclu[i][clu]);
}
for(Int_t chip=0; chip<kNChip; chip++) {
s.fHisResXchip[i][chip]->Copy(*fHisResXchip[i][chip]);
s.fHisResZchip[i][chip]->Copy(*fHisResZchip[i][chip]);
}
s.fProfResXvsPhi[i]->Copy(*fProfResXvsPhi[i]);
s.fProfResZvsDip[i]->Copy(*fProfResZvsDip[i]);
s.fHisTrackErrX[i]->Copy(*fHisTrackErrX[i]);
s.fHisTrackErrZ[i]->Copy(*fHisTrackErrZ[i]);
s.fHisClusErrX[i]->Copy(*fHisClusErrX[i]);
s.fHisClusErrZ[i]->Copy(*fHisClusErrZ[i]);
for(Int_t phas=0; phas<kNClockPhase;phas++){
s.fHisTrackXFOtrue[i][phas]->Copy(*fHisTrackXFOtrue[i][phas]);
s.fHisTrackZFOtrue[i][phas]->Copy(*fHisTrackXFOtrue[i][phas]);
s.fHisTrackXFOfalse[i][phas]->Copy(*fHisTrackXFOtrue[i][phas]);
s.fHisTrackZFOfalse[i][phas]->Copy(*fHisTrackXFOtrue[i][phas]);
s.fHisTrackXZFOtrue[i][phas]->Copy(*fHisTrackXFOtrue[i][phas]);
s.fHisTrackXZFOfalse[i][phas]->Copy(*fHisTrackXFOtrue[i][phas]);
}
}
}
}
AliITSPlaneEffSPD& AliITSPlaneEffSPD::operator+=(const AliITSPlaneEffSPD &add){
for (UInt_t i=0; i<kNModule*kNChip*(kNClockPhase+1); i++){
fFound[i] += add.fFound[i];
fTried[i] += add.fTried[i];
}
if(fHis && add.fHis) {
for(Int_t i=0; i<kNHisto; i++) {
fHisResX[i]->Add(add.fHisResX[i]);
fHisResZ[i]->Add(add.fHisResZ[i]);
fHisResXZ[i]->Add(add.fHisResXZ[i]);
fHisClusterSize[i]->Add(add.fHisClusterSize[i]);
for(Int_t clu=0; clu<kNclu; clu++) {
fHisResXclu[i][clu]->Add(add.fHisResXclu[i][clu]);
fHisResZclu[i][clu]->Add(add.fHisResZclu[i][clu]);
fProfResXvsPhiclu[i][clu]->Add(add.fProfResXvsPhiclu[i][clu]);
fProfResZvsDipclu[i][clu]->Add(add.fProfResZvsDipclu[i][clu]);
}
for(Int_t chip=0; chip<kNChip; chip++) {
fHisResXchip[i][chip]->Add(add.fHisResXchip[i][chip]);
fHisResZchip[i][chip]->Add(add.fHisResZchip[i][chip]);
}
fProfResXvsPhi[i]->Add(add.fProfResXvsPhi[i]);
fProfResZvsDip[i]->Add(add.fProfResZvsDip[i]);
fHisTrackErrX[i]->Add(add.fHisTrackErrX[i]);
fHisTrackErrZ[i]->Add(add.fHisTrackErrZ[i]);
fHisClusErrX[i]->Add(add.fHisClusErrX[i]);
fHisClusErrZ[i]->Add(add.fHisClusErrZ[i]);
for(Int_t phas=0; phas<kNClockPhase;phas++){
fHisTrackXFOtrue[i][phas]->Add(add.fHisTrackXFOtrue[i][phas]);
fHisTrackZFOtrue[i][phas]->Add(add.fHisTrackXFOtrue[i][phas]);
fHisTrackXFOfalse[i][phas]->Add(add.fHisTrackXFOtrue[i][phas]);
fHisTrackZFOfalse[i][phas]->Add(add.fHisTrackXFOtrue[i][phas]);
fHisTrackXZFOtrue[i][phas]->Add(add.fHisTrackXFOtrue[i][phas]);
fHisTrackXZFOfalse[i][phas]->Add(add.fHisTrackXFOtrue[i][phas]);
}
}
}
return *this;
}
AliITSPlaneEffSPD& AliITSPlaneEffSPD::operator=(const
AliITSPlaneEffSPD &s){
if(this==&s) return *this;
this->~AliITSPlaneEffSPD();
new(this) AliITSPlaneEffSPD();
s.Copy(*this);
return *this;
}
void AliITSPlaneEffSPD::Copy(TObject &obj) const {
AliITSPlaneEff::Copy(obj);
AliITSPlaneEffSPD& target = (AliITSPlaneEffSPD &) obj;
for(Int_t i=0;i<kNModule*kNChip*(kNClockPhase+1);i++) {
target.fFound[i] = fFound[i];
target.fTried[i] = fTried[i];
}
CopyHistos(target);
return;
}
void AliITSPlaneEffSPD::CopyHistos(AliITSPlaneEffSPD &target) const {
target.fHis = fHis;
if(fHis) {
target.fHisResX=new TH1F*[kNHisto];
target.fHisResZ=new TH1F*[kNHisto];
target.fHisResXZ=new TH2F*[kNHisto];
target.fHisClusterSize=new TH2I*[kNHisto];
target.fHisResXclu=new TH1F**[kNHisto];
target.fHisResZclu=new TH1F**[kNHisto];
target.fHisResXchip=new TH1F**[kNHisto];
target.fHisResZchip=new TH1F**[kNHisto];
target.fProfResXvsPhi=new TProfile*[kNHisto];
target.fProfResZvsDip=new TProfile*[kNHisto];
target.fProfResXvsPhiclu=new TProfile**[kNHisto];
target.fProfResZvsDipclu=new TProfile**[kNHisto];
target.fHisTrackErrX=new TH1F*[kNHisto];
target.fHisTrackErrZ=new TH1F*[kNHisto];
target.fHisClusErrX=new TH1F*[kNHisto];
target.fHisClusErrZ=new TH1F*[kNHisto];
target.fHisTrackXFOtrue=new TH1F**[kNHisto];
target.fHisTrackZFOtrue=new TH1F**[kNHisto];
target.fHisTrackXFOfalse=new TH1F**[kNHisto];
target.fHisTrackZFOfalse=new TH1F**[kNHisto];
target.fHisTrackXZFOtrue=new TH2F**[kNHisto];
target.fHisTrackXZFOfalse=new TH2F**[kNHisto];
for(Int_t i=0; i<kNHisto; i++) {
target.fHisResX[i] = new TH1F(*fHisResX[i]);
target.fHisResZ[i] = new TH1F(*fHisResZ[i]);
target.fHisResXZ[i] = new TH2F(*fHisResXZ[i]);
target.fHisClusterSize[i] = new TH2I(*fHisClusterSize[i]);
target.fHisResXclu[i]=new TH1F*[kNclu];
target.fHisResZclu[i]=new TH1F*[kNclu];
target.fProfResXvsPhiclu[i]=new TProfile*[kNclu];
target.fProfResZvsDipclu[i]=new TProfile*[kNclu];
for(Int_t clu=0; clu<kNclu; clu++) {
target.fHisResXclu[i][clu] = new TH1F(*fHisResXclu[i][clu]);
target.fHisResZclu[i][clu] = new TH1F(*fHisResZclu[i][clu]);
target.fProfResXvsPhiclu[i][clu] = new TProfile(*fProfResXvsPhiclu[i][clu]);
target.fProfResZvsDipclu[i][clu] = new TProfile(*fProfResZvsDipclu[i][clu]);
}
target.fHisResXchip[i]=new TH1F*[kNChip];
target.fHisResZchip[i]=new TH1F*[kNChip];
for(Int_t chip=0; chip<kNChip; chip++) {
target.fHisResXchip[i][chip] = new TH1F(*fHisResXchip[i][chip]);
target.fHisResZchip[i][chip] = new TH1F(*fHisResZchip[i][chip]);
}
target.fProfResXvsPhi[i] = new TProfile(*fProfResXvsPhi[i]);
target.fProfResZvsDip[i] = new TProfile(*fProfResZvsDip[i]);
target.fHisTrackErrX[i] = new TH1F(*fHisTrackErrX[i]);
target.fHisTrackErrZ[i] = new TH1F(*fHisTrackErrZ[i]);
target.fHisClusErrX[i] = new TH1F(*fHisClusErrX[i]);
target.fHisClusErrZ[i] = new TH1F(*fHisClusErrZ[i]);
target.fHisTrackXFOtrue[i]=new TH1F*[kNClockPhase];
target.fHisTrackZFOtrue[i]=new TH1F*[kNClockPhase];
target.fHisTrackXFOfalse[i]=new TH1F*[kNClockPhase];
target.fHisTrackZFOfalse[i]=new TH1F*[kNClockPhase];
target.fHisTrackXZFOtrue[i]=new TH2F*[kNClockPhase];
target.fHisTrackXZFOfalse[i]=new TH2F*[kNClockPhase];
for(Int_t phas=0; phas<kNClockPhase;phas++){
target.fHisTrackXFOtrue[i][phas]=new TH1F(*fHisTrackXFOtrue[i][phas]);
target.fHisTrackZFOtrue[i][phas]=new TH1F(*fHisTrackZFOtrue[i][phas]);
target.fHisTrackXFOfalse[i][phas]=new TH1F(*fHisTrackXFOfalse[i][phas]);
target.fHisTrackZFOfalse[i][phas]=new TH1F(*fHisTrackZFOfalse[i][phas]);
target.fHisTrackXZFOtrue[i][phas]=new TH2F(*fHisTrackXZFOtrue[i][phas]);
target.fHisTrackXZFOfalse[i][phas]=new TH2F(*fHisTrackXZFOfalse[i][phas]);
}
}
}
return;
}
Int_t AliITSPlaneEffSPD::GetMissingTracksForGivenEff(Double_t eff, Double_t RelErr,
UInt_t im, UInt_t ic) const {
if (im>=kNModule || ic>=kNChip)
{AliError("GetMissingTracksForGivenEff: you asked for a non existing chip");
return -1;}
else {
UInt_t key=GetKey(im,ic);
if(key<kNModule*kNChip) return GetNTracksForGivenEff(eff,RelErr)-fTried[key];
else return -1;
}
}
Double_t AliITSPlaneEffSPD::PlaneEff(const UInt_t im,const UInt_t ic, const Bool_t fo, const UInt_t bcm4) const {
if (im>=kNModule || ic>=kNChip)
{AliError("PlaneEff(Uint_t,Uint_t): you asked for a non existing chip"); return -1.;}
if(fo && bcm4>=kNClockPhase)
{AliError("PlaneEff(Uint_t,Uint_t): you asked for Fast Or in a wrong phase"); return -1.;}
Int_t nf=-1;
Int_t nt=-1;
if(fo) {
AliWarning("PlaneEff: you asked for FO efficiency");
UInt_t key=GetKey(im,ic,fo,bcm4);
if(key<kNModule*kNChip*(kNClockPhase+1)) {
nf=fFound[key];
nt=fTried[key];
}
} else {
UInt_t key=GetKey(im,ic);
if (key<kNModule*kNChip) {
nf=fFound[key];
nt=fTried[key];
}
}
return AliITSPlaneEff::PlaneEff(nf,nt);
}
Double_t AliITSPlaneEffSPD::ErrPlaneEff(const UInt_t im,const UInt_t ic, const Bool_t fo, const UInt_t bcm4) const {
if (im>=kNModule || ic>=kNChip)
{AliError("ErrPlaneEff(Uint_t,Uint_t): you asked for a non existing chip"); return -1.;}
if(fo && bcm4>=kNClockPhase)
{AliError("PlaneEff(Uint_t,Uint_t): you asked for Fast Or in a wrong phase"); return -1.;}
Int_t nf=-1;
Int_t nt=-1;
if(fo) {
AliWarning("ErrPlaneEff: you asked for FO efficiency");
UInt_t key=GetKey(im,ic,fo,bcm4);
if(key<kNModule*kNChip*(kNClockPhase+1)) {
nf=fFound[key];
nt=fTried[key];
}
} else {
UInt_t key=GetKey(im,ic);
if (key<kNModule*kNChip) {
nf=fFound[key];
nt=fTried[key];
}
}
return AliITSPlaneEff::ErrPlaneEff(nf,nt);
}
Bool_t AliITSPlaneEffSPD::UpDatePlaneEff(const Bool_t Kfound,
const UInt_t im, const UInt_t ic, const Bool_t fo, const UInt_t bcm4) {
if (im>=kNModule || ic>=kNChip)
{AliError("UpDatePlaneEff: you asked for a non existing chip"); return kFALSE;}
if(fo && bcm4>=kNClockPhase)
{AliError("UpDatePlaneEff: you asked for Fast Or in a wrong phase"); return kFALSE;}
if (!fo) {
UInt_t key=GetKey(im,ic);
if(key<kNModule*kNChip) {
fTried[key]++;
if(Kfound) fFound[key]++;
return kTRUE;
}
}
else {
UInt_t key=GetKey(im,ic,fo,bcm4);
if(key<kNModule*kNChip*(kNClockPhase+1)) {
fTried[key]++;
if(Kfound) fFound[key]++;
return kTRUE;
}
}
return kFALSE;
}
UInt_t AliITSPlaneEffSPD::GetChipFromCol(const UInt_t col) const {
if(col>=kNCol*kNChip)
{AliDebug(1,Form("GetChipFromCol: you asked for a non existing column %d",col)); return 10;}
return col/kNCol;
}
UInt_t AliITSPlaneEffSPD::GetKey(const UInt_t mod, const UInt_t chip, const Bool_t FO, const UInt_t BCm4) const {
UInt_t key=99999;
if(mod>=kNModule || chip>=kNChip)
{AliDebug(1,"GetKey: you asked for a non existing block"); return 99999;}
key = mod*kNChip+chip;
if(FO) {
if(BCm4>= kNClockPhase) {AliDebug(1,"GetKey: you have asked Fast OR and a non exisiting BC modulo 4"); return 99999;}
key += kNModule*kNChip*(BCm4+1);
}
return key;
}
UInt_t AliITSPlaneEffSPD::SwitchChipKeyNumbering(UInt_t key) const {
if(key>=kNModule*kNChip*(kNClockPhase+1))
{AliDebug(1,"SwitchChipKeyNumbering: you asked for a non existing key"); return 99999;}
UInt_t mod=9999,chip=9999,phase=9999;
GetModAndChipFromKey(key,mod,chip);
if(mod<kNModuleLy1) chip = kNChip-(chip+1);
if(IsForFO(key))phase = GetBCm4FromKey(key);
return GetKey(mod,chip,IsForFO(key),phase);
}
UInt_t AliITSPlaneEffSPD::GetModFromKey(const UInt_t key) const {
if(key>=kNModule*kNChip*(kNClockPhase+1))
{AliError("GetModFromKey: you asked for a non existing key"); return 9999;}
return (key%(kNModule*kNChip))/kNChip;
}
UInt_t AliITSPlaneEffSPD::GetChipFromKey(const UInt_t key) const {
if(key>=kNModule*kNChip*(kNClockPhase+1))
{AliError("GetChipFromKey: you asked for a non existing key"); return 999;}
return ((key%(kNModule*kNChip))%(kNModule*kNChip))%kNChip;
}
UInt_t AliITSPlaneEffSPD::GetBCm4FromKey(const UInt_t key) const {
if(key>=kNModule*kNChip*(kNClockPhase+1))
{AliError("GetBCm4FromKey: you asked for a non existing key"); return 999;}
if(key<kNModule*kNChip)
{AliDebug(1,"GetBCm4FromKey: key is below 1200, why are you asking for FO related stuff"); return 999;}
return key/(kNModule*kNChip) - 1 ;
}
Bool_t AliITSPlaneEffSPD::IsForFO(const UInt_t key) const {
if(key>=kNModule*kNChip) return kTRUE;
else return kFALSE;
}
void AliITSPlaneEffSPD::GetModAndChipFromKey(const UInt_t key,UInt_t& mod,UInt_t& chip) const {
if(key>=kNModule*kNChip*(kNClockPhase+1))
{AliError("GetModAndChipFromKey: you asked for a non existing key");
mod=9999;
chip=999;
return;}
mod=GetModFromKey(key);
chip=GetChipFromKey(key);
return;
}
Double_t AliITSPlaneEffSPD::LivePlaneEff(UInt_t key) const {
if(key>=kNModule*kNChip)
{AliError("LivePlaneEff: you asked for a non existing key");
return -1.;}
Double_t leff=AliITSPlaneEff::LivePlaneEff(0);
leff=PlaneEff(key)+GetFracBad(key);
return leff>1?1:leff;
}
Double_t AliITSPlaneEffSPD::ErrLivePlaneEff(UInt_t key) const {
if(key>=kNModule*kNChip)
{AliError("ErrLivePlaneEff: you asked for a non existing key");
return -1.;}
Int_t nf=fFound[key];
Double_t triedInLive=GetFracLive(key)*fTried[key];
Int_t nt=TMath::Max(nf,TMath::Nint(triedInLive));
return AliITSPlaneEff::ErrPlaneEff(nf,nt);
}
Double_t AliITSPlaneEffSPD::GetFracLive(const UInt_t key) const {
if(key>=kNModule*kNChip)
{AliError("GetFracLive: you asked for a non existing key");
return -1.;}
UInt_t dead=0,noisy=0;
GetDeadAndNoisyInChip(key,dead,noisy);
Double_t live=dead+noisy;
live/=(kNRow*kNCol);
return 1.-live;
}
void AliITSPlaneEffSPD::GetDeadAndNoisyInChip(const UInt_t key,
UInt_t& nrDeadInChip, UInt_t& nrNoisyInChip) const {
nrDeadInChip=0;
nrNoisyInChip=0;
if(key>=kNModule*kNChip)
{AliError("GetDeadAndNoisyInChip: you asked for a non existing key");
return;}
if(!fInitCDBCalled)
{AliError("GetDeadAndNoisyInChip: CDB not inizialized: call InitCDB first");
return;};
AliCDBManager* man = AliCDBManager::Instance();
AliCDBEntry *cdbSPDDead = man->Get("ITS/Calib/SPDDead", fRunNumber);
TObjArray* spdDead;
if(cdbSPDDead) {
spdDead = (TObjArray*)cdbSPDDead->GetObject();
if(!spdDead)
{AliError("GetDeadAndNoisyInChip: SPDDead not found in CDB");
return;}
} else {
AliError("GetDeadAndNoisyInChip: did not find Calib/SPDDead.");
return;
}
AliCDBEntry *cdbSPDSparseDead = man->Get("ITS/Calib/SPDSparseDead", fRunNumber);
TObjArray* spdSparseDead;
if(cdbSPDSparseDead) {
spdSparseDead = (TObjArray*)cdbSPDSparseDead->GetObject();
if(!spdSparseDead)
{AliError("GetDeadAndNoisyInChip: SPDSparseDead not found in CDB");
return;}
} else {
AliError("GetDeadAndNoisyInChip: did not find Calib/SPDSparseDead.");
return;
}
AliCDBEntry *cdbSPDNoisy = man->Get("ITS/Calib/SPDNoisy", fRunNumber);
TObjArray* spdNoisy;
if(cdbSPDNoisy) {
spdNoisy = (TObjArray*)cdbSPDNoisy->GetObject();
if(!spdNoisy)
{AliError("GetDeadAndNoisyInChip: SPDNoisy not found in CDB");
return;}
} else {
AliError("GetDeadAndNoisyInChip: did not find Calib/SPDNoisy.");
return;
}
UInt_t mod=GetModFromKey(key);
UInt_t chip=GetChipFromKey(key);
AliITSCalibrationSPD* calibSPD=(AliITSCalibrationSPD*) spdDead->At(mod);
UInt_t nrDead = calibSPD->GetNrBad();
for (UInt_t index=0; index<nrDead; index++) {
if(GetChipFromCol(calibSPD->GetBadColAt(index))==chip) nrDeadInChip++;
}
calibSPD=(AliITSCalibrationSPD*) spdSparseDead->At(mod);
UInt_t nrSparseDead = calibSPD->GetNrBad();
for (UInt_t index=0; index<nrSparseDead; index++) {
if(GetChipFromCol(calibSPD->GetBadColAt(index))==chip) nrDeadInChip++;
}
calibSPD=(AliITSCalibrationSPD*) spdNoisy->At(mod);
UInt_t nrNoisy = calibSPD->GetNrBad();
for (UInt_t index=0; index<nrNoisy; index++) {
if(GetChipFromCol(calibSPD->GetBadColAt(index))==chip) nrNoisyInChip++;
}
return;
}
Double_t AliITSPlaneEffSPD::GetFracBad(const UInt_t key) const {
if(key>=kNModule*kNChip)
{AliError("GetFracBad: you asked for a non existing key");
return -1.;}
return 1.-GetFracLive(key);
}
Bool_t AliITSPlaneEffSPD::WriteIntoCDB() const {
if(!fInitCDBCalled)
{AliError("WriteIntoCDB: CDB not inizialized. Call InitCDB first");
return kFALSE;}
AliCDBMetaData *md= new AliCDBMetaData();
md->SetResponsible("Giuseppe Eugenio Bruno");
md->SetBeamPeriod(0);
md->SetAliRootVersion("head 19/11/07");
AliCDBId id("ITS/PlaneEff/PlaneEffSPD",0,AliCDBRunRange::Infinity());
AliITSPlaneEffSPD eff;
eff=*this;
Bool_t r=AliCDBManager::Instance()->GetDefaultStorage()->Put(&eff,id,md);
delete md;
return r;
}
Bool_t AliITSPlaneEffSPD::ReadFromCDB() {
if(!fInitCDBCalled)
{AliError("ReadFromCDB: CDB not inizialized. Call InitCDB first");
return kFALSE;}
AliCDBEntry *cdbEntry = AliCDBManager::Instance()->Get("ITS/PlaneEff/PlaneEffSPD",fRunNumber);
if(!cdbEntry) return kFALSE;
AliITSPlaneEffSPD* eff= (AliITSPlaneEffSPD*)cdbEntry->GetObject();
if(this==eff) return kFALSE;
if(fHis) CopyHistos(*eff);
eff->Copy(*this);
return kTRUE;
}
Bool_t AliITSPlaneEffSPD::AddFromCDB(AliCDBId *cdbId) {
AliCDBEntry *cdbEntry=0;
if (!cdbId) {
if(!fInitCDBCalled)
{AliError("ReadFromCDB: CDB not inizialized. Call InitCDB first"); return kFALSE;}
cdbEntry = AliCDBManager::Instance()->Get("ITS/PlaneEff/PlaneEffSPD",fRunNumber);
} else {
cdbEntry = AliCDBManager::Instance()->Get(*cdbId);
}
if(!cdbEntry) return kFALSE;
AliITSPlaneEffSPD* eff= (AliITSPlaneEffSPD*)cdbEntry->GetObject();
*this+=*eff;
return kTRUE;
}
UInt_t AliITSPlaneEffSPD::GetKeyFromDetLocCoord(Int_t ilay, Int_t idet,
Float_t, Float_t locz) const {
UInt_t key=999999;
if(ilay<0 || ilay>1)
{AliError("GetKeyFromDetLocCoord: you asked for a non existing layer");
return key;}
if(ilay==0 && (idet<0 || idet>79))
{AliError("GetKeyFromDetLocCoord: you asked for a non existing detector");
return key;}
if(ilay==1 && (idet<0 || idet>159))
{AliError("GetKeyFromDetLocCoord: you asked for a non existing detector");
return key;}
UInt_t mod=idet;
if(ilay==1) mod+=80;
key=GetKey(mod,GetChipFromCol(GetColFromLocZ(locz)));
return key;
}
UInt_t AliITSPlaneEffSPD::GetColFromLocZ(Float_t zloc) const {
UInt_t col=0;
AliITSsegmentationSPD spd;
Int_t ix,iz;
if(spd.LocalToDet(0,zloc,ix,iz)) col+=iz;
else {
AliDebug(1,Form("cannot compute column number from local z=%f",zloc));
col=99999;}
return col;
}
Bool_t AliITSPlaneEffSPD::GetBlockBoundaries(const UInt_t key, Float_t& xmn,Float_t& xmx,
Float_t& zmn,Float_t& zmx) const {
if(key>=kNModule*kNChip)
{AliDebug(1,"GetBlockBoundaries: you asked for a non existing key"); return kFALSE;}
UInt_t chip=GetChipFromKey(key);
zmn=GetLocZFromCol(chip*kNCol);
zmx=GetLocZFromCol((chip+1)*kNCol);
xmn=GetLocXFromRow(0);
xmx=GetLocXFromRow(kNRow);
Float_t tmp=zmn;
if(zmx<zmn) {zmn=zmx; zmx=tmp;}
tmp=xmn;
if(xmx<xmn) {xmn=xmx; xmx=tmp;}
return kTRUE;
}
Float_t AliITSPlaneEffSPD::GetLocXFromRow(const UInt_t row) const {
if(row>kNRow)
{AliError("LocYFromRow: you asked for a non existing row"); return 9999999.;}
AliITSsegmentationSPD spd;
Double_t dummy,x;
if(row==kNRow) spd.CellBoundries((Int_t)row-1,0,dummy,x,dummy,dummy);
else spd.CellBoundries((Int_t)row,0,x,dummy,dummy,dummy);
return (Float_t)x;
}
Float_t AliITSPlaneEffSPD::GetLocZFromCol(const UInt_t col) const {
if(col>kNChip*kNCol)
{AliError("LocZFromCol: you asked for a non existing column"); return 9999999.;}
AliITSsegmentationSPD spd;
Double_t dummy,y;
if(col==kNChip*kNCol) spd.CellBoundries(0,(Int_t)col-1,dummy,dummy,dummy,y);
else spd.CellBoundries(0,(Int_t)col,dummy,dummy,y,dummy);
return (Float_t)y;
}
void AliITSPlaneEffSPD::InitHistos() {
TString histnameResX="HistResX_mod_",aux;
TString histnameResZ="HistResZ_mod_";
TString histnameResXZ="HistResXZ_mod_";
TString histnameClusterType="HistClusterType_mod_";
TString histnameResXclu="HistResX_mod_";
TString histnameResZclu="HistResZ_mod_";
TString histnameResXchip="HistResX_mod_";
TString histnameResZchip="HistResZ_mod_";
TString profnameResXvsPhi="ProfResXvsPhi_mod_";
TString profnameResZvsDip="ProfResZvsDip_mod_";
TString profnameResXvsPhiclu="ProfResXvsPhi_mod_";
TString profnameResZvsDipclu="ProfResZvsDip_mod_";
TString histnameTrackErrX="HistTrackErrX_mod_";
TString histnameTrackErrZ="HistTrackErrZ_mod_";
TString histnameClusErrX="HistClusErrX_mod_";
TString histnameClusErrZ="HistClusErrZ_mod_";
TString histnameTrackXFOtrue="HistTrackXFOok_mod_";
TString histnameTrackZFOtrue="HistTrackZFOok_mod_";
TString histnameTrackXFOfalse="HistTrackXFOko_mod_";
TString histnameTrackZFOfalse="HistTrackZFOko_mod_";
TString histnameTrackXZFOtrue="HistTrackZvsXFOok_mod_";
TString histnameTrackXZFOfalse="HistTrackZvsXFOko_mod_";
TH1::AddDirectory(kFALSE);
fHisResX=new TH1F*[kNHisto];
fHisResZ=new TH1F*[kNHisto];
fHisResXZ=new TH2F*[kNHisto];
fHisClusterSize=new TH2I*[kNHisto];
fHisResXclu=new TH1F**[kNHisto];
fHisResZclu=new TH1F**[kNHisto];
fHisResXchip=new TH1F**[kNHisto];
fHisResZchip=new TH1F**[kNHisto];
fProfResXvsPhi=new TProfile*[kNHisto];
fProfResZvsDip=new TProfile*[kNHisto];
fProfResXvsPhiclu=new TProfile**[kNHisto];
fProfResZvsDipclu=new TProfile**[kNHisto];
fHisTrackErrX=new TH1F*[kNHisto];
fHisTrackErrZ=new TH1F*[kNHisto];
fHisClusErrX=new TH1F*[kNHisto];
fHisClusErrZ=new TH1F*[kNHisto];
fHisTrackXFOtrue=new TH1F**[kNHisto];
fHisTrackZFOtrue=new TH1F**[kNHisto];
fHisTrackXFOfalse=new TH1F**[kNHisto];
fHisTrackZFOfalse=new TH1F**[kNHisto];
fHisTrackXZFOtrue=new TH2F**[kNHisto];
fHisTrackXZFOfalse=new TH2F**[kNHisto];
for (Int_t nhist=0;nhist<kNHisto;nhist++){
aux=histnameResX;
aux+=nhist;
fHisResX[nhist]=new TH1F("histname","histname",1600,-0.32,0.32);
fHisResX[nhist]->SetName(aux.Data());
fHisResX[nhist]->SetTitle(aux.Data());
aux=histnameResZ;
aux+=nhist;
fHisResZ[nhist]=new TH1F("histname","histname",1200,-0.48,0.48);
fHisResZ[nhist]->SetName(aux.Data());
fHisResZ[nhist]->SetTitle(aux.Data());
aux=histnameResXZ;
aux+=nhist;
fHisResXZ[nhist]=new TH2F("histname","histname",80,-0.16,0.16,80,-0.32,0.32);
fHisResXZ[nhist]->SetName(aux.Data());
fHisResXZ[nhist]->SetTitle(aux.Data());
aux=histnameClusterType;
aux+=nhist;
fHisClusterSize[nhist]=new TH2I("histname","histname",10,0.5,10.5,10,0.5,10.5);
fHisClusterSize[nhist]->SetName(aux.Data());
fHisClusterSize[nhist]->SetTitle(aux.Data());
fHisResXclu[nhist]=new TH1F*[kNclu];
fHisResZclu[nhist]=new TH1F*[kNclu];
fHisTrackXFOtrue[nhist]=new TH1F*[kNClockPhase];
fHisTrackZFOtrue[nhist]=new TH1F*[kNClockPhase];
fHisTrackXFOfalse[nhist]=new TH1F*[kNClockPhase];
fHisTrackZFOfalse[nhist]=new TH1F*[kNClockPhase];
fHisTrackXZFOtrue[nhist]=new TH2F*[kNClockPhase];
fHisTrackXZFOfalse[nhist]=new TH2F*[kNClockPhase];
for(Int_t clu=0; clu<kNclu; clu++) {
aux=histnameResXclu;
aux+=nhist;
aux+="_clu_";
aux+=clu+1;
fHisResXclu[nhist][clu]=new TH1F("histname","histname",1600,-0.32,0.32);
fHisResXclu[nhist][clu]->SetName(aux.Data());
fHisResXclu[nhist][clu]->SetTitle(aux.Data());
aux=histnameResZclu;
aux+=nhist;
aux+="_clu_";
aux+=clu+1;
fHisResZclu[nhist][clu]=new TH1F("histname","histname",1200,-0.48,0.48);
fHisResZclu[nhist][clu]->SetName(aux.Data());
fHisResZclu[nhist][clu]->SetTitle(aux.Data());
}
fHisResXchip[nhist]=new TH1F*[kNChip];
fHisResZchip[nhist]=new TH1F*[kNChip];
for(Int_t chip=0; chip<kNChip; chip++) {
aux=histnameResXchip;
aux+=nhist;
aux+="_chip_";
aux+=chip;
fHisResXchip[nhist][chip]=new TH1F("histname","histname",800,-0.32,0.32);
fHisResXchip[nhist][chip]->SetName(aux.Data());
fHisResXchip[nhist][chip]->SetTitle(aux.Data());
aux=histnameResZchip;
aux+=nhist;
aux+="_chip_";
aux+=chip;
fHisResZchip[nhist][chip]=new TH1F("histname","histname",300,-0.48,0.48);
fHisResZchip[nhist][chip]->SetName(aux.Data());
fHisResZchip[nhist][chip]->SetTitle(aux.Data());
}
aux=histnameTrackErrX;
aux+=nhist;
fHisTrackErrX[nhist]=new TH1F("histname","histname",400,0.,0.32);
fHisTrackErrX[nhist]->SetName(aux.Data());
fHisTrackErrX[nhist]->SetTitle(aux.Data());
aux=histnameTrackErrZ;
aux+=nhist;
fHisTrackErrZ[nhist]=new TH1F("histname","histname",200,0.,0.32);
fHisTrackErrZ[nhist]->SetName(aux.Data());
fHisTrackErrZ[nhist]->SetTitle(aux.Data());
aux=histnameClusErrX;
aux+=nhist;
fHisClusErrX[nhist]=new TH1F("histname","histname",400,0.,0.08);
fHisClusErrX[nhist]->SetName(aux.Data());
fHisClusErrX[nhist]->SetTitle(aux.Data());
aux=histnameClusErrZ;
aux+=nhist;
fHisClusErrZ[nhist]=new TH1F("histname","histname",400,0.,0.32);
fHisClusErrZ[nhist]->SetName(aux.Data());
fHisClusErrZ[nhist]->SetTitle(aux.Data());
aux=profnameResXvsPhi;
aux+=nhist;
fProfResXvsPhi[nhist]=new TProfile("histname","histname",40,-40.,40.0);
fProfResXvsPhi[nhist]->SetName(aux.Data());
fProfResXvsPhi[nhist]->SetTitle(aux.Data());
aux=profnameResZvsDip;
aux+=nhist;
fProfResZvsDip[nhist]=new TProfile("histname","histname",48,-72.,72.0);
fProfResZvsDip[nhist]->SetName(aux.Data());
fProfResZvsDip[nhist]->SetTitle(aux.Data());
fProfResXvsPhiclu[nhist]=new TProfile*[kNclu];
fProfResZvsDipclu[nhist]=new TProfile*[kNclu];
for(Int_t clu=0; clu<kNclu; clu++) {
aux=profnameResXvsPhiclu;
aux+=nhist;
aux+="_clu_";
aux+=clu+1;
fProfResXvsPhiclu[nhist][clu]=new TProfile("histname","histname",40,-40.,40.0);
fProfResXvsPhiclu[nhist][clu]->SetName(aux.Data());
fProfResXvsPhiclu[nhist][clu]->SetTitle(aux.Data());
aux=profnameResZvsDipclu;
aux+=nhist;
aux+="_clu_";
aux+=clu+1;
fProfResZvsDipclu[nhist][clu]= new TProfile("histname","histname",48,-72.,72.0);
fProfResZvsDipclu[nhist][clu]->SetName(aux.Data());
fProfResZvsDipclu[nhist][clu]->SetTitle(aux.Data());
}
fHisTrackXFOtrue[nhist]=new TH1F*[kNClockPhase];
fHisTrackZFOtrue[nhist]=new TH1F*[kNClockPhase];
fHisTrackXFOfalse[nhist]=new TH1F*[kNClockPhase];
fHisTrackZFOfalse[nhist]=new TH1F*[kNClockPhase];
fHisTrackXZFOtrue[nhist]=new TH2F*[kNClockPhase];
fHisTrackXZFOfalse[nhist]=new TH2F*[kNClockPhase];
for(Int_t phas=0; phas<kNClockPhase;phas++){
aux=histnameTrackXFOtrue;
aux+=nhist;
aux+="_BCmod4_";
aux+=phas;
fHisTrackXFOtrue[nhist][phas]=new TH1F("histname","histname",128,-0.64,0.64);
fHisTrackXFOtrue[nhist][phas]->SetName(aux.Data());
fHisTrackXFOtrue[nhist][phas]->SetTitle(aux.Data());
aux=histnameTrackZFOtrue;
aux+=nhist;
aux+="_BCmod4_";
aux+=phas;
fHisTrackZFOtrue[nhist][phas]=new TH1F("histname","histname",350,-3.5,3.5);
fHisTrackZFOtrue[nhist][phas]->SetName(aux.Data());
fHisTrackZFOtrue[nhist][phas]->SetTitle(aux.Data());
aux=histnameTrackXFOfalse;
aux+=nhist;
aux+="_BCmod4_";
aux+=phas;
fHisTrackXFOfalse[nhist][phas]=new TH1F("histname","histname",128,-0.64,0.64);
fHisTrackXFOfalse[nhist][phas]->SetName(aux.Data());
fHisTrackXFOfalse[nhist][phas]->SetTitle(aux.Data());
aux=histnameTrackZFOfalse;
aux+=nhist;
aux+="_BCmod4_";
aux+=phas;
fHisTrackZFOfalse[nhist][phas]=new TH1F("histname","histname",350,-3.5,3.5);
fHisTrackZFOfalse[nhist][phas]->SetName(aux.Data());
fHisTrackZFOfalse[nhist][phas]->SetTitle(aux.Data());
aux=histnameTrackXZFOtrue;
aux+=nhist;
aux+="_BCmod4_";
aux+=phas;
fHisTrackXZFOtrue[nhist][phas]=new TH2F("histname","histname",22,-3.5,3.5,32,-0.64,0.64);
fHisTrackXZFOtrue[nhist][phas]->SetName(aux.Data());
fHisTrackXZFOtrue[nhist][phas]->SetTitle(aux.Data());
aux=histnameTrackXZFOfalse;
aux+=nhist;
aux+="_BCmod4_";
aux+=phas;
fHisTrackXZFOfalse[nhist][phas]=new TH2F("histname","histname",22,-3.5,3.5,32,-0.64,0.64);
fHisTrackXZFOfalse[nhist][phas]->SetName(aux.Data());
fHisTrackXZFOfalse[nhist][phas]->SetTitle(aux.Data());
}
}
TH1::AddDirectory(kTRUE);
return;
}
void AliITSPlaneEffSPD::DeleteHistos() {
if(fHisResX) {
for (Int_t i=0; i<kNHisto; i++ ) delete fHisResX[i];
delete [] fHisResX; fHisResX=0;
}
if(fHisResZ) {
for (Int_t i=0; i<kNHisto; i++ ) delete fHisResZ[i];
delete [] fHisResZ; fHisResZ=0;
}
if(fHisResXZ) {
for (Int_t i=0; i<kNHisto; i++ ) delete fHisResXZ[i];
delete [] fHisResXZ; fHisResXZ=0;
}
if(fHisClusterSize) {
for (Int_t i=0; i<kNHisto; i++ ) delete fHisClusterSize[i];
delete [] fHisClusterSize; fHisClusterSize=0;
}
if(fHisResXclu) {
for (Int_t i=0; i<kNHisto; i++ ) {
for (Int_t clu=0; clu<kNclu; clu++) if (fHisResXclu[i][clu]) delete fHisResXclu[i][clu];
delete [] fHisResXclu[i];
}
delete [] fHisResXclu;
fHisResXclu = 0;
}
if(fHisResZclu) {
for (Int_t i=0; i<kNHisto; i++ ) {
for (Int_t clu=0; clu<kNclu; clu++) if (fHisResZclu[i][clu]) delete fHisResZclu[i][clu];
delete [] fHisResZclu[i];
}
delete [] fHisResZclu;
fHisResZclu = 0;
}
if(fHisResXchip) {
for (Int_t i=0; i<kNHisto; i++ ) {
for (Int_t chip=0; chip<kNChip; chip++) if (fHisResXchip[i][chip]) delete fHisResXchip[i][chip];
delete [] fHisResXchip[i];
}
delete [] fHisResXchip;
fHisResXchip = 0;
}
if(fHisResZchip) {
for (Int_t i=0; i<kNHisto; i++ ) {
for (Int_t chip=0; chip<kNChip; chip++) if (fHisResZchip[i][chip]) delete fHisResZchip[i][chip];
delete [] fHisResZchip[i];
}
delete [] fHisResZchip;
fHisResZchip = 0;
}
if(fHisTrackErrX) {
for (Int_t i=0; i<kNHisto; i++ ) delete fHisTrackErrX[i];
delete [] fHisTrackErrX; fHisTrackErrX=0;
}
if(fHisTrackErrZ) {
for (Int_t i=0; i<kNHisto; i++ ) delete fHisTrackErrZ[i];
delete [] fHisTrackErrZ; fHisTrackErrZ=0;
}
if(fHisClusErrX) {
for (Int_t i=0; i<kNHisto; i++ ) delete fHisClusErrX[i];
delete [] fHisClusErrX; fHisClusErrX=0;
}
if(fHisClusErrZ) {
for (Int_t i=0; i<kNHisto; i++ ) delete fHisClusErrZ[i];
delete [] fHisClusErrZ; fHisClusErrZ=0;
}
if(fProfResXvsPhi) {
for (Int_t i=0; i<kNHisto; i++ ) delete fProfResXvsPhi[i];
delete [] fProfResXvsPhi; fProfResXvsPhi=0;
}
if(fProfResZvsDip) {
for (Int_t i=0; i<kNHisto; i++ ) delete fProfResZvsDip[i];
delete [] fProfResZvsDip; fProfResZvsDip=0;
}
if(fProfResXvsPhiclu) {
for (Int_t i=0; i<kNHisto; i++ ) {
for (Int_t clu=0; clu<kNclu; clu++) if (fProfResXvsPhiclu[i][clu]) delete fProfResXvsPhiclu[i][clu];
delete [] fProfResXvsPhiclu[i];
}
delete [] fProfResXvsPhiclu;
fProfResXvsPhiclu = 0;
}
if(fProfResZvsDipclu) {
for (Int_t i=0; i<kNHisto; i++ ) {
for (Int_t clu=0; clu<kNclu; clu++) if (fProfResZvsDipclu[i][clu]) delete fProfResZvsDipclu[i][clu];
delete [] fProfResZvsDipclu[i];
}
delete [] fProfResZvsDipclu;
fProfResZvsDipclu = 0;
}
if(fHisTrackXFOtrue) {
for (Int_t i=0; i<kNHisto; i++ ) {
for (Int_t phas=0; phas<kNClockPhase; phas++) if (fHisTrackXFOtrue[i][phas]) delete fHisTrackXFOtrue[i][phas];
delete [] fHisTrackXFOtrue[i];
}
delete [] fHisTrackXFOtrue;
fHisTrackXFOtrue = 0;
}
if(fHisTrackZFOtrue) {
for (Int_t i=0; i<kNHisto; i++ ) {
for (Int_t phas=0; phas<kNClockPhase; phas++) if (fHisTrackZFOtrue[i][phas]) delete fHisTrackZFOtrue[i][phas];
delete [] fHisTrackZFOtrue[i];
}
delete [] fHisTrackZFOtrue;
fHisTrackZFOtrue = 0;
}
if(fHisTrackXFOfalse) {
for (Int_t i=0; i<kNHisto; i++ ) {
for (Int_t phas=0; phas<kNClockPhase; phas++) if (fHisTrackXFOfalse[i][phas]) delete fHisTrackXFOfalse[i][phas];
delete [] fHisTrackXFOfalse[i];
}
delete [] fHisTrackXFOfalse;
fHisTrackXFOfalse = 0;
}
if(fHisTrackZFOfalse) {
for (Int_t i=0; i<kNHisto; i++ ) {
for (Int_t phas=0; phas<kNClockPhase; phas++) if (fHisTrackZFOfalse[i][phas]) delete fHisTrackZFOfalse[i][phas];
delete [] fHisTrackZFOfalse[i];
}
delete [] fHisTrackZFOfalse;
fHisTrackZFOfalse = 0;
}
return;
}
Bool_t AliITSPlaneEffSPD::FillHistos(UInt_t key, Bool_t found,
Float_t *tr, Float_t *clu, Int_t *csize, Float_t *angtrkmod) {
if(key>=kNModule*kNChip*(kNClockPhase+1))
{AliError("GetChipFromKey: you asked for a non existing key"); return kFALSE;}
if(key<kNModule*kNChip) return FillHistosStd(key,found,tr,clu,csize,angtrkmod);
else return FillHistosFO(key,found,tr);
return kFALSE;
}
Bool_t AliITSPlaneEffSPD::FillHistosFO(UInt_t key, Bool_t found, Float_t *tr) {
if (!fHis) {
AliWarning("FillHistos: histograms do not exist! Call SetCreateHistos(kTRUE) first");
return kFALSE;
}
if(key>=kNModule*kNChip*(kNClockPhase+1))
{AliWarning("FillHistos: you asked for a non existing key"); return kFALSE;}
if(key<kNModule*kNChip)
{AliWarning("FillHistos: you asked for a key which is not for FO studies"); return kFALSE;}
Int_t id=GetModFromKey(key);
Int_t BCm4=GetBCm4FromKey(key);
if(id>=kNHisto)
{AliWarning("FillHistos: you want to fill a non-existing histos"); return kFALSE;}
if(found) {
fHisTrackXFOtrue[id][BCm4]->Fill(tr[0]);
fHisTrackZFOtrue[id][BCm4]->Fill(tr[1]);
fHisTrackXZFOtrue[id][BCm4]->Fill(tr[1],tr[0]);
}
else {
fHisTrackXFOfalse[id][BCm4]->Fill(tr[0]);
fHisTrackZFOfalse[id][BCm4]->Fill(tr[1]);
fHisTrackXZFOfalse[id][BCm4]->Fill(tr[1],tr[0]);
}
return kTRUE;
}
Bool_t AliITSPlaneEffSPD::FillHistosStd(UInt_t key, Bool_t found,
Float_t *tr, Float_t *clu, Int_t *csize, Float_t *angtrkmod) {
if (!fHis) {
AliWarning("FillHistos: histograms do not exist! Call SetCreateHistos(kTRUE) first");
return kFALSE;
}
if(key>=kNModule*kNChip)
{AliWarning("FillHistos: you asked for a non existing key"); return kFALSE;}
Int_t id=GetModFromKey(key);
Int_t chip=GetChipFromKey(key);
if(id>=kNHisto)
{AliWarning("FillHistos: you want to fill a non-existing histos"); return kFALSE;}
if(found) {
Float_t resx=tr[0]-clu[0];
Float_t resz=tr[1]-clu[1];
fHisResX[id]->Fill(resx);
fHisResZ[id]->Fill(resz);
fHisResXZ[id]->Fill(resx,resz);
fHisClusterSize[id]->Fill((Double_t)csize[0],(Double_t)csize[1]);
if(csize[0]>0 && csize[0]<=kNclu) fHisResXclu[id][csize[0]-1]->Fill(resx);
if(csize[1]>0 && csize[1]<=kNclu) fHisResZclu[id][csize[1]-1]->Fill(resz);
fHisResXchip[id][chip]->Fill(resx);
fHisResZchip[id][chip]->Fill(resz);
fProfResXvsPhi[id]->Fill(angtrkmod[0],resx);
fProfResZvsDip[id]->Fill(angtrkmod[1],resz);
if(csize[0]>0 && csize[0]<=kNclu) fProfResXvsPhiclu[id][csize[0]-1]->Fill(angtrkmod[0],resx);
if(csize[1]>0 && csize[1]<=kNclu) fProfResZvsDipclu[id][csize[1]-1]->Fill(angtrkmod[1],resz);
}
fHisTrackErrX[id]->Fill(tr[2]);
fHisTrackErrZ[id]->Fill(tr[3]);
fHisClusErrX[id]->Fill(clu[2]);
fHisClusErrZ[id]->Fill(clu[3]);
return kTRUE;
}
Bool_t AliITSPlaneEffSPD::WriteHistosToFile(TString filename, Option_t* option) {
if (!fHis) return kFALSE;
if (filename.IsNull() || filename.IsWhitespace()) {
AliWarning("WriteHistosToFile: null output filename!");
return kFALSE;
}
char branchname[51];
TFile *hFile=new TFile(filename.Data(),option,
"The File containing the TREEs with ITS PlaneEff Histos");
TTree *SPDTree=new TTree("SPDTree","Tree whith Residuals and Cluster Type distributions for SPD");
TH1F *histZ,*histX;
TH2F *histXZ;
TH2I *histClusterType;
TH1F *histXclu[kNclu];
TH1F *histZclu[kNclu];
TH1F *histXchip[kNChip];
TH1F *histZchip[kNChip];
TH1F *histTrErrZ,*histTrErrX;
TH1F *histClErrZ,*histClErrX;
TProfile *profXvsPhi,*profZvsDip;
TProfile *profXvsPhiclu[kNclu],*profZvsDipclu[kNclu];
TH1F *histXtrkFOtrue[kNClockPhase];
TH1F *histZtrkFOtrue[kNClockPhase];
TH1F *histXtrkFOfalse[kNClockPhase];
TH1F *histZtrkFOfalse[kNClockPhase];
TH2F *histXZtrkFOtrue[kNClockPhase];
TH2F *histXZtrkFOfalse[kNClockPhase];
histZ=new TH1F();
histX=new TH1F();
histXZ=new TH2F();
histClusterType=new TH2I();
for(Int_t clu=0;clu<kNclu;clu++) {
histXclu[clu]=new TH1F();
histZclu[clu]=new TH1F();
}
for(Int_t chip=0;chip<kNChip;chip++) {
histXchip[chip]=new TH1F();
histZchip[chip]=new TH1F();
}
histTrErrX=new TH1F();
histTrErrZ=new TH1F();
histClErrX=new TH1F();
histClErrZ=new TH1F();
profXvsPhi=new TProfile();
profZvsDip=new TProfile();
for(Int_t clu=0;clu<kNclu;clu++) {
profXvsPhiclu[clu]=new TProfile();
profZvsDipclu[clu]=new TProfile();
}
for(Int_t phas=0; phas<kNClockPhase;phas++){
histXtrkFOtrue[phas]=new TH1F();
histZtrkFOtrue[phas]=new TH1F();
histXtrkFOfalse[phas]=new TH1F();
histZtrkFOfalse[phas]=new TH1F();
histXZtrkFOtrue[phas]=new TH2F();
histXZtrkFOfalse[phas]=new TH2F();
}
SPDTree->Branch("histX","TH1F",&histX,128000,0);
SPDTree->Branch("histZ","TH1F",&histZ,128000,0);
SPDTree->Branch("histXZ","TH2F",&histXZ,128000,0);
SPDTree->Branch("histClusterType","TH2I",&histClusterType,128000,0);
for(Int_t clu=0;clu<kNclu;clu++) {
snprintf(branchname,50,"histXclu_%d",clu+1);
SPDTree->Branch(branchname,"TH1F",&histXclu[clu],128000,0);
snprintf(branchname,50,"histZclu_%d",clu+1);
SPDTree->Branch(branchname,"TH1F",&histZclu[clu],128000,0);
}
for(Int_t chip=0;chip<kNChip;chip++) {
snprintf(branchname,50,"histXchip_%d",chip);
SPDTree->Branch(branchname,"TH1F",&histXchip[chip],128000,0);
snprintf(branchname,50,"histZchip_%d",chip);
SPDTree->Branch(branchname,"TH1F",&histZchip[chip],128000,0);
}
SPDTree->Branch("histTrErrX","TH1F",&histTrErrX,128000,0);
SPDTree->Branch("histTrErrZ","TH1F",&histTrErrZ,128000,0);
SPDTree->Branch("histClErrX","TH1F",&histClErrX,128000,0);
SPDTree->Branch("histClErrZ","TH1F",&histClErrZ,128000,0);
SPDTree->Branch("profXvsPhi","TProfile",&profXvsPhi,128000,0);
SPDTree->Branch("profZvsDip","TProfile",&profZvsDip,128000,0);
for(Int_t clu=0;clu<kNclu;clu++) {
snprintf(branchname,50,"profXvsPhiclu_%d",clu+1);
SPDTree->Branch(branchname,"TProfile",&profXvsPhiclu[clu],128000,0);
snprintf(branchname,50,"profZvsDipclu_%d",clu+1);
SPDTree->Branch(branchname,"TProfile",&profZvsDipclu[clu],128000,0);
}
for(Int_t phas=0; phas<kNClockPhase;phas++){
snprintf(branchname,50,"histTrXFOokBCmod4_%d",phas);
SPDTree->Branch(branchname,"TH1F",&histXtrkFOtrue[phas],128000,0);
snprintf(branchname,50,"histTrZFOokBCmod4_%d",phas);
SPDTree->Branch(branchname,"TH1F",&histZtrkFOtrue[phas],128000,0);
snprintf(branchname,50,"histTrXFOkoBCmod4_%d",phas);
SPDTree->Branch(branchname,"TH1F",&histXtrkFOfalse[phas],128000,0);
snprintf(branchname,50,"histTrZFOkoBCmod4_%d",phas);
SPDTree->Branch(branchname,"TH1F",&histZtrkFOfalse[phas],128000,0);
snprintf(branchname,50,"histTrXZFOokBCmod4_%d",phas);
SPDTree->Branch(branchname,"TH2F",&histXZtrkFOtrue[phas],128000,0);
snprintf(branchname,50,"histTrXZFOkoBCmod4_%d",phas);
SPDTree->Branch(branchname,"TH2F",&histXZtrkFOfalse[phas],128000,0);
}
for(Int_t j=0;j<kNHisto;j++){
histX=fHisResX[j];
histZ=fHisResZ[j];
histXZ=fHisResXZ[j];
histClusterType=fHisClusterSize[j];
for(Int_t clu=0;clu<kNclu;clu++) {
histXclu[clu]=fHisResXclu[j][clu];
histZclu[clu]=fHisResZclu[j][clu];
}
for(Int_t chip=0;chip<kNChip;chip++) {
histXchip[chip]=fHisResXchip[j][chip];
histZchip[chip]=fHisResZchip[j][chip];
}
histTrErrX=fHisTrackErrX[j];
histTrErrZ=fHisTrackErrZ[j];
histClErrX=fHisClusErrX[j];
histClErrZ=fHisClusErrZ[j];
profXvsPhi=fProfResXvsPhi[j];
profZvsDip=fProfResZvsDip[j];
for(Int_t clu=0;clu<kNclu;clu++) {
profXvsPhiclu[clu]=fProfResXvsPhiclu[j][clu];
profZvsDipclu[clu]=fProfResZvsDipclu[j][clu];
}
for(Int_t phas=0; phas<kNClockPhase;phas++){
histXtrkFOtrue[phas]=fHisTrackXFOtrue[j][phas];
histZtrkFOtrue[phas]=fHisTrackZFOtrue[j][phas];
histXtrkFOfalse[phas]=fHisTrackXFOfalse[j][phas];
histZtrkFOfalse[phas]=fHisTrackZFOfalse[j][phas];
histXZtrkFOtrue[phas]=fHisTrackXZFOtrue[j][phas];
histXZtrkFOfalse[phas]=fHisTrackXZFOfalse[j][phas];
}
SPDTree->Fill();
}
hFile->Write();
hFile->Close();
return kTRUE;
}
Bool_t AliITSPlaneEffSPD::ReadHistosFromFile(TString filename) {
if (!fHis) return kFALSE;
if (filename.IsNull() || filename.IsWhitespace()) {
AliWarning("ReadHistosFromFile: incorrect output filename!");
return kFALSE;
}
char branchname[51];
TH1F *h = 0;
TH2F *h2 = 0;
TH2I *h2i= 0;
TProfile *p = 0;
TFile *file=TFile::Open(filename.Data(),"READONLY");
if (!file || file->IsZombie()) {
AliWarning(Form("Can't open %s !",filename.Data()));
delete file;
return kFALSE;
}
TTree *tree = (TTree*) file->Get("SPDTree");
TBranch *histX = (TBranch*) tree->GetBranch("histX");
TBranch *histZ = (TBranch*) tree->GetBranch("histZ");
TBranch *histXZ = (TBranch*) tree->GetBranch("histXZ");
TBranch *histClusterType = (TBranch*) tree->GetBranch("histClusterType");
TBranch *histXclu[kNclu], *histZclu[kNclu];
for(Int_t clu=0; clu<kNclu; clu++) {
snprintf(branchname,50,"histXclu_%d",clu+1);
histXclu[clu]= (TBranch*) tree->GetBranch(branchname);
snprintf(branchname,50,"histZclu_%d",clu+1);
histZclu[clu]= (TBranch*) tree->GetBranch(branchname);
}
TBranch *histXchip[kNChip], *histZchip[kNChip];
for(Int_t chip=0; chip<kNChip; chip++) {
snprintf(branchname,50,"histXchip_%d",chip);
histXchip[chip]= (TBranch*) tree->GetBranch(branchname);
snprintf(branchname,50,"histZchip_%d",chip);
histZchip[chip]= (TBranch*) tree->GetBranch(branchname);
}
TBranch *histTrErrX = (TBranch*) tree->GetBranch("histTrErrX");
TBranch *histTrErrZ = (TBranch*) tree->GetBranch("histTrErrZ");
TBranch *histClErrX = (TBranch*) tree->GetBranch("histClErrX");
TBranch *histClErrZ = (TBranch*) tree->GetBranch("histClErrZ");
TBranch *profXvsPhi = (TBranch*) tree->GetBranch("profXvsPhi");
TBranch *profZvsDip = (TBranch*) tree->GetBranch("profZvsDip");
TBranch *profXvsPhiclu[kNclu], *profZvsDipclu[kNclu];
for(Int_t clu=0; clu<kNclu; clu++) {
snprintf(branchname,50,"profXvsPhiclu_%d",clu+1);
profXvsPhiclu[clu]= (TBranch*) tree->GetBranch(branchname);
snprintf(branchname,50,"profZvsDipclu_%d",clu+1);
profZvsDipclu[clu]= (TBranch*) tree->GetBranch(branchname);
}
TBranch *histXtrkFOtrue[kNClockPhase], *histZtrkFOtrue[kNClockPhase],
*histXtrkFOfalse[kNClockPhase], *histZtrkFOfalse[kNClockPhase],
*histXZtrkFOtrue[kNClockPhase], *histXZtrkFOfalse[kNClockPhase];
for(Int_t phas=0; phas<kNClockPhase;phas++){
snprintf(branchname,50,"histTrXFOokBCmod4_%d",phas);
histXtrkFOtrue[phas] = (TBranch*) tree->GetBranch(branchname);
snprintf(branchname,50,"histTrZFOokBCmod4_%d",phas);
histZtrkFOtrue[phas] = (TBranch*) tree->GetBranch(branchname);
snprintf(branchname,50,"histTrXFOkoBCmod4_%d",phas);
histXtrkFOfalse[phas] = (TBranch*) tree->GetBranch(branchname);
snprintf(branchname,50,"histTrZFOkoBCmod4_%d",phas);
histZtrkFOfalse[phas] = (TBranch*) tree->GetBranch(branchname);
snprintf(branchname,50,"histTrXZFOokBCmod4_%d",phas);
histXZtrkFOtrue[phas] = (TBranch*) tree->GetBranch(branchname);
snprintf(branchname,50,"histTrXZFOkoBCmod4_%d",phas);
histXZtrkFOfalse[phas] = (TBranch*) tree->GetBranch(branchname);
}
gROOT->cd();
Int_t nevent = (Int_t)histX->GetEntries();
if(nevent!=kNHisto)
{AliWarning("ReadHistosFromFile: trying to read too many or too few histos!"); return kFALSE;}
histX->SetAddress(&h);
for(Int_t j=0;j<kNHisto;j++){
histX->GetEntry(j);
fHisResX[j]->Add(h);
}
nevent = (Int_t)histZ->GetEntries();
if(nevent!=kNHisto)
{AliWarning("ReadHistosFromFile: trying to read too many or too few histos!"); return kFALSE;}
histZ->SetAddress(&h);
for(Int_t j=0;j<kNHisto;j++){
histZ->GetEntry(j);
fHisResZ[j]->Add(h);
}
nevent = (Int_t)histXZ->GetEntries();
if(nevent!=kNHisto)
{AliWarning("ReadHistosFromFile: trying to read too many or too few histos!"); return kFALSE;}
histXZ->SetAddress(&h2);
for(Int_t j=0;j<kNHisto;j++){
histXZ->GetEntry(j);
fHisResXZ[j]->Add(h2);
}
nevent = (Int_t)histClusterType->GetEntries();
if(nevent!=kNHisto)
{AliWarning("ReadHistosFromFile: trying to read too many or too few histos!"); return kFALSE;}
histClusterType->SetAddress(&h2i);
for(Int_t j=0;j<kNHisto;j++){
histClusterType->GetEntry(j);
fHisClusterSize[j]->Add(h2i);
}
for(Int_t clu=0; clu<kNclu; clu++) {
nevent = (Int_t)histXclu[clu]->GetEntries();
if(nevent!=kNHisto)
{AliWarning("ReadHistosFromFile: trying to read too many or too few histos!"); return kFALSE;}
histXclu[clu]->SetAddress(&h);
for(Int_t j=0;j<kNHisto;j++){
histXclu[clu]->GetEntry(j);
fHisResXclu[j][clu]->Add(h);
}
nevent = (Int_t)histZclu[clu]->GetEntries();
if(nevent!=kNHisto)
{AliWarning("ReadHistosFromFile: trying to read too many or too few histos!"); return kFALSE;}
histZclu[clu]->SetAddress(&h);
for(Int_t j=0;j<kNHisto;j++){
histZclu[clu]->GetEntry(j);
fHisResZclu[j][clu]->Add(h);
}
}
for(Int_t chip=0; chip<kNChip; chip++) {
nevent = (Int_t)histXchip[chip]->GetEntries();
if(nevent!=kNHisto)
{AliWarning("ReadHistosFromFile: trying to read too many or too few histos!"); return kFALSE;}
histXchip[chip]->SetAddress(&h);
for(Int_t j=0;j<kNHisto;j++){
histXchip[chip]->GetEntry(j);
fHisResXchip[j][chip]->Add(h);
}
nevent = (Int_t)histZchip[chip]->GetEntries();
if(nevent!=kNHisto)
{AliWarning("ReadHistosFromFile: trying to read too many or too few histos!"); return kFALSE;}
histZchip[chip]->SetAddress(&h);
for(Int_t j=0;j<kNHisto;j++){
histZchip[chip]->GetEntry(j);
fHisResZchip[j][chip]->Add(h);
}
}
nevent = (Int_t)histTrErrX->GetEntries();
if(nevent!=kNHisto)
{AliWarning("ReadHistosFromFile: trying to read too many or too few histos!"); return kFALSE;}
histTrErrX->SetAddress(&h);
for(Int_t j=0;j<kNHisto;j++){
histTrErrX->GetEntry(j);
fHisTrackErrX[j]->Add(h);
}
nevent = (Int_t)histTrErrZ->GetEntries();
if(nevent!=kNHisto)
{AliWarning("ReadHistosFromFile: trying to read too many or too few histos!"); return kFALSE;}
histTrErrZ->SetAddress(&h);
for(Int_t j=0;j<kNHisto;j++){
histTrErrZ->GetEntry(j);
fHisTrackErrZ[j]->Add(h);
}
nevent = (Int_t)histClErrX->GetEntries();
if(nevent!=kNHisto)
{AliWarning("ReadHistosFromFile: trying to read too many or too few histos!"); return kFALSE;}
histClErrX->SetAddress(&h);
for(Int_t j=0;j<kNHisto;j++){
histClErrX->GetEntry(j);
fHisClusErrX[j]->Add(h);
}
nevent = (Int_t)histClErrZ->GetEntries();
if(nevent!=kNHisto)
{AliWarning("ReadHistosFromFile: trying to read too many or too few histos!"); return kFALSE;}
histClErrZ->SetAddress(&h);
for(Int_t j=0;j<kNHisto;j++){
histClErrZ->GetEntry(j);
fHisClusErrZ[j]->Add(h);
}
nevent = (Int_t)profXvsPhi->GetEntries();
if(nevent!=kNHisto)
{AliWarning("ReadHistosFromFile: trying to read too many or too few histos!"); return kFALSE;}
profXvsPhi->SetAddress(&p);
for(Int_t j=0;j<kNHisto;j++){
profXvsPhi->GetEntry(j);
fProfResXvsPhi[j]->Add(p);
}
nevent = (Int_t)profZvsDip->GetEntries();
if(nevent!=kNHisto)
{AliWarning("ReadHistosFromFile: trying to read too many or too few histos!"); return kFALSE;}
profZvsDip->SetAddress(&p);
for(Int_t j=0;j<kNHisto;j++){
profZvsDip->GetEntry(j);
fProfResZvsDip[j]->Add(p);
}
for(Int_t clu=0; clu<kNclu; clu++) {
nevent = (Int_t)profXvsPhiclu[clu]->GetEntries();
if(nevent!=kNHisto)
{AliWarning("ReadHistosFromFile: trying to read too many or too few histos!"); return kFALSE;}
profXvsPhiclu[clu]->SetAddress(&p);
for(Int_t j=0;j<kNHisto;j++){
profXvsPhiclu[clu]->GetEntry(j);
fProfResXvsPhiclu[j][clu]->Add(p);
}
nevent = (Int_t)profZvsDipclu[clu]->GetEntries();
if(nevent!=kNHisto)
{AliWarning("ReadHistosFromFile: trying to read too many or too few histos!"); return kFALSE;}
profZvsDipclu[clu]->SetAddress(&p);
for(Int_t j=0;j<kNHisto;j++){
profZvsDipclu[clu]->GetEntry(j);
fProfResZvsDipclu[j][clu]->Add(p);
}
}
for(Int_t phas=0; phas<kNClockPhase;phas++){
nevent = (Int_t)histXtrkFOtrue[phas]->GetEntries();
if(nevent!=kNHisto)
{AliWarning("ReadHistosFromFile: trying to read too many or too few histos!"); return kFALSE;}
histXtrkFOtrue[phas]->SetAddress(&h);
for(Int_t j=0;j<kNHisto;j++){
histXtrkFOtrue[phas]->GetEntry(j);
fHisTrackXFOtrue[j][phas]->Add(h);
}
nevent = (Int_t)histZtrkFOtrue[phas]->GetEntries();
if(nevent!=kNHisto)
{AliWarning("ReadHistosFromFile: trying to read too many or too few histos!"); return kFALSE;}
histZtrkFOtrue[phas]->SetAddress(&h);
for(Int_t j=0;j<kNHisto;j++){
histZtrkFOtrue[phas]->GetEntry(j);
fHisTrackZFOtrue[j][phas]->Add(h);
}
nevent = (Int_t)histXtrkFOfalse[phas]->GetEntries();
if(nevent!=kNHisto)
{AliWarning("ReadHistosFromFile: trying to read too many or too few histos!"); return kFALSE;}
histXtrkFOfalse[phas]->SetAddress(&h);
for(Int_t j=0;j<kNHisto;j++){
histXtrkFOfalse[phas]->GetEntry(j);
fHisTrackXFOfalse[j][phas]->Add(h);
}
nevent = (Int_t)histZtrkFOfalse[phas]->GetEntries();
if(nevent!=kNHisto)
{AliWarning("ReadHistosFromFile: trying to read too many or too few histos!"); return kFALSE;}
histZtrkFOfalse[phas]->SetAddress(&h);
for(Int_t j=0;j<kNHisto;j++){
histZtrkFOfalse[phas]->GetEntry(j);
fHisTrackZFOfalse[j][phas]->Add(h);
}
nevent = (Int_t)histXZtrkFOtrue[phas]->GetEntries();
if(nevent!=kNHisto)
{AliWarning("ReadHistosFromFile: trying to read too many or too few histos!"); return kFALSE;}
histXZtrkFOtrue[phas]->SetAddress(&h2);
for(Int_t j=0;j<kNHisto;j++){
histXZtrkFOtrue[phas]->GetEntry(j);
fHisTrackXZFOtrue[j][phas]->Add(h2);
}
nevent = (Int_t)histXZtrkFOfalse[phas]->GetEntries();
if(nevent!=kNHisto)
{AliWarning("ReadHistosFromFile: trying to read too many or too few histos!"); return kFALSE;}
histXZtrkFOfalse[phas]->SetAddress(&h2);
for(Int_t j=0;j<kNHisto;j++){
histXZtrkFOfalse[phas]->GetEntry(j);
fHisTrackXZFOfalse[j][phas]->Add(h2);
}
}
delete h;
delete h2;
delete h2i;
delete p;
if (file) {
file->Close();
delete file;
}
return kTRUE;
}
AliITSPlaneEffSPD.cxx:100 AliITSPlaneEffSPD.cxx:101 AliITSPlaneEffSPD.cxx:102 AliITSPlaneEffSPD.cxx:103 AliITSPlaneEffSPD.cxx:104 AliITSPlaneEffSPD.cxx:105 AliITSPlaneEffSPD.cxx:106 AliITSPlaneEffSPD.cxx:107 AliITSPlaneEffSPD.cxx:108 AliITSPlaneEffSPD.cxx:109 AliITSPlaneEffSPD.cxx:110 AliITSPlaneEffSPD.cxx:111 AliITSPlaneEffSPD.cxx:112 AliITSPlaneEffSPD.cxx:113 AliITSPlaneEffSPD.cxx:114 AliITSPlaneEffSPD.cxx:115 AliITSPlaneEffSPD.cxx:116 AliITSPlaneEffSPD.cxx:117 AliITSPlaneEffSPD.cxx:118 AliITSPlaneEffSPD.cxx:119 AliITSPlaneEffSPD.cxx:120 AliITSPlaneEffSPD.cxx:121 AliITSPlaneEffSPD.cxx:122 AliITSPlaneEffSPD.cxx:123 AliITSPlaneEffSPD.cxx:124 AliITSPlaneEffSPD.cxx:125 AliITSPlaneEffSPD.cxx:126 AliITSPlaneEffSPD.cxx:127 AliITSPlaneEffSPD.cxx:128 AliITSPlaneEffSPD.cxx:129 AliITSPlaneEffSPD.cxx:130 AliITSPlaneEffSPD.cxx:131 AliITSPlaneEffSPD.cxx:132 AliITSPlaneEffSPD.cxx:133 AliITSPlaneEffSPD.cxx:134 AliITSPlaneEffSPD.cxx:135 AliITSPlaneEffSPD.cxx:136 AliITSPlaneEffSPD.cxx:137 AliITSPlaneEffSPD.cxx:138 AliITSPlaneEffSPD.cxx:139 AliITSPlaneEffSPD.cxx:140 AliITSPlaneEffSPD.cxx:141 AliITSPlaneEffSPD.cxx:142 AliITSPlaneEffSPD.cxx:143 AliITSPlaneEffSPD.cxx:144 AliITSPlaneEffSPD.cxx:145 AliITSPlaneEffSPD.cxx:146 AliITSPlaneEffSPD.cxx:147 AliITSPlaneEffSPD.cxx:148 AliITSPlaneEffSPD.cxx:149 AliITSPlaneEffSPD.cxx:150 AliITSPlaneEffSPD.cxx:151 AliITSPlaneEffSPD.cxx:152 AliITSPlaneEffSPD.cxx:153 AliITSPlaneEffSPD.cxx:154 AliITSPlaneEffSPD.cxx:155 AliITSPlaneEffSPD.cxx:156 AliITSPlaneEffSPD.cxx:157 AliITSPlaneEffSPD.cxx:158 AliITSPlaneEffSPD.cxx:159 AliITSPlaneEffSPD.cxx:160 AliITSPlaneEffSPD.cxx:161 AliITSPlaneEffSPD.cxx:162 AliITSPlaneEffSPD.cxx:163 AliITSPlaneEffSPD.cxx:164 AliITSPlaneEffSPD.cxx:165 AliITSPlaneEffSPD.cxx:166 AliITSPlaneEffSPD.cxx:167 AliITSPlaneEffSPD.cxx:168 AliITSPlaneEffSPD.cxx:169 AliITSPlaneEffSPD.cxx:170 AliITSPlaneEffSPD.cxx:171 AliITSPlaneEffSPD.cxx:172 AliITSPlaneEffSPD.cxx:173 AliITSPlaneEffSPD.cxx:174 AliITSPlaneEffSPD.cxx:175 AliITSPlaneEffSPD.cxx:176 AliITSPlaneEffSPD.cxx:177 AliITSPlaneEffSPD.cxx:178 AliITSPlaneEffSPD.cxx:179 AliITSPlaneEffSPD.cxx:180 AliITSPlaneEffSPD.cxx:181 AliITSPlaneEffSPD.cxx:182 AliITSPlaneEffSPD.cxx:183 AliITSPlaneEffSPD.cxx:184 AliITSPlaneEffSPD.cxx:185 AliITSPlaneEffSPD.cxx:186 AliITSPlaneEffSPD.cxx:187 AliITSPlaneEffSPD.cxx:188 AliITSPlaneEffSPD.cxx:189 AliITSPlaneEffSPD.cxx:190 AliITSPlaneEffSPD.cxx:191 AliITSPlaneEffSPD.cxx:192 AliITSPlaneEffSPD.cxx:193 AliITSPlaneEffSPD.cxx:194 AliITSPlaneEffSPD.cxx:195 AliITSPlaneEffSPD.cxx:196 AliITSPlaneEffSPD.cxx:197 AliITSPlaneEffSPD.cxx:198 AliITSPlaneEffSPD.cxx:199 AliITSPlaneEffSPD.cxx:200 AliITSPlaneEffSPD.cxx:201 AliITSPlaneEffSPD.cxx:202 AliITSPlaneEffSPD.cxx:203 AliITSPlaneEffSPD.cxx:204 AliITSPlaneEffSPD.cxx:205 AliITSPlaneEffSPD.cxx:206 AliITSPlaneEffSPD.cxx:207 AliITSPlaneEffSPD.cxx:208 AliITSPlaneEffSPD.cxx:209 AliITSPlaneEffSPD.cxx:210 AliITSPlaneEffSPD.cxx:211 AliITSPlaneEffSPD.cxx:212 AliITSPlaneEffSPD.cxx:213 AliITSPlaneEffSPD.cxx:214 AliITSPlaneEffSPD.cxx:215 AliITSPlaneEffSPD.cxx:216 AliITSPlaneEffSPD.cxx:217 AliITSPlaneEffSPD.cxx:218 AliITSPlaneEffSPD.cxx:219 AliITSPlaneEffSPD.cxx:220 AliITSPlaneEffSPD.cxx:221 AliITSPlaneEffSPD.cxx:222 AliITSPlaneEffSPD.cxx:223 AliITSPlaneEffSPD.cxx:224 AliITSPlaneEffSPD.cxx:225 AliITSPlaneEffSPD.cxx:226 AliITSPlaneEffSPD.cxx:227 AliITSPlaneEffSPD.cxx:228 AliITSPlaneEffSPD.cxx:229 AliITSPlaneEffSPD.cxx:230 AliITSPlaneEffSPD.cxx:231 AliITSPlaneEffSPD.cxx:232 AliITSPlaneEffSPD.cxx:233 AliITSPlaneEffSPD.cxx:234 AliITSPlaneEffSPD.cxx:235 AliITSPlaneEffSPD.cxx:236 AliITSPlaneEffSPD.cxx:237 AliITSPlaneEffSPD.cxx:238 AliITSPlaneEffSPD.cxx:239 AliITSPlaneEffSPD.cxx:240 AliITSPlaneEffSPD.cxx:241 AliITSPlaneEffSPD.cxx:242 AliITSPlaneEffSPD.cxx:243 AliITSPlaneEffSPD.cxx:244 AliITSPlaneEffSPD.cxx:245 AliITSPlaneEffSPD.cxx:246 AliITSPlaneEffSPD.cxx:247 AliITSPlaneEffSPD.cxx:248 AliITSPlaneEffSPD.cxx:249 AliITSPlaneEffSPD.cxx:250 AliITSPlaneEffSPD.cxx:251 AliITSPlaneEffSPD.cxx:252 AliITSPlaneEffSPD.cxx:253 AliITSPlaneEffSPD.cxx:254 AliITSPlaneEffSPD.cxx:255 AliITSPlaneEffSPD.cxx:256 AliITSPlaneEffSPD.cxx:257 AliITSPlaneEffSPD.cxx:258 AliITSPlaneEffSPD.cxx:259 AliITSPlaneEffSPD.cxx:260 AliITSPlaneEffSPD.cxx:261 AliITSPlaneEffSPD.cxx:262 AliITSPlaneEffSPD.cxx:263 AliITSPlaneEffSPD.cxx:264 AliITSPlaneEffSPD.cxx:265 AliITSPlaneEffSPD.cxx:266 AliITSPlaneEffSPD.cxx:267 AliITSPlaneEffSPD.cxx:268 AliITSPlaneEffSPD.cxx:269 AliITSPlaneEffSPD.cxx:270 AliITSPlaneEffSPD.cxx:271 AliITSPlaneEffSPD.cxx:272 AliITSPlaneEffSPD.cxx:273 AliITSPlaneEffSPD.cxx:274 AliITSPlaneEffSPD.cxx:275 AliITSPlaneEffSPD.cxx:276 AliITSPlaneEffSPD.cxx:277 AliITSPlaneEffSPD.cxx:278 AliITSPlaneEffSPD.cxx:279 AliITSPlaneEffSPD.cxx:280 AliITSPlaneEffSPD.cxx:281 AliITSPlaneEffSPD.cxx:282 AliITSPlaneEffSPD.cxx:283 AliITSPlaneEffSPD.cxx:284 AliITSPlaneEffSPD.cxx:285 AliITSPlaneEffSPD.cxx:286 AliITSPlaneEffSPD.cxx:287 AliITSPlaneEffSPD.cxx:288 AliITSPlaneEffSPD.cxx:289 AliITSPlaneEffSPD.cxx:290 AliITSPlaneEffSPD.cxx:291 AliITSPlaneEffSPD.cxx:292 AliITSPlaneEffSPD.cxx:293 AliITSPlaneEffSPD.cxx:294 AliITSPlaneEffSPD.cxx:295 AliITSPlaneEffSPD.cxx:296 AliITSPlaneEffSPD.cxx:297 AliITSPlaneEffSPD.cxx:298 AliITSPlaneEffSPD.cxx:299 AliITSPlaneEffSPD.cxx:300 AliITSPlaneEffSPD.cxx:301 AliITSPlaneEffSPD.cxx:302 AliITSPlaneEffSPD.cxx:303 AliITSPlaneEffSPD.cxx:304 AliITSPlaneEffSPD.cxx:305 AliITSPlaneEffSPD.cxx:306 AliITSPlaneEffSPD.cxx:307 AliITSPlaneEffSPD.cxx:308 AliITSPlaneEffSPD.cxx:309 AliITSPlaneEffSPD.cxx:310 AliITSPlaneEffSPD.cxx:311 AliITSPlaneEffSPD.cxx:312 AliITSPlaneEffSPD.cxx:313 AliITSPlaneEffSPD.cxx:314 AliITSPlaneEffSPD.cxx:315 AliITSPlaneEffSPD.cxx:316 AliITSPlaneEffSPD.cxx:317 AliITSPlaneEffSPD.cxx:318 AliITSPlaneEffSPD.cxx:319 AliITSPlaneEffSPD.cxx:320 AliITSPlaneEffSPD.cxx:321 AliITSPlaneEffSPD.cxx:322 AliITSPlaneEffSPD.cxx:323 AliITSPlaneEffSPD.cxx:324 AliITSPlaneEffSPD.cxx:325 AliITSPlaneEffSPD.cxx:326 AliITSPlaneEffSPD.cxx:327 AliITSPlaneEffSPD.cxx:328 AliITSPlaneEffSPD.cxx:329 AliITSPlaneEffSPD.cxx:330 AliITSPlaneEffSPD.cxx:331 AliITSPlaneEffSPD.cxx:332 AliITSPlaneEffSPD.cxx:333 AliITSPlaneEffSPD.cxx:334 AliITSPlaneEffSPD.cxx:335 AliITSPlaneEffSPD.cxx:336 AliITSPlaneEffSPD.cxx:337 AliITSPlaneEffSPD.cxx:338 AliITSPlaneEffSPD.cxx:339 AliITSPlaneEffSPD.cxx:340 AliITSPlaneEffSPD.cxx:341 AliITSPlaneEffSPD.cxx:342 AliITSPlaneEffSPD.cxx:343 AliITSPlaneEffSPD.cxx:344 AliITSPlaneEffSPD.cxx:345 AliITSPlaneEffSPD.cxx:346 AliITSPlaneEffSPD.cxx:347 AliITSPlaneEffSPD.cxx:348 AliITSPlaneEffSPD.cxx:349 AliITSPlaneEffSPD.cxx:350 AliITSPlaneEffSPD.cxx:351 AliITSPlaneEffSPD.cxx:352 AliITSPlaneEffSPD.cxx:353 AliITSPlaneEffSPD.cxx:354 AliITSPlaneEffSPD.cxx:355 AliITSPlaneEffSPD.cxx:356 AliITSPlaneEffSPD.cxx:357 AliITSPlaneEffSPD.cxx:358 AliITSPlaneEffSPD.cxx:359 AliITSPlaneEffSPD.cxx:360 AliITSPlaneEffSPD.cxx:361 AliITSPlaneEffSPD.cxx:362 AliITSPlaneEffSPD.cxx:363 AliITSPlaneEffSPD.cxx:364 AliITSPlaneEffSPD.cxx:365 AliITSPlaneEffSPD.cxx:366 AliITSPlaneEffSPD.cxx:367 AliITSPlaneEffSPD.cxx:368 AliITSPlaneEffSPD.cxx:369 AliITSPlaneEffSPD.cxx:370 AliITSPlaneEffSPD.cxx:371 AliITSPlaneEffSPD.cxx:372 AliITSPlaneEffSPD.cxx:373 AliITSPlaneEffSPD.cxx:374 AliITSPlaneEffSPD.cxx:375 AliITSPlaneEffSPD.cxx:376 AliITSPlaneEffSPD.cxx:377 AliITSPlaneEffSPD.cxx:378 AliITSPlaneEffSPD.cxx:379 AliITSPlaneEffSPD.cxx:380 AliITSPlaneEffSPD.cxx:381 AliITSPlaneEffSPD.cxx:382 AliITSPlaneEffSPD.cxx:383 AliITSPlaneEffSPD.cxx:384 AliITSPlaneEffSPD.cxx:385 AliITSPlaneEffSPD.cxx:386 AliITSPlaneEffSPD.cxx:387 AliITSPlaneEffSPD.cxx:388 AliITSPlaneEffSPD.cxx:389 AliITSPlaneEffSPD.cxx:390 AliITSPlaneEffSPD.cxx:391 AliITSPlaneEffSPD.cxx:392 AliITSPlaneEffSPD.cxx:393 AliITSPlaneEffSPD.cxx:394 AliITSPlaneEffSPD.cxx:395 AliITSPlaneEffSPD.cxx:396 AliITSPlaneEffSPD.cxx:397 AliITSPlaneEffSPD.cxx:398 AliITSPlaneEffSPD.cxx:399 AliITSPlaneEffSPD.cxx:400 AliITSPlaneEffSPD.cxx:401 AliITSPlaneEffSPD.cxx:402 AliITSPlaneEffSPD.cxx:403 AliITSPlaneEffSPD.cxx:404 AliITSPlaneEffSPD.cxx:405 AliITSPlaneEffSPD.cxx:406 AliITSPlaneEffSPD.cxx:407 AliITSPlaneEffSPD.cxx:408 AliITSPlaneEffSPD.cxx:409 AliITSPlaneEffSPD.cxx:410 AliITSPlaneEffSPD.cxx:411 AliITSPlaneEffSPD.cxx:412 AliITSPlaneEffSPD.cxx:413 AliITSPlaneEffSPD.cxx:414 AliITSPlaneEffSPD.cxx:415 AliITSPlaneEffSPD.cxx:416 AliITSPlaneEffSPD.cxx:417 AliITSPlaneEffSPD.cxx:418 AliITSPlaneEffSPD.cxx:419 AliITSPlaneEffSPD.cxx:420 AliITSPlaneEffSPD.cxx:421 AliITSPlaneEffSPD.cxx:422 AliITSPlaneEffSPD.cxx:423 AliITSPlaneEffSPD.cxx:424 AliITSPlaneEffSPD.cxx:425 AliITSPlaneEffSPD.cxx:426 AliITSPlaneEffSPD.cxx:427 AliITSPlaneEffSPD.cxx:428 AliITSPlaneEffSPD.cxx:429 AliITSPlaneEffSPD.cxx:430 AliITSPlaneEffSPD.cxx:431 AliITSPlaneEffSPD.cxx:432 AliITSPlaneEffSPD.cxx:433 AliITSPlaneEffSPD.cxx:434 AliITSPlaneEffSPD.cxx:435 AliITSPlaneEffSPD.cxx:436 AliITSPlaneEffSPD.cxx:437 AliITSPlaneEffSPD.cxx:438 AliITSPlaneEffSPD.cxx:439 AliITSPlaneEffSPD.cxx:440 AliITSPlaneEffSPD.cxx:441 AliITSPlaneEffSPD.cxx:442 AliITSPlaneEffSPD.cxx:443 AliITSPlaneEffSPD.cxx:444 AliITSPlaneEffSPD.cxx:445 AliITSPlaneEffSPD.cxx:446 AliITSPlaneEffSPD.cxx:447 AliITSPlaneEffSPD.cxx:448 AliITSPlaneEffSPD.cxx:449 AliITSPlaneEffSPD.cxx:450 AliITSPlaneEffSPD.cxx:451 AliITSPlaneEffSPD.cxx:452 AliITSPlaneEffSPD.cxx:453 AliITSPlaneEffSPD.cxx:454 AliITSPlaneEffSPD.cxx:455 AliITSPlaneEffSPD.cxx:456 AliITSPlaneEffSPD.cxx:457 AliITSPlaneEffSPD.cxx:458 AliITSPlaneEffSPD.cxx:459 AliITSPlaneEffSPD.cxx:460 AliITSPlaneEffSPD.cxx:461 AliITSPlaneEffSPD.cxx:462 AliITSPlaneEffSPD.cxx:463 AliITSPlaneEffSPD.cxx:464 AliITSPlaneEffSPD.cxx:465 AliITSPlaneEffSPD.cxx:466 AliITSPlaneEffSPD.cxx:467 AliITSPlaneEffSPD.cxx:468 AliITSPlaneEffSPD.cxx:469 AliITSPlaneEffSPD.cxx:470 AliITSPlaneEffSPD.cxx:471 AliITSPlaneEffSPD.cxx:472 AliITSPlaneEffSPD.cxx:473 AliITSPlaneEffSPD.cxx:474 AliITSPlaneEffSPD.cxx:475 AliITSPlaneEffSPD.cxx:476 AliITSPlaneEffSPD.cxx:477 AliITSPlaneEffSPD.cxx:478 AliITSPlaneEffSPD.cxx:479 AliITSPlaneEffSPD.cxx:480 AliITSPlaneEffSPD.cxx:481 AliITSPlaneEffSPD.cxx:482 AliITSPlaneEffSPD.cxx:483 AliITSPlaneEffSPD.cxx:484 AliITSPlaneEffSPD.cxx:485 AliITSPlaneEffSPD.cxx:486 AliITSPlaneEffSPD.cxx:487 AliITSPlaneEffSPD.cxx:488 AliITSPlaneEffSPD.cxx:489 AliITSPlaneEffSPD.cxx:490 AliITSPlaneEffSPD.cxx:491 AliITSPlaneEffSPD.cxx:492 AliITSPlaneEffSPD.cxx:493 AliITSPlaneEffSPD.cxx:494 AliITSPlaneEffSPD.cxx:495 AliITSPlaneEffSPD.cxx:496 AliITSPlaneEffSPD.cxx:497 AliITSPlaneEffSPD.cxx:498 AliITSPlaneEffSPD.cxx:499 AliITSPlaneEffSPD.cxx:500 AliITSPlaneEffSPD.cxx:501 AliITSPlaneEffSPD.cxx:502 AliITSPlaneEffSPD.cxx:503 AliITSPlaneEffSPD.cxx:504 AliITSPlaneEffSPD.cxx:505 AliITSPlaneEffSPD.cxx:506 AliITSPlaneEffSPD.cxx:507 AliITSPlaneEffSPD.cxx:508 AliITSPlaneEffSPD.cxx:509 AliITSPlaneEffSPD.cxx:510 AliITSPlaneEffSPD.cxx:511 AliITSPlaneEffSPD.cxx:512 AliITSPlaneEffSPD.cxx:513 AliITSPlaneEffSPD.cxx:514 AliITSPlaneEffSPD.cxx:515 AliITSPlaneEffSPD.cxx:516 AliITSPlaneEffSPD.cxx:517 AliITSPlaneEffSPD.cxx:518 AliITSPlaneEffSPD.cxx:519 AliITSPlaneEffSPD.cxx:520 AliITSPlaneEffSPD.cxx:521 AliITSPlaneEffSPD.cxx:522 AliITSPlaneEffSPD.cxx:523 AliITSPlaneEffSPD.cxx:524 AliITSPlaneEffSPD.cxx:525 AliITSPlaneEffSPD.cxx:526 AliITSPlaneEffSPD.cxx:527 AliITSPlaneEffSPD.cxx:528 AliITSPlaneEffSPD.cxx:529 AliITSPlaneEffSPD.cxx:530 AliITSPlaneEffSPD.cxx:531 AliITSPlaneEffSPD.cxx:532 AliITSPlaneEffSPD.cxx:533 AliITSPlaneEffSPD.cxx:534 AliITSPlaneEffSPD.cxx:535 AliITSPlaneEffSPD.cxx:536 AliITSPlaneEffSPD.cxx:537 AliITSPlaneEffSPD.cxx:538 AliITSPlaneEffSPD.cxx:539 AliITSPlaneEffSPD.cxx:540 AliITSPlaneEffSPD.cxx:541 AliITSPlaneEffSPD.cxx:542 AliITSPlaneEffSPD.cxx:543 AliITSPlaneEffSPD.cxx:544 AliITSPlaneEffSPD.cxx:545 AliITSPlaneEffSPD.cxx:546 AliITSPlaneEffSPD.cxx:547 AliITSPlaneEffSPD.cxx:548 AliITSPlaneEffSPD.cxx:549 AliITSPlaneEffSPD.cxx:550 AliITSPlaneEffSPD.cxx:551 AliITSPlaneEffSPD.cxx:552 AliITSPlaneEffSPD.cxx:553 AliITSPlaneEffSPD.cxx:554 AliITSPlaneEffSPD.cxx:555 AliITSPlaneEffSPD.cxx:556 AliITSPlaneEffSPD.cxx:557 AliITSPlaneEffSPD.cxx:558 AliITSPlaneEffSPD.cxx:559 AliITSPlaneEffSPD.cxx:560 AliITSPlaneEffSPD.cxx:561 AliITSPlaneEffSPD.cxx:562 AliITSPlaneEffSPD.cxx:563 AliITSPlaneEffSPD.cxx:564 AliITSPlaneEffSPD.cxx:565 AliITSPlaneEffSPD.cxx:566 AliITSPlaneEffSPD.cxx:567 AliITSPlaneEffSPD.cxx:568 AliITSPlaneEffSPD.cxx:569 AliITSPlaneEffSPD.cxx:570 AliITSPlaneEffSPD.cxx:571 AliITSPlaneEffSPD.cxx:572 AliITSPlaneEffSPD.cxx:573 AliITSPlaneEffSPD.cxx:574 AliITSPlaneEffSPD.cxx:575 AliITSPlaneEffSPD.cxx:576 AliITSPlaneEffSPD.cxx:577 AliITSPlaneEffSPD.cxx:578 AliITSPlaneEffSPD.cxx:579 AliITSPlaneEffSPD.cxx:580 AliITSPlaneEffSPD.cxx:581 AliITSPlaneEffSPD.cxx:582 AliITSPlaneEffSPD.cxx:583 AliITSPlaneEffSPD.cxx:584 AliITSPlaneEffSPD.cxx:585 AliITSPlaneEffSPD.cxx:586 AliITSPlaneEffSPD.cxx:587 AliITSPlaneEffSPD.cxx:588 AliITSPlaneEffSPD.cxx:589 AliITSPlaneEffSPD.cxx:590 AliITSPlaneEffSPD.cxx:591 AliITSPlaneEffSPD.cxx:592 AliITSPlaneEffSPD.cxx:593 AliITSPlaneEffSPD.cxx:594 AliITSPlaneEffSPD.cxx:595 AliITSPlaneEffSPD.cxx:596 AliITSPlaneEffSPD.cxx:597 AliITSPlaneEffSPD.cxx:598 AliITSPlaneEffSPD.cxx:599 AliITSPlaneEffSPD.cxx:600 AliITSPlaneEffSPD.cxx:601 AliITSPlaneEffSPD.cxx:602 AliITSPlaneEffSPD.cxx:603 AliITSPlaneEffSPD.cxx:604 AliITSPlaneEffSPD.cxx:605 AliITSPlaneEffSPD.cxx:606 AliITSPlaneEffSPD.cxx:607 AliITSPlaneEffSPD.cxx:608 AliITSPlaneEffSPD.cxx:609 AliITSPlaneEffSPD.cxx:610 AliITSPlaneEffSPD.cxx:611 AliITSPlaneEffSPD.cxx:612 AliITSPlaneEffSPD.cxx:613 AliITSPlaneEffSPD.cxx:614 AliITSPlaneEffSPD.cxx:615 AliITSPlaneEffSPD.cxx:616 AliITSPlaneEffSPD.cxx:617 AliITSPlaneEffSPD.cxx:618 AliITSPlaneEffSPD.cxx:619 AliITSPlaneEffSPD.cxx:620 AliITSPlaneEffSPD.cxx:621 AliITSPlaneEffSPD.cxx:622 AliITSPlaneEffSPD.cxx:623 AliITSPlaneEffSPD.cxx:624 AliITSPlaneEffSPD.cxx:625 AliITSPlaneEffSPD.cxx:626 AliITSPlaneEffSPD.cxx:627 AliITSPlaneEffSPD.cxx:628 AliITSPlaneEffSPD.cxx:629 AliITSPlaneEffSPD.cxx:630 AliITSPlaneEffSPD.cxx:631 AliITSPlaneEffSPD.cxx:632 AliITSPlaneEffSPD.cxx:633 AliITSPlaneEffSPD.cxx:634 AliITSPlaneEffSPD.cxx:635 AliITSPlaneEffSPD.cxx:636 AliITSPlaneEffSPD.cxx:637 AliITSPlaneEffSPD.cxx:638 AliITSPlaneEffSPD.cxx:639 AliITSPlaneEffSPD.cxx:640 AliITSPlaneEffSPD.cxx:641 AliITSPlaneEffSPD.cxx:642 AliITSPlaneEffSPD.cxx:643 AliITSPlaneEffSPD.cxx:644 AliITSPlaneEffSPD.cxx:645 AliITSPlaneEffSPD.cxx:646 AliITSPlaneEffSPD.cxx:647 AliITSPlaneEffSPD.cxx:648 AliITSPlaneEffSPD.cxx:649 AliITSPlaneEffSPD.cxx:650 AliITSPlaneEffSPD.cxx:651 AliITSPlaneEffSPD.cxx:652 AliITSPlaneEffSPD.cxx:653 AliITSPlaneEffSPD.cxx:654 AliITSPlaneEffSPD.cxx:655 AliITSPlaneEffSPD.cxx:656 AliITSPlaneEffSPD.cxx:657 AliITSPlaneEffSPD.cxx:658 AliITSPlaneEffSPD.cxx:659 AliITSPlaneEffSPD.cxx:660 AliITSPlaneEffSPD.cxx:661 AliITSPlaneEffSPD.cxx:662 AliITSPlaneEffSPD.cxx:663 AliITSPlaneEffSPD.cxx:664 AliITSPlaneEffSPD.cxx:665 AliITSPlaneEffSPD.cxx:666 AliITSPlaneEffSPD.cxx:667 AliITSPlaneEffSPD.cxx:668 AliITSPlaneEffSPD.cxx:669 AliITSPlaneEffSPD.cxx:670 AliITSPlaneEffSPD.cxx:671 AliITSPlaneEffSPD.cxx:672 AliITSPlaneEffSPD.cxx:673 AliITSPlaneEffSPD.cxx:674 AliITSPlaneEffSPD.cxx:675 AliITSPlaneEffSPD.cxx:676 AliITSPlaneEffSPD.cxx:677 AliITSPlaneEffSPD.cxx:678 AliITSPlaneEffSPD.cxx:679 AliITSPlaneEffSPD.cxx:680 AliITSPlaneEffSPD.cxx:681 AliITSPlaneEffSPD.cxx:682 AliITSPlaneEffSPD.cxx:683 AliITSPlaneEffSPD.cxx:684 AliITSPlaneEffSPD.cxx:685 AliITSPlaneEffSPD.cxx:686 AliITSPlaneEffSPD.cxx:687 AliITSPlaneEffSPD.cxx:688 AliITSPlaneEffSPD.cxx:689 AliITSPlaneEffSPD.cxx:690 AliITSPlaneEffSPD.cxx:691 AliITSPlaneEffSPD.cxx:692 AliITSPlaneEffSPD.cxx:693 AliITSPlaneEffSPD.cxx:694 AliITSPlaneEffSPD.cxx:695 AliITSPlaneEffSPD.cxx:696 AliITSPlaneEffSPD.cxx:697 AliITSPlaneEffSPD.cxx:698 AliITSPlaneEffSPD.cxx:699 AliITSPlaneEffSPD.cxx:700 AliITSPlaneEffSPD.cxx:701 AliITSPlaneEffSPD.cxx:702 AliITSPlaneEffSPD.cxx:703 AliITSPlaneEffSPD.cxx:704 AliITSPlaneEffSPD.cxx:705 AliITSPlaneEffSPD.cxx:706 AliITSPlaneEffSPD.cxx:707 AliITSPlaneEffSPD.cxx:708 AliITSPlaneEffSPD.cxx:709 AliITSPlaneEffSPD.cxx:710 AliITSPlaneEffSPD.cxx:711 AliITSPlaneEffSPD.cxx:712 AliITSPlaneEffSPD.cxx:713 AliITSPlaneEffSPD.cxx:714 AliITSPlaneEffSPD.cxx:715 AliITSPlaneEffSPD.cxx:716 AliITSPlaneEffSPD.cxx:717 AliITSPlaneEffSPD.cxx:718 AliITSPlaneEffSPD.cxx:719 AliITSPlaneEffSPD.cxx:720 AliITSPlaneEffSPD.cxx:721 AliITSPlaneEffSPD.cxx:722 AliITSPlaneEffSPD.cxx:723 AliITSPlaneEffSPD.cxx:724 AliITSPlaneEffSPD.cxx:725 AliITSPlaneEffSPD.cxx:726 AliITSPlaneEffSPD.cxx:727 AliITSPlaneEffSPD.cxx:728 AliITSPlaneEffSPD.cxx:729 AliITSPlaneEffSPD.cxx:730 AliITSPlaneEffSPD.cxx:731 AliITSPlaneEffSPD.cxx:732 AliITSPlaneEffSPD.cxx:733 AliITSPlaneEffSPD.cxx:734 AliITSPlaneEffSPD.cxx:735 AliITSPlaneEffSPD.cxx:736 AliITSPlaneEffSPD.cxx:737 AliITSPlaneEffSPD.cxx:738 AliITSPlaneEffSPD.cxx:739 AliITSPlaneEffSPD.cxx:740 AliITSPlaneEffSPD.cxx:741 AliITSPlaneEffSPD.cxx:742 AliITSPlaneEffSPD.cxx:743 AliITSPlaneEffSPD.cxx:744 AliITSPlaneEffSPD.cxx:745 AliITSPlaneEffSPD.cxx:746 AliITSPlaneEffSPD.cxx:747 AliITSPlaneEffSPD.cxx:748 AliITSPlaneEffSPD.cxx:749 AliITSPlaneEffSPD.cxx:750 AliITSPlaneEffSPD.cxx:751 AliITSPlaneEffSPD.cxx:752 AliITSPlaneEffSPD.cxx:753 AliITSPlaneEffSPD.cxx:754 AliITSPlaneEffSPD.cxx:755 AliITSPlaneEffSPD.cxx:756 AliITSPlaneEffSPD.cxx:757 AliITSPlaneEffSPD.cxx:758 AliITSPlaneEffSPD.cxx:759 AliITSPlaneEffSPD.cxx:760 AliITSPlaneEffSPD.cxx:761 AliITSPlaneEffSPD.cxx:762 AliITSPlaneEffSPD.cxx:763 AliITSPlaneEffSPD.cxx:764 AliITSPlaneEffSPD.cxx:765 AliITSPlaneEffSPD.cxx:766 AliITSPlaneEffSPD.cxx:767 AliITSPlaneEffSPD.cxx:768 AliITSPlaneEffSPD.cxx:769 AliITSPlaneEffSPD.cxx:770 AliITSPlaneEffSPD.cxx:771 AliITSPlaneEffSPD.cxx:772 AliITSPlaneEffSPD.cxx:773 AliITSPlaneEffSPD.cxx:774 AliITSPlaneEffSPD.cxx:775 AliITSPlaneEffSPD.cxx:776 AliITSPlaneEffSPD.cxx:777 AliITSPlaneEffSPD.cxx:778 AliITSPlaneEffSPD.cxx:779 AliITSPlaneEffSPD.cxx:780 AliITSPlaneEffSPD.cxx:781 AliITSPlaneEffSPD.cxx:782 AliITSPlaneEffSPD.cxx:783 AliITSPlaneEffSPD.cxx:784 AliITSPlaneEffSPD.cxx:785 AliITSPlaneEffSPD.cxx:786 AliITSPlaneEffSPD.cxx:787 AliITSPlaneEffSPD.cxx:788 AliITSPlaneEffSPD.cxx:789 AliITSPlaneEffSPD.cxx:790 AliITSPlaneEffSPD.cxx:791 AliITSPlaneEffSPD.cxx:792 AliITSPlaneEffSPD.cxx:793 AliITSPlaneEffSPD.cxx:794 AliITSPlaneEffSPD.cxx:795 AliITSPlaneEffSPD.cxx:796 AliITSPlaneEffSPD.cxx:797 AliITSPlaneEffSPD.cxx:798 AliITSPlaneEffSPD.cxx:799 AliITSPlaneEffSPD.cxx:800 AliITSPlaneEffSPD.cxx:801 AliITSPlaneEffSPD.cxx:802 AliITSPlaneEffSPD.cxx:803 AliITSPlaneEffSPD.cxx:804 AliITSPlaneEffSPD.cxx:805 AliITSPlaneEffSPD.cxx:806 AliITSPlaneEffSPD.cxx:807 AliITSPlaneEffSPD.cxx:808 AliITSPlaneEffSPD.cxx:809 AliITSPlaneEffSPD.cxx:810 AliITSPlaneEffSPD.cxx:811 AliITSPlaneEffSPD.cxx:812 AliITSPlaneEffSPD.cxx:813 AliITSPlaneEffSPD.cxx:814 AliITSPlaneEffSPD.cxx:815 AliITSPlaneEffSPD.cxx:816 AliITSPlaneEffSPD.cxx:817 AliITSPlaneEffSPD.cxx:818 AliITSPlaneEffSPD.cxx:819 AliITSPlaneEffSPD.cxx:820 AliITSPlaneEffSPD.cxx:821 AliITSPlaneEffSPD.cxx:822 AliITSPlaneEffSPD.cxx:823 AliITSPlaneEffSPD.cxx:824 AliITSPlaneEffSPD.cxx:825 AliITSPlaneEffSPD.cxx:826 AliITSPlaneEffSPD.cxx:827 AliITSPlaneEffSPD.cxx:828 AliITSPlaneEffSPD.cxx:829 AliITSPlaneEffSPD.cxx:830 AliITSPlaneEffSPD.cxx:831 AliITSPlaneEffSPD.cxx:832 AliITSPlaneEffSPD.cxx:833 AliITSPlaneEffSPD.cxx:834 AliITSPlaneEffSPD.cxx:835 AliITSPlaneEffSPD.cxx:836 AliITSPlaneEffSPD.cxx:837 AliITSPlaneEffSPD.cxx:838 AliITSPlaneEffSPD.cxx:839 AliITSPlaneEffSPD.cxx:840 AliITSPlaneEffSPD.cxx:841 AliITSPlaneEffSPD.cxx:842 AliITSPlaneEffSPD.cxx:843 AliITSPlaneEffSPD.cxx:844 AliITSPlaneEffSPD.cxx:845 AliITSPlaneEffSPD.cxx:846 AliITSPlaneEffSPD.cxx:847 AliITSPlaneEffSPD.cxx:848 AliITSPlaneEffSPD.cxx:849 AliITSPlaneEffSPD.cxx:850 AliITSPlaneEffSPD.cxx:851 AliITSPlaneEffSPD.cxx:852 AliITSPlaneEffSPD.cxx:853 AliITSPlaneEffSPD.cxx:854 AliITSPlaneEffSPD.cxx:855 AliITSPlaneEffSPD.cxx:856 AliITSPlaneEffSPD.cxx:857 AliITSPlaneEffSPD.cxx:858 AliITSPlaneEffSPD.cxx:859 AliITSPlaneEffSPD.cxx:860 AliITSPlaneEffSPD.cxx:861 AliITSPlaneEffSPD.cxx:862 AliITSPlaneEffSPD.cxx:863 AliITSPlaneEffSPD.cxx:864 AliITSPlaneEffSPD.cxx:865 AliITSPlaneEffSPD.cxx:866 AliITSPlaneEffSPD.cxx:867 AliITSPlaneEffSPD.cxx:868 AliITSPlaneEffSPD.cxx:869 AliITSPlaneEffSPD.cxx:870 AliITSPlaneEffSPD.cxx:871 AliITSPlaneEffSPD.cxx:872 AliITSPlaneEffSPD.cxx:873 AliITSPlaneEffSPD.cxx:874 AliITSPlaneEffSPD.cxx:875 AliITSPlaneEffSPD.cxx:876 AliITSPlaneEffSPD.cxx:877 AliITSPlaneEffSPD.cxx:878 AliITSPlaneEffSPD.cxx:879 AliITSPlaneEffSPD.cxx:880 AliITSPlaneEffSPD.cxx:881 AliITSPlaneEffSPD.cxx:882 AliITSPlaneEffSPD.cxx:883 AliITSPlaneEffSPD.cxx:884 AliITSPlaneEffSPD.cxx:885 AliITSPlaneEffSPD.cxx:886 AliITSPlaneEffSPD.cxx:887 AliITSPlaneEffSPD.cxx:888 AliITSPlaneEffSPD.cxx:889 AliITSPlaneEffSPD.cxx:890 AliITSPlaneEffSPD.cxx:891 AliITSPlaneEffSPD.cxx:892 AliITSPlaneEffSPD.cxx:893 AliITSPlaneEffSPD.cxx:894 AliITSPlaneEffSPD.cxx:895 AliITSPlaneEffSPD.cxx:896 AliITSPlaneEffSPD.cxx:897 AliITSPlaneEffSPD.cxx:898 AliITSPlaneEffSPD.cxx:899 AliITSPlaneEffSPD.cxx:900 AliITSPlaneEffSPD.cxx:901 AliITSPlaneEffSPD.cxx:902 AliITSPlaneEffSPD.cxx:903 AliITSPlaneEffSPD.cxx:904 AliITSPlaneEffSPD.cxx:905 AliITSPlaneEffSPD.cxx:906 AliITSPlaneEffSPD.cxx:907 AliITSPlaneEffSPD.cxx:908 AliITSPlaneEffSPD.cxx:909 AliITSPlaneEffSPD.cxx:910 AliITSPlaneEffSPD.cxx:911 AliITSPlaneEffSPD.cxx:912 AliITSPlaneEffSPD.cxx:913 AliITSPlaneEffSPD.cxx:914 AliITSPlaneEffSPD.cxx:915 AliITSPlaneEffSPD.cxx:916 AliITSPlaneEffSPD.cxx:917 AliITSPlaneEffSPD.cxx:918 AliITSPlaneEffSPD.cxx:919 AliITSPlaneEffSPD.cxx:920 AliITSPlaneEffSPD.cxx:921 AliITSPlaneEffSPD.cxx:922 AliITSPlaneEffSPD.cxx:923 AliITSPlaneEffSPD.cxx:924 AliITSPlaneEffSPD.cxx:925 AliITSPlaneEffSPD.cxx:926 AliITSPlaneEffSPD.cxx:927 AliITSPlaneEffSPD.cxx:928 AliITSPlaneEffSPD.cxx:929 AliITSPlaneEffSPD.cxx:930 AliITSPlaneEffSPD.cxx:931 AliITSPlaneEffSPD.cxx:932 AliITSPlaneEffSPD.cxx:933 AliITSPlaneEffSPD.cxx:934 AliITSPlaneEffSPD.cxx:935 AliITSPlaneEffSPD.cxx:936 AliITSPlaneEffSPD.cxx:937 AliITSPlaneEffSPD.cxx:938 AliITSPlaneEffSPD.cxx:939 AliITSPlaneEffSPD.cxx:940 AliITSPlaneEffSPD.cxx:941 AliITSPlaneEffSPD.cxx:942 AliITSPlaneEffSPD.cxx:943 AliITSPlaneEffSPD.cxx:944 AliITSPlaneEffSPD.cxx:945 AliITSPlaneEffSPD.cxx:946 AliITSPlaneEffSPD.cxx:947 AliITSPlaneEffSPD.cxx:948 AliITSPlaneEffSPD.cxx:949 AliITSPlaneEffSPD.cxx:950 AliITSPlaneEffSPD.cxx:951 AliITSPlaneEffSPD.cxx:952 AliITSPlaneEffSPD.cxx:953 AliITSPlaneEffSPD.cxx:954 AliITSPlaneEffSPD.cxx:955 AliITSPlaneEffSPD.cxx:956 AliITSPlaneEffSPD.cxx:957 AliITSPlaneEffSPD.cxx:958 AliITSPlaneEffSPD.cxx:959 AliITSPlaneEffSPD.cxx:960 AliITSPlaneEffSPD.cxx:961 AliITSPlaneEffSPD.cxx:962 AliITSPlaneEffSPD.cxx:963 AliITSPlaneEffSPD.cxx:964 AliITSPlaneEffSPD.cxx:965 AliITSPlaneEffSPD.cxx:966 AliITSPlaneEffSPD.cxx:967 AliITSPlaneEffSPD.cxx:968 AliITSPlaneEffSPD.cxx:969 AliITSPlaneEffSPD.cxx:970 AliITSPlaneEffSPD.cxx:971 AliITSPlaneEffSPD.cxx:972 AliITSPlaneEffSPD.cxx:973 AliITSPlaneEffSPD.cxx:974 AliITSPlaneEffSPD.cxx:975 AliITSPlaneEffSPD.cxx:976 AliITSPlaneEffSPD.cxx:977 AliITSPlaneEffSPD.cxx:978 AliITSPlaneEffSPD.cxx:979 AliITSPlaneEffSPD.cxx:980 AliITSPlaneEffSPD.cxx:981 AliITSPlaneEffSPD.cxx:982 AliITSPlaneEffSPD.cxx:983 AliITSPlaneEffSPD.cxx:984 AliITSPlaneEffSPD.cxx:985 AliITSPlaneEffSPD.cxx:986 AliITSPlaneEffSPD.cxx:987 AliITSPlaneEffSPD.cxx:988 AliITSPlaneEffSPD.cxx:989 AliITSPlaneEffSPD.cxx:990 AliITSPlaneEffSPD.cxx:991 AliITSPlaneEffSPD.cxx:992 AliITSPlaneEffSPD.cxx:993 AliITSPlaneEffSPD.cxx:994 AliITSPlaneEffSPD.cxx:995 AliITSPlaneEffSPD.cxx:996 AliITSPlaneEffSPD.cxx:997 AliITSPlaneEffSPD.cxx:998 AliITSPlaneEffSPD.cxx:999 AliITSPlaneEffSPD.cxx:1000 AliITSPlaneEffSPD.cxx:1001 AliITSPlaneEffSPD.cxx:1002 AliITSPlaneEffSPD.cxx:1003 AliITSPlaneEffSPD.cxx:1004 AliITSPlaneEffSPD.cxx:1005 AliITSPlaneEffSPD.cxx:1006 AliITSPlaneEffSPD.cxx:1007 AliITSPlaneEffSPD.cxx:1008 AliITSPlaneEffSPD.cxx:1009 AliITSPlaneEffSPD.cxx:1010 AliITSPlaneEffSPD.cxx:1011 AliITSPlaneEffSPD.cxx:1012 AliITSPlaneEffSPD.cxx:1013 AliITSPlaneEffSPD.cxx:1014 AliITSPlaneEffSPD.cxx:1015 AliITSPlaneEffSPD.cxx:1016 AliITSPlaneEffSPD.cxx:1017 AliITSPlaneEffSPD.cxx:1018 AliITSPlaneEffSPD.cxx:1019 AliITSPlaneEffSPD.cxx:1020 AliITSPlaneEffSPD.cxx:1021 AliITSPlaneEffSPD.cxx:1022 AliITSPlaneEffSPD.cxx:1023 AliITSPlaneEffSPD.cxx:1024 AliITSPlaneEffSPD.cxx:1025 AliITSPlaneEffSPD.cxx:1026 AliITSPlaneEffSPD.cxx:1027 AliITSPlaneEffSPD.cxx:1028 AliITSPlaneEffSPD.cxx:1029 AliITSPlaneEffSPD.cxx:1030 AliITSPlaneEffSPD.cxx:1031 AliITSPlaneEffSPD.cxx:1032 AliITSPlaneEffSPD.cxx:1033 AliITSPlaneEffSPD.cxx:1034 AliITSPlaneEffSPD.cxx:1035 AliITSPlaneEffSPD.cxx:1036 AliITSPlaneEffSPD.cxx:1037 AliITSPlaneEffSPD.cxx:1038 AliITSPlaneEffSPD.cxx:1039 AliITSPlaneEffSPD.cxx:1040 AliITSPlaneEffSPD.cxx:1041 AliITSPlaneEffSPD.cxx:1042 AliITSPlaneEffSPD.cxx:1043 AliITSPlaneEffSPD.cxx:1044 AliITSPlaneEffSPD.cxx:1045 AliITSPlaneEffSPD.cxx:1046 AliITSPlaneEffSPD.cxx:1047 AliITSPlaneEffSPD.cxx:1048 AliITSPlaneEffSPD.cxx:1049 AliITSPlaneEffSPD.cxx:1050 AliITSPlaneEffSPD.cxx:1051 AliITSPlaneEffSPD.cxx:1052 AliITSPlaneEffSPD.cxx:1053 AliITSPlaneEffSPD.cxx:1054 AliITSPlaneEffSPD.cxx:1055 AliITSPlaneEffSPD.cxx:1056 AliITSPlaneEffSPD.cxx:1057 AliITSPlaneEffSPD.cxx:1058 AliITSPlaneEffSPD.cxx:1059 AliITSPlaneEffSPD.cxx:1060 AliITSPlaneEffSPD.cxx:1061 AliITSPlaneEffSPD.cxx:1062 AliITSPlaneEffSPD.cxx:1063 AliITSPlaneEffSPD.cxx:1064 AliITSPlaneEffSPD.cxx:1065 AliITSPlaneEffSPD.cxx:1066 AliITSPlaneEffSPD.cxx:1067 AliITSPlaneEffSPD.cxx:1068 AliITSPlaneEffSPD.cxx:1069 AliITSPlaneEffSPD.cxx:1070 AliITSPlaneEffSPD.cxx:1071 AliITSPlaneEffSPD.cxx:1072 AliITSPlaneEffSPD.cxx:1073 AliITSPlaneEffSPD.cxx:1074 AliITSPlaneEffSPD.cxx:1075 AliITSPlaneEffSPD.cxx:1076 AliITSPlaneEffSPD.cxx:1077 AliITSPlaneEffSPD.cxx:1078 AliITSPlaneEffSPD.cxx:1079 AliITSPlaneEffSPD.cxx:1080 AliITSPlaneEffSPD.cxx:1081 AliITSPlaneEffSPD.cxx:1082 AliITSPlaneEffSPD.cxx:1083 AliITSPlaneEffSPD.cxx:1084 AliITSPlaneEffSPD.cxx:1085 AliITSPlaneEffSPD.cxx:1086 AliITSPlaneEffSPD.cxx:1087 AliITSPlaneEffSPD.cxx:1088 AliITSPlaneEffSPD.cxx:1089 AliITSPlaneEffSPD.cxx:1090 AliITSPlaneEffSPD.cxx:1091 AliITSPlaneEffSPD.cxx:1092 AliITSPlaneEffSPD.cxx:1093 AliITSPlaneEffSPD.cxx:1094 AliITSPlaneEffSPD.cxx:1095 AliITSPlaneEffSPD.cxx:1096 AliITSPlaneEffSPD.cxx:1097 AliITSPlaneEffSPD.cxx:1098 AliITSPlaneEffSPD.cxx:1099 AliITSPlaneEffSPD.cxx:1100 AliITSPlaneEffSPD.cxx:1101 AliITSPlaneEffSPD.cxx:1102 AliITSPlaneEffSPD.cxx:1103 AliITSPlaneEffSPD.cxx:1104 AliITSPlaneEffSPD.cxx:1105 AliITSPlaneEffSPD.cxx:1106 AliITSPlaneEffSPD.cxx:1107 AliITSPlaneEffSPD.cxx:1108 AliITSPlaneEffSPD.cxx:1109 AliITSPlaneEffSPD.cxx:1110 AliITSPlaneEffSPD.cxx:1111 AliITSPlaneEffSPD.cxx:1112 AliITSPlaneEffSPD.cxx:1113 AliITSPlaneEffSPD.cxx:1114 AliITSPlaneEffSPD.cxx:1115 AliITSPlaneEffSPD.cxx:1116 AliITSPlaneEffSPD.cxx:1117 AliITSPlaneEffSPD.cxx:1118 AliITSPlaneEffSPD.cxx:1119 AliITSPlaneEffSPD.cxx:1120 AliITSPlaneEffSPD.cxx:1121 AliITSPlaneEffSPD.cxx:1122 AliITSPlaneEffSPD.cxx:1123 AliITSPlaneEffSPD.cxx:1124 AliITSPlaneEffSPD.cxx:1125 AliITSPlaneEffSPD.cxx:1126 AliITSPlaneEffSPD.cxx:1127 AliITSPlaneEffSPD.cxx:1128 AliITSPlaneEffSPD.cxx:1129 AliITSPlaneEffSPD.cxx:1130 AliITSPlaneEffSPD.cxx:1131 AliITSPlaneEffSPD.cxx:1132 AliITSPlaneEffSPD.cxx:1133 AliITSPlaneEffSPD.cxx:1134 AliITSPlaneEffSPD.cxx:1135 AliITSPlaneEffSPD.cxx:1136 AliITSPlaneEffSPD.cxx:1137 AliITSPlaneEffSPD.cxx:1138 AliITSPlaneEffSPD.cxx:1139 AliITSPlaneEffSPD.cxx:1140 AliITSPlaneEffSPD.cxx:1141 AliITSPlaneEffSPD.cxx:1142 AliITSPlaneEffSPD.cxx:1143 AliITSPlaneEffSPD.cxx:1144 AliITSPlaneEffSPD.cxx:1145 AliITSPlaneEffSPD.cxx:1146 AliITSPlaneEffSPD.cxx:1147 AliITSPlaneEffSPD.cxx:1148 AliITSPlaneEffSPD.cxx:1149 AliITSPlaneEffSPD.cxx:1150 AliITSPlaneEffSPD.cxx:1151 AliITSPlaneEffSPD.cxx:1152 AliITSPlaneEffSPD.cxx:1153 AliITSPlaneEffSPD.cxx:1154 AliITSPlaneEffSPD.cxx:1155 AliITSPlaneEffSPD.cxx:1156 AliITSPlaneEffSPD.cxx:1157 AliITSPlaneEffSPD.cxx:1158 AliITSPlaneEffSPD.cxx:1159 AliITSPlaneEffSPD.cxx:1160 AliITSPlaneEffSPD.cxx:1161 AliITSPlaneEffSPD.cxx:1162 AliITSPlaneEffSPD.cxx:1163 AliITSPlaneEffSPD.cxx:1164 AliITSPlaneEffSPD.cxx:1165 AliITSPlaneEffSPD.cxx:1166 AliITSPlaneEffSPD.cxx:1167 AliITSPlaneEffSPD.cxx:1168 AliITSPlaneEffSPD.cxx:1169 AliITSPlaneEffSPD.cxx:1170 AliITSPlaneEffSPD.cxx:1171 AliITSPlaneEffSPD.cxx:1172 AliITSPlaneEffSPD.cxx:1173 AliITSPlaneEffSPD.cxx:1174 AliITSPlaneEffSPD.cxx:1175 AliITSPlaneEffSPD.cxx:1176 AliITSPlaneEffSPD.cxx:1177 AliITSPlaneEffSPD.cxx:1178 AliITSPlaneEffSPD.cxx:1179 AliITSPlaneEffSPD.cxx:1180 AliITSPlaneEffSPD.cxx:1181 AliITSPlaneEffSPD.cxx:1182 AliITSPlaneEffSPD.cxx:1183 AliITSPlaneEffSPD.cxx:1184 AliITSPlaneEffSPD.cxx:1185 AliITSPlaneEffSPD.cxx:1186 AliITSPlaneEffSPD.cxx:1187 AliITSPlaneEffSPD.cxx:1188 AliITSPlaneEffSPD.cxx:1189 AliITSPlaneEffSPD.cxx:1190 AliITSPlaneEffSPD.cxx:1191 AliITSPlaneEffSPD.cxx:1192 AliITSPlaneEffSPD.cxx:1193 AliITSPlaneEffSPD.cxx:1194 AliITSPlaneEffSPD.cxx:1195 AliITSPlaneEffSPD.cxx:1196 AliITSPlaneEffSPD.cxx:1197 AliITSPlaneEffSPD.cxx:1198 AliITSPlaneEffSPD.cxx:1199 AliITSPlaneEffSPD.cxx:1200 AliITSPlaneEffSPD.cxx:1201 AliITSPlaneEffSPD.cxx:1202 AliITSPlaneEffSPD.cxx:1203 AliITSPlaneEffSPD.cxx:1204 AliITSPlaneEffSPD.cxx:1205 AliITSPlaneEffSPD.cxx:1206 AliITSPlaneEffSPD.cxx:1207 AliITSPlaneEffSPD.cxx:1208 AliITSPlaneEffSPD.cxx:1209 AliITSPlaneEffSPD.cxx:1210 AliITSPlaneEffSPD.cxx:1211 AliITSPlaneEffSPD.cxx:1212 AliITSPlaneEffSPD.cxx:1213 AliITSPlaneEffSPD.cxx:1214 AliITSPlaneEffSPD.cxx:1215 AliITSPlaneEffSPD.cxx:1216 AliITSPlaneEffSPD.cxx:1217 AliITSPlaneEffSPD.cxx:1218 AliITSPlaneEffSPD.cxx:1219 AliITSPlaneEffSPD.cxx:1220 AliITSPlaneEffSPD.cxx:1221 AliITSPlaneEffSPD.cxx:1222 AliITSPlaneEffSPD.cxx:1223 AliITSPlaneEffSPD.cxx:1224 AliITSPlaneEffSPD.cxx:1225 AliITSPlaneEffSPD.cxx:1226 AliITSPlaneEffSPD.cxx:1227 AliITSPlaneEffSPD.cxx:1228 AliITSPlaneEffSPD.cxx:1229 AliITSPlaneEffSPD.cxx:1230 AliITSPlaneEffSPD.cxx:1231 AliITSPlaneEffSPD.cxx:1232 AliITSPlaneEffSPD.cxx:1233 AliITSPlaneEffSPD.cxx:1234 AliITSPlaneEffSPD.cxx:1235 AliITSPlaneEffSPD.cxx:1236 AliITSPlaneEffSPD.cxx:1237 AliITSPlaneEffSPD.cxx:1238 AliITSPlaneEffSPD.cxx:1239 AliITSPlaneEffSPD.cxx:1240 AliITSPlaneEffSPD.cxx:1241 AliITSPlaneEffSPD.cxx:1242 AliITSPlaneEffSPD.cxx:1243 AliITSPlaneEffSPD.cxx:1244 AliITSPlaneEffSPD.cxx:1245 AliITSPlaneEffSPD.cxx:1246 AliITSPlaneEffSPD.cxx:1247 AliITSPlaneEffSPD.cxx:1248 AliITSPlaneEffSPD.cxx:1249 AliITSPlaneEffSPD.cxx:1250 AliITSPlaneEffSPD.cxx:1251 AliITSPlaneEffSPD.cxx:1252 AliITSPlaneEffSPD.cxx:1253 AliITSPlaneEffSPD.cxx:1254 AliITSPlaneEffSPD.cxx:1255 AliITSPlaneEffSPD.cxx:1256 AliITSPlaneEffSPD.cxx:1257 AliITSPlaneEffSPD.cxx:1258 AliITSPlaneEffSPD.cxx:1259 AliITSPlaneEffSPD.cxx:1260 AliITSPlaneEffSPD.cxx:1261 AliITSPlaneEffSPD.cxx:1262 AliITSPlaneEffSPD.cxx:1263 AliITSPlaneEffSPD.cxx:1264 AliITSPlaneEffSPD.cxx:1265 AliITSPlaneEffSPD.cxx:1266 AliITSPlaneEffSPD.cxx:1267 AliITSPlaneEffSPD.cxx:1268 AliITSPlaneEffSPD.cxx:1269 AliITSPlaneEffSPD.cxx:1270 AliITSPlaneEffSPD.cxx:1271 AliITSPlaneEffSPD.cxx:1272 AliITSPlaneEffSPD.cxx:1273 AliITSPlaneEffSPD.cxx:1274 AliITSPlaneEffSPD.cxx:1275 AliITSPlaneEffSPD.cxx:1276 AliITSPlaneEffSPD.cxx:1277 AliITSPlaneEffSPD.cxx:1278 AliITSPlaneEffSPD.cxx:1279 AliITSPlaneEffSPD.cxx:1280 AliITSPlaneEffSPD.cxx:1281 AliITSPlaneEffSPD.cxx:1282 AliITSPlaneEffSPD.cxx:1283 AliITSPlaneEffSPD.cxx:1284 AliITSPlaneEffSPD.cxx:1285 AliITSPlaneEffSPD.cxx:1286 AliITSPlaneEffSPD.cxx:1287 AliITSPlaneEffSPD.cxx:1288 AliITSPlaneEffSPD.cxx:1289 AliITSPlaneEffSPD.cxx:1290 AliITSPlaneEffSPD.cxx:1291 AliITSPlaneEffSPD.cxx:1292 AliITSPlaneEffSPD.cxx:1293 AliITSPlaneEffSPD.cxx:1294 AliITSPlaneEffSPD.cxx:1295 AliITSPlaneEffSPD.cxx:1296 AliITSPlaneEffSPD.cxx:1297 AliITSPlaneEffSPD.cxx:1298 AliITSPlaneEffSPD.cxx:1299 AliITSPlaneEffSPD.cxx:1300 AliITSPlaneEffSPD.cxx:1301 AliITSPlaneEffSPD.cxx:1302 AliITSPlaneEffSPD.cxx:1303 AliITSPlaneEffSPD.cxx:1304 AliITSPlaneEffSPD.cxx:1305 AliITSPlaneEffSPD.cxx:1306 AliITSPlaneEffSPD.cxx:1307 AliITSPlaneEffSPD.cxx:1308 AliITSPlaneEffSPD.cxx:1309 AliITSPlaneEffSPD.cxx:1310 AliITSPlaneEffSPD.cxx:1311 AliITSPlaneEffSPD.cxx:1312 AliITSPlaneEffSPD.cxx:1313 AliITSPlaneEffSPD.cxx:1314 AliITSPlaneEffSPD.cxx:1315 AliITSPlaneEffSPD.cxx:1316 AliITSPlaneEffSPD.cxx:1317 AliITSPlaneEffSPD.cxx:1318 AliITSPlaneEffSPD.cxx:1319 AliITSPlaneEffSPD.cxx:1320 AliITSPlaneEffSPD.cxx:1321 AliITSPlaneEffSPD.cxx:1322 AliITSPlaneEffSPD.cxx:1323 AliITSPlaneEffSPD.cxx:1324 AliITSPlaneEffSPD.cxx:1325 AliITSPlaneEffSPD.cxx:1326 AliITSPlaneEffSPD.cxx:1327 AliITSPlaneEffSPD.cxx:1328 AliITSPlaneEffSPD.cxx:1329 AliITSPlaneEffSPD.cxx:1330 AliITSPlaneEffSPD.cxx:1331 AliITSPlaneEffSPD.cxx:1332 AliITSPlaneEffSPD.cxx:1333 AliITSPlaneEffSPD.cxx:1334 AliITSPlaneEffSPD.cxx:1335 AliITSPlaneEffSPD.cxx:1336 AliITSPlaneEffSPD.cxx:1337 AliITSPlaneEffSPD.cxx:1338 AliITSPlaneEffSPD.cxx:1339 AliITSPlaneEffSPD.cxx:1340 AliITSPlaneEffSPD.cxx:1341 AliITSPlaneEffSPD.cxx:1342 AliITSPlaneEffSPD.cxx:1343 AliITSPlaneEffSPD.cxx:1344 AliITSPlaneEffSPD.cxx:1345 AliITSPlaneEffSPD.cxx:1346 AliITSPlaneEffSPD.cxx:1347 AliITSPlaneEffSPD.cxx:1348 AliITSPlaneEffSPD.cxx:1349 AliITSPlaneEffSPD.cxx:1350 AliITSPlaneEffSPD.cxx:1351 AliITSPlaneEffSPD.cxx:1352 AliITSPlaneEffSPD.cxx:1353 AliITSPlaneEffSPD.cxx:1354 AliITSPlaneEffSPD.cxx:1355 AliITSPlaneEffSPD.cxx:1356 AliITSPlaneEffSPD.cxx:1357 AliITSPlaneEffSPD.cxx:1358 AliITSPlaneEffSPD.cxx:1359 AliITSPlaneEffSPD.cxx:1360 AliITSPlaneEffSPD.cxx:1361 AliITSPlaneEffSPD.cxx:1362 AliITSPlaneEffSPD.cxx:1363 AliITSPlaneEffSPD.cxx:1364 AliITSPlaneEffSPD.cxx:1365 AliITSPlaneEffSPD.cxx:1366 AliITSPlaneEffSPD.cxx:1367 AliITSPlaneEffSPD.cxx:1368 AliITSPlaneEffSPD.cxx:1369 AliITSPlaneEffSPD.cxx:1370 AliITSPlaneEffSPD.cxx:1371 AliITSPlaneEffSPD.cxx:1372 AliITSPlaneEffSPD.cxx:1373 AliITSPlaneEffSPD.cxx:1374 AliITSPlaneEffSPD.cxx:1375 AliITSPlaneEffSPD.cxx:1376 AliITSPlaneEffSPD.cxx:1377 AliITSPlaneEffSPD.cxx:1378 AliITSPlaneEffSPD.cxx:1379 AliITSPlaneEffSPD.cxx:1380 AliITSPlaneEffSPD.cxx:1381 AliITSPlaneEffSPD.cxx:1382 AliITSPlaneEffSPD.cxx:1383 AliITSPlaneEffSPD.cxx:1384 AliITSPlaneEffSPD.cxx:1385 AliITSPlaneEffSPD.cxx:1386 AliITSPlaneEffSPD.cxx:1387 AliITSPlaneEffSPD.cxx:1388 AliITSPlaneEffSPD.cxx:1389 AliITSPlaneEffSPD.cxx:1390 AliITSPlaneEffSPD.cxx:1391 AliITSPlaneEffSPD.cxx:1392 AliITSPlaneEffSPD.cxx:1393 AliITSPlaneEffSPD.cxx:1394 AliITSPlaneEffSPD.cxx:1395 AliITSPlaneEffSPD.cxx:1396 AliITSPlaneEffSPD.cxx:1397 AliITSPlaneEffSPD.cxx:1398 AliITSPlaneEffSPD.cxx:1399 AliITSPlaneEffSPD.cxx:1400 AliITSPlaneEffSPD.cxx:1401 AliITSPlaneEffSPD.cxx:1402 AliITSPlaneEffSPD.cxx:1403 AliITSPlaneEffSPD.cxx:1404 AliITSPlaneEffSPD.cxx:1405 AliITSPlaneEffSPD.cxx:1406 AliITSPlaneEffSPD.cxx:1407 AliITSPlaneEffSPD.cxx:1408 AliITSPlaneEffSPD.cxx:1409 AliITSPlaneEffSPD.cxx:1410 AliITSPlaneEffSPD.cxx:1411 AliITSPlaneEffSPD.cxx:1412 AliITSPlaneEffSPD.cxx:1413 AliITSPlaneEffSPD.cxx:1414 AliITSPlaneEffSPD.cxx:1415 AliITSPlaneEffSPD.cxx:1416 AliITSPlaneEffSPD.cxx:1417 AliITSPlaneEffSPD.cxx:1418 AliITSPlaneEffSPD.cxx:1419 AliITSPlaneEffSPD.cxx:1420 AliITSPlaneEffSPD.cxx:1421 AliITSPlaneEffSPD.cxx:1422 AliITSPlaneEffSPD.cxx:1423 AliITSPlaneEffSPD.cxx:1424 AliITSPlaneEffSPD.cxx:1425 AliITSPlaneEffSPD.cxx:1426 AliITSPlaneEffSPD.cxx:1427 AliITSPlaneEffSPD.cxx:1428 AliITSPlaneEffSPD.cxx:1429 AliITSPlaneEffSPD.cxx:1430 AliITSPlaneEffSPD.cxx:1431 AliITSPlaneEffSPD.cxx:1432 AliITSPlaneEffSPD.cxx:1433 AliITSPlaneEffSPD.cxx:1434 AliITSPlaneEffSPD.cxx:1435 AliITSPlaneEffSPD.cxx:1436 AliITSPlaneEffSPD.cxx:1437 AliITSPlaneEffSPD.cxx:1438 AliITSPlaneEffSPD.cxx:1439 AliITSPlaneEffSPD.cxx:1440 AliITSPlaneEffSPD.cxx:1441 AliITSPlaneEffSPD.cxx:1442 AliITSPlaneEffSPD.cxx:1443 AliITSPlaneEffSPD.cxx:1444 AliITSPlaneEffSPD.cxx:1445 AliITSPlaneEffSPD.cxx:1446 AliITSPlaneEffSPD.cxx:1447 AliITSPlaneEffSPD.cxx:1448 AliITSPlaneEffSPD.cxx:1449 AliITSPlaneEffSPD.cxx:1450 AliITSPlaneEffSPD.cxx:1451 AliITSPlaneEffSPD.cxx:1452 AliITSPlaneEffSPD.cxx:1453 AliITSPlaneEffSPD.cxx:1454 AliITSPlaneEffSPD.cxx:1455 AliITSPlaneEffSPD.cxx:1456 AliITSPlaneEffSPD.cxx:1457 AliITSPlaneEffSPD.cxx:1458 AliITSPlaneEffSPD.cxx:1459 AliITSPlaneEffSPD.cxx:1460 AliITSPlaneEffSPD.cxx:1461 AliITSPlaneEffSPD.cxx:1462 AliITSPlaneEffSPD.cxx:1463 AliITSPlaneEffSPD.cxx:1464 AliITSPlaneEffSPD.cxx:1465 AliITSPlaneEffSPD.cxx:1466 AliITSPlaneEffSPD.cxx:1467 AliITSPlaneEffSPD.cxx:1468 AliITSPlaneEffSPD.cxx:1469 AliITSPlaneEffSPD.cxx:1470 AliITSPlaneEffSPD.cxx:1471 AliITSPlaneEffSPD.cxx:1472 AliITSPlaneEffSPD.cxx:1473 AliITSPlaneEffSPD.cxx:1474 AliITSPlaneEffSPD.cxx:1475 AliITSPlaneEffSPD.cxx:1476 AliITSPlaneEffSPD.cxx:1477 AliITSPlaneEffSPD.cxx:1478 AliITSPlaneEffSPD.cxx:1479 AliITSPlaneEffSPD.cxx:1480 AliITSPlaneEffSPD.cxx:1481 AliITSPlaneEffSPD.cxx:1482 AliITSPlaneEffSPD.cxx:1483 AliITSPlaneEffSPD.cxx:1484 AliITSPlaneEffSPD.cxx:1485 AliITSPlaneEffSPD.cxx:1486 AliITSPlaneEffSPD.cxx:1487 AliITSPlaneEffSPD.cxx:1488 AliITSPlaneEffSPD.cxx:1489 AliITSPlaneEffSPD.cxx:1490 AliITSPlaneEffSPD.cxx:1491 AliITSPlaneEffSPD.cxx:1492 AliITSPlaneEffSPD.cxx:1493 AliITSPlaneEffSPD.cxx:1494 AliITSPlaneEffSPD.cxx:1495 AliITSPlaneEffSPD.cxx:1496 AliITSPlaneEffSPD.cxx:1497 AliITSPlaneEffSPD.cxx:1498 AliITSPlaneEffSPD.cxx:1499 AliITSPlaneEffSPD.cxx:1500 AliITSPlaneEffSPD.cxx:1501 AliITSPlaneEffSPD.cxx:1502 AliITSPlaneEffSPD.cxx:1503 AliITSPlaneEffSPD.cxx:1504 AliITSPlaneEffSPD.cxx:1505 AliITSPlaneEffSPD.cxx:1506 AliITSPlaneEffSPD.cxx:1507 AliITSPlaneEffSPD.cxx:1508 AliITSPlaneEffSPD.cxx:1509 AliITSPlaneEffSPD.cxx:1510 AliITSPlaneEffSPD.cxx:1511 AliITSPlaneEffSPD.cxx:1512 AliITSPlaneEffSPD.cxx:1513 AliITSPlaneEffSPD.cxx:1514 AliITSPlaneEffSPD.cxx:1515 AliITSPlaneEffSPD.cxx:1516 AliITSPlaneEffSPD.cxx:1517 AliITSPlaneEffSPD.cxx:1518 AliITSPlaneEffSPD.cxx:1519 AliITSPlaneEffSPD.cxx:1520 AliITSPlaneEffSPD.cxx:1521 AliITSPlaneEffSPD.cxx:1522 AliITSPlaneEffSPD.cxx:1523 AliITSPlaneEffSPD.cxx:1524 AliITSPlaneEffSPD.cxx:1525 AliITSPlaneEffSPD.cxx:1526 AliITSPlaneEffSPD.cxx:1527 AliITSPlaneEffSPD.cxx:1528 AliITSPlaneEffSPD.cxx:1529 AliITSPlaneEffSPD.cxx:1530 AliITSPlaneEffSPD.cxx:1531 AliITSPlaneEffSPD.cxx:1532 AliITSPlaneEffSPD.cxx:1533 AliITSPlaneEffSPD.cxx:1534 AliITSPlaneEffSPD.cxx:1535 AliITSPlaneEffSPD.cxx:1536 AliITSPlaneEffSPD.cxx:1537 AliITSPlaneEffSPD.cxx:1538 AliITSPlaneEffSPD.cxx:1539 AliITSPlaneEffSPD.cxx:1540 AliITSPlaneEffSPD.cxx:1541 AliITSPlaneEffSPD.cxx:1542 AliITSPlaneEffSPD.cxx:1543 AliITSPlaneEffSPD.cxx:1544 AliITSPlaneEffSPD.cxx:1545 AliITSPlaneEffSPD.cxx:1546 AliITSPlaneEffSPD.cxx:1547 AliITSPlaneEffSPD.cxx:1548 AliITSPlaneEffSPD.cxx:1549 AliITSPlaneEffSPD.cxx:1550 AliITSPlaneEffSPD.cxx:1551 AliITSPlaneEffSPD.cxx:1552 AliITSPlaneEffSPD.cxx:1553 AliITSPlaneEffSPD.cxx:1554 AliITSPlaneEffSPD.cxx:1555 AliITSPlaneEffSPD.cxx:1556 AliITSPlaneEffSPD.cxx:1557 AliITSPlaneEffSPD.cxx:1558 AliITSPlaneEffSPD.cxx:1559 AliITSPlaneEffSPD.cxx:1560 AliITSPlaneEffSPD.cxx:1561 AliITSPlaneEffSPD.cxx:1562 AliITSPlaneEffSPD.cxx:1563 AliITSPlaneEffSPD.cxx:1564 AliITSPlaneEffSPD.cxx:1565 AliITSPlaneEffSPD.cxx:1566 AliITSPlaneEffSPD.cxx:1567 AliITSPlaneEffSPD.cxx:1568 AliITSPlaneEffSPD.cxx:1569 AliITSPlaneEffSPD.cxx:1570 AliITSPlaneEffSPD.cxx:1571 AliITSPlaneEffSPD.cxx:1572 AliITSPlaneEffSPD.cxx:1573 AliITSPlaneEffSPD.cxx:1574 AliITSPlaneEffSPD.cxx:1575 AliITSPlaneEffSPD.cxx:1576 AliITSPlaneEffSPD.cxx:1577 AliITSPlaneEffSPD.cxx:1578 AliITSPlaneEffSPD.cxx:1579 AliITSPlaneEffSPD.cxx:1580 AliITSPlaneEffSPD.cxx:1581 AliITSPlaneEffSPD.cxx:1582 AliITSPlaneEffSPD.cxx:1583 AliITSPlaneEffSPD.cxx:1584 AliITSPlaneEffSPD.cxx:1585 AliITSPlaneEffSPD.cxx:1586 AliITSPlaneEffSPD.cxx:1587 AliITSPlaneEffSPD.cxx:1588 AliITSPlaneEffSPD.cxx:1589 AliITSPlaneEffSPD.cxx:1590 AliITSPlaneEffSPD.cxx:1591 AliITSPlaneEffSPD.cxx:1592 AliITSPlaneEffSPD.cxx:1593 AliITSPlaneEffSPD.cxx:1594 AliITSPlaneEffSPD.cxx:1595 AliITSPlaneEffSPD.cxx:1596 AliITSPlaneEffSPD.cxx:1597 AliITSPlaneEffSPD.cxx:1598 AliITSPlaneEffSPD.cxx:1599 AliITSPlaneEffSPD.cxx:1600 AliITSPlaneEffSPD.cxx:1601 AliITSPlaneEffSPD.cxx:1602 AliITSPlaneEffSPD.cxx:1603 AliITSPlaneEffSPD.cxx:1604 AliITSPlaneEffSPD.cxx:1605 AliITSPlaneEffSPD.cxx:1606 AliITSPlaneEffSPD.cxx:1607 AliITSPlaneEffSPD.cxx:1608 AliITSPlaneEffSPD.cxx:1609 AliITSPlaneEffSPD.cxx:1610 AliITSPlaneEffSPD.cxx:1611 AliITSPlaneEffSPD.cxx:1612 AliITSPlaneEffSPD.cxx:1613 AliITSPlaneEffSPD.cxx:1614 AliITSPlaneEffSPD.cxx:1615 AliITSPlaneEffSPD.cxx:1616 AliITSPlaneEffSPD.cxx:1617 AliITSPlaneEffSPD.cxx:1618 AliITSPlaneEffSPD.cxx:1619 AliITSPlaneEffSPD.cxx:1620 AliITSPlaneEffSPD.cxx:1621 AliITSPlaneEffSPD.cxx:1622 AliITSPlaneEffSPD.cxx:1623 AliITSPlaneEffSPD.cxx:1624 AliITSPlaneEffSPD.cxx:1625 AliITSPlaneEffSPD.cxx:1626 AliITSPlaneEffSPD.cxx:1627 AliITSPlaneEffSPD.cxx:1628 AliITSPlaneEffSPD.cxx:1629 AliITSPlaneEffSPD.cxx:1630 AliITSPlaneEffSPD.cxx:1631 AliITSPlaneEffSPD.cxx:1632 AliITSPlaneEffSPD.cxx:1633 AliITSPlaneEffSPD.cxx:1634 AliITSPlaneEffSPD.cxx:1635 AliITSPlaneEffSPD.cxx:1636 AliITSPlaneEffSPD.cxx:1637 AliITSPlaneEffSPD.cxx:1638 AliITSPlaneEffSPD.cxx:1639 AliITSPlaneEffSPD.cxx:1640 AliITSPlaneEffSPD.cxx:1641 AliITSPlaneEffSPD.cxx:1642 AliITSPlaneEffSPD.cxx:1643 AliITSPlaneEffSPD.cxx:1644 AliITSPlaneEffSPD.cxx:1645 AliITSPlaneEffSPD.cxx:1646 AliITSPlaneEffSPD.cxx:1647 AliITSPlaneEffSPD.cxx:1648 AliITSPlaneEffSPD.cxx:1649 AliITSPlaneEffSPD.cxx:1650 AliITSPlaneEffSPD.cxx:1651 AliITSPlaneEffSPD.cxx:1652 AliITSPlaneEffSPD.cxx:1653 AliITSPlaneEffSPD.cxx:1654 AliITSPlaneEffSPD.cxx:1655 AliITSPlaneEffSPD.cxx:1656 AliITSPlaneEffSPD.cxx:1657 AliITSPlaneEffSPD.cxx:1658 AliITSPlaneEffSPD.cxx:1659 AliITSPlaneEffSPD.cxx:1660 AliITSPlaneEffSPD.cxx:1661 AliITSPlaneEffSPD.cxx:1662 AliITSPlaneEffSPD.cxx:1663 AliITSPlaneEffSPD.cxx:1664 AliITSPlaneEffSPD.cxx:1665 AliITSPlaneEffSPD.cxx:1666 AliITSPlaneEffSPD.cxx:1667 AliITSPlaneEffSPD.cxx:1668 AliITSPlaneEffSPD.cxx:1669 AliITSPlaneEffSPD.cxx:1670 AliITSPlaneEffSPD.cxx:1671 AliITSPlaneEffSPD.cxx:1672 AliITSPlaneEffSPD.cxx:1673 AliITSPlaneEffSPD.cxx:1674 AliITSPlaneEffSPD.cxx:1675 AliITSPlaneEffSPD.cxx:1676 AliITSPlaneEffSPD.cxx:1677 AliITSPlaneEffSPD.cxx:1678 AliITSPlaneEffSPD.cxx:1679 AliITSPlaneEffSPD.cxx:1680 AliITSPlaneEffSPD.cxx:1681 AliITSPlaneEffSPD.cxx:1682 AliITSPlaneEffSPD.cxx:1683 AliITSPlaneEffSPD.cxx:1684 AliITSPlaneEffSPD.cxx:1685 AliITSPlaneEffSPD.cxx:1686 AliITSPlaneEffSPD.cxx:1687 AliITSPlaneEffSPD.cxx:1688 AliITSPlaneEffSPD.cxx:1689 AliITSPlaneEffSPD.cxx:1690 AliITSPlaneEffSPD.cxx:1691 AliITSPlaneEffSPD.cxx:1692