#include <TFile.h>
#include <TStopwatch.h>
#include <TNtuple.h>
#include <TClonesArray.h>
#include <TMath.h>
#include <TGraph.h>
#include <TCanvas.h>
#include <TH1F.h>
#include "AliITSRealignTracks.h"
#include "AliAlignObjParams.h"
#include "AliAlignObj.h"
#include "AliGeomManager.h"
#include "AliTrackFitter.h"
#include "AliTrackFitterKalman.h"
#include "AliTrackFitterRieman.h"
#include "AliTrackResidualsFast.h"
#include "AliTrackResidualsChi2.h"
#include "AliTrackResidualsLinear.h"
#include "AliLog.h"
#include <TSystem.h>
#include <TGeoManager.h>
class AliAlignmentTracks;
class TGeoMatrix;
class TArray;
ClassImp(AliITSRealignTracks)
const Int_t kreferSect=2;
AliITSRealignTracks::AliITSRealignTracks(TString minimizer,Int_t fit,Bool_t covUsed,TString fileintro,TString geometryfile,TString misalignmentFile,TString startingfile):
AliAlignmentTracks(),
fSurveyObjs(0),
fgeomfilename(),
fmintracks(),
fUpdateCov(kFALSE),
fVarySigmaY(kFALSE),
fCorrModules(0),
fLimitCorr(0),
fsigmaY(),
fDraw(kFALSE),
fAlignDrawObjs(0),
fCanvPar(0),
fCanvGr(0),
fgrIterMeanX(0),
fgrIterRMSX(0),
fgrIterMeanY(0),
fgrIterRMSY(0),
fgrIterMeanZ(0),
fgrIterRMSZ(0),
fgrIterMeanPsi(0),
fgrIterRMSPsi(0),
fgrIterMeanTheta(0),
fgrIterRMSTheta(0),
fgrIterMeanPhi(0),
fgrIterRMSPhi(0)
{
SetPointsFilename(fileintro.Data());
SetGeomFilename(geometryfile);
InitAlignObjs();
if(!InitSurveyObjs(kFALSE))AliWarning("Unable to set Survey AlignObjs!");
if(startingfile=="")printf("Starting from default geometry \n");
else ReadAlignObjs(startingfile.Data(),"ITSAlignObjs");
if(misalignmentFile=="")printf("NO FAKE MISALIGNMENT INTRODUCED \n");
else {
Bool_t misal=Misalign(misalignmentFile,"ITSAlignObjs");
if(!misal)AliWarning("Incorrect fake misalignment filename!");;
}
if(!gGeoManager) AliGeomManager::LoadGeometry(fgeomfilename.Data());
if(covUsed)SetCovIsUsed(kTRUE);
if(!SelectFitter(fit))AliWarning("Incorrect fitter assignment!");
if(!SelectMinimizer(minimizer))AliWarning("Incorrect minimizer assignment!");
fsigmaY=1.;
fmintracks=1;
BuildIndex();
}
AliITSRealignTracks::AliITSRealignTracks(const AliITSRealignTracks &realignTracks):
AliAlignmentTracks(),
fSurveyObjs(new AliAlignObj**(*realignTracks.fSurveyObjs)),
fgeomfilename(realignTracks.fgeomfilename),
fmintracks(realignTracks.fmintracks),
fUpdateCov(realignTracks.fUpdateCov),
fVarySigmaY(realignTracks.fVarySigmaY),
fCorrModules(new Double_t *(*realignTracks.fCorrModules)),
fLimitCorr(realignTracks.fLimitCorr),
fsigmaY(realignTracks.fsigmaY),
fDraw(kFALSE),
fAlignDrawObjs(realignTracks.fAlignDrawObjs),
fCanvPar(realignTracks.fCanvPar),
fCanvGr(realignTracks.fCanvGr),
fgrIterMeanX(realignTracks.fgrIterMeanX),
fgrIterRMSX(realignTracks.fgrIterRMSX),
fgrIterMeanY(realignTracks.fgrIterMeanY),
fgrIterRMSY(realignTracks.fgrIterRMSY),
fgrIterMeanZ(realignTracks.fgrIterMeanZ),
fgrIterRMSZ(realignTracks.fgrIterRMSZ),
fgrIterMeanPsi(realignTracks.fgrIterMeanPsi),
fgrIterRMSPsi(realignTracks.fgrIterRMSPsi),
fgrIterMeanTheta(realignTracks.fgrIterMeanTheta),
fgrIterRMSTheta(realignTracks.fgrIterRMSTheta),
fgrIterMeanPhi(realignTracks.fgrIterMeanPhi),
fgrIterRMSPhi(realignTracks.fgrIterRMSPhi)
{
AliWarning("Can't copy AliAlignmentTracks Data member!");
}
AliITSRealignTracks& AliITSRealignTracks::operator=(const AliITSRealignTracks &obj){
this->~AliITSRealignTracks();
new(this) AliITSRealignTracks(obj);
return *this;
}
AliITSRealignTracks::~AliITSRealignTracks(){
if(fSurveyObjs) DeleteSurveyObjs();
if(fAlignDrawObjs) DeleteDrawHists();
}
Bool_t AliITSRealignTracks::SelectFitter(Int_t fit,Int_t minTrackPoint){
if(fit==1){
AliTrackFitterKalman *fitter= new AliTrackFitterKalman();
fitter->SetMinNPoints(minTrackPoint);
SetTrackFitter(fitter);
}
else if(fit==0){
AliTrackFitterRieman *fitter=new AliTrackFitterRieman();
fitter->SetMinNPoints(minTrackPoint);
SetTrackFitter(fitter);
}
else return kFALSE;
return kTRUE;
}
Bool_t AliITSRealignTracks::SelectMinimizer(TString minimizer,Int_t minpoints,const Bool_t *coord){
AliTrackResiduals *res;
if(minimizer=="minuit"){
res = new AliTrackResidualsChi2();
if(coord){
for(Int_t j=0;j<6;j++){
if(coord[j])res->FixParameter(j);
}
}
}
else if(minimizer=="minuitnorot"){
res = new AliTrackResidualsChi2();
res->FixParameter(3);
res->FixParameter(4);
res->FixParameter(5);
}
else if(minimizer=="fast"){
res = new AliTrackResidualsFast();
if(coord){
for(Int_t j=0;j<6;j++){
if(coord[j])res->FixParameter(j);
}
}
}
else if(minimizer=="linear"){
res = new AliTrackResidualsLinear();
}
else {
printf("Trying to set a non existing minimizer! \n");
return kFALSE;
}
res->SetMinNPoints(minpoints);
SetMinimizer(res);
return kTRUE;
}
void AliITSRealignTracks::SetVarySigmaY(Bool_t varysigmay,Double_t sigmaYfixed){
fVarySigmaY=varysigmay;
if(!varysigmay){
if(sigmaYfixed>0.)fsigmaY=sigmaYfixed;
else {
printf("Negative assignment to sigmaY! set it to default value (1 cm) \n");
fsigmaY=1.;
}
}
}
void AliITSRealignTracks::RealignITSVolIndependent(Int_t iter1,Int_t iterations,Int_t minNtracks,Int_t layer,Int_t minTrackPoint){
fTrackFitter->SetMinNPoints(minTrackPoint);
TArrayI volIDs2(2200);
volIDs2.Reset(0);
TArrayI volIDs(1);
TString command;
TArrayI volIDsFit;
Int_t iLayer,iLayerToAlign;
Int_t minNumPoint[6]={100,100,100,100,50,50};
Double_t fact=10;
Int_t j=0;
Int_t size=0;
Int_t layerNum,modNum,lastVolid=0;
TNtuple *ntVolumeAlign=new TNtuple("ntVolumeAlign","NTuple with volume tried to be realigned","layerNum:modNum:volumeIDnum");
TStopwatch *timer=new TStopwatch();
timer->Start();
BuildIndex();
j=0;
UShort_t volid;
for(Int_t iter=0;iter<iterations;iter++){
for(iLayerToAlign=(Int_t)AliGeomManager::kSPD1;iLayerToAlign<=(Int_t)AliGeomManager::kSSD2;iLayerToAlign++){
if(layer!=0&&iLayerToAlign!=layer)continue;
j=0;
size=0;
for(Int_t k=(Int_t)AliGeomManager::kSPD1;k<=(Int_t)AliGeomManager::kSSD2;k++){
size+=AliGeomManager::LayerSize(k);
printf("size: %d \n",size);
}
for (Int_t iModule=0;iModule<AliGeomManager::LayerSize(iLayerToAlign);iModule++){
j=0;
if(minNtracks<0){
if(GetLastIndex(iLayerToAlign-(Int_t)AliGeomManager::kFirstLayer,iModule)<minNumPoint[iLayerToAlign-(Int_t)AliGeomManager::kFirstLayer]*(-1*minNtracks/fact))continue; }
else if(GetLastIndex(iLayerToAlign-(Int_t)AliGeomManager::kFirstLayer,iModule)<minNtracks)continue;
UShort_t volidAl = AliGeomManager::LayerToVolUID(iLayerToAlign,iModule);
volIDsFit.Reset(0);
volIDsFit.Set(size-1);
for (iLayer=AliGeomManager::kSPD1;iLayer<AliGeomManager::kTPC1;iLayer++){
for (Int_t iModule2=0;iModule2<AliGeomManager::LayerSize(iLayer);iModule2++){
volid = AliGeomManager::LayerToVolUID(iLayer,iModule2);
if(AliGeomManager::LayerToVolUID(iLayer,iModule2)==volidAl)continue;
volIDsFit.AddAt(volid,j);
j++;
}
}
volIDs.AddAt((Int_t)volidAl,0);
if(iter==iterations-1){
volIDs2.AddAt(volidAl,lastVolid);
lastVolid++;
}
volIDs2.AddAt(volidAl,lastVolid);
AlignVolumesITS(&volIDs,&volIDsFit,AliGeomManager::kSPD1,AliGeomManager::kSSD2,iter1);
}
}
if((iter+1)%5==0||iter==0||iter==1||iter==2||iter==3||iter==iterations-1){
command="RealignObj";
command+=(iter+1);
command.Append(".root");
WriteRealignObjArray(command.Data(),AliGeomManager::kSPD1,AliGeomManager::kSSD2);
}
}
if(j==0){printf("j=0 \n");return;}
for(Int_t k=0;k<volIDs2.GetSize();k++){
if(volIDs2.At(k)==0)break;
layerNum=AliGeomManager::VolUIDToLayer(volIDs2.At(k),modNum);
ntVolumeAlign->Fill(layerNum,modNum,volIDs2.At(k));
}
printf("End of selecting modules cycle: %d modules selected \n",j);
TFile *f=new TFile("RealignVolNt.root","RECREATE");
f->cd();
ntVolumeAlign->Write();
f->Close();
timer->Stop();
timer->Print();
return;
}
void AliITSRealignTracks::RealignITStracks(TString minimizer,Int_t fit=0,Int_t iter1=1,Int_t iterations=5,Int_t minNtracks=-10,Int_t layer=0,Int_t minTrackPoint=6,Bool_t covUsed=kFALSE,TString misalignmentFile="",TString startingfile="",Int_t doGlobal=1)
{
TArrayI volIDs2(2200);
volIDs2.Reset(0);
TArrayI volIDs(1);
TString command;
TArrayI volIDsFit;
Int_t iLayer,iLayerToAlign;
Int_t minNumPoint[6]={100,100,100,100,50,50};
Double_t fact=10;
Int_t count=0;
Int_t size=0;
Int_t layerNum,modNum,lastVolid=0;
TNtuple *ntVolumeAlign=new TNtuple("ntVolumeAlign","NTuple with volume tried to be realigned","layerNum:modNum:volumeIDnum");
if(!SelectFitter(fit))AliWarning("Incorrect fitter assignment!");
if(!SelectMinimizer(minimizer))AliWarning("Incorrect minimizer assignment!");
if(misalignmentFile=="")printf("NO FAKE MISALIGNMENT INTRODUCED \n");
else {
Bool_t misal=Misalign(misalignmentFile,"ITSAlignObjs");
if(!misal)return;
}
TStopwatch *timer=new TStopwatch();
timer->Start();
BuildIndex();
count=0;
UShort_t volid;
if(startingfile=="")printf("Starting from default geometry \n");
else {
printf("Starting from AlignObjs file: %s",startingfile.Data());
ReadAlignObjs(startingfile.Data(),"ITSAlignObjs");
}
for(Int_t iter=0;iter<iterations;iter++){
if(covUsed)SetCovIsUsed(kTRUE);
if(layer==0&&(doGlobal==1||doGlobal==2)){
for(Int_t siter=0;siter<5;siter++){
fTrackFitter->SetMinNPoints(2);
SetCovUpdate(kFALSE);
AlignSPDHalfBarrelToSectorRef(kreferSect,3);
AlignSPDHalfBarrelToHalfBarrel(1,3);
for(Int_t sector=0;sector<10;sector++){
SetMinNtracks(100);
if(sector==kreferSect)continue;
AlignSPDSectorWithSectors(sector,1);
}
for(Int_t lay=1;lay<=6;lay++){
if(!AlignLayerToSector(lay,kreferSect,3))AlignLayerToSPDHalfBarrel(lay,0,3);
}
AlignSPDHalfBarrel(0,3);
Int_t layers[6]={2,2,1,0,0,0};
fTrackFitter->SetMinNPoints(4);
AlignLayersToLayers(layers,1);
fTrackFitter->SetMinNPoints(6);
layers[2]=2;
layers[3]=1;
AlignLayersToLayers(layers,1);
fTrackFitter->SetMinNPoints(6);
layers[3]=2;
layers[4]=1;
AlignLayersToLayers(layers,1);
fTrackFitter->SetMinNPoints(6);
layers[4]=2;
layers[5]=1;
AlignLayersToLayers(layers,1);
for(Int_t sector=0;sector<10;sector++){
AlignSPDSectorToOuterLayers(sector,1);
}
WriteRealignObjArray("AfterGlobal.root",AliGeomManager::kSPD1,AliGeomManager::kSSD2);
}
}
if(doGlobal==2)return;
if(covUsed)SetCovUpdate(kTRUE);
SetMinNtracks(1);
fTrackFitter->SetMinNPoints(minTrackPoint);
for(iLayerToAlign=(Int_t)AliGeomManager::kSPD1;iLayerToAlign<=(Int_t)AliGeomManager::kSSD2;iLayerToAlign++){
if(layer!=0&&iLayerToAlign!=layer)continue;
count=0;
size=0;
for(Int_t k=(Int_t)AliGeomManager::kSPD1;k<=(Int_t)AliGeomManager::kSSD2;k++){
size+=AliGeomManager::LayerSize(k);
printf("size: %d \n",size);
}
for (Int_t iModule=0;iModule<AliGeomManager::LayerSize(iLayerToAlign);iModule++){
count=0;
if(minNtracks<0){
if(GetLastIndex(iLayerToAlign-(Int_t)AliGeomManager::kFirstLayer,iModule)<minNumPoint[iLayerToAlign-(Int_t)AliGeomManager::kFirstLayer]*(-1*minNtracks/fact))continue;
}
else if(GetLastIndex(iLayerToAlign-(Int_t)AliGeomManager::kFirstLayer,iModule)<minNtracks)continue;
UShort_t volidAl = AliGeomManager::LayerToVolUID(iLayerToAlign,iModule);
volIDsFit.Reset(0);
volIDsFit.Set(size-1);
for (iLayer=(Int_t)AliGeomManager::kSPD1;iLayer<(Int_t)AliGeomManager::kTPC1;iLayer++){
for (Int_t iModule2=0;iModule2<AliGeomManager::LayerSize(iLayer);iModule2++){
volid = AliGeomManager::LayerToVolUID(iLayer,iModule2);
if(AliGeomManager::LayerToVolUID(iLayer,iModule2)==volidAl)continue;
volIDsFit.AddAt(volid,count);
count++;
}
}
volIDs.AddAt((Int_t)volidAl,0);
if(iter==iterations-1){
volIDs2.AddAt(volidAl,lastVolid);
lastVolid++;
}
volIDs2.AddAt(volidAl,lastVolid);
AlignVolumesITS(&volIDs,&volIDsFit,AliGeomManager::kSPD1,AliGeomManager::kSSD2,iter1);
}
}
if((iter+1)%2==0||(iter+1)%5==0||iter==0||iter==1||iter==2||iter==3||iter==iterations-1){
command="RealignObj";
command+=(iter+1);
command.Append(".root");
WriteRealignObjArray(command.Data(),AliGeomManager::kSPD1,AliGeomManager::kSSD2);
}
}
if(count==0){printf("count=0 \n");return;}
for(Int_t k=0;k<volIDs2.GetSize();k++){
if(volIDs2.At(k)==0)break;
layerNum=AliGeomManager::VolUIDToLayer(volIDs2.At(k),modNum);
ntVolumeAlign->Fill(layerNum,modNum,volIDs2.At(k));
}
printf("End of selecting modules cycle: %d modules selected \n",count);
TFile *f=new TFile("RealignVolNt.root","RECREATE");
f->cd();
ntVolumeAlign->Write();
f->Close();
timer->Stop();
timer->Print();
return;
}
void AliITSRealignTracks::InitAlignObjs()
{
TMatrixDSym c(6);
Double_t cov[21];
for(Int_t i=0;i<21;i++)cov[i]=0.;
for(Int_t i=0;i<3;i++)cov[i*(i+1)/2+i]=0.05*0.05;
for(Int_t i=3;i<6;i++)cov[i*(i+1)/2+i]=0.001*0.001*180*180/3.14/3.14;
Int_t nLayers = AliGeomManager::kLastLayer - AliGeomManager::kFirstLayer;
fAlignObjs = new AliAlignObj**[nLayers];
for (Int_t iLayer = 0; iLayer < (AliGeomManager::kLastLayer - AliGeomManager::kFirstLayer); iLayer++) {
fAlignObjs[iLayer] = new AliAlignObj*[AliGeomManager::LayerSize(iLayer + AliGeomManager::kFirstLayer)];
for (Int_t iModule = 0; iModule < AliGeomManager::LayerSize(iLayer + AliGeomManager::kFirstLayer); iModule++) {
UShort_t volid = AliGeomManager::LayerToVolUID(iLayer+ AliGeomManager::kFirstLayer,iModule);
fAlignObjs[iLayer][iModule] = new AliAlignObjParams(AliGeomManager::SymName(volid),volid,0,0,0,0,0,0,kTRUE);
fAlignObjs[iLayer][iModule]->SetCorrMatrix(cov);
fAlignObjs[iLayer][iModule]->SetUniqueID(0);
}
}
}
void AliITSRealignTracks::ResetCorrModules(){
if(!fCorrModules){
Int_t nLayers = AliGeomManager::kLastLayer - AliGeomManager::kFirstLayer;
fCorrModules = new Double_t*[nLayers];
for (Int_t iLayer = 0; iLayer < (AliGeomManager::kLastLayer - AliGeomManager::kFirstLayer); iLayer++) {
fCorrModules[iLayer] = new Double_t[AliGeomManager::LayerSize(iLayer + AliGeomManager::kFirstLayer)];
for (Int_t iModule = 0; iModule < AliGeomManager::LayerSize(iLayer + AliGeomManager::kFirstLayer); iModule++) {
fCorrModules[iLayer][iModule]=0.;
}
}
}
else{
for (Int_t iLayer = 0; iLayer < (AliGeomManager::kLastLayer - AliGeomManager::kFirstLayer); iLayer++) {
for (Int_t iModule = 0; iModule < AliGeomManager::LayerSize(iLayer + AliGeomManager::kFirstLayer); iModule++) {
fCorrModules[iLayer][iModule]=0.;
}
}
}
}
Bool_t AliITSRealignTracks::InitSurveyObjs(Bool_t infinite,Double_t factor,TString filename,TString arrayName){
if(fSurveyObjs)DeleteSurveyObjs();
Bool_t fromfile=kFALSE;
TFile *surveyObj;
TClonesArray *clnarray;
if(!filename.IsNull()){
if(gSystem->AccessPathName(filename.Data(),kFileExists)){
printf("Wrong Survey AlignObjs File Name \n");
return kFALSE;
}
if(arrayName.IsNull()){
printf("Null Survey Object Name! \n");
return kFALSE;
}
fromfile=kTRUE;
}
Double_t v=1.*factor;
if(infinite)v*=100000.;
TMatrixDSym c(6);
Double_t cov[21];
for(Int_t i=0;i<21;i++)cov[i]=0.;
for(Int_t i=0;i<3;i++)cov[i*(i+1)/2+i]=0.1*0.1*v;
for(Int_t i=3;i<6;i++)cov[i*(i+1)/2+i]=0.03*0.03*180.*180./3.14/3.14*v;
Int_t nLayers = AliGeomManager::kLastLayer - AliGeomManager::kFirstLayer;
fSurveyObjs = new AliAlignObj**[nLayers];
for (Int_t iLayer = 0; iLayer < (AliGeomManager::kLastLayer - AliGeomManager::kFirstLayer); iLayer++) {
fSurveyObjs[iLayer] = new AliAlignObj*[AliGeomManager::LayerSize(iLayer + AliGeomManager::kFirstLayer)];
for (Int_t iModule = 0; iModule < AliGeomManager::LayerSize(iLayer + AliGeomManager::kFirstLayer); iModule++) {
fSurveyObjs[iLayer][iModule] = 0x0;
}
}
if(fromfile){
surveyObj=TFile::Open(filename.Data());
if (!surveyObj || !surveyObj->IsOpen()) {
AliError(Form("Could not open SurveyObjs file: %s !",filename.Data()));
return kFALSE;
}
printf("Getting TClonesArray \n");
clnarray=(TClonesArray*)surveyObj->Get(arrayName);
Int_t size=clnarray->GetSize();
UShort_t volid;
for(Int_t ivol=0;ivol<size;ivol++){
AliAlignObjParams *a=(AliAlignObjParams*)clnarray->At(ivol);
volid=a->GetVolUID();
Int_t iModule;
AliGeomManager::ELayerID iLayer = AliGeomManager::VolUIDToLayer(volid,iModule);
if(iLayer<=0)continue;
if(a->GetUniqueID()==0)continue;
printf("Updating survey for volume: %d ,layer: %d module: %d from file\n",volid,iLayer,iModule);
fSurveyObjs[iLayer-AliGeomManager::kFirstLayer][iModule] = new AliAlignObjParams(*a);
fSurveyObjs[iLayer-AliGeomManager::kFirstLayer][iModule]->SetUniqueID(a->GetUniqueID());
fSurveyObjs[iLayer-AliGeomManager::kFirstLayer][iModule]->Print("");
}
delete clnarray;
surveyObj->Close();
}
for (Int_t iLayer = 0; iLayer < (AliGeomManager::kLastLayer - AliGeomManager::kFirstLayer); iLayer++) {
for (Int_t iModule = 0; iModule < AliGeomManager::LayerSize(iLayer + AliGeomManager::kFirstLayer); iModule++) {
UShort_t volid = AliGeomManager::LayerToVolUID(iLayer+ AliGeomManager::kFirstLayer,iModule);
if(!fSurveyObjs[iLayer][iModule]){
printf("Updating survey for volume: %d ,layer: %d module: %d with default values \n",volid,iLayer,iModule);
fSurveyObjs[iLayer][iModule] = new AliAlignObjParams(AliGeomManager::SymName(volid),volid,0,0,0,0,0,0,kTRUE);
fSurveyObjs[iLayer][iModule]->SetCorrMatrix(cov);
fSurveyObjs[iLayer][iModule]->SetUniqueID(0);
}
}
}
return kTRUE;
}
Int_t AliITSRealignTracks::CheckWithSurvey(Double_t factor,const TArrayI *volids){
AliAlignObj *alignObj;
Int_t outofsurv=0;
UShort_t volid;
Double_t surveycov[21],transl[3],rot[3],survtransl[3],survrot[3];
if(volids==0x0){
for (Int_t iLayer = 0; iLayer < (AliGeomManager::kLastLayer - AliGeomManager::kFirstLayer); iLayer++) {
for (Int_t iModule = 0; iModule < AliGeomManager::LayerSize(iLayer + AliGeomManager::kFirstLayer); iModule++){
volid=AliGeomManager::LayerToVolUIDSafe(iLayer+AliGeomManager::kFirstLayer,iModule);
alignObj=GetAlignObj(volid);
alignObj->GetPars(transl,rot);
fSurveyObjs[iLayer][iModule]->GetCovMatrix(surveycov);
fSurveyObjs[iLayer][iModule]->GetPars(survtransl,survrot);
if(TMath::Sqrt(TMath::Abs(surveycov[0]))*factor<TMath::Abs(transl[0]-survtransl[0])||TMath::Sqrt(TMath::Abs(surveycov[2]))*factor<TMath::Abs(transl[1]-survtransl[1])||TMath::Sqrt(TMath::Abs(surveycov[5]))*factor<TMath::Abs(transl[2]-survtransl[2])||TMath::Sqrt(TMath::Abs(surveycov[9]))*factor<TMath::Abs(rot[0]-survrot[0])||TMath::Sqrt(TMath::Abs(surveycov[14]))*factor<TMath::Abs(rot[1]-survrot[1])||TMath::Sqrt(TMath::Abs(surveycov[20]))*factor<TMath::Abs(rot[2]-survrot[2])){
printf("Results for module %d out of Survey: reinitializing it from survey \n",volid);
alignObj->SetPars(survtransl[0],survtransl[1],survtransl[2],survrot[0],survrot[1],survrot[2]);
alignObj->SetUniqueID(0);
if(fUpdateCov)alignObj->SetCorrMatrix(surveycov);
outofsurv++;
}
}
}
}
else{
Int_t iLayer;
Int_t iModule;
for(Int_t j=0;j<volids->GetSize();j++){
volid=volids->At(j);
alignObj=GetAlignObj(volid);
alignObj->GetPars(transl,rot);
iLayer=(Int_t)AliGeomManager::VolUIDToLayerSafe(volid,iModule)-(Int_t)AliGeomManager::kFirstLayer;
fSurveyObjs[iLayer][iModule]->GetCovMatrix(surveycov);
fSurveyObjs[iLayer][iModule]->GetPars(survtransl,survrot);
if(TMath::Sqrt(TMath::Abs(surveycov[0]))*factor<TMath::Abs(transl[0]-survtransl[0])||TMath::Sqrt(TMath::Abs(surveycov[2]))*factor<TMath::Abs(transl[1]-survtransl[1])||TMath::Sqrt(TMath::Abs(surveycov[5]))*factor<TMath::Abs(transl[2]-survtransl[2])||TMath::Sqrt(TMath::Abs(surveycov[9]))*factor<TMath::Abs(rot[0]-survrot[0])||TMath::Sqrt(TMath::Abs(surveycov[14]))*factor<TMath::Abs(rot[1]-survrot[1])||TMath::Sqrt(TMath::Abs(surveycov[20]))*factor<TMath::Abs(rot[2]-survrot[2])){
printf("Results for module %d out of Survey: reinitializing it from survey \n",volid);
alignObj->SetPars(survtransl[0],survtransl[1],survtransl[2],survrot[0],survrot[1],survrot[2]);
alignObj->SetUniqueID(0);
if(fUpdateCov)alignObj->SetCorrMatrix(surveycov);
outofsurv++;
}
}
}
return outofsurv;
}
void AliITSRealignTracks::ResetAlignObjs(Bool_t all,TArrayI *volids)
{
if(all){
for (Int_t iLayer = 0; iLayer < (AliGeomManager::kLastLayer - AliGeomManager::kFirstLayer); iLayer++) {
for (Int_t iModule = 0; iModule < AliGeomManager::LayerSize(iLayer + AliGeomManager::kFirstLayer); iModule++)
fAlignObjs[iLayer][iModule]->SetPars(0,0,0,0,0,0);
}
}
else{
Int_t layer;
Int_t mod;
for(Int_t j=0;j<volids->GetSize();j++){
layer=(Int_t)AliGeomManager::VolUIDToLayer(volids->At(j),mod)-(Int_t)AliGeomManager::kFirstLayer;
fAlignObjs[layer][mod]->SetPars(0,0,0,0,0,0);
}
}
}
void AliITSRealignTracks::DeleteSurveyObjs()
{
if(!fSurveyObjs)return;
for (Int_t iLayer = 0; iLayer < (AliGeomManager::kLastLayer - AliGeomManager::kFirstLayer); iLayer++) {
for (Int_t iModule = 0; iModule < AliGeomManager::LayerSize(iLayer + AliGeomManager::kFirstLayer); iModule++){
if (fSurveyObjs[iLayer][iModule]) delete fSurveyObjs[iLayer][iModule];
}
if(fSurveyObjs[iLayer])delete [] fSurveyObjs[iLayer];
}
delete [] fSurveyObjs;
fSurveyObjs = 0;
}
Bool_t AliITSRealignTracks::ReadAlignObjs(const char *alignObjFileName, const char* arrayName){
if(gSystem->AccessPathName(alignObjFileName,kFileExists)){
printf("Wrong AlignObjs File Name \n");
return kFALSE;
}
TFile *fRealign=TFile::Open(alignObjFileName);
if (!fRealign || !fRealign->IsOpen()) {
AliError(Form("Could not open Align Obj File file %s !",alignObjFileName));
return kFALSE;
}
printf("Getting TClonesArray \n");
TClonesArray *clnarray=(TClonesArray*)fRealign->Get(arrayName);
Int_t size=clnarray->GetSize();
UShort_t volid;
for(Int_t ivol=0;ivol<size;ivol++){
AliAlignObjParams *a=(AliAlignObjParams*)clnarray->At(ivol);
volid=a->GetVolUID();
Int_t iModule;
AliGeomManager::ELayerID iLayer = AliGeomManager::VolUIDToLayer(volid,iModule);
if(iLayer<AliGeomManager::kFirstLayer||iLayer>AliGeomManager::kSSD2)continue;
printf("Updating volume: %d ,layer: %d module: %d \n",volid,iLayer,iModule);
*fAlignObjs[iLayer-AliGeomManager::kFirstLayer][iModule] *= *a;
}
delete clnarray;
fRealign->Close();
return kTRUE;
}
Bool_t AliITSRealignTracks::FirstAlignmentLayers(const Bool_t *layers,Int_t minNtracks,Int_t iterations,Bool_t fitall,const TArrayI *volidsSet){
BuildIndex();
TString name="DrawFirstAlignment_Layers";
UShort_t voluid;
Int_t **lastIndex;
Int_t laymax = 0;
Int_t modmax = 0;
Int_t maxntr=0,nMod=0,modAligned=0,size=0;
for(Int_t i=0;i<6;i++){
if(layers[i]==1){
size+=AliGeomManager::LayerSize(i+AliGeomManager::kFirstLayer);
name+=i+1;
}
}
TArrayI *volFit=new TArrayI(size);
TArrayI *volFit2=new TArrayI(size-1);
TArrayI *sequence=new TArrayI(size);
TArrayI *volIn=new TArrayI(1);
Int_t nLayers = AliGeomManager::kLastLayer - AliGeomManager::kFirstLayer;
lastIndex = new Int_t*[nLayers];
for (Int_t iLayer = 0; iLayer < (AliGeomManager::kLastLayer - AliGeomManager::kFirstLayer); iLayer++) {
lastIndex[iLayer] = new Int_t[AliGeomManager::LayerSize(iLayer + AliGeomManager::kFirstLayer)];
for (Int_t iModule = 0; iModule < AliGeomManager::LayerSize(iLayer + AliGeomManager::kFirstLayer); iModule++) {
lastIndex[iLayer][iModule] = fLastIndex[iLayer][iModule];
if(iLayer<=(AliGeomManager::kSSD2-AliGeomManager::kFirstLayer)&&layers[iLayer]==1){
volFit->AddAt(AliGeomManager::LayerToVolUID(iLayer+AliGeomManager::kFirstLayer,iModule),maxntr);
maxntr++;
}
}
}
Int_t found=0;
maxntr=minNtracks+1;
while (maxntr>minNtracks){
maxntr=minNtracks;
for (Int_t iLayer = 0; iLayer <= (AliGeomManager::kSSD2 - AliGeomManager::kFirstLayer); iLayer++) {
if(layers[iLayer]==0)continue;
for (Int_t iModule = 0; iModule < AliGeomManager::LayerSize(iLayer + AliGeomManager::kFirstLayer); iModule++) {
if(lastIndex[iLayer][iModule]>maxntr){
maxntr=lastIndex[iLayer][iModule];
laymax=iLayer;
modmax=iModule;
}
}
}
if(maxntr>minNtracks){
voluid=AliGeomManager::LayerToVolUID(laymax+AliGeomManager::kFirstLayer,modmax);
sequence->AddAt(voluid,nMod);
lastIndex[laymax][modmax]=0;
nMod++;
}
}
sequence->Set(nMod);
for(Int_t iter=0;iter<iterations;iter++){
if(iter>0&&fDraw)UpdateDraw(sequence,iter,iter);
modAligned=0;
for(Int_t k=0;k<nMod;k++){
TArrayI *volFit3;
voluid=sequence->At(k);
volIn->AddAt(voluid,0);
found=0;
if(!fitall){
for(Int_t j=0;j<nMod;j++){
if(j==k){
found=1;
continue;
}
else volFit2->AddAt(sequence->At(j),j-found);
}
volFit2->Set(nMod-1);
}
else{
for(Int_t j=0;j<volFit->GetSize();j++){
if(volFit->At(j)!=volIn->At(0))volFit2->AddAt(volFit->At(j),j-found);
else found=1;
}
}
if(volidsSet){
volFit3=IntersectVolArray(volidsSet,volFit2);
}
else volFit3=new TArrayI(*volFit2);
if(AlignVolumesITS(volIn,volFit3,AliGeomManager::kSPD1,AliGeomManager::kTPC1,2))modAligned++;
delete volFit3;
}
}
Int_t noutofsurv=CheckWithSurvey(2.,sequence);
printf("%d modules into the sequence \n %d modules re-aligned \n %d modules moved far away from survey (-> reset) \n",nMod,modAligned,noutofsurv);
name.Append("_iter");
name+=iterations;
name.Append(".root");
if(fDraw)WriteHists(name.Data());
delete volFit;
delete volFit2;
delete sequence;
for(Int_t m=0;m<nLayers;m++){
delete [] lastIndex[m];
}
delete [] lastIndex;
return kTRUE;
}
Bool_t AliITSRealignTracks::FirstAlignmentSPD(Int_t minNtracks,Int_t iterations,Bool_t fitall,const TArrayI *volidsSet){
BuildIndex();
UShort_t voluid;
Int_t **lastIndex;
Int_t laymax = 0;
Int_t modmax = 0;
Int_t maxntr=0,nMod=0,modAligned=0;
TArrayI *volFit=new TArrayI(AliGeomManager::LayerSize(1)+AliGeomManager::LayerSize(2));
TArrayI *volFit2=new TArrayI(AliGeomManager::LayerSize(1)+AliGeomManager::LayerSize(2)-1);
TArrayI *sequence=new TArrayI(AliGeomManager::LayerSize(1)+AliGeomManager::LayerSize(2));
TArrayI *volIn=new TArrayI(1);
Int_t nLayers = AliGeomManager::kLastLayer - AliGeomManager::kFirstLayer;
lastIndex = new Int_t*[nLayers];
for (Int_t iLayer = 0; iLayer < (AliGeomManager::kLastLayer - AliGeomManager::kFirstLayer); iLayer++) {
lastIndex[iLayer] = new Int_t[AliGeomManager::LayerSize(iLayer + AliGeomManager::kFirstLayer)];
for (Int_t iModule = 0; iModule < AliGeomManager::LayerSize(iLayer + AliGeomManager::kFirstLayer); iModule++) {
lastIndex[iLayer][iModule] = fLastIndex[iLayer][iModule];
if(iLayer+AliGeomManager::kFirstLayer<=AliGeomManager::kSPD2){
volFit->AddAt(AliGeomManager::LayerToVolUID(iLayer+AliGeomManager::kFirstLayer,iModule),maxntr);
maxntr++;
}
}
}
Int_t found=0;
maxntr=minNtracks+1;
while (maxntr>minNtracks){
maxntr=minNtracks;
for (Int_t iLayer = 0; iLayer <= (AliGeomManager::kSPD2 - AliGeomManager::kFirstLayer); iLayer++) {
for (Int_t iModule = 0; iModule < AliGeomManager::LayerSize(iLayer + AliGeomManager::kFirstLayer); iModule++) {
if(lastIndex[iLayer][iModule]>maxntr){
laymax=iLayer;
modmax=iModule;
maxntr=lastIndex[iLayer][iModule];
}
}
}
if(maxntr>minNtracks){
voluid=AliGeomManager::LayerToVolUID(laymax+AliGeomManager::kFirstLayer,modmax);
sequence->AddAt(voluid,nMod);
lastIndex[laymax][modmax]=0;
nMod++;
volIn->AddAt(voluid,0);
}
}
sequence->Set(nMod);
for(Int_t iter=0;iter<iterations;iter++){
modAligned=0;
for(Int_t k=0;k<nMod;k++){
TArrayI *volFit3;
voluid=sequence->At(k);
volIn->AddAt(voluid,0);
found=0;
if(!fitall){
for(Int_t j=0;j<nMod;j++){
if(j==k){
found=1;
continue;
}
else volFit2->AddAt(sequence->At(j),j-found);
}
volFit2->Set(nMod-1);
}
else{
for(Int_t j=0;j<volFit->GetSize();j++){
if(volFit->At(j)!=volIn->At(0))volFit2->AddAt(volFit->At(j),j-found);
else found=1;
}
}
if(volidsSet){
volFit3=IntersectVolArray(volidsSet,volFit2);
}
else volFit3=new TArrayI(*volFit2);
if(AlignVolumesITS(volIn,volFit3,AliGeomManager::kSPD1,AliGeomManager::kSDD1,2))modAligned++;
delete volFit3;
}
}
Int_t noutofsurv=CheckWithSurvey(2.,sequence);
printf("%d modules into the sequence \n %d modules re-aligned \n %d modules moved far away from survey (-> reset) \n",nMod,modAligned,noutofsurv);
delete volFit;
delete volFit2;
delete sequence;
for(Int_t m=0;m<nLayers;m++){
delete [] lastIndex[m];
}
delete [] lastIndex;
return kTRUE;
}
Bool_t AliITSRealignTracks::SPDmodulesAlignToSSD(Int_t minNtracks,Int_t iterations){
Int_t volSSD[6]={0,0,0,0,1,1};
TArrayI *volOuter=GetLayersVolUID(volSSD);
TArrayI *voluid=new TArrayI(1);
for(Int_t iter=0;iter<iterations;iter++){
for(Int_t imod=0;imod<AliGeomManager::LayerSize(AliGeomManager::kSPD1);imod++){ if(GetLastIndex(AliGeomManager::kSPD1-AliGeomManager::kFirstLayer,imod)<minNtracks){
printf("Not enough tracks for module: lay %d mod %d \n",1,imod );
continue;
}
voluid->AddAt(AliGeomManager::LayerToVolUID(AliGeomManager::kSPD1,imod),0);
AlignVolumesITS(voluid,volOuter,AliGeomManager::kSSD1,AliGeomManager::kSSD2,2);
}
for(Int_t imod=0;imod<AliGeomManager::LayerSize(AliGeomManager::kSPD2);imod++){
if(GetLastIndex(AliGeomManager::kSPD2-AliGeomManager::kFirstLayer,imod)<minNtracks){
printf("Not enough tracks for module: lay %d mod %d \n",2,imod );
continue;
}
voluid->AddAt(AliGeomManager::LayerToVolUID(AliGeomManager::kSPD2,imod),0);
AlignVolumesITS(voluid,volOuter,AliGeomManager::kSSD1,AliGeomManager::kSSD2,2);
}
}
return kTRUE;
}
Bool_t AliITSRealignTracks::AlignVolumesITS(const TArrayI *volids, const TArrayI *volidsfit,
AliGeomManager::ELayerID layerRangeMin,
AliGeomManager::ELayerID layerRangeMax,
Int_t iterations){
Int_t nVolIds = volids->GetSize();
if (nVolIds == 0) {
AliError("Volume IDs array is empty!");
return kFALSE;
}
Bool_t correlated=kFALSE;
Double_t surveycov[21],transl[3],rot[3],survtransl[3],survrot[3];
Double_t frac;
TGeoHMatrix hM;
Double_t smearing,rotorig[9],normplanevect[3]={0.,0.,0.},normplanevect2[3]={0.,0.,0.};
Double_t *deltarot;
TMatrixDSym covmatrx(6);
AliAlignObj *modAlign;
BuildIndex();
AliTrackPointArray **points;
Bool_t failed=kFALSE;
Int_t pointsdim=0,skipped=0;
while (iterations > 0){
normplanevect2[0]=0.;
normplanevect2[1]=0.;
normplanevect2[2]=0.;
if(fLimitCorr>0.){
ResetCorrModules();
skipped=0;
}
Int_t nArrays = LoadPoints(volids, points,pointsdim);
if (nArrays < fmintracks||nArrays<=0){
failed=kTRUE;
printf("Not enough tracks to try minimization: volUID %d and following in volids \n", volids->At(0));
UnloadPoints(pointsdim, points);
break;
}
frac=1./(Double_t)nArrays;
AliTrackResiduals *minimizer = CreateMinimizer();
minimizer->SetNTracks(nArrays);
minimizer->InitAlignObj();
AliTrackFitter *fitter = CreateFitter();
AliGeomManager::GetOrigRotation(volids->At(0),rotorig);
if((Int_t)AliGeomManager::VolUIDToLayer(volids->At(0))==1){
normplanevect[0]=-rotorig[1];
normplanevect[1]=-rotorig[4];
normplanevect[2]=0.;
}
else{
normplanevect[0]=rotorig[1];
normplanevect[1]=rotorig[4];
normplanevect[2]=0.;
}
modAlign=GetAlignObj(volids->At(0));
modAlign->GetMatrix(hM);
deltarot=hM.GetRotationMatrix();
for(Int_t j=0;j<3;j++){
for(Int_t i=0;i<3;i++){
normplanevect2[j]+=deltarot[j*3+i]*normplanevect[i];
}
}
if(fVarySigmaY){
if(modAlign->GetUniqueID()==0)smearing=fsigmaY;
else{
modAlign->GetCovMatrix(covmatrx);
smearing=5.*5.*(covmatrx(0,0)+covmatrx(1,1)+covmatrx(2,2)+10.*10.*covmatrx(3,3)+10.*10.*covmatrx(4,4)+10.*10.*covmatrx(5,5))/6.;
}
}
else smearing=fsigmaY;
printf("This is the sigmaY value: %f \n",smearing);
for (Int_t iArray = 0; iArray < nArrays; iArray++) {
if (!points[iArray]) continue;
points[iArray]->Sort(kTRUE);
fitter->SetTrackPointArray(points[iArray], kFALSE);
if (fitter->Fit(volids,volidsfit,layerRangeMin,layerRangeMax) == kFALSE) continue;
if(fLimitCorr>0.){
correlated=kFALSE;
AliTrackPoint p;
Int_t layer,module;
TArrayI *volparray=new TArrayI(points[iArray]->GetNPoints());
for(Int_t point=0;point<points[iArray]->GetNPoints();point++){
points[iArray]->GetPoint(p,point);
volparray->AddAt(p.GetVolumeID(),point);
}
TArrayI *volpArray=ExcludeVolidsFromVolidsArray(volids,volparray);
for(Int_t point=0;point<volpArray->GetSize();point++){
layer=(Int_t)AliGeomManager::VolUIDToLayerSafe(volpArray->At(point),module);
if(fCorrModules[layer-AliGeomManager::kFirstLayer][module]>fLimitCorr){
correlated=kTRUE;
skipped++;
break;
}
}
if(!correlated){
for(Int_t point=0;point<volpArray->GetSize();point++){
layer=(Int_t)AliGeomManager::VolUIDToLayerSafe(volpArray->At(point),module);
fCorrModules[layer-AliGeomManager::kFirstLayer][module]+=frac;
delete volparray;
delete volpArray;
}
}
else {
delete volparray;
delete volpArray;
continue;
}
}
AliTrackPointArray *pVolId,*pTrack;
fitter->GetTrackResiduals(pVolId,pTrack);
minimizer->AddTrackPointArrays(pVolId,pTrack);
}
printf("Number of tracks considered: %d \n",nArrays);
frac=(Double_t)skipped/(Double_t)nArrays;
printf("Number of tracks skipped cause of correlation: %d (fraction: %f )\n",skipped,frac);
Int_t ntracks=minimizer->GetNFilledTracks();
frac=(Double_t)ntracks/(Double_t)nArrays;
printf("Number of tracks into the minimizer: %d (fraction: %f )\n",ntracks,frac);
if(ntracks<=fmintracks){
printf("Not enough good tracks found: could not find parameter for volume %d (and following in volids)\n",volids->At(0));
UnloadPoints(pointsdim, points);
failed=kTRUE;
break;
}
failed=(!minimizer->Minimize());
if (fDoUpdate) for (Int_t iVolId = 0; iVolId < nVolIds; iVolId++) {
UShort_t volid = (*volids)[iVolId];
if(!failed){
Int_t iModule;
AliGeomManager::ELayerID iLayer = AliGeomManager::VolUIDToLayer(volid,iModule);
AliAlignObj *alignObj = fAlignObjs[iLayer-AliGeomManager::kFirstLayer][iModule];
minimizer->GetAlignObj()->GetPars(transl,rot);
fSurveyObjs[iLayer-AliGeomManager::kFirstLayer][iModule]->GetCovMatrix(surveycov);
fSurveyObjs[iLayer-AliGeomManager::kFirstLayer][iModule]->GetPars(survtransl,survrot);
if(TMath::Sqrt(TMath::Abs(surveycov[0]))*2<TMath::Abs(transl[0]-survtransl[0])||TMath::Sqrt(TMath::Abs(surveycov[2]))*2<TMath::Abs(transl[1]-survtransl[1])||TMath::Sqrt(TMath::Abs(surveycov[5]))*2<TMath::Abs(transl[2]-survtransl[2])||TMath::Sqrt(TMath::Abs(surveycov[9]))*2<TMath::Abs(rot[0]-survrot[0])||TMath::Sqrt(TMath::Abs(surveycov[14]))*2<TMath::Abs(rot[1]-survrot[1])||TMath::Sqrt(TMath::Abs(surveycov[20]))*2<TMath::Abs(rot[2]-survrot[2])){
printf("Results for module %d too large: can't update them \n",volid);
alignObj->SetUniqueID(2);
if(iterations==1){
failed=kTRUE;
}
}
else{
if(fUpdateCov){
*alignObj *= *minimizer->GetAlignObj();
alignObj->SetUniqueID(1);
}
else{
alignObj->GetCovMatrix(covmatrx);
*alignObj *= *minimizer->GetAlignObj();
alignObj->SetCorrMatrix(covmatrx);
alignObj->SetUniqueID(1);
}
}
if(iterations==1)alignObj->Print("");
}
else {
printf("Minimization failed: cannot update AlignObj for volume: %d \n",volid);
}
}
UnloadPoints(pointsdim,points);
if(failed)break;
minimizer->InitAlignObj();
iterations--;
}
printf("\n \n");
return (!failed);
}
Bool_t AliITSRealignTracks::AlignSPDBarrel(Int_t iterations){
Int_t size=0,size2=0;
Int_t layers[6]={1,1,0,0,0,0};
for(Int_t k=1;k<=2;k++){
size+=AliGeomManager::LayerSize(k);
}
for(Int_t k=3;k<=6;k++){
size2+=AliGeomManager::LayerSize(k);
printf("size: %d \n",size2);
}
printf("Aligning SPDBarrel: nmodules: %d \n",size);
printf("Fitting modules: %d \n",size2);
TArrayI *volIDs=GetLayersVolUID(layers);
layers[0]=0;
layers[1]=0;
layers[2]=1;
layers[3]=1;
layers[4]=1;
layers[5]=1;
TArrayI *volIDsFit=GetLayersVolUID(layers);
AlignVolumesITS(volIDs,volIDsFit,AliGeomManager::kSDD1,AliGeomManager::kTPC1,iterations);
return kTRUE;
}
Bool_t AliITSRealignTracks::AlignSPDHalfBarrel(Int_t method,Int_t iterations){
Int_t size=0,size2=0;
Int_t layers[6]={0,0,1,1,1,1};
Int_t sectorsUp[10]={1,1,1,1,1,0,0,0,0,0};
Int_t sectorsDown[10]={0,0,0,0,0,1,1,1,1,1};
TString updownstr;
if(method==0)updownstr="UpNoDown";
else if (method==1)updownstr="DownNoUp";
else if (method==10)updownstr="UpWithDown";
else if (method==11)updownstr="DownWithUp";
else {
AliWarning("Wrong AlignSPDHalfBarrel method selected ");
return kFALSE;
}
for(Int_t i=1;i<=2;i++){
size+=AliGeomManager::LayerSize(i);
}
for(Int_t i=3;i<=6;i++){
size2+=AliGeomManager::LayerSize(i);
}
size=size/2;
if(method==10||method==11)size2+=size;
printf("Aligning SPDHalfBarrel %s: nmodules: %d \n",updownstr.Data(),size);
printf("Fitting modules: %d \n",size2);
TArrayI *volIDsFit2;
TArrayI *volids = NULL;
TArrayI *volIDsFit=GetLayersVolUID(layers);
if(method==0||method==10)volids=GetSPDSectorsVolids(sectorsUp);
if(method==1||method==11)volids=GetSPDSectorsVolids(sectorsDown);
if(method==10)volIDsFit2=JoinVolArrays(GetSPDSectorsVolids(sectorsDown),volIDsFit);
else if(method==11)volIDsFit2=JoinVolArrays(GetSPDSectorsVolids(sectorsUp),volIDsFit);
else volIDsFit2=volIDsFit;
AlignVolumesITS(volids,volIDsFit2,AliGeomManager::kSPD1,AliGeomManager::kSSD2,iterations);
return kTRUE;
}
Bool_t AliITSRealignTracks::AlignLayer(Int_t layer,Int_t iterations){
Int_t size=0,size2=0;
Int_t layers[6]={0,0,0,0,0,0};
layers[layer-1]=1;
TString layerstr[6]={"SPD1","SPD2","SDD1","SDD2","SSD1","SSD2"};
for(Int_t k=1;k<=6;k++){
if(k!=layer)size2+=AliGeomManager::LayerSize(k);
}
size=AliGeomManager::LayerSize(layer);
printf("Aligning layer %s, nmodules %d ,fitted modules %d \n",layerstr[layer-1].Data(),size,size2);
TArrayI *volIDs=GetLayersVolUID(layers);
layers[0]=1;
layers[1]=1;
layers[2]=1;
layers[3]=1;
layers[4]=1;
layers[5]=1;
layers[layer]=0;
TArrayI *volIDsFit=GetLayersVolUID(layers);
AlignVolumesITS(volIDs,volIDsFit,AliGeomManager::kSDD1,AliGeomManager::kSSD2,iterations);
return kTRUE;
}
Bool_t AliITSRealignTracks::AlignLayersToLayers(const Int_t *layer,Int_t iterations){
UShort_t volid;
Int_t size=0,size2=0,j=0,k=0;
Int_t iLayer;
TString layerstr[6]={"SPD1","SPD2","SDD1","SDD2","SSD1","SSD2"};
TString command="",str;
for(Int_t i=1;i<=6;i++){
if(layer[i-1]==1||layer[i-1]==3){
size+=AliGeomManager::LayerSize(i);
command.Append(" ");
command.Append(layerstr[i-1]);
}
if(layer[i-1]==2||layer[i-1]==3){
size2+=AliGeomManager::LayerSize(i);
str.Append(" ");
str.Append(layerstr[i-1]);
}
}
printf("Aligning layers %s To layers %s, nmodules %d ,fitted modules %d \n",command.Data(),str.Data(),size,size2);
TArrayI volIDs(size);
TArrayI volIDsFit(size2);
for (iLayer=(Int_t)AliGeomManager::kSPD1;iLayer<(Int_t)AliGeomManager::kTPC1;iLayer++){
if(layer[iLayer-AliGeomManager::kFirstLayer]==0)continue;
if(layer[iLayer-AliGeomManager::kFirstLayer]==1){
for (Int_t iModule2=0;iModule2<AliGeomManager::LayerSize(iLayer);iModule2++){
volid = AliGeomManager::LayerToVolUID(iLayer,iModule2);
volIDs.AddAt(volid,j);
j++;
}
}
else if(layer[iLayer-AliGeomManager::kFirstLayer]==2){
for (Int_t iModule2=0;iModule2<AliGeomManager::LayerSize(iLayer);iModule2++){
volid = AliGeomManager::LayerToVolUID(iLayer,iModule2);
volIDsFit.AddAt(volid,k);
k++;
}
}
else if(layer[iLayer-AliGeomManager::kFirstLayer]==3){
for (Int_t iModule2=0;iModule2<AliGeomManager::LayerSize(iLayer);iModule2++){
volid = AliGeomManager::LayerToVolUID(iLayer,iModule2);
volIDs.AddAt(volid,j);
j++;
volIDsFit.AddAt(volid,k);
k++;
}
}
}
AlignVolumesITS(&volIDs,&volIDsFit,AliGeomManager::kSPD1,AliGeomManager::kSSD2,iterations);
return kTRUE;
}
Bool_t AliITSRealignTracks::AlignSPDSectorToOuterLayers(Int_t sector,Int_t iterations){
Int_t layers[6]={0,0,1,1,1,1};
Bool_t spd=kFALSE;
Int_t sectorsIN[10]={0,0,0,0,0,0,0,0,0,0};
Int_t sectorsFit[10]={1,1,1,1,1,1,1,1,1,1};
if(sector<0){
sector=-sector;
spd=kTRUE;
}
sectorsIN[sector]=1;
sectorsFit[sector]=0;
TArrayI *volIDs=GetSPDSectorsVolids(sectorsIN);
TArrayI *volIDsFit;
if(spd){
volIDsFit=JoinVolArrays(GetSPDSectorsVolids(sectorsFit),GetLayersVolUID(layers));
}
else volIDsFit=GetLayersVolUID(layers);
printf("Aligning SPD sector %d: nmodules: %d \n",sector,volIDs->GetSize());
printf("Fitting modules: %d \n",volIDsFit->GetSize());
AlignVolumesITS(volIDs,volIDsFit,AliGeomManager::kSPD1,AliGeomManager::kSPD2,iterations);
return kTRUE;
}
Bool_t AliITSRealignTracks::AlignSPDSectorWithSectors(Int_t sector,Int_t iterations){
Int_t sectorsIN[10]={0,0,0,0,0,0,0,0,0,0};
Int_t sectorsFit[10]={1,1,1,1,1,1,1,1,1,1};
sectorsIN[sector]=1;
sectorsFit[sector]=0;
TArrayI *volIDs=GetSPDSectorsVolids(sectorsIN);
TArrayI *volIDsFit=GetSPDSectorsVolids(sectorsFit);;
printf("Aligning SPD sector %d: nmodules: %d \n",sector,volIDs->GetSize());
printf("Fitting modules: %d \n",volIDsFit->GetSize());
AlignVolumesITS(volIDs,volIDsFit,AliGeomManager::kSPD1,AliGeomManager::kSDD1,iterations);
return kTRUE;
}
Bool_t AliITSRealignTracks::AlignSPDSectorsWithSectors(const Int_t *sectorsIN,const Int_t *sectorsFit,Int_t iterations){
TArrayI *volIDs=GetSPDSectorsVolids(sectorsIN);
TArrayI *volIDsFit=GetSPDSectorsVolids(sectorsFit);;
printf("Aligning SPD sectors: modules: %d \n",volIDs->GetSize());
printf("Fitting modules: %d \n",volIDsFit->GetSize());
return AlignVolumesITS(volIDs,volIDsFit,AliGeomManager::kSPD1,AliGeomManager::kSDD1,iterations);;
}
Bool_t AliITSRealignTracks::AlignSPDStaves(const Int_t *staves,const Int_t *sectorsIN,const Int_t *sectorsFit,Int_t iterations){
TArrayI *volIDs=GetSPDStavesVolids(sectorsIN,staves);
TArrayI *volIDsFit=GetSPDSectorsVolids(sectorsFit);
if(volIDs->GetSize()==0){
printf("EMPTY ARRAY !! \n");
return kFALSE;
}
printf("Aligning SPD staves: modules: %d \n",volIDs->GetSize());
printf("Fitting modules: %d \n",volIDsFit->GetSize());
TArrayI *volIDsFit2=ExcludeVolidsFromVolidsArray(volIDs,volIDsFit);
return AlignVolumesITS(volIDs,volIDsFit2,AliGeomManager::kSPD1,AliGeomManager::kSSD1,iterations);
}
Bool_t AliITSRealignTracks::AlignLayerToSPDHalfBarrel(Int_t layer,Int_t updown,Int_t iterations){
Int_t sectorsDown[10]={0,0,0,0,0,1,1,1,1,1};
Int_t sectorsUp[10]={1,1,1,1,1,0,0,0,0,0};
TString layerstr[6]={"SPD1","SPD2","SDD1","SDD2","SSD1","SSD2"};
TArrayI *volIDsFit;
Int_t layers[6]={0,0,0,0,0,0};
layers[layer-1]=1;
Int_t size=AliGeomManager::LayerSize(layer);
TArrayI *volIDs=GetLayersVolUID(layers);
if(updown==0){
volIDsFit=GetSPDSectorsVolids(sectorsUp);
printf("Aligning layer %s, nmodules %d ,to half barrel Up \n",layerstr[layer-1].Data(),size);
}
else if(updown==1){
volIDsFit=GetSPDSectorsVolids(sectorsDown);
printf("Aligning layer %s, nmodules %d ,to half barrel Down \n",layerstr[layer-1].Data(),size);
}
else {
printf("Wrong Half Barrel selection! \n");
return kFALSE;
}
AlignVolumesITS(volIDs,volIDsFit,AliGeomManager::kSPD1,AliGeomManager::kSSD2,iterations);
return kTRUE;
}
Bool_t AliITSRealignTracks::AlignLayerToSector(Int_t layer,Int_t sector,Int_t iterations){
if(sector>9){
printf("Wrong Sector selection! \n");
return kFALSE;
}
Int_t sectors[10]={0,0,0,0,0,0,0,0,0,0};
sectors[sector]=1;
TString layerstr[6]={"SPD1","SPD2","SDD1","SDD2","SSD1","SSD2"};
TArrayI *volIDsFit;
Int_t layers[6]={0,0,0,0,0,0};
layers[layer-1]=1;
TArrayI *volIDs=GetLayersVolUID(layers);
Int_t size=AliGeomManager::LayerSize(layer);
volIDsFit=GetSPDSectorsVolids(sectors);
printf("Aligning layer %s, nmodules %d ,to half barrel Up \n",layerstr[layer-1].Data(),size);
AlignVolumesITS(volIDs,volIDsFit,AliGeomManager::kSPD1,AliGeomManager::kSSD2,iterations);
return kTRUE;
}
Bool_t AliITSRealignTracks::AlignSPDHalfBarrelToHalfBarrel(Int_t updown,Int_t iterations){
Int_t sectorsDown[10]={0,0,0,0,0,1,1,1,1,1};
Int_t sectorsUp[10]={1,1,1,1,1,0,0,0,0,0};
TArrayI *volIDsUp=GetSPDSectorsVolids(sectorsUp);
TArrayI *volIDsDown=GetSPDSectorsVolids(sectorsDown);
if(updown==0){
printf("Aligning SPD HalfBarrel up to half Barrel down : nmodules: %d \n",volIDsUp->GetSize());
printf("Fitting modules: %d \n",volIDsDown->GetSize());
AlignVolumesITS(volIDsUp,volIDsDown,AliGeomManager::kSPD1,AliGeomManager::kSPD2,iterations);
}
else if(updown==1){
printf("Aligning SPD HalfBarrel down to half Barrel Up : nmodules: %d \n",volIDsDown->GetSize());
printf("Fitting modules: %d \n",volIDsUp->GetSize());
AlignVolumesITS(volIDsDown,volIDsUp,AliGeomManager::kSPD1,AliGeomManager::kSPD2,iterations);
}
else {
printf("Wrong Half Barrel selection! \n");
return kFALSE;
}
return kTRUE;
}
Bool_t AliITSRealignTracks::AlignSPDHalfBarrelToSectorRef(Int_t sector,Int_t iterations){
Int_t sectorsIN[10]={0,0,0,0,0,1,1,1,1,1};
Int_t sectorsFit[10]={0,0,0,0,0,0,0,0,0,0};
sectorsFit[sector]=1;
TArrayI *volIDs=GetSPDSectorsVolids(sectorsIN);
TArrayI *volIDsFit=GetSPDSectorsVolids(sectorsFit);
printf("Aligning SPD HalfBarrel to sector 0 %d: nmodules: %d \n",sector,volIDs->GetSize());
printf("Fitting modules: %d \n",volIDsFit->GetSize());
AlignVolumesITS(volIDs,volIDsFit,AliGeomManager::kSPD1,AliGeomManager::kSPD2,iterations);
return kTRUE;
}
Bool_t AliITSRealignTracks::AlignSPD1SectorRef(Int_t sector,Int_t iterations){
Int_t sectorsIN[10]={0,0,0,0,0,0,0,0,0,0};
Int_t sectorsFit[10]={1,1,1,1,1,1,1,1,1,1};
sectorsIN[sector]=1;
sectorsFit[sector]=0;
TArrayI *volIDs=GetSPDSectorsVolids(sectorsIN);
TArrayI *volIDsFit=GetSPDSectorsVolids(sectorsFit);
Int_t size=volIDs->GetSize();
Int_t size2=volIDsFit->GetSize();
UShort_t volID;
Int_t k=0;
TArrayI *volIDsSPD1=new TArrayI(size-8);
TArrayI *volIDsFit2=new TArrayI(size2+8);
for(Int_t j=0;j<size;j++){
volID=volIDs->At(j);
if(AliGeomManager::VolUIDToLayer(volID)==AliGeomManager::kSPD1){
volIDsSPD1->AddAt(volID,size2+k);
k++;
}
else volIDsFit2->AddAt(volID,j-k);
}
for(Int_t j=0;j<size2;j++){
volID=volIDsFit->At(j);
volIDsFit2->AddAt(volID,size-k+j);
}
printf("Aligning SPD Sector %d: nmodules: %d \n",sector,volIDsSPD1->GetSize());
printf("Fitting modules: %d \n",volIDsFit2->GetSize());
AlignVolumesITS(volIDsSPD1,volIDsFit2,AliGeomManager::kSPD1,AliGeomManager::kSPD2,iterations);
return kTRUE;
}
AliAlignObjParams* AliITSRealignTracks::MediateAlignObj(const TArrayI *volIDs,Int_t lastVolid){
TGeoHMatrix hm;
Double_t *rot,*transl;
Double_t rotSum[9],translSum[3]={0.,0.,0.};
for(Int_t k=0;k<8;k++)rotSum[k]=0.;
for(Int_t ivol=0;ivol<lastVolid;ivol++){
GetAlignObj(volIDs->At(ivol))->GetMatrix(hm);
rot=hm.GetRotationMatrix();
transl=hm.GetTranslation();
for(Int_t j=0;j<9;j++)rotSum[j]+=rot[j];
for(Int_t jt=0;jt<3;jt++)translSum[jt]+=transl[jt];
}
if(lastVolid!=0){
for(Int_t j=0;j<9;j++)rotSum[j]=rotSum[j]/lastVolid;
for(Int_t jt=0;jt<3;jt++)translSum[jt]=translSum[jt]/lastVolid;
}
else printf("Try to mediate results for zero modules \n");
hm.SetRotation(rotSum);
hm.SetTranslation(translSum);
AliAlignObjParams *alignObj=new AliAlignObjParams("average", 0,hm, kTRUE);
return alignObj;
}
TArrayI* AliITSRealignTracks::GetSPDStavesVolids(const Int_t *sectors,const Int_t* staves){
Int_t nSect=0,nStaves=0;
Int_t last=0;
for(Int_t co=0;co<10;co++){
if(sectors[co]==1) nSect++;
}
for(Int_t co=0;co<6;co++){
if(staves[co]==1) nStaves++;
}
if(nSect<1||nStaves<1){
Printf("Error! No Sector/s or staves Selected!");
return 0x0;
}
TArrayI *volIDs = new TArrayI(nSect*nStaves*4);
TString stave="/Stave",str,symn,laystr;
TArrayI *sectvol=GetSPDSectorsVolids(sectors);
laystr="SPD0";
for(Int_t k=0;k<2;k++){
if(staves[k]==1){
str=stave;
str+=k;
for(Int_t i=0;i<sectvol->GetSize();i++){
symn=AliGeomManager::SymName(sectvol->At(i));
if(symn.Contains(str)&&symn.Contains(laystr)){
volIDs->AddAt(sectvol->At(i),last);
last++;
}
}
}
}
laystr="SPD1";
for(Int_t k=2;k<6;k++){
if(staves[k]==1){
str=stave;
str+=k-2;
for(Int_t i=0;i<sectvol->GetSize();i++){
symn=AliGeomManager::SymName(sectvol->At(i));
if(symn.Contains(str)&&symn.Contains(laystr)){
volIDs->AddAt(sectvol->At(i),last);
printf("Adding: %s \n",symn.Data());
last++;
}
}
}
}
volIDs->Set(last);
return volIDs;
}
TArrayI* AliITSRealignTracks::GetSPDSectorsVolids(const Int_t *sectors)
{
Int_t nSect=0;
Int_t iModule=0;
for(Int_t co=0;co<10;co++){
if(sectors[co]==1) nSect++;
}
if(nSect<1){
Printf("Error! No Sector/s Selected!");
return 0x0;
}
TArrayI *volIDs = new TArrayI(nSect*24);
if(sectors[0]==1){
volIDs->AddAt(2048,iModule); iModule++;
volIDs->AddAt(2049,iModule); iModule++;
volIDs->AddAt(2050,iModule); iModule++;
volIDs->AddAt(2051,iModule); iModule++;
volIDs->AddAt(2052,iModule); iModule++;
volIDs->AddAt(2053,iModule); iModule++;
volIDs->AddAt(2054,iModule); iModule++;
volIDs->AddAt(2055,iModule); iModule++;
volIDs->AddAt(4096,iModule); iModule++;
volIDs->AddAt(4097,iModule); iModule++;
volIDs->AddAt(4098,iModule); iModule++;
volIDs->AddAt(4099,iModule); iModule++;
volIDs->AddAt(4100,iModule); iModule++;
volIDs->AddAt(4101,iModule); iModule++;
volIDs->AddAt(4102,iModule); iModule++;
volIDs->AddAt(4103,iModule); iModule++;
volIDs->AddAt(4104,iModule); iModule++;
volIDs->AddAt(4105,iModule); iModule++;
volIDs->AddAt(4106,iModule); iModule++;
volIDs->AddAt(4107,iModule); iModule++;
volIDs->AddAt(4108,iModule); iModule++;
volIDs->AddAt(4109,iModule); iModule++;
volIDs->AddAt(4110,iModule); iModule++;
volIDs->AddAt(4111,iModule); iModule++;
}
if(sectors[1]==1){
volIDs->AddAt(2056,iModule); iModule++;
volIDs->AddAt(2057,iModule); iModule++;
volIDs->AddAt(2058,iModule); iModule++;
volIDs->AddAt(2059,iModule); iModule++;
volIDs->AddAt(2060,iModule); iModule++;
volIDs->AddAt(2061,iModule); iModule++;
volIDs->AddAt(2062,iModule); iModule++;
volIDs->AddAt(2063,iModule); iModule++;
volIDs->AddAt(4112,iModule); iModule++;
volIDs->AddAt(4113,iModule); iModule++;
volIDs->AddAt(4114,iModule); iModule++;
volIDs->AddAt(4115,iModule); iModule++;
volIDs->AddAt(4116,iModule); iModule++;
volIDs->AddAt(4117,iModule); iModule++;
volIDs->AddAt(4118,iModule); iModule++;
volIDs->AddAt(4119,iModule); iModule++;
volIDs->AddAt(4120,iModule); iModule++;
volIDs->AddAt(4121,iModule); iModule++;
volIDs->AddAt(4122,iModule); iModule++;
volIDs->AddAt(4123,iModule); iModule++;
volIDs->AddAt(4124,iModule); iModule++;
volIDs->AddAt(4125,iModule); iModule++;
volIDs->AddAt(4126,iModule); iModule++;
volIDs->AddAt(4127,iModule); iModule++;
}
if(sectors[2]==1){
volIDs->AddAt(2064,iModule); iModule++;
volIDs->AddAt(2065,iModule); iModule++;
volIDs->AddAt(2066,iModule); iModule++;
volIDs->AddAt(2067,iModule); iModule++;
volIDs->AddAt(2068,iModule); iModule++;
volIDs->AddAt(2069,iModule); iModule++;
volIDs->AddAt(2070,iModule); iModule++;
volIDs->AddAt(2071,iModule); iModule++;
volIDs->AddAt(4128,iModule); iModule++;
volIDs->AddAt(4129,iModule); iModule++;
volIDs->AddAt(4130,iModule); iModule++;
volIDs->AddAt(4131,iModule); iModule++;
volIDs->AddAt(4132,iModule); iModule++;
volIDs->AddAt(4133,iModule); iModule++;
volIDs->AddAt(4134,iModule); iModule++;
volIDs->AddAt(4135,iModule); iModule++;
volIDs->AddAt(4136,iModule); iModule++;
volIDs->AddAt(4137,iModule); iModule++;
volIDs->AddAt(4138,iModule); iModule++;
volIDs->AddAt(4139,iModule); iModule++;
volIDs->AddAt(4140,iModule); iModule++;
volIDs->AddAt(4141,iModule); iModule++;
volIDs->AddAt(4142,iModule); iModule++;
volIDs->AddAt(4143,iModule); iModule++;
}
if(sectors[3]==1){
volIDs->AddAt(2072,iModule); iModule++;
volIDs->AddAt(2073,iModule); iModule++;
volIDs->AddAt(2074,iModule); iModule++;
volIDs->AddAt(2075,iModule); iModule++;
volIDs->AddAt(2076,iModule); iModule++;
volIDs->AddAt(2077,iModule); iModule++;
volIDs->AddAt(2078,iModule); iModule++;
volIDs->AddAt(2079,iModule); iModule++;
volIDs->AddAt(4144,iModule); iModule++;
volIDs->AddAt(4145,iModule); iModule++;
volIDs->AddAt(4146,iModule); iModule++;
volIDs->AddAt(4147,iModule); iModule++;
volIDs->AddAt(4148,iModule); iModule++;
volIDs->AddAt(4149,iModule); iModule++;
volIDs->AddAt(4150,iModule); iModule++;
volIDs->AddAt(4151,iModule); iModule++;
volIDs->AddAt(4152,iModule); iModule++;
volIDs->AddAt(4153,iModule); iModule++;
volIDs->AddAt(4154,iModule); iModule++;
volIDs->AddAt(4155,iModule); iModule++;
volIDs->AddAt(4156,iModule); iModule++;
volIDs->AddAt(4157,iModule); iModule++;
volIDs->AddAt(4158,iModule); iModule++;
volIDs->AddAt(4159,iModule); iModule++;
}
if(sectors[4]==1){
volIDs->AddAt(2080,iModule); iModule++;
volIDs->AddAt(2081,iModule); iModule++;
volIDs->AddAt(2082,iModule); iModule++;
volIDs->AddAt(2083,iModule); iModule++;
volIDs->AddAt(2084,iModule); iModule++;
volIDs->AddAt(2085,iModule); iModule++;
volIDs->AddAt(2086,iModule); iModule++;
volIDs->AddAt(2087,iModule); iModule++;
volIDs->AddAt(4160,iModule); iModule++;
volIDs->AddAt(4161,iModule); iModule++;
volIDs->AddAt(4162,iModule); iModule++;
volIDs->AddAt(4163,iModule); iModule++;
volIDs->AddAt(4164,iModule); iModule++;
volIDs->AddAt(4165,iModule); iModule++;
volIDs->AddAt(4166,iModule); iModule++;
volIDs->AddAt(4167,iModule); iModule++;
volIDs->AddAt(4168,iModule); iModule++;
volIDs->AddAt(4169,iModule); iModule++;
volIDs->AddAt(4170,iModule); iModule++;
volIDs->AddAt(4171,iModule); iModule++;
volIDs->AddAt(4172,iModule); iModule++;
volIDs->AddAt(4173,iModule); iModule++;
volIDs->AddAt(4174,iModule); iModule++;
volIDs->AddAt(4175,iModule); iModule++;
}
if(sectors[5]==1){
volIDs->AddAt(2088,iModule); iModule++;
volIDs->AddAt(2089,iModule); iModule++;
volIDs->AddAt(2090,iModule); iModule++;
volIDs->AddAt(2091,iModule); iModule++;
volIDs->AddAt(2092,iModule); iModule++;
volIDs->AddAt(2093,iModule); iModule++;
volIDs->AddAt(2094,iModule); iModule++;
volIDs->AddAt(2095,iModule); iModule++;
volIDs->AddAt(4176,iModule); iModule++;
volIDs->AddAt(4177,iModule); iModule++;
volIDs->AddAt(4178,iModule); iModule++;
volIDs->AddAt(4179,iModule); iModule++;
volIDs->AddAt(4180,iModule); iModule++;
volIDs->AddAt(4181,iModule); iModule++;
volIDs->AddAt(4182,iModule); iModule++;
volIDs->AddAt(4183,iModule); iModule++;
volIDs->AddAt(4184,iModule); iModule++;
volIDs->AddAt(4185,iModule); iModule++;
volIDs->AddAt(4186,iModule); iModule++;
volIDs->AddAt(4187,iModule); iModule++;
volIDs->AddAt(4188,iModule); iModule++;
volIDs->AddAt(4189,iModule); iModule++;
volIDs->AddAt(4190,iModule); iModule++;
volIDs->AddAt(4191,iModule); iModule++;
}
if(sectors[6]==1){
volIDs->AddAt(2096,iModule); iModule++;
volIDs->AddAt(2097,iModule); iModule++;
volIDs->AddAt(2098,iModule); iModule++;
volIDs->AddAt(2099,iModule); iModule++;
volIDs->AddAt(2100,iModule); iModule++;
volIDs->AddAt(2101,iModule); iModule++;
volIDs->AddAt(2102,iModule); iModule++;
volIDs->AddAt(2103,iModule); iModule++;
volIDs->AddAt(4192,iModule); iModule++;
volIDs->AddAt(4193,iModule); iModule++;
volIDs->AddAt(4194,iModule); iModule++;
volIDs->AddAt(4195,iModule); iModule++;
volIDs->AddAt(4196,iModule); iModule++;
volIDs->AddAt(4197,iModule); iModule++;
volIDs->AddAt(4198,iModule); iModule++;
volIDs->AddAt(4199,iModule); iModule++;
volIDs->AddAt(4200,iModule); iModule++;
volIDs->AddAt(4201,iModule); iModule++;
volIDs->AddAt(4202,iModule); iModule++;
volIDs->AddAt(4203,iModule); iModule++;
volIDs->AddAt(4204,iModule); iModule++;
volIDs->AddAt(4205,iModule); iModule++;
volIDs->AddAt(4206,iModule); iModule++;
volIDs->AddAt(4207,iModule); iModule++;
}
if(sectors[7]==1){
volIDs->AddAt(2104,iModule); iModule++;
volIDs->AddAt(2105,iModule); iModule++;
volIDs->AddAt(2106,iModule); iModule++;
volIDs->AddAt(2107,iModule); iModule++;
volIDs->AddAt(2108,iModule); iModule++;
volIDs->AddAt(2109,iModule); iModule++;
volIDs->AddAt(2110,iModule); iModule++;
volIDs->AddAt(2111,iModule); iModule++;
volIDs->AddAt(4208,iModule); iModule++;
volIDs->AddAt(4209,iModule); iModule++;
volIDs->AddAt(4210,iModule); iModule++;
volIDs->AddAt(4211,iModule); iModule++;
volIDs->AddAt(4212,iModule); iModule++;
volIDs->AddAt(4213,iModule); iModule++;
volIDs->AddAt(4214,iModule); iModule++;
volIDs->AddAt(4215,iModule); iModule++;
volIDs->AddAt(4216,iModule); iModule++;
volIDs->AddAt(4217,iModule); iModule++;
volIDs->AddAt(4218,iModule); iModule++;
volIDs->AddAt(4219,iModule); iModule++;
volIDs->AddAt(4220,iModule); iModule++;
volIDs->AddAt(4221,iModule); iModule++;
volIDs->AddAt(4222,iModule); iModule++;
volIDs->AddAt(4223,iModule); iModule++;
}
if(sectors[8]==1){
volIDs->AddAt(2112,iModule); iModule++;
volIDs->AddAt(2113,iModule); iModule++;
volIDs->AddAt(2114,iModule); iModule++;
volIDs->AddAt(2115,iModule); iModule++;
volIDs->AddAt(2116,iModule); iModule++;
volIDs->AddAt(2117,iModule); iModule++;
volIDs->AddAt(2118,iModule); iModule++;
volIDs->AddAt(2119,iModule); iModule++;
volIDs->AddAt(4224,iModule); iModule++;
volIDs->AddAt(4225,iModule); iModule++;
volIDs->AddAt(4226,iModule); iModule++;
volIDs->AddAt(4227,iModule); iModule++;
volIDs->AddAt(4228,iModule); iModule++;
volIDs->AddAt(4229,iModule); iModule++;
volIDs->AddAt(4230,iModule); iModule++;
volIDs->AddAt(4231,iModule); iModule++;
volIDs->AddAt(4232,iModule); iModule++;
volIDs->AddAt(4233,iModule); iModule++;
volIDs->AddAt(4234,iModule); iModule++;
volIDs->AddAt(4235,iModule); iModule++;
volIDs->AddAt(4236,iModule); iModule++;
volIDs->AddAt(4237,iModule); iModule++;
volIDs->AddAt(4238,iModule); iModule++;
volIDs->AddAt(4239,iModule); iModule++;
}
if(sectors[9]==1){
volIDs->AddAt(2120,iModule); iModule++;
volIDs->AddAt(2121,iModule); iModule++;
volIDs->AddAt(2122,iModule); iModule++;
volIDs->AddAt(2123,iModule); iModule++;
volIDs->AddAt(2124,iModule); iModule++;
volIDs->AddAt(2125,iModule); iModule++;
volIDs->AddAt(2126,iModule); iModule++;
volIDs->AddAt(2127,iModule); iModule++;
volIDs->AddAt(4240,iModule); iModule++;
volIDs->AddAt(4241,iModule); iModule++;
volIDs->AddAt(4242,iModule); iModule++;
volIDs->AddAt(4243,iModule); iModule++;
volIDs->AddAt(4244,iModule); iModule++;
volIDs->AddAt(4245,iModule); iModule++;
volIDs->AddAt(4246,iModule); iModule++;
volIDs->AddAt(4247,iModule); iModule++;
volIDs->AddAt(4248,iModule); iModule++;
volIDs->AddAt(4249,iModule); iModule++;
volIDs->AddAt(4250,iModule); iModule++;
volIDs->AddAt(4251,iModule); iModule++;
volIDs->AddAt(4252,iModule); iModule++;
volIDs->AddAt(4253,iModule); iModule++;
volIDs->AddAt(4254,iModule); iModule++;
volIDs->AddAt(4255,iModule); iModule++;
}
return volIDs;
}
TArrayI* AliITSRealignTracks::GetLayersVolUID(const Int_t *layer){
TArrayI *out=new TArrayI(2198);
Int_t last=0;
UShort_t voluid;
for(Int_t i=0;i<6;i++){
if(layer[i]==1){
for(Int_t mod=0;mod<AliGeomManager::LayerSize(i+AliGeomManager::kFirstLayer);mod++){
voluid=AliGeomManager::LayerToVolUID(i+AliGeomManager::kFirstLayer,mod);
out->AddAt(voluid,last);
last++;
}
}
}
out->Set(last);
return out;
}
TArrayI* AliITSRealignTracks::SelectLayerInVolids(const TArrayI *volidsIN,AliGeomManager::ELayerID layer){
Int_t size=volidsIN->GetSize();
Int_t count=0;
for(Int_t j=0;j<size;j++){
if(AliGeomManager::VolUIDToLayer(volidsIN->At(j))==layer)count++;
}
TArrayI *volidsOUT=new TArrayI(count);
count=0;
for(Int_t j=0;j<size;j++){
if(AliGeomManager::VolUIDToLayer(volidsIN->At(j))==layer){
volidsOUT->AddAt(volidsIN->At(j),count);
count++;
}
}
return volidsOUT;
}
TArrayI* AliITSRealignTracks::IntersectVolArray(const TArrayI *vol1,const TArrayI *vol2){
Int_t size1=vol1->GetSize();
Int_t size2=vol2->GetSize();
Int_t last=0,volid;
Bool_t found;
TArrayI *volidOut=new TArrayI(size1+size2);
for(Int_t k=0;k<size1;k++){
found=kFALSE;
volid=vol1->At(k);
for(Int_t j=0;j<size2;j++){
if(vol2->At(j)==volid)found=kTRUE;
}
if(found){
volidOut->AddAt(volid,last);
last++;
}
}
volidOut->Set(last);
return volidOut;
}
TArrayI* AliITSRealignTracks::JoinVolArrays(const TArrayI *vol1,const TArrayI *vol2){
Int_t size1=vol1->GetSize();
Int_t size2=vol2->GetSize();
Int_t count=0;
UShort_t volid;
Bool_t found;
TArrayI *volidOut=new TArrayI(size1+size2);
for(Int_t k=0;k<size1;k++){
volid=vol1->At(k);
volidOut->AddAt(volid,k);
}
for(Int_t k=0;k<size2;k++){
found=kFALSE;
volid=vol2->At(k);
for(Int_t j=0;j<size1;j++){
if(volidOut->At(j)==volid)found=kTRUE;
}
if(!found){
volidOut->AddAt(volid,size1+count);
count++;
}
}
volidOut->Set(size1+count);
return volidOut;
}
TArrayI* AliITSRealignTracks::ExcludeVolidsFromVolidsArray(const TArrayI *volidsToExclude,const TArrayI *volStart){
Int_t size1=volidsToExclude->GetSize();
Int_t size2=volStart->GetSize();
Int_t last=0;
UShort_t volid;
Bool_t found;
TArrayI *volidOut=new TArrayI(size2);
for(Int_t k=0;k<size2;k++){
found=kFALSE;
volid=volStart->At(k);
for(Int_t j=0;j<size1;j++){
if(volidsToExclude->At(j)==volid){
found=kTRUE;
break;
}
}
if(!found){
volidOut->AddAt(volid,last);
last++;
}
}
volidOut->Set(last);
return volidOut;
}
TArrayI* AliITSRealignTracks::GetLayerVolumes(const Int_t *layer){
TArrayI *out=new TArrayI(2198);
Int_t last=0;
UShort_t voluid;
for(Int_t i=0;i<6;i++){
if(layer[i]==1){
for(Int_t mod=0;mod<AliGeomManager::LayerSize(i+AliGeomManager::kFirstLayer);mod++){
voluid=AliGeomManager::LayerToVolUID(i+AliGeomManager::kFirstLayer,mod);
out->AddAt(voluid,last);
last++;
}
}
}
out->Set(last);
return out;
}
TArrayI* AliITSRealignTracks::GetAlignedVolumes(char *filename){
if(gSystem->AccessPathName(filename)){
printf("Wrong Realignment file name \n");
return 0x0;
}
TFile *f=TFile::Open(filename,"READ");
TClonesArray *array=(TClonesArray*)f->Get("ITSAlignObjs");
AliAlignObjParams *a;
Int_t last=0;
TArrayI *volidOut=new TArrayI(2200);
for(Int_t j=0;j<array->GetSize();j++){
a=(AliAlignObjParams*)array->At(j);
if(a->GetUniqueID()==0)continue;
else {
volidOut->AddAt(a->GetVolUID(),last);
last++;
}
}
volidOut->Set(last);
f->Close();
return volidOut;
}
void AliITSRealignTracks::SetDraw(Bool_t draw,Bool_t refresh){
if(refresh){
if(fAlignDrawObjs)DeleteDrawHists();
InitDrawHists();
}
fDraw=draw;
return;
}
void AliITSRealignTracks::DeleteDrawHists(){
for (Int_t iLayer = 0; iLayer < (AliGeomManager::kLastLayer - AliGeomManager::kFirstLayer); iLayer++) {
for (Int_t iModule = 0; iModule < AliGeomManager::LayerSize(iLayer + AliGeomManager::kFirstLayer); iModule++) {
delete fAlignDrawObjs[iLayer][iModule];
}
if(fAlignDrawObjs[iLayer])delete [] fAlignDrawObjs[iLayer];
}
delete [] fAlignDrawObjs;
fAlignDrawObjs = 0;
delete fCanvPar;
delete fCanvGr;
delete fgrIterMeanX;
delete fgrIterRMSX;
delete fgrIterMeanY;
delete fgrIterRMSY;
delete fgrIterMeanZ;
delete fgrIterRMSZ;
delete fgrIterMeanPsi;
delete fgrIterRMSPsi;
delete fgrIterMeanTheta;
delete fgrIterRMSTheta;
delete fgrIterMeanPhi;
delete fgrIterRMSPhi;
}
void AliITSRealignTracks::InitDrawHists(){
Int_t nLayers = AliGeomManager::kLastLayer - AliGeomManager::kFirstLayer;
fAlignDrawObjs = new AliAlignObj**[nLayers];
for (Int_t iLayer = 0; iLayer < (AliGeomManager::kLastLayer - AliGeomManager::kFirstLayer); iLayer++) {
fAlignDrawObjs[iLayer] = new AliAlignObj*[AliGeomManager::LayerSize(iLayer + AliGeomManager::kFirstLayer)];
for (Int_t iModule = 0; iModule < AliGeomManager::LayerSize(iLayer + AliGeomManager::kFirstLayer); iModule++) {
UShort_t volid = AliGeomManager::LayerToVolUID(iLayer+ AliGeomManager::kFirstLayer,iModule);
fAlignDrawObjs[iLayer][iModule] = new AliAlignObjParams(AliGeomManager::SymName(volid),volid,0,0,0,0,0,0,kTRUE);
fAlignDrawObjs[iLayer][iModule]->SetUniqueID(1);
}
}
TH1F *hX=new TH1F("hX","hX",1000,-10000.,10000.);
TH1F *hY=new TH1F("hY","hY",1000,-10000.,10000.);
TH1F *hZ=new TH1F("hZ","hZ",1000,-10000.,10000.);
TH1F *hPsi=new TH1F("hPsi","hPsi",1000,-5000.,5000.);
TH1F *hTheta=new TH1F("hTheta","hTheta",1000,-5000.,5000.);
TH1F *hPhi=new TH1F("hPhi","hPhi",1000,-5000.,5000.);
fCanvPar=new TCanvas("fCanvPar","Parameters trend during iterations: Convergence \n");
fCanvPar->Divide(3,2);
fCanvPar->cd(1);
hX->Draw();
hX->SetXTitle("#mum");
fCanvPar->cd(2);
hY->Draw();
hY->SetXTitle("#mum");
fCanvPar->cd(3);
hZ->SetXTitle("#mum");
hZ->Draw();
fCanvPar->cd(4);
hPsi->SetXTitle("mdeg");
hPsi->Draw();
fCanvPar->cd(5);
hTheta->SetXTitle("mdeg");
hTheta->Draw();
fCanvPar->cd(6);
hPhi->SetXTitle("mdeg");
hPhi->Draw();
fCanvPar->Update();
fCanvGr=new TCanvas("fCanvGr","Parameters trend during iterations: Convergence \n");
fCanvGr->Divide(3,2);
fCanvGr->cd(1);
fgrIterMeanX=new TGraph(1);
fgrIterRMSX=new TGraph(1);
fgrIterRMSX->GetYaxis()->SetRangeUser(-1000.,1000.);
fgrIterRMSX->SetName("fgrIterRMSX");
fgrIterRMSX->SetLineColor(2);
fgrIterMeanX->SetName("fgrIterMeanX");
fgrIterMeanX->SetTitle("Convergence of #deltaX \n");
fgrIterMeanX->GetXaxis()->SetTitle("#mum");
fgrIterRMSX->Draw("acp");
fgrIterMeanX->Draw("cp");
fCanvGr->cd(2);
fgrIterMeanY=new TGraph(1);
fgrIterRMSY=new TGraph(1);
fgrIterRMSY->GetYaxis()->SetRangeUser(-1000.,1000.);
fgrIterRMSY->SetName("fgrIterRMSY");
fgrIterRMSY->SetLineColor(2);
fgrIterMeanY->SetName("fgrIterMeanY");
fgrIterMeanY->SetTitle("Convergence of #deltaY \n");
fgrIterMeanY->GetXaxis()->SetTitle("#mum");
fgrIterRMSY->Draw("acp");
fgrIterMeanY->Draw("cp");
fCanvGr->cd(3);
fgrIterMeanZ=new TGraph(1);
fgrIterRMSZ=new TGraph(1);
fgrIterRMSZ->GetYaxis()->SetRangeUser(-1000.,1000.);
fgrIterRMSZ->SetName("fgrIterRMSZ");
fgrIterRMSZ->SetLineColor(2);
fgrIterMeanZ->SetName("fgrIterMeanZ");
fgrIterMeanZ->SetTitle("Convergence of #deltaZ \n");
fgrIterMeanZ->GetXaxis()->SetTitle("#mum");
fgrIterRMSZ->Draw("acp");
fgrIterMeanZ->Draw("cp");
fCanvGr->cd(4);
fgrIterMeanPsi=new TGraph(1);
fgrIterRMSPsi=new TGraph(1);
fgrIterRMSPsi->GetYaxis()->SetRangeUser(-1000.,1000.);
fgrIterRMSPsi->SetName("fgrIterRMSPsi");
fgrIterRMSPsi->SetLineColor(2);
fgrIterMeanPsi->SetName("fgrIterMeanPsi");
fgrIterMeanPsi->SetTitle("Convergence of #deltaPsi \n");
fgrIterMeanPsi->GetXaxis()->SetTitle("mdeg");
fgrIterRMSPsi->Draw("acp");
fgrIterMeanPsi->Draw("cp");
fCanvGr->cd(5);
fgrIterMeanTheta=new TGraph(1);
fgrIterRMSTheta=new TGraph(1);
fgrIterRMSTheta->GetYaxis()->SetRangeUser(-1000.,1000.);
fgrIterRMSTheta->SetName("fgrIterRMSTheta");
fgrIterRMSTheta->SetLineColor(2);
fgrIterMeanTheta->SetName("fgrIterMeanTheta");
fgrIterMeanTheta->SetTitle("Convergence of #deltaTheta \n");
fgrIterMeanTheta->GetXaxis()->SetTitle("mdeg");
fgrIterRMSTheta->Draw("acp");
fgrIterMeanTheta->Draw("cp");
fCanvGr->cd(6);
fgrIterMeanPhi=new TGraph(1);
fgrIterRMSPhi=new TGraph(1);
fgrIterRMSPhi->GetYaxis()->SetRangeUser(-1000.,1000.);
fgrIterRMSPhi->SetName("fgrIterRMSPhi");
fgrIterRMSPhi->SetLineColor(2);
fgrIterMeanPhi->SetName("fgrIterMeanPhi");
fgrIterMeanPhi->SetTitle("Convergence of #deltaPhi \n");
fgrIterMeanPhi->GetXaxis()->SetTitle("mdeg");
fgrIterRMSPhi->Draw("acp");
fgrIterMeanPhi->Draw("cp");
}
void AliITSRealignTracks::UpdateDraw(TArrayI *volids,Int_t iter,Int_t color){
TString name="hX_";
name+=iter;
name.Append("iter");
TH1F *hX=new TH1F("hX",name.Data(),1000,-10000.,10000.);
name="hY_";
name+=iter;
name.Append("iter");
TH1F *hY=new TH1F("hY",name.Data(),1000,-10000.,10000.);
name="hZ_";
name+=iter;
name.Append("iter");
TH1F *hZ=new TH1F("hZ",name.Data(),1000,-10000.,10000.);
name="hPsi_";
name+=iter;
name.Append("iter");
TH1F *hPsi=new TH1F("hPsi",name.Data(),1000,-5000.,5000.);
name="hTheta_";
name+=iter;
name.Append("iter");
TH1F *hTheta=new TH1F("hTheta",name.Data(),1000,-5000.,5000.);
name="hPhi_";
name+=iter;
name.Append("iter");
TH1F *hPhi=new TH1F("hPhi",name.Data(),1000,-5000.,5000.);
Int_t layer,mod;
Double_t transl[3],rot[3],transldr[3],rotdr[3];
for(Int_t i=0;i<volids->GetSize();i++){
layer=AliGeomManager::VolUIDToLayer(volids->At(i),mod);
fAlignObjs[layer-AliGeomManager::kFirstLayer][mod]->GetPars(transl,rot);
fAlignDrawObjs[layer-AliGeomManager::kFirstLayer][mod]->GetPars(transldr,rotdr);
hX->Fill(10000.*(transl[0]-transldr[0]));
hY->Fill(10000.*(transl[1]-transldr[1]));
hZ->Fill(10000.*(transl[2]-transldr[2]));
hPsi->Fill(1000.*(rot[0]-rotdr[0]));
hTheta->Fill(1000.*(rot[1]-rotdr[1]));
hPhi->Fill(1000.*(rot[1]-rotdr[2]));
fAlignDrawObjs[layer-AliGeomManager::kFirstLayer][mod]->SetPars(transl[0],transl[1],transl[2],rot[0],rot[1],rot[2]);
}
hX->SetLineColor(color);
hY->SetLineColor(color);
hZ->SetLineColor(color);
hPsi->SetLineColor(color);
hTheta->SetLineColor(color);
hPhi->SetLineColor(color);
fCanvPar->cd(1);
hX->Draw("Same");
fCanvPar->cd(2);
hY->Draw("Same");
fCanvPar->cd(3);
hZ->Draw("Same");
fCanvPar->cd(4);
hPsi->Draw("Same");
fCanvPar->cd(5);
hTheta->Draw("Same");
fCanvPar->cd(6);
hPhi->Draw("Same");
gPad->Modified();
fCanvPar->Update();
fCanvPar->Modified();
fgrIterMeanX->SetPoint(fgrIterMeanX->GetN()+1,iter,hX->GetMean());
fgrIterRMSX->SetPoint(fgrIterRMSX->GetN()+1,iter,hX->GetRMS());
fgrIterMeanY->SetPoint(fgrIterMeanY->GetN()+1,iter,hY->GetMean());
fgrIterRMSY->SetPoint(fgrIterRMSY->GetN()+1,iter,hY->GetRMS());
fgrIterMeanZ->SetPoint(fgrIterMeanZ->GetN()+1,iter,hZ->GetMean());
fgrIterRMSZ->SetPoint(fgrIterRMSZ->GetN()+1,iter,hZ->GetRMS());
fgrIterMeanPsi->SetPoint(fgrIterMeanPsi->GetN()+1,iter,hPsi->GetMean());
fgrIterRMSPsi->SetPoint(fgrIterRMSPsi->GetN()+1,iter,hPsi->GetRMS());
fgrIterMeanTheta->SetPoint(fgrIterMeanTheta->GetN()+1,iter,hTheta->GetMean());
fgrIterRMSTheta->SetPoint(fgrIterRMSTheta->GetN()+1,iter,hTheta->GetRMS());
fgrIterMeanPhi->SetPoint(fgrIterMeanPhi->GetN()+1,iter,hPhi->GetMean());
fgrIterRMSPhi->SetPoint(fgrIterRMSPhi->GetN()+1,iter,hPhi->GetRMS());
gPad->Modified();
fCanvGr->Update();
fCanvGr->Update();
}
void AliITSRealignTracks::WriteHists(const char *outfile){
TFile *f=new TFile(outfile,"RECREATE");
f->cd();
fCanvPar->Write();
fCanvGr->Write();
fgrIterMeanX->Write();
fgrIterRMSX->Write();
fgrIterMeanY->Write();
fgrIterRMSY->Write();
fgrIterMeanZ->Write();
fgrIterRMSZ->Write();
fgrIterMeanPsi->Write();
fgrIterRMSPsi->Write();
fgrIterMeanTheta->Write();
fgrIterRMSTheta->Write();
fgrIterMeanPhi->Write();
fgrIterRMSPhi->Write();
f->Close();
return;
}
AliITSRealignTracks.cxx:1 AliITSRealignTracks.cxx:2 AliITSRealignTracks.cxx:3 AliITSRealignTracks.cxx:4 AliITSRealignTracks.cxx:5 AliITSRealignTracks.cxx:6 AliITSRealignTracks.cxx:7 AliITSRealignTracks.cxx:8 AliITSRealignTracks.cxx:9 AliITSRealignTracks.cxx:10 AliITSRealignTracks.cxx:11 AliITSRealignTracks.cxx:12 AliITSRealignTracks.cxx:13 AliITSRealignTracks.cxx:14 AliITSRealignTracks.cxx:15 AliITSRealignTracks.cxx:16 AliITSRealignTracks.cxx:17 AliITSRealignTracks.cxx:18 AliITSRealignTracks.cxx:19 AliITSRealignTracks.cxx:20 AliITSRealignTracks.cxx:21 AliITSRealignTracks.cxx:22 AliITSRealignTracks.cxx:23 AliITSRealignTracks.cxx:24 AliITSRealignTracks.cxx:25 AliITSRealignTracks.cxx:26 AliITSRealignTracks.cxx:27 AliITSRealignTracks.cxx:28 AliITSRealignTracks.cxx:29 AliITSRealignTracks.cxx:30 AliITSRealignTracks.cxx:31 AliITSRealignTracks.cxx:32 AliITSRealignTracks.cxx:33 AliITSRealignTracks.cxx:34 AliITSRealignTracks.cxx:35 AliITSRealignTracks.cxx:36 AliITSRealignTracks.cxx:37 AliITSRealignTracks.cxx:38 AliITSRealignTracks.cxx:39 AliITSRealignTracks.cxx:40 AliITSRealignTracks.cxx:41 AliITSRealignTracks.cxx:42 AliITSRealignTracks.cxx:43 AliITSRealignTracks.cxx:44 AliITSRealignTracks.cxx:45 AliITSRealignTracks.cxx:46 AliITSRealignTracks.cxx:47 AliITSRealignTracks.cxx:48 AliITSRealignTracks.cxx:49 AliITSRealignTracks.cxx:50 AliITSRealignTracks.cxx:51 AliITSRealignTracks.cxx:52 AliITSRealignTracks.cxx:53 AliITSRealignTracks.cxx:54 AliITSRealignTracks.cxx:55 AliITSRealignTracks.cxx:56 AliITSRealignTracks.cxx:57 AliITSRealignTracks.cxx:58 AliITSRealignTracks.cxx:59 AliITSRealignTracks.cxx:60 AliITSRealignTracks.cxx:61 AliITSRealignTracks.cxx:62 AliITSRealignTracks.cxx:63 AliITSRealignTracks.cxx:64 AliITSRealignTracks.cxx:65 AliITSRealignTracks.cxx:66 AliITSRealignTracks.cxx:67 AliITSRealignTracks.cxx:68 AliITSRealignTracks.cxx:69 AliITSRealignTracks.cxx:70 AliITSRealignTracks.cxx:71 AliITSRealignTracks.cxx:72 AliITSRealignTracks.cxx:73 AliITSRealignTracks.cxx:74 AliITSRealignTracks.cxx:75 AliITSRealignTracks.cxx:76 AliITSRealignTracks.cxx:77 AliITSRealignTracks.cxx:78 AliITSRealignTracks.cxx:79 AliITSRealignTracks.cxx:80 AliITSRealignTracks.cxx:81 AliITSRealignTracks.cxx:82 AliITSRealignTracks.cxx:83 AliITSRealignTracks.cxx:84 AliITSRealignTracks.cxx:85 AliITSRealignTracks.cxx:86 AliITSRealignTracks.cxx:87 AliITSRealignTracks.cxx:88 AliITSRealignTracks.cxx:89 AliITSRealignTracks.cxx:90 AliITSRealignTracks.cxx:91 AliITSRealignTracks.cxx:92 AliITSRealignTracks.cxx:93 AliITSRealignTracks.cxx:94 AliITSRealignTracks.cxx:95 AliITSRealignTracks.cxx:96 AliITSRealignTracks.cxx:97 AliITSRealignTracks.cxx:98 AliITSRealignTracks.cxx:99 AliITSRealignTracks.cxx:100 AliITSRealignTracks.cxx:101 AliITSRealignTracks.cxx:102 AliITSRealignTracks.cxx:103 AliITSRealignTracks.cxx:104 AliITSRealignTracks.cxx:105 AliITSRealignTracks.cxx:106 AliITSRealignTracks.cxx:107 AliITSRealignTracks.cxx:108 AliITSRealignTracks.cxx:109 AliITSRealignTracks.cxx:110 AliITSRealignTracks.cxx:111 AliITSRealignTracks.cxx:112 AliITSRealignTracks.cxx:113 AliITSRealignTracks.cxx:114 AliITSRealignTracks.cxx:115 AliITSRealignTracks.cxx:116 AliITSRealignTracks.cxx:117 AliITSRealignTracks.cxx:118 AliITSRealignTracks.cxx:119 AliITSRealignTracks.cxx:120 AliITSRealignTracks.cxx:121 AliITSRealignTracks.cxx:122 AliITSRealignTracks.cxx:123 AliITSRealignTracks.cxx:124 AliITSRealignTracks.cxx:125 AliITSRealignTracks.cxx:126 AliITSRealignTracks.cxx:127 AliITSRealignTracks.cxx:128 AliITSRealignTracks.cxx:129 AliITSRealignTracks.cxx:130 AliITSRealignTracks.cxx:131 AliITSRealignTracks.cxx:132 AliITSRealignTracks.cxx:133 AliITSRealignTracks.cxx:134 AliITSRealignTracks.cxx:135 AliITSRealignTracks.cxx:136 AliITSRealignTracks.cxx:137 AliITSRealignTracks.cxx:138 AliITSRealignTracks.cxx:139 AliITSRealignTracks.cxx:140 AliITSRealignTracks.cxx:141 AliITSRealignTracks.cxx:142 AliITSRealignTracks.cxx:143 AliITSRealignTracks.cxx:144 AliITSRealignTracks.cxx:145 AliITSRealignTracks.cxx:146 AliITSRealignTracks.cxx:147 AliITSRealignTracks.cxx:148 AliITSRealignTracks.cxx:149 AliITSRealignTracks.cxx:150 AliITSRealignTracks.cxx:151 AliITSRealignTracks.cxx:152 AliITSRealignTracks.cxx:153 AliITSRealignTracks.cxx:154 AliITSRealignTracks.cxx:155 AliITSRealignTracks.cxx:156 AliITSRealignTracks.cxx:157 AliITSRealignTracks.cxx:158 AliITSRealignTracks.cxx:159 AliITSRealignTracks.cxx:160 AliITSRealignTracks.cxx:161 AliITSRealignTracks.cxx:162 AliITSRealignTracks.cxx:163 AliITSRealignTracks.cxx:164 AliITSRealignTracks.cxx:165 AliITSRealignTracks.cxx:166 AliITSRealignTracks.cxx:167 AliITSRealignTracks.cxx:168 AliITSRealignTracks.cxx:169 AliITSRealignTracks.cxx:170 AliITSRealignTracks.cxx:171 AliITSRealignTracks.cxx:172 AliITSRealignTracks.cxx:173 AliITSRealignTracks.cxx:174 AliITSRealignTracks.cxx:175 AliITSRealignTracks.cxx:176 AliITSRealignTracks.cxx:177 AliITSRealignTracks.cxx:178 AliITSRealignTracks.cxx:179 AliITSRealignTracks.cxx:180 AliITSRealignTracks.cxx:181 AliITSRealignTracks.cxx:182 AliITSRealignTracks.cxx:183 AliITSRealignTracks.cxx:184 AliITSRealignTracks.cxx:185 AliITSRealignTracks.cxx:186 AliITSRealignTracks.cxx:187 AliITSRealignTracks.cxx:188 AliITSRealignTracks.cxx:189 AliITSRealignTracks.cxx:190 AliITSRealignTracks.cxx:191 AliITSRealignTracks.cxx:192 AliITSRealignTracks.cxx:193 AliITSRealignTracks.cxx:194 AliITSRealignTracks.cxx:195 AliITSRealignTracks.cxx:196 AliITSRealignTracks.cxx:197 AliITSRealignTracks.cxx:198 AliITSRealignTracks.cxx:199 AliITSRealignTracks.cxx:200 AliITSRealignTracks.cxx:201 AliITSRealignTracks.cxx:202 AliITSRealignTracks.cxx:203 AliITSRealignTracks.cxx:204 AliITSRealignTracks.cxx:205 AliITSRealignTracks.cxx:206 AliITSRealignTracks.cxx:207 AliITSRealignTracks.cxx:208 AliITSRealignTracks.cxx:209 AliITSRealignTracks.cxx:210 AliITSRealignTracks.cxx:211 AliITSRealignTracks.cxx:212 AliITSRealignTracks.cxx:213 AliITSRealignTracks.cxx:214 AliITSRealignTracks.cxx:215 AliITSRealignTracks.cxx:216 AliITSRealignTracks.cxx:217 AliITSRealignTracks.cxx:218 AliITSRealignTracks.cxx:219 AliITSRealignTracks.cxx:220 AliITSRealignTracks.cxx:221 AliITSRealignTracks.cxx:222 AliITSRealignTracks.cxx:223 AliITSRealignTracks.cxx:224 AliITSRealignTracks.cxx:225 AliITSRealignTracks.cxx:226 AliITSRealignTracks.cxx:227 AliITSRealignTracks.cxx:228 AliITSRealignTracks.cxx:229 AliITSRealignTracks.cxx:230 AliITSRealignTracks.cxx:231 AliITSRealignTracks.cxx:232 AliITSRealignTracks.cxx:233 AliITSRealignTracks.cxx:234 AliITSRealignTracks.cxx:235 AliITSRealignTracks.cxx:236 AliITSRealignTracks.cxx:237 AliITSRealignTracks.cxx:238 AliITSRealignTracks.cxx:239 AliITSRealignTracks.cxx:240 AliITSRealignTracks.cxx:241 AliITSRealignTracks.cxx:242 AliITSRealignTracks.cxx:243 AliITSRealignTracks.cxx:244 AliITSRealignTracks.cxx:245 AliITSRealignTracks.cxx:246 AliITSRealignTracks.cxx:247 AliITSRealignTracks.cxx:248 AliITSRealignTracks.cxx:249 AliITSRealignTracks.cxx:250 AliITSRealignTracks.cxx:251 AliITSRealignTracks.cxx:252 AliITSRealignTracks.cxx:253 AliITSRealignTracks.cxx:254 AliITSRealignTracks.cxx:255 AliITSRealignTracks.cxx:256 AliITSRealignTracks.cxx:257 AliITSRealignTracks.cxx:258 AliITSRealignTracks.cxx:259 AliITSRealignTracks.cxx:260 AliITSRealignTracks.cxx:261 AliITSRealignTracks.cxx:262 AliITSRealignTracks.cxx:263 AliITSRealignTracks.cxx:264 AliITSRealignTracks.cxx:265 AliITSRealignTracks.cxx:266 AliITSRealignTracks.cxx:267 AliITSRealignTracks.cxx:268 AliITSRealignTracks.cxx:269 AliITSRealignTracks.cxx:270 AliITSRealignTracks.cxx:271 AliITSRealignTracks.cxx:272 AliITSRealignTracks.cxx:273 AliITSRealignTracks.cxx:274 AliITSRealignTracks.cxx:275 AliITSRealignTracks.cxx:276 AliITSRealignTracks.cxx:277 AliITSRealignTracks.cxx:278 AliITSRealignTracks.cxx:279 AliITSRealignTracks.cxx:280 AliITSRealignTracks.cxx:281 AliITSRealignTracks.cxx:282 AliITSRealignTracks.cxx:283 AliITSRealignTracks.cxx:284 AliITSRealignTracks.cxx:285 AliITSRealignTracks.cxx:286 AliITSRealignTracks.cxx:287 AliITSRealignTracks.cxx:288 AliITSRealignTracks.cxx:289 AliITSRealignTracks.cxx:290 AliITSRealignTracks.cxx:291 AliITSRealignTracks.cxx:292 AliITSRealignTracks.cxx:293 AliITSRealignTracks.cxx:294 AliITSRealignTracks.cxx:295 AliITSRealignTracks.cxx:296 AliITSRealignTracks.cxx:297 AliITSRealignTracks.cxx:298 AliITSRealignTracks.cxx:299 AliITSRealignTracks.cxx:300 AliITSRealignTracks.cxx:301 AliITSRealignTracks.cxx:302 AliITSRealignTracks.cxx:303 AliITSRealignTracks.cxx:304 AliITSRealignTracks.cxx:305 AliITSRealignTracks.cxx:306 AliITSRealignTracks.cxx:307 AliITSRealignTracks.cxx:308 AliITSRealignTracks.cxx:309 AliITSRealignTracks.cxx:310 AliITSRealignTracks.cxx:311 AliITSRealignTracks.cxx:312 AliITSRealignTracks.cxx:313 AliITSRealignTracks.cxx:314 AliITSRealignTracks.cxx:315 AliITSRealignTracks.cxx:316 AliITSRealignTracks.cxx:317 AliITSRealignTracks.cxx:318 AliITSRealignTracks.cxx:319 AliITSRealignTracks.cxx:320 AliITSRealignTracks.cxx:321 AliITSRealignTracks.cxx:322 AliITSRealignTracks.cxx:323 AliITSRealignTracks.cxx:324 AliITSRealignTracks.cxx:325 AliITSRealignTracks.cxx:326 AliITSRealignTracks.cxx:327 AliITSRealignTracks.cxx:328 AliITSRealignTracks.cxx:329 AliITSRealignTracks.cxx:330 AliITSRealignTracks.cxx:331 AliITSRealignTracks.cxx:332 AliITSRealignTracks.cxx:333 AliITSRealignTracks.cxx:334 AliITSRealignTracks.cxx:335 AliITSRealignTracks.cxx:336 AliITSRealignTracks.cxx:337 AliITSRealignTracks.cxx:338 AliITSRealignTracks.cxx:339 AliITSRealignTracks.cxx:340 AliITSRealignTracks.cxx:341 AliITSRealignTracks.cxx:342 AliITSRealignTracks.cxx:343 AliITSRealignTracks.cxx:344 AliITSRealignTracks.cxx:345 AliITSRealignTracks.cxx:346 AliITSRealignTracks.cxx:347 AliITSRealignTracks.cxx:348 AliITSRealignTracks.cxx:349 AliITSRealignTracks.cxx:350 AliITSRealignTracks.cxx:351 AliITSRealignTracks.cxx:352 AliITSRealignTracks.cxx:353 AliITSRealignTracks.cxx:354 AliITSRealignTracks.cxx:355 AliITSRealignTracks.cxx:356 AliITSRealignTracks.cxx:357 AliITSRealignTracks.cxx:358 AliITSRealignTracks.cxx:359 AliITSRealignTracks.cxx:360 AliITSRealignTracks.cxx:361 AliITSRealignTracks.cxx:362 AliITSRealignTracks.cxx:363 AliITSRealignTracks.cxx:364 AliITSRealignTracks.cxx:365 AliITSRealignTracks.cxx:366 AliITSRealignTracks.cxx:367 AliITSRealignTracks.cxx:368 AliITSRealignTracks.cxx:369 AliITSRealignTracks.cxx:370 AliITSRealignTracks.cxx:371 AliITSRealignTracks.cxx:372 AliITSRealignTracks.cxx:373 AliITSRealignTracks.cxx:374 AliITSRealignTracks.cxx:375 AliITSRealignTracks.cxx:376 AliITSRealignTracks.cxx:377 AliITSRealignTracks.cxx:378 AliITSRealignTracks.cxx:379 AliITSRealignTracks.cxx:380 AliITSRealignTracks.cxx:381 AliITSRealignTracks.cxx:382 AliITSRealignTracks.cxx:383 AliITSRealignTracks.cxx:384 AliITSRealignTracks.cxx:385 AliITSRealignTracks.cxx:386 AliITSRealignTracks.cxx:387 AliITSRealignTracks.cxx:388 AliITSRealignTracks.cxx:389 AliITSRealignTracks.cxx:390 AliITSRealignTracks.cxx:391 AliITSRealignTracks.cxx:392 AliITSRealignTracks.cxx:393 AliITSRealignTracks.cxx:394 AliITSRealignTracks.cxx:395 AliITSRealignTracks.cxx:396 AliITSRealignTracks.cxx:397 AliITSRealignTracks.cxx:398 AliITSRealignTracks.cxx:399 AliITSRealignTracks.cxx:400 AliITSRealignTracks.cxx:401 AliITSRealignTracks.cxx:402 AliITSRealignTracks.cxx:403 AliITSRealignTracks.cxx:404 AliITSRealignTracks.cxx:405 AliITSRealignTracks.cxx:406 AliITSRealignTracks.cxx:407 AliITSRealignTracks.cxx:408 AliITSRealignTracks.cxx:409 AliITSRealignTracks.cxx:410 AliITSRealignTracks.cxx:411 AliITSRealignTracks.cxx:412 AliITSRealignTracks.cxx:413 AliITSRealignTracks.cxx:414 AliITSRealignTracks.cxx:415 AliITSRealignTracks.cxx:416 AliITSRealignTracks.cxx:417 AliITSRealignTracks.cxx:418 AliITSRealignTracks.cxx:419 AliITSRealignTracks.cxx:420 AliITSRealignTracks.cxx:421 AliITSRealignTracks.cxx:422 AliITSRealignTracks.cxx:423 AliITSRealignTracks.cxx:424 AliITSRealignTracks.cxx:425 AliITSRealignTracks.cxx:426 AliITSRealignTracks.cxx:427 AliITSRealignTracks.cxx:428 AliITSRealignTracks.cxx:429 AliITSRealignTracks.cxx:430 AliITSRealignTracks.cxx:431 AliITSRealignTracks.cxx:432 AliITSRealignTracks.cxx:433 AliITSRealignTracks.cxx:434 AliITSRealignTracks.cxx:435 AliITSRealignTracks.cxx:436 AliITSRealignTracks.cxx:437 AliITSRealignTracks.cxx:438 AliITSRealignTracks.cxx:439 AliITSRealignTracks.cxx:440 AliITSRealignTracks.cxx:441 AliITSRealignTracks.cxx:442 AliITSRealignTracks.cxx:443 AliITSRealignTracks.cxx:444 AliITSRealignTracks.cxx:445 AliITSRealignTracks.cxx:446 AliITSRealignTracks.cxx:447 AliITSRealignTracks.cxx:448 AliITSRealignTracks.cxx:449 AliITSRealignTracks.cxx:450 AliITSRealignTracks.cxx:451 AliITSRealignTracks.cxx:452 AliITSRealignTracks.cxx:453 AliITSRealignTracks.cxx:454 AliITSRealignTracks.cxx:455 AliITSRealignTracks.cxx:456 AliITSRealignTracks.cxx:457 AliITSRealignTracks.cxx:458 AliITSRealignTracks.cxx:459 AliITSRealignTracks.cxx:460 AliITSRealignTracks.cxx:461 AliITSRealignTracks.cxx:462 AliITSRealignTracks.cxx:463 AliITSRealignTracks.cxx:464 AliITSRealignTracks.cxx:465 AliITSRealignTracks.cxx:466 AliITSRealignTracks.cxx:467 AliITSRealignTracks.cxx:468 AliITSRealignTracks.cxx:469 AliITSRealignTracks.cxx:470 AliITSRealignTracks.cxx:471 AliITSRealignTracks.cxx:472 AliITSRealignTracks.cxx:473 AliITSRealignTracks.cxx:474 AliITSRealignTracks.cxx:475 AliITSRealignTracks.cxx:476 AliITSRealignTracks.cxx:477 AliITSRealignTracks.cxx:478 AliITSRealignTracks.cxx:479 AliITSRealignTracks.cxx:480 AliITSRealignTracks.cxx:481 AliITSRealignTracks.cxx:482 AliITSRealignTracks.cxx:483 AliITSRealignTracks.cxx:484 AliITSRealignTracks.cxx:485 AliITSRealignTracks.cxx:486 AliITSRealignTracks.cxx:487 AliITSRealignTracks.cxx:488 AliITSRealignTracks.cxx:489 AliITSRealignTracks.cxx:490 AliITSRealignTracks.cxx:491 AliITSRealignTracks.cxx:492 AliITSRealignTracks.cxx:493 AliITSRealignTracks.cxx:494 AliITSRealignTracks.cxx:495 AliITSRealignTracks.cxx:496 AliITSRealignTracks.cxx:497 AliITSRealignTracks.cxx:498 AliITSRealignTracks.cxx:499 AliITSRealignTracks.cxx:500 AliITSRealignTracks.cxx:501 AliITSRealignTracks.cxx:502 AliITSRealignTracks.cxx:503 AliITSRealignTracks.cxx:504 AliITSRealignTracks.cxx:505 AliITSRealignTracks.cxx:506 AliITSRealignTracks.cxx:507 AliITSRealignTracks.cxx:508 AliITSRealignTracks.cxx:509 AliITSRealignTracks.cxx:510 AliITSRealignTracks.cxx:511 AliITSRealignTracks.cxx:512 AliITSRealignTracks.cxx:513 AliITSRealignTracks.cxx:514 AliITSRealignTracks.cxx:515 AliITSRealignTracks.cxx:516 AliITSRealignTracks.cxx:517 AliITSRealignTracks.cxx:518 AliITSRealignTracks.cxx:519 AliITSRealignTracks.cxx:520 AliITSRealignTracks.cxx:521 AliITSRealignTracks.cxx:522 AliITSRealignTracks.cxx:523 AliITSRealignTracks.cxx:524 AliITSRealignTracks.cxx:525 AliITSRealignTracks.cxx:526 AliITSRealignTracks.cxx:527 AliITSRealignTracks.cxx:528 AliITSRealignTracks.cxx:529 AliITSRealignTracks.cxx:530 AliITSRealignTracks.cxx:531 AliITSRealignTracks.cxx:532 AliITSRealignTracks.cxx:533 AliITSRealignTracks.cxx:534 AliITSRealignTracks.cxx:535 AliITSRealignTracks.cxx:536 AliITSRealignTracks.cxx:537 AliITSRealignTracks.cxx:538 AliITSRealignTracks.cxx:539 AliITSRealignTracks.cxx:540 AliITSRealignTracks.cxx:541 AliITSRealignTracks.cxx:542 AliITSRealignTracks.cxx:543 AliITSRealignTracks.cxx:544 AliITSRealignTracks.cxx:545 AliITSRealignTracks.cxx:546 AliITSRealignTracks.cxx:547 AliITSRealignTracks.cxx:548 AliITSRealignTracks.cxx:549 AliITSRealignTracks.cxx:550 AliITSRealignTracks.cxx:551 AliITSRealignTracks.cxx:552 AliITSRealignTracks.cxx:553 AliITSRealignTracks.cxx:554 AliITSRealignTracks.cxx:555 AliITSRealignTracks.cxx:556 AliITSRealignTracks.cxx:557 AliITSRealignTracks.cxx:558 AliITSRealignTracks.cxx:559 AliITSRealignTracks.cxx:560 AliITSRealignTracks.cxx:561 AliITSRealignTracks.cxx:562 AliITSRealignTracks.cxx:563 AliITSRealignTracks.cxx:564 AliITSRealignTracks.cxx:565 AliITSRealignTracks.cxx:566 AliITSRealignTracks.cxx:567 AliITSRealignTracks.cxx:568 AliITSRealignTracks.cxx:569 AliITSRealignTracks.cxx:570 AliITSRealignTracks.cxx:571 AliITSRealignTracks.cxx:572 AliITSRealignTracks.cxx:573 AliITSRealignTracks.cxx:574 AliITSRealignTracks.cxx:575 AliITSRealignTracks.cxx:576 AliITSRealignTracks.cxx:577 AliITSRealignTracks.cxx:578 AliITSRealignTracks.cxx:579 AliITSRealignTracks.cxx:580 AliITSRealignTracks.cxx:581 AliITSRealignTracks.cxx:582 AliITSRealignTracks.cxx:583 AliITSRealignTracks.cxx:584 AliITSRealignTracks.cxx:585 AliITSRealignTracks.cxx:586 AliITSRealignTracks.cxx:587 AliITSRealignTracks.cxx:588 AliITSRealignTracks.cxx:589 AliITSRealignTracks.cxx:590 AliITSRealignTracks.cxx:591 AliITSRealignTracks.cxx:592 AliITSRealignTracks.cxx:593 AliITSRealignTracks.cxx:594 AliITSRealignTracks.cxx:595 AliITSRealignTracks.cxx:596 AliITSRealignTracks.cxx:597 AliITSRealignTracks.cxx:598 AliITSRealignTracks.cxx:599 AliITSRealignTracks.cxx:600 AliITSRealignTracks.cxx:601 AliITSRealignTracks.cxx:602 AliITSRealignTracks.cxx:603 AliITSRealignTracks.cxx:604 AliITSRealignTracks.cxx:605 AliITSRealignTracks.cxx:606 AliITSRealignTracks.cxx:607 AliITSRealignTracks.cxx:608 AliITSRealignTracks.cxx:609 AliITSRealignTracks.cxx:610 AliITSRealignTracks.cxx:611 AliITSRealignTracks.cxx:612 AliITSRealignTracks.cxx:613 AliITSRealignTracks.cxx:614 AliITSRealignTracks.cxx:615 AliITSRealignTracks.cxx:616 AliITSRealignTracks.cxx:617 AliITSRealignTracks.cxx:618 AliITSRealignTracks.cxx:619 AliITSRealignTracks.cxx:620 AliITSRealignTracks.cxx:621 AliITSRealignTracks.cxx:622 AliITSRealignTracks.cxx:623 AliITSRealignTracks.cxx:624 AliITSRealignTracks.cxx:625 AliITSRealignTracks.cxx:626 AliITSRealignTracks.cxx:627 AliITSRealignTracks.cxx:628 AliITSRealignTracks.cxx:629 AliITSRealignTracks.cxx:630 AliITSRealignTracks.cxx:631 AliITSRealignTracks.cxx:632 AliITSRealignTracks.cxx:633 AliITSRealignTracks.cxx:634 AliITSRealignTracks.cxx:635 AliITSRealignTracks.cxx:636 AliITSRealignTracks.cxx:637 AliITSRealignTracks.cxx:638 AliITSRealignTracks.cxx:639 AliITSRealignTracks.cxx:640 AliITSRealignTracks.cxx:641 AliITSRealignTracks.cxx:642 AliITSRealignTracks.cxx:643 AliITSRealignTracks.cxx:644 AliITSRealignTracks.cxx:645 AliITSRealignTracks.cxx:646 AliITSRealignTracks.cxx:647 AliITSRealignTracks.cxx:648 AliITSRealignTracks.cxx:649 AliITSRealignTracks.cxx:650 AliITSRealignTracks.cxx:651 AliITSRealignTracks.cxx:652 AliITSRealignTracks.cxx:653 AliITSRealignTracks.cxx:654 AliITSRealignTracks.cxx:655 AliITSRealignTracks.cxx:656 AliITSRealignTracks.cxx:657 AliITSRealignTracks.cxx:658 AliITSRealignTracks.cxx:659 AliITSRealignTracks.cxx:660 AliITSRealignTracks.cxx:661 AliITSRealignTracks.cxx:662 AliITSRealignTracks.cxx:663 AliITSRealignTracks.cxx:664 AliITSRealignTracks.cxx:665 AliITSRealignTracks.cxx:666 AliITSRealignTracks.cxx:667 AliITSRealignTracks.cxx:668 AliITSRealignTracks.cxx:669 AliITSRealignTracks.cxx:670 AliITSRealignTracks.cxx:671 AliITSRealignTracks.cxx:672 AliITSRealignTracks.cxx:673 AliITSRealignTracks.cxx:674 AliITSRealignTracks.cxx:675 AliITSRealignTracks.cxx:676 AliITSRealignTracks.cxx:677 AliITSRealignTracks.cxx:678 AliITSRealignTracks.cxx:679 AliITSRealignTracks.cxx:680 AliITSRealignTracks.cxx:681 AliITSRealignTracks.cxx:682 AliITSRealignTracks.cxx:683 AliITSRealignTracks.cxx:684 AliITSRealignTracks.cxx:685 AliITSRealignTracks.cxx:686 AliITSRealignTracks.cxx:687 AliITSRealignTracks.cxx:688 AliITSRealignTracks.cxx:689 AliITSRealignTracks.cxx:690 AliITSRealignTracks.cxx:691 AliITSRealignTracks.cxx:692 AliITSRealignTracks.cxx:693 AliITSRealignTracks.cxx:694 AliITSRealignTracks.cxx:695 AliITSRealignTracks.cxx:696 AliITSRealignTracks.cxx:697 AliITSRealignTracks.cxx:698 AliITSRealignTracks.cxx:699 AliITSRealignTracks.cxx:700 AliITSRealignTracks.cxx:701 AliITSRealignTracks.cxx:702 AliITSRealignTracks.cxx:703 AliITSRealignTracks.cxx:704 AliITSRealignTracks.cxx:705 AliITSRealignTracks.cxx:706 AliITSRealignTracks.cxx:707 AliITSRealignTracks.cxx:708 AliITSRealignTracks.cxx:709 AliITSRealignTracks.cxx:710 AliITSRealignTracks.cxx:711 AliITSRealignTracks.cxx:712 AliITSRealignTracks.cxx:713 AliITSRealignTracks.cxx:714 AliITSRealignTracks.cxx:715 AliITSRealignTracks.cxx:716 AliITSRealignTracks.cxx:717 AliITSRealignTracks.cxx:718 AliITSRealignTracks.cxx:719 AliITSRealignTracks.cxx:720 AliITSRealignTracks.cxx:721 AliITSRealignTracks.cxx:722 AliITSRealignTracks.cxx:723 AliITSRealignTracks.cxx:724 AliITSRealignTracks.cxx:725 AliITSRealignTracks.cxx:726 AliITSRealignTracks.cxx:727 AliITSRealignTracks.cxx:728 AliITSRealignTracks.cxx:729 AliITSRealignTracks.cxx:730 AliITSRealignTracks.cxx:731 AliITSRealignTracks.cxx:732 AliITSRealignTracks.cxx:733 AliITSRealignTracks.cxx:734 AliITSRealignTracks.cxx:735 AliITSRealignTracks.cxx:736 AliITSRealignTracks.cxx:737 AliITSRealignTracks.cxx:738 AliITSRealignTracks.cxx:739 AliITSRealignTracks.cxx:740 AliITSRealignTracks.cxx:741 AliITSRealignTracks.cxx:742 AliITSRealignTracks.cxx:743 AliITSRealignTracks.cxx:744 AliITSRealignTracks.cxx:745 AliITSRealignTracks.cxx:746 AliITSRealignTracks.cxx:747 AliITSRealignTracks.cxx:748 AliITSRealignTracks.cxx:749 AliITSRealignTracks.cxx:750 AliITSRealignTracks.cxx:751 AliITSRealignTracks.cxx:752 AliITSRealignTracks.cxx:753 AliITSRealignTracks.cxx:754 AliITSRealignTracks.cxx:755 AliITSRealignTracks.cxx:756 AliITSRealignTracks.cxx:757 AliITSRealignTracks.cxx:758 AliITSRealignTracks.cxx:759 AliITSRealignTracks.cxx:760 AliITSRealignTracks.cxx:761 AliITSRealignTracks.cxx:762 AliITSRealignTracks.cxx:763 AliITSRealignTracks.cxx:764 AliITSRealignTracks.cxx:765 AliITSRealignTracks.cxx:766 AliITSRealignTracks.cxx:767 AliITSRealignTracks.cxx:768 AliITSRealignTracks.cxx:769 AliITSRealignTracks.cxx:770 AliITSRealignTracks.cxx:771 AliITSRealignTracks.cxx:772 AliITSRealignTracks.cxx:773 AliITSRealignTracks.cxx:774 AliITSRealignTracks.cxx:775 AliITSRealignTracks.cxx:776 AliITSRealignTracks.cxx:777 AliITSRealignTracks.cxx:778 AliITSRealignTracks.cxx:779 AliITSRealignTracks.cxx:780 AliITSRealignTracks.cxx:781 AliITSRealignTracks.cxx:782 AliITSRealignTracks.cxx:783 AliITSRealignTracks.cxx:784 AliITSRealignTracks.cxx:785 AliITSRealignTracks.cxx:786 AliITSRealignTracks.cxx:787 AliITSRealignTracks.cxx:788 AliITSRealignTracks.cxx:789 AliITSRealignTracks.cxx:790 AliITSRealignTracks.cxx:791 AliITSRealignTracks.cxx:792 AliITSRealignTracks.cxx:793 AliITSRealignTracks.cxx:794 AliITSRealignTracks.cxx:795 AliITSRealignTracks.cxx:796 AliITSRealignTracks.cxx:797 AliITSRealignTracks.cxx:798 AliITSRealignTracks.cxx:799 AliITSRealignTracks.cxx:800 AliITSRealignTracks.cxx:801 AliITSRealignTracks.cxx:802 AliITSRealignTracks.cxx:803 AliITSRealignTracks.cxx:804 AliITSRealignTracks.cxx:805 AliITSRealignTracks.cxx:806 AliITSRealignTracks.cxx:807 AliITSRealignTracks.cxx:808 AliITSRealignTracks.cxx:809 AliITSRealignTracks.cxx:810 AliITSRealignTracks.cxx:811 AliITSRealignTracks.cxx:812 AliITSRealignTracks.cxx:813 AliITSRealignTracks.cxx:814 AliITSRealignTracks.cxx:815 AliITSRealignTracks.cxx:816 AliITSRealignTracks.cxx:817 AliITSRealignTracks.cxx:818 AliITSRealignTracks.cxx:819 AliITSRealignTracks.cxx:820 AliITSRealignTracks.cxx:821 AliITSRealignTracks.cxx:822 AliITSRealignTracks.cxx:823 AliITSRealignTracks.cxx:824 AliITSRealignTracks.cxx:825 AliITSRealignTracks.cxx:826 AliITSRealignTracks.cxx:827 AliITSRealignTracks.cxx:828 AliITSRealignTracks.cxx:829 AliITSRealignTracks.cxx:830 AliITSRealignTracks.cxx:831 AliITSRealignTracks.cxx:832 AliITSRealignTracks.cxx:833 AliITSRealignTracks.cxx:834 AliITSRealignTracks.cxx:835 AliITSRealignTracks.cxx:836 AliITSRealignTracks.cxx:837 AliITSRealignTracks.cxx:838 AliITSRealignTracks.cxx:839 AliITSRealignTracks.cxx:840 AliITSRealignTracks.cxx:841 AliITSRealignTracks.cxx:842 AliITSRealignTracks.cxx:843 AliITSRealignTracks.cxx:844 AliITSRealignTracks.cxx:845 AliITSRealignTracks.cxx:846 AliITSRealignTracks.cxx:847 AliITSRealignTracks.cxx:848 AliITSRealignTracks.cxx:849 AliITSRealignTracks.cxx:850 AliITSRealignTracks.cxx:851 AliITSRealignTracks.cxx:852 AliITSRealignTracks.cxx:853 AliITSRealignTracks.cxx:854 AliITSRealignTracks.cxx:855 AliITSRealignTracks.cxx:856 AliITSRealignTracks.cxx:857 AliITSRealignTracks.cxx:858 AliITSRealignTracks.cxx:859 AliITSRealignTracks.cxx:860 AliITSRealignTracks.cxx:861 AliITSRealignTracks.cxx:862 AliITSRealignTracks.cxx:863 AliITSRealignTracks.cxx:864 AliITSRealignTracks.cxx:865 AliITSRealignTracks.cxx:866 AliITSRealignTracks.cxx:867 AliITSRealignTracks.cxx:868 AliITSRealignTracks.cxx:869 AliITSRealignTracks.cxx:870 AliITSRealignTracks.cxx:871 AliITSRealignTracks.cxx:872 AliITSRealignTracks.cxx:873 AliITSRealignTracks.cxx:874 AliITSRealignTracks.cxx:875 AliITSRealignTracks.cxx:876 AliITSRealignTracks.cxx:877 AliITSRealignTracks.cxx:878 AliITSRealignTracks.cxx:879 AliITSRealignTracks.cxx:880 AliITSRealignTracks.cxx:881 AliITSRealignTracks.cxx:882 AliITSRealignTracks.cxx:883 AliITSRealignTracks.cxx:884 AliITSRealignTracks.cxx:885 AliITSRealignTracks.cxx:886 AliITSRealignTracks.cxx:887 AliITSRealignTracks.cxx:888 AliITSRealignTracks.cxx:889 AliITSRealignTracks.cxx:890 AliITSRealignTracks.cxx:891 AliITSRealignTracks.cxx:892 AliITSRealignTracks.cxx:893 AliITSRealignTracks.cxx:894 AliITSRealignTracks.cxx:895 AliITSRealignTracks.cxx:896 AliITSRealignTracks.cxx:897 AliITSRealignTracks.cxx:898 AliITSRealignTracks.cxx:899 AliITSRealignTracks.cxx:900 AliITSRealignTracks.cxx:901 AliITSRealignTracks.cxx:902 AliITSRealignTracks.cxx:903 AliITSRealignTracks.cxx:904 AliITSRealignTracks.cxx:905 AliITSRealignTracks.cxx:906 AliITSRealignTracks.cxx:907 AliITSRealignTracks.cxx:908 AliITSRealignTracks.cxx:909 AliITSRealignTracks.cxx:910 AliITSRealignTracks.cxx:911 AliITSRealignTracks.cxx:912 AliITSRealignTracks.cxx:913 AliITSRealignTracks.cxx:914 AliITSRealignTracks.cxx:915 AliITSRealignTracks.cxx:916 AliITSRealignTracks.cxx:917 AliITSRealignTracks.cxx:918 AliITSRealignTracks.cxx:919 AliITSRealignTracks.cxx:920 AliITSRealignTracks.cxx:921 AliITSRealignTracks.cxx:922 AliITSRealignTracks.cxx:923 AliITSRealignTracks.cxx:924 AliITSRealignTracks.cxx:925 AliITSRealignTracks.cxx:926 AliITSRealignTracks.cxx:927 AliITSRealignTracks.cxx:928 AliITSRealignTracks.cxx:929 AliITSRealignTracks.cxx:930 AliITSRealignTracks.cxx:931 AliITSRealignTracks.cxx:932 AliITSRealignTracks.cxx:933 AliITSRealignTracks.cxx:934 AliITSRealignTracks.cxx:935 AliITSRealignTracks.cxx:936 AliITSRealignTracks.cxx:937 AliITSRealignTracks.cxx:938 AliITSRealignTracks.cxx:939 AliITSRealignTracks.cxx:940 AliITSRealignTracks.cxx:941 AliITSRealignTracks.cxx:942 AliITSRealignTracks.cxx:943 AliITSRealignTracks.cxx:944 AliITSRealignTracks.cxx:945 AliITSRealignTracks.cxx:946 AliITSRealignTracks.cxx:947 AliITSRealignTracks.cxx:948 AliITSRealignTracks.cxx:949 AliITSRealignTracks.cxx:950 AliITSRealignTracks.cxx:951 AliITSRealignTracks.cxx:952 AliITSRealignTracks.cxx:953 AliITSRealignTracks.cxx:954 AliITSRealignTracks.cxx:955 AliITSRealignTracks.cxx:956 AliITSRealignTracks.cxx:957 AliITSRealignTracks.cxx:958 AliITSRealignTracks.cxx:959 AliITSRealignTracks.cxx:960 AliITSRealignTracks.cxx:961 AliITSRealignTracks.cxx:962 AliITSRealignTracks.cxx:963 AliITSRealignTracks.cxx:964 AliITSRealignTracks.cxx:965 AliITSRealignTracks.cxx:966 AliITSRealignTracks.cxx:967 AliITSRealignTracks.cxx:968 AliITSRealignTracks.cxx:969 AliITSRealignTracks.cxx:970 AliITSRealignTracks.cxx:971 AliITSRealignTracks.cxx:972 AliITSRealignTracks.cxx:973 AliITSRealignTracks.cxx:974 AliITSRealignTracks.cxx:975 AliITSRealignTracks.cxx:976 AliITSRealignTracks.cxx:977 AliITSRealignTracks.cxx:978 AliITSRealignTracks.cxx:979 AliITSRealignTracks.cxx:980 AliITSRealignTracks.cxx:981 AliITSRealignTracks.cxx:982 AliITSRealignTracks.cxx:983 AliITSRealignTracks.cxx:984 AliITSRealignTracks.cxx:985 AliITSRealignTracks.cxx:986 AliITSRealignTracks.cxx:987 AliITSRealignTracks.cxx:988 AliITSRealignTracks.cxx:989 AliITSRealignTracks.cxx:990 AliITSRealignTracks.cxx:991 AliITSRealignTracks.cxx:992 AliITSRealignTracks.cxx:993 AliITSRealignTracks.cxx:994 AliITSRealignTracks.cxx:995 AliITSRealignTracks.cxx:996 AliITSRealignTracks.cxx:997 AliITSRealignTracks.cxx:998 AliITSRealignTracks.cxx:999 AliITSRealignTracks.cxx:1000 AliITSRealignTracks.cxx:1001 AliITSRealignTracks.cxx:1002 AliITSRealignTracks.cxx:1003 AliITSRealignTracks.cxx:1004 AliITSRealignTracks.cxx:1005 AliITSRealignTracks.cxx:1006 AliITSRealignTracks.cxx:1007 AliITSRealignTracks.cxx:1008 AliITSRealignTracks.cxx:1009 AliITSRealignTracks.cxx:1010 AliITSRealignTracks.cxx:1011 AliITSRealignTracks.cxx:1012 AliITSRealignTracks.cxx:1013 AliITSRealignTracks.cxx:1014 AliITSRealignTracks.cxx:1015 AliITSRealignTracks.cxx:1016 AliITSRealignTracks.cxx:1017 AliITSRealignTracks.cxx:1018 AliITSRealignTracks.cxx:1019 AliITSRealignTracks.cxx:1020 AliITSRealignTracks.cxx:1021 AliITSRealignTracks.cxx:1022 AliITSRealignTracks.cxx:1023 AliITSRealignTracks.cxx:1024 AliITSRealignTracks.cxx:1025 AliITSRealignTracks.cxx:1026 AliITSRealignTracks.cxx:1027 AliITSRealignTracks.cxx:1028 AliITSRealignTracks.cxx:1029 AliITSRealignTracks.cxx:1030 AliITSRealignTracks.cxx:1031 AliITSRealignTracks.cxx:1032 AliITSRealignTracks.cxx:1033 AliITSRealignTracks.cxx:1034 AliITSRealignTracks.cxx:1035 AliITSRealignTracks.cxx:1036 AliITSRealignTracks.cxx:1037 AliITSRealignTracks.cxx:1038 AliITSRealignTracks.cxx:1039 AliITSRealignTracks.cxx:1040 AliITSRealignTracks.cxx:1041 AliITSRealignTracks.cxx:1042 AliITSRealignTracks.cxx:1043 AliITSRealignTracks.cxx:1044 AliITSRealignTracks.cxx:1045 AliITSRealignTracks.cxx:1046 AliITSRealignTracks.cxx:1047 AliITSRealignTracks.cxx:1048 AliITSRealignTracks.cxx:1049 AliITSRealignTracks.cxx:1050 AliITSRealignTracks.cxx:1051 AliITSRealignTracks.cxx:1052 AliITSRealignTracks.cxx:1053 AliITSRealignTracks.cxx:1054 AliITSRealignTracks.cxx:1055 AliITSRealignTracks.cxx:1056 AliITSRealignTracks.cxx:1057 AliITSRealignTracks.cxx:1058 AliITSRealignTracks.cxx:1059 AliITSRealignTracks.cxx:1060 AliITSRealignTracks.cxx:1061 AliITSRealignTracks.cxx:1062 AliITSRealignTracks.cxx:1063 AliITSRealignTracks.cxx:1064 AliITSRealignTracks.cxx:1065 AliITSRealignTracks.cxx:1066 AliITSRealignTracks.cxx:1067 AliITSRealignTracks.cxx:1068 AliITSRealignTracks.cxx:1069 AliITSRealignTracks.cxx:1070 AliITSRealignTracks.cxx:1071 AliITSRealignTracks.cxx:1072 AliITSRealignTracks.cxx:1073 AliITSRealignTracks.cxx:1074 AliITSRealignTracks.cxx:1075 AliITSRealignTracks.cxx:1076 AliITSRealignTracks.cxx:1077 AliITSRealignTracks.cxx:1078 AliITSRealignTracks.cxx:1079 AliITSRealignTracks.cxx:1080 AliITSRealignTracks.cxx:1081 AliITSRealignTracks.cxx:1082 AliITSRealignTracks.cxx:1083 AliITSRealignTracks.cxx:1084 AliITSRealignTracks.cxx:1085 AliITSRealignTracks.cxx:1086 AliITSRealignTracks.cxx:1087 AliITSRealignTracks.cxx:1088 AliITSRealignTracks.cxx:1089 AliITSRealignTracks.cxx:1090 AliITSRealignTracks.cxx:1091 AliITSRealignTracks.cxx:1092 AliITSRealignTracks.cxx:1093 AliITSRealignTracks.cxx:1094 AliITSRealignTracks.cxx:1095 AliITSRealignTracks.cxx:1096 AliITSRealignTracks.cxx:1097 AliITSRealignTracks.cxx:1098 AliITSRealignTracks.cxx:1099 AliITSRealignTracks.cxx:1100 AliITSRealignTracks.cxx:1101 AliITSRealignTracks.cxx:1102 AliITSRealignTracks.cxx:1103 AliITSRealignTracks.cxx:1104 AliITSRealignTracks.cxx:1105 AliITSRealignTracks.cxx:1106 AliITSRealignTracks.cxx:1107 AliITSRealignTracks.cxx:1108 AliITSRealignTracks.cxx:1109 AliITSRealignTracks.cxx:1110 AliITSRealignTracks.cxx:1111 AliITSRealignTracks.cxx:1112 AliITSRealignTracks.cxx:1113 AliITSRealignTracks.cxx:1114 AliITSRealignTracks.cxx:1115 AliITSRealignTracks.cxx:1116 AliITSRealignTracks.cxx:1117 AliITSRealignTracks.cxx:1118 AliITSRealignTracks.cxx:1119 AliITSRealignTracks.cxx:1120 AliITSRealignTracks.cxx:1121 AliITSRealignTracks.cxx:1122 AliITSRealignTracks.cxx:1123 AliITSRealignTracks.cxx:1124 AliITSRealignTracks.cxx:1125 AliITSRealignTracks.cxx:1126 AliITSRealignTracks.cxx:1127 AliITSRealignTracks.cxx:1128 AliITSRealignTracks.cxx:1129 AliITSRealignTracks.cxx:1130 AliITSRealignTracks.cxx:1131 AliITSRealignTracks.cxx:1132 AliITSRealignTracks.cxx:1133 AliITSRealignTracks.cxx:1134 AliITSRealignTracks.cxx:1135 AliITSRealignTracks.cxx:1136 AliITSRealignTracks.cxx:1137 AliITSRealignTracks.cxx:1138 AliITSRealignTracks.cxx:1139 AliITSRealignTracks.cxx:1140 AliITSRealignTracks.cxx:1141 AliITSRealignTracks.cxx:1142 AliITSRealignTracks.cxx:1143 AliITSRealignTracks.cxx:1144 AliITSRealignTracks.cxx:1145 AliITSRealignTracks.cxx:1146 AliITSRealignTracks.cxx:1147 AliITSRealignTracks.cxx:1148 AliITSRealignTracks.cxx:1149 AliITSRealignTracks.cxx:1150 AliITSRealignTracks.cxx:1151 AliITSRealignTracks.cxx:1152 AliITSRealignTracks.cxx:1153 AliITSRealignTracks.cxx:1154 AliITSRealignTracks.cxx:1155 AliITSRealignTracks.cxx:1156 AliITSRealignTracks.cxx:1157 AliITSRealignTracks.cxx:1158 AliITSRealignTracks.cxx:1159 AliITSRealignTracks.cxx:1160 AliITSRealignTracks.cxx:1161 AliITSRealignTracks.cxx:1162 AliITSRealignTracks.cxx:1163 AliITSRealignTracks.cxx:1164 AliITSRealignTracks.cxx:1165 AliITSRealignTracks.cxx:1166 AliITSRealignTracks.cxx:1167 AliITSRealignTracks.cxx:1168 AliITSRealignTracks.cxx:1169 AliITSRealignTracks.cxx:1170 AliITSRealignTracks.cxx:1171 AliITSRealignTracks.cxx:1172 AliITSRealignTracks.cxx:1173 AliITSRealignTracks.cxx:1174 AliITSRealignTracks.cxx:1175 AliITSRealignTracks.cxx:1176 AliITSRealignTracks.cxx:1177 AliITSRealignTracks.cxx:1178 AliITSRealignTracks.cxx:1179 AliITSRealignTracks.cxx:1180 AliITSRealignTracks.cxx:1181 AliITSRealignTracks.cxx:1182 AliITSRealignTracks.cxx:1183 AliITSRealignTracks.cxx:1184 AliITSRealignTracks.cxx:1185 AliITSRealignTracks.cxx:1186 AliITSRealignTracks.cxx:1187 AliITSRealignTracks.cxx:1188 AliITSRealignTracks.cxx:1189 AliITSRealignTracks.cxx:1190 AliITSRealignTracks.cxx:1191 AliITSRealignTracks.cxx:1192 AliITSRealignTracks.cxx:1193 AliITSRealignTracks.cxx:1194 AliITSRealignTracks.cxx:1195 AliITSRealignTracks.cxx:1196 AliITSRealignTracks.cxx:1197 AliITSRealignTracks.cxx:1198 AliITSRealignTracks.cxx:1199 AliITSRealignTracks.cxx:1200 AliITSRealignTracks.cxx:1201 AliITSRealignTracks.cxx:1202 AliITSRealignTracks.cxx:1203 AliITSRealignTracks.cxx:1204 AliITSRealignTracks.cxx:1205 AliITSRealignTracks.cxx:1206 AliITSRealignTracks.cxx:1207 AliITSRealignTracks.cxx:1208 AliITSRealignTracks.cxx:1209 AliITSRealignTracks.cxx:1210 AliITSRealignTracks.cxx:1211 AliITSRealignTracks.cxx:1212 AliITSRealignTracks.cxx:1213 AliITSRealignTracks.cxx:1214 AliITSRealignTracks.cxx:1215 AliITSRealignTracks.cxx:1216 AliITSRealignTracks.cxx:1217 AliITSRealignTracks.cxx:1218 AliITSRealignTracks.cxx:1219 AliITSRealignTracks.cxx:1220 AliITSRealignTracks.cxx:1221 AliITSRealignTracks.cxx:1222 AliITSRealignTracks.cxx:1223 AliITSRealignTracks.cxx:1224 AliITSRealignTracks.cxx:1225 AliITSRealignTracks.cxx:1226 AliITSRealignTracks.cxx:1227 AliITSRealignTracks.cxx:1228 AliITSRealignTracks.cxx:1229 AliITSRealignTracks.cxx:1230 AliITSRealignTracks.cxx:1231 AliITSRealignTracks.cxx:1232 AliITSRealignTracks.cxx:1233 AliITSRealignTracks.cxx:1234 AliITSRealignTracks.cxx:1235 AliITSRealignTracks.cxx:1236 AliITSRealignTracks.cxx:1237 AliITSRealignTracks.cxx:1238 AliITSRealignTracks.cxx:1239 AliITSRealignTracks.cxx:1240 AliITSRealignTracks.cxx:1241 AliITSRealignTracks.cxx:1242 AliITSRealignTracks.cxx:1243 AliITSRealignTracks.cxx:1244 AliITSRealignTracks.cxx:1245 AliITSRealignTracks.cxx:1246 AliITSRealignTracks.cxx:1247 AliITSRealignTracks.cxx:1248 AliITSRealignTracks.cxx:1249 AliITSRealignTracks.cxx:1250 AliITSRealignTracks.cxx:1251 AliITSRealignTracks.cxx:1252 AliITSRealignTracks.cxx:1253 AliITSRealignTracks.cxx:1254 AliITSRealignTracks.cxx:1255 AliITSRealignTracks.cxx:1256 AliITSRealignTracks.cxx:1257 AliITSRealignTracks.cxx:1258 AliITSRealignTracks.cxx:1259 AliITSRealignTracks.cxx:1260 AliITSRealignTracks.cxx:1261 AliITSRealignTracks.cxx:1262 AliITSRealignTracks.cxx:1263 AliITSRealignTracks.cxx:1264 AliITSRealignTracks.cxx:1265 AliITSRealignTracks.cxx:1266 AliITSRealignTracks.cxx:1267 AliITSRealignTracks.cxx:1268 AliITSRealignTracks.cxx:1269 AliITSRealignTracks.cxx:1270 AliITSRealignTracks.cxx:1271 AliITSRealignTracks.cxx:1272 AliITSRealignTracks.cxx:1273 AliITSRealignTracks.cxx:1274 AliITSRealignTracks.cxx:1275 AliITSRealignTracks.cxx:1276 AliITSRealignTracks.cxx:1277 AliITSRealignTracks.cxx:1278 AliITSRealignTracks.cxx:1279 AliITSRealignTracks.cxx:1280 AliITSRealignTracks.cxx:1281 AliITSRealignTracks.cxx:1282 AliITSRealignTracks.cxx:1283 AliITSRealignTracks.cxx:1284 AliITSRealignTracks.cxx:1285 AliITSRealignTracks.cxx:1286 AliITSRealignTracks.cxx:1287 AliITSRealignTracks.cxx:1288 AliITSRealignTracks.cxx:1289 AliITSRealignTracks.cxx:1290 AliITSRealignTracks.cxx:1291 AliITSRealignTracks.cxx:1292 AliITSRealignTracks.cxx:1293 AliITSRealignTracks.cxx:1294 AliITSRealignTracks.cxx:1295 AliITSRealignTracks.cxx:1296 AliITSRealignTracks.cxx:1297 AliITSRealignTracks.cxx:1298 AliITSRealignTracks.cxx:1299 AliITSRealignTracks.cxx:1300 AliITSRealignTracks.cxx:1301 AliITSRealignTracks.cxx:1302 AliITSRealignTracks.cxx:1303 AliITSRealignTracks.cxx:1304 AliITSRealignTracks.cxx:1305 AliITSRealignTracks.cxx:1306 AliITSRealignTracks.cxx:1307 AliITSRealignTracks.cxx:1308 AliITSRealignTracks.cxx:1309 AliITSRealignTracks.cxx:1310 AliITSRealignTracks.cxx:1311 AliITSRealignTracks.cxx:1312 AliITSRealignTracks.cxx:1313 AliITSRealignTracks.cxx:1314 AliITSRealignTracks.cxx:1315 AliITSRealignTracks.cxx:1316 AliITSRealignTracks.cxx:1317 AliITSRealignTracks.cxx:1318 AliITSRealignTracks.cxx:1319 AliITSRealignTracks.cxx:1320 AliITSRealignTracks.cxx:1321 AliITSRealignTracks.cxx:1322 AliITSRealignTracks.cxx:1323 AliITSRealignTracks.cxx:1324 AliITSRealignTracks.cxx:1325 AliITSRealignTracks.cxx:1326 AliITSRealignTracks.cxx:1327 AliITSRealignTracks.cxx:1328 AliITSRealignTracks.cxx:1329 AliITSRealignTracks.cxx:1330 AliITSRealignTracks.cxx:1331 AliITSRealignTracks.cxx:1332 AliITSRealignTracks.cxx:1333 AliITSRealignTracks.cxx:1334 AliITSRealignTracks.cxx:1335 AliITSRealignTracks.cxx:1336 AliITSRealignTracks.cxx:1337 AliITSRealignTracks.cxx:1338 AliITSRealignTracks.cxx:1339 AliITSRealignTracks.cxx:1340 AliITSRealignTracks.cxx:1341 AliITSRealignTracks.cxx:1342 AliITSRealignTracks.cxx:1343 AliITSRealignTracks.cxx:1344 AliITSRealignTracks.cxx:1345 AliITSRealignTracks.cxx:1346 AliITSRealignTracks.cxx:1347 AliITSRealignTracks.cxx:1348 AliITSRealignTracks.cxx:1349 AliITSRealignTracks.cxx:1350 AliITSRealignTracks.cxx:1351 AliITSRealignTracks.cxx:1352 AliITSRealignTracks.cxx:1353 AliITSRealignTracks.cxx:1354 AliITSRealignTracks.cxx:1355 AliITSRealignTracks.cxx:1356 AliITSRealignTracks.cxx:1357 AliITSRealignTracks.cxx:1358 AliITSRealignTracks.cxx:1359 AliITSRealignTracks.cxx:1360 AliITSRealignTracks.cxx:1361 AliITSRealignTracks.cxx:1362 AliITSRealignTracks.cxx:1363 AliITSRealignTracks.cxx:1364 AliITSRealignTracks.cxx:1365 AliITSRealignTracks.cxx:1366 AliITSRealignTracks.cxx:1367 AliITSRealignTracks.cxx:1368 AliITSRealignTracks.cxx:1369 AliITSRealignTracks.cxx:1370 AliITSRealignTracks.cxx:1371 AliITSRealignTracks.cxx:1372 AliITSRealignTracks.cxx:1373 AliITSRealignTracks.cxx:1374 AliITSRealignTracks.cxx:1375 AliITSRealignTracks.cxx:1376 AliITSRealignTracks.cxx:1377 AliITSRealignTracks.cxx:1378 AliITSRealignTracks.cxx:1379 AliITSRealignTracks.cxx:1380 AliITSRealignTracks.cxx:1381 AliITSRealignTracks.cxx:1382 AliITSRealignTracks.cxx:1383 AliITSRealignTracks.cxx:1384 AliITSRealignTracks.cxx:1385 AliITSRealignTracks.cxx:1386 AliITSRealignTracks.cxx:1387 AliITSRealignTracks.cxx:1388 AliITSRealignTracks.cxx:1389 AliITSRealignTracks.cxx:1390 AliITSRealignTracks.cxx:1391 AliITSRealignTracks.cxx:1392 AliITSRealignTracks.cxx:1393 AliITSRealignTracks.cxx:1394 AliITSRealignTracks.cxx:1395 AliITSRealignTracks.cxx:1396 AliITSRealignTracks.cxx:1397 AliITSRealignTracks.cxx:1398 AliITSRealignTracks.cxx:1399 AliITSRealignTracks.cxx:1400 AliITSRealignTracks.cxx:1401 AliITSRealignTracks.cxx:1402 AliITSRealignTracks.cxx:1403 AliITSRealignTracks.cxx:1404 AliITSRealignTracks.cxx:1405 AliITSRealignTracks.cxx:1406 AliITSRealignTracks.cxx:1407 AliITSRealignTracks.cxx:1408 AliITSRealignTracks.cxx:1409 AliITSRealignTracks.cxx:1410 AliITSRealignTracks.cxx:1411 AliITSRealignTracks.cxx:1412 AliITSRealignTracks.cxx:1413 AliITSRealignTracks.cxx:1414 AliITSRealignTracks.cxx:1415 AliITSRealignTracks.cxx:1416 AliITSRealignTracks.cxx:1417 AliITSRealignTracks.cxx:1418 AliITSRealignTracks.cxx:1419 AliITSRealignTracks.cxx:1420 AliITSRealignTracks.cxx:1421 AliITSRealignTracks.cxx:1422 AliITSRealignTracks.cxx:1423 AliITSRealignTracks.cxx:1424 AliITSRealignTracks.cxx:1425 AliITSRealignTracks.cxx:1426 AliITSRealignTracks.cxx:1427 AliITSRealignTracks.cxx:1428 AliITSRealignTracks.cxx:1429 AliITSRealignTracks.cxx:1430 AliITSRealignTracks.cxx:1431 AliITSRealignTracks.cxx:1432 AliITSRealignTracks.cxx:1433 AliITSRealignTracks.cxx:1434 AliITSRealignTracks.cxx:1435 AliITSRealignTracks.cxx:1436 AliITSRealignTracks.cxx:1437 AliITSRealignTracks.cxx:1438 AliITSRealignTracks.cxx:1439 AliITSRealignTracks.cxx:1440 AliITSRealignTracks.cxx:1441 AliITSRealignTracks.cxx:1442 AliITSRealignTracks.cxx:1443 AliITSRealignTracks.cxx:1444 AliITSRealignTracks.cxx:1445 AliITSRealignTracks.cxx:1446 AliITSRealignTracks.cxx:1447 AliITSRealignTracks.cxx:1448 AliITSRealignTracks.cxx:1449 AliITSRealignTracks.cxx:1450 AliITSRealignTracks.cxx:1451 AliITSRealignTracks.cxx:1452 AliITSRealignTracks.cxx:1453 AliITSRealignTracks.cxx:1454 AliITSRealignTracks.cxx:1455 AliITSRealignTracks.cxx:1456 AliITSRealignTracks.cxx:1457 AliITSRealignTracks.cxx:1458 AliITSRealignTracks.cxx:1459 AliITSRealignTracks.cxx:1460 AliITSRealignTracks.cxx:1461 AliITSRealignTracks.cxx:1462 AliITSRealignTracks.cxx:1463 AliITSRealignTracks.cxx:1464 AliITSRealignTracks.cxx:1465 AliITSRealignTracks.cxx:1466 AliITSRealignTracks.cxx:1467 AliITSRealignTracks.cxx:1468 AliITSRealignTracks.cxx:1469 AliITSRealignTracks.cxx:1470 AliITSRealignTracks.cxx:1471 AliITSRealignTracks.cxx:1472 AliITSRealignTracks.cxx:1473 AliITSRealignTracks.cxx:1474 AliITSRealignTracks.cxx:1475 AliITSRealignTracks.cxx:1476 AliITSRealignTracks.cxx:1477 AliITSRealignTracks.cxx:1478 AliITSRealignTracks.cxx:1479 AliITSRealignTracks.cxx:1480 AliITSRealignTracks.cxx:1481 AliITSRealignTracks.cxx:1482 AliITSRealignTracks.cxx:1483 AliITSRealignTracks.cxx:1484 AliITSRealignTracks.cxx:1485 AliITSRealignTracks.cxx:1486 AliITSRealignTracks.cxx:1487 AliITSRealignTracks.cxx:1488 AliITSRealignTracks.cxx:1489 AliITSRealignTracks.cxx:1490 AliITSRealignTracks.cxx:1491 AliITSRealignTracks.cxx:1492 AliITSRealignTracks.cxx:1493 AliITSRealignTracks.cxx:1494 AliITSRealignTracks.cxx:1495 AliITSRealignTracks.cxx:1496 AliITSRealignTracks.cxx:1497 AliITSRealignTracks.cxx:1498 AliITSRealignTracks.cxx:1499 AliITSRealignTracks.cxx:1500 AliITSRealignTracks.cxx:1501 AliITSRealignTracks.cxx:1502 AliITSRealignTracks.cxx:1503 AliITSRealignTracks.cxx:1504 AliITSRealignTracks.cxx:1505 AliITSRealignTracks.cxx:1506 AliITSRealignTracks.cxx:1507 AliITSRealignTracks.cxx:1508 AliITSRealignTracks.cxx:1509 AliITSRealignTracks.cxx:1510 AliITSRealignTracks.cxx:1511 AliITSRealignTracks.cxx:1512 AliITSRealignTracks.cxx:1513 AliITSRealignTracks.cxx:1514 AliITSRealignTracks.cxx:1515 AliITSRealignTracks.cxx:1516 AliITSRealignTracks.cxx:1517 AliITSRealignTracks.cxx:1518 AliITSRealignTracks.cxx:1519 AliITSRealignTracks.cxx:1520 AliITSRealignTracks.cxx:1521 AliITSRealignTracks.cxx:1522 AliITSRealignTracks.cxx:1523 AliITSRealignTracks.cxx:1524 AliITSRealignTracks.cxx:1525 AliITSRealignTracks.cxx:1526 AliITSRealignTracks.cxx:1527 AliITSRealignTracks.cxx:1528 AliITSRealignTracks.cxx:1529 AliITSRealignTracks.cxx:1530 AliITSRealignTracks.cxx:1531 AliITSRealignTracks.cxx:1532 AliITSRealignTracks.cxx:1533 AliITSRealignTracks.cxx:1534 AliITSRealignTracks.cxx:1535 AliITSRealignTracks.cxx:1536 AliITSRealignTracks.cxx:1537 AliITSRealignTracks.cxx:1538 AliITSRealignTracks.cxx:1539 AliITSRealignTracks.cxx:1540 AliITSRealignTracks.cxx:1541 AliITSRealignTracks.cxx:1542 AliITSRealignTracks.cxx:1543 AliITSRealignTracks.cxx:1544 AliITSRealignTracks.cxx:1545 AliITSRealignTracks.cxx:1546 AliITSRealignTracks.cxx:1547 AliITSRealignTracks.cxx:1548 AliITSRealignTracks.cxx:1549 AliITSRealignTracks.cxx:1550 AliITSRealignTracks.cxx:1551 AliITSRealignTracks.cxx:1552 AliITSRealignTracks.cxx:1553 AliITSRealignTracks.cxx:1554 AliITSRealignTracks.cxx:1555 AliITSRealignTracks.cxx:1556 AliITSRealignTracks.cxx:1557 AliITSRealignTracks.cxx:1558 AliITSRealignTracks.cxx:1559 AliITSRealignTracks.cxx:1560 AliITSRealignTracks.cxx:1561 AliITSRealignTracks.cxx:1562 AliITSRealignTracks.cxx:1563 AliITSRealignTracks.cxx:1564 AliITSRealignTracks.cxx:1565 AliITSRealignTracks.cxx:1566 AliITSRealignTracks.cxx:1567 AliITSRealignTracks.cxx:1568 AliITSRealignTracks.cxx:1569 AliITSRealignTracks.cxx:1570 AliITSRealignTracks.cxx:1571 AliITSRealignTracks.cxx:1572 AliITSRealignTracks.cxx:1573 AliITSRealignTracks.cxx:1574 AliITSRealignTracks.cxx:1575 AliITSRealignTracks.cxx:1576 AliITSRealignTracks.cxx:1577 AliITSRealignTracks.cxx:1578 AliITSRealignTracks.cxx:1579 AliITSRealignTracks.cxx:1580 AliITSRealignTracks.cxx:1581 AliITSRealignTracks.cxx:1582 AliITSRealignTracks.cxx:1583 AliITSRealignTracks.cxx:1584 AliITSRealignTracks.cxx:1585 AliITSRealignTracks.cxx:1586 AliITSRealignTracks.cxx:1587 AliITSRealignTracks.cxx:1588 AliITSRealignTracks.cxx:1589 AliITSRealignTracks.cxx:1590 AliITSRealignTracks.cxx:1591 AliITSRealignTracks.cxx:1592 AliITSRealignTracks.cxx:1593 AliITSRealignTracks.cxx:1594 AliITSRealignTracks.cxx:1595 AliITSRealignTracks.cxx:1596 AliITSRealignTracks.cxx:1597 AliITSRealignTracks.cxx:1598 AliITSRealignTracks.cxx:1599 AliITSRealignTracks.cxx:1600 AliITSRealignTracks.cxx:1601 AliITSRealignTracks.cxx:1602 AliITSRealignTracks.cxx:1603 AliITSRealignTracks.cxx:1604 AliITSRealignTracks.cxx:1605 AliITSRealignTracks.cxx:1606 AliITSRealignTracks.cxx:1607 AliITSRealignTracks.cxx:1608 AliITSRealignTracks.cxx:1609 AliITSRealignTracks.cxx:1610 AliITSRealignTracks.cxx:1611 AliITSRealignTracks.cxx:1612 AliITSRealignTracks.cxx:1613 AliITSRealignTracks.cxx:1614 AliITSRealignTracks.cxx:1615 AliITSRealignTracks.cxx:1616 AliITSRealignTracks.cxx:1617 AliITSRealignTracks.cxx:1618 AliITSRealignTracks.cxx:1619 AliITSRealignTracks.cxx:1620 AliITSRealignTracks.cxx:1621 AliITSRealignTracks.cxx:1622 AliITSRealignTracks.cxx:1623 AliITSRealignTracks.cxx:1624 AliITSRealignTracks.cxx:1625 AliITSRealignTracks.cxx:1626 AliITSRealignTracks.cxx:1627 AliITSRealignTracks.cxx:1628 AliITSRealignTracks.cxx:1629 AliITSRealignTracks.cxx:1630 AliITSRealignTracks.cxx:1631 AliITSRealignTracks.cxx:1632 AliITSRealignTracks.cxx:1633 AliITSRealignTracks.cxx:1634 AliITSRealignTracks.cxx:1635 AliITSRealignTracks.cxx:1636 AliITSRealignTracks.cxx:1637 AliITSRealignTracks.cxx:1638 AliITSRealignTracks.cxx:1639 AliITSRealignTracks.cxx:1640 AliITSRealignTracks.cxx:1641 AliITSRealignTracks.cxx:1642 AliITSRealignTracks.cxx:1643 AliITSRealignTracks.cxx:1644 AliITSRealignTracks.cxx:1645 AliITSRealignTracks.cxx:1646 AliITSRealignTracks.cxx:1647 AliITSRealignTracks.cxx:1648 AliITSRealignTracks.cxx:1649 AliITSRealignTracks.cxx:1650 AliITSRealignTracks.cxx:1651 AliITSRealignTracks.cxx:1652 AliITSRealignTracks.cxx:1653 AliITSRealignTracks.cxx:1654 AliITSRealignTracks.cxx:1655 AliITSRealignTracks.cxx:1656 AliITSRealignTracks.cxx:1657 AliITSRealignTracks.cxx:1658 AliITSRealignTracks.cxx:1659 AliITSRealignTracks.cxx:1660 AliITSRealignTracks.cxx:1661 AliITSRealignTracks.cxx:1662 AliITSRealignTracks.cxx:1663 AliITSRealignTracks.cxx:1664 AliITSRealignTracks.cxx:1665 AliITSRealignTracks.cxx:1666 AliITSRealignTracks.cxx:1667 AliITSRealignTracks.cxx:1668 AliITSRealignTracks.cxx:1669 AliITSRealignTracks.cxx:1670 AliITSRealignTracks.cxx:1671 AliITSRealignTracks.cxx:1672 AliITSRealignTracks.cxx:1673 AliITSRealignTracks.cxx:1674 AliITSRealignTracks.cxx:1675 AliITSRealignTracks.cxx:1676 AliITSRealignTracks.cxx:1677 AliITSRealignTracks.cxx:1678 AliITSRealignTracks.cxx:1679 AliITSRealignTracks.cxx:1680 AliITSRealignTracks.cxx:1681 AliITSRealignTracks.cxx:1682 AliITSRealignTracks.cxx:1683 AliITSRealignTracks.cxx:1684 AliITSRealignTracks.cxx:1685 AliITSRealignTracks.cxx:1686 AliITSRealignTracks.cxx:1687 AliITSRealignTracks.cxx:1688 AliITSRealignTracks.cxx:1689 AliITSRealignTracks.cxx:1690 AliITSRealignTracks.cxx:1691 AliITSRealignTracks.cxx:1692 AliITSRealignTracks.cxx:1693 AliITSRealignTracks.cxx:1694 AliITSRealignTracks.cxx:1695 AliITSRealignTracks.cxx:1696 AliITSRealignTracks.cxx:1697 AliITSRealignTracks.cxx:1698 AliITSRealignTracks.cxx:1699 AliITSRealignTracks.cxx:1700 AliITSRealignTracks.cxx:1701 AliITSRealignTracks.cxx:1702 AliITSRealignTracks.cxx:1703 AliITSRealignTracks.cxx:1704 AliITSRealignTracks.cxx:1705 AliITSRealignTracks.cxx:1706 AliITSRealignTracks.cxx:1707 AliITSRealignTracks.cxx:1708 AliITSRealignTracks.cxx:1709 AliITSRealignTracks.cxx:1710 AliITSRealignTracks.cxx:1711 AliITSRealignTracks.cxx:1712 AliITSRealignTracks.cxx:1713 AliITSRealignTracks.cxx:1714 AliITSRealignTracks.cxx:1715 AliITSRealignTracks.cxx:1716 AliITSRealignTracks.cxx:1717 AliITSRealignTracks.cxx:1718 AliITSRealignTracks.cxx:1719 AliITSRealignTracks.cxx:1720 AliITSRealignTracks.cxx:1721 AliITSRealignTracks.cxx:1722 AliITSRealignTracks.cxx:1723 AliITSRealignTracks.cxx:1724 AliITSRealignTracks.cxx:1725 AliITSRealignTracks.cxx:1726 AliITSRealignTracks.cxx:1727 AliITSRealignTracks.cxx:1728 AliITSRealignTracks.cxx:1729 AliITSRealignTracks.cxx:1730 AliITSRealignTracks.cxx:1731 AliITSRealignTracks.cxx:1732 AliITSRealignTracks.cxx:1733 AliITSRealignTracks.cxx:1734 AliITSRealignTracks.cxx:1735 AliITSRealignTracks.cxx:1736 AliITSRealignTracks.cxx:1737 AliITSRealignTracks.cxx:1738 AliITSRealignTracks.cxx:1739 AliITSRealignTracks.cxx:1740 AliITSRealignTracks.cxx:1741 AliITSRealignTracks.cxx:1742 AliITSRealignTracks.cxx:1743 AliITSRealignTracks.cxx:1744 AliITSRealignTracks.cxx:1745 AliITSRealignTracks.cxx:1746 AliITSRealignTracks.cxx:1747 AliITSRealignTracks.cxx:1748 AliITSRealignTracks.cxx:1749 AliITSRealignTracks.cxx:1750 AliITSRealignTracks.cxx:1751 AliITSRealignTracks.cxx:1752 AliITSRealignTracks.cxx:1753 AliITSRealignTracks.cxx:1754 AliITSRealignTracks.cxx:1755 AliITSRealignTracks.cxx:1756 AliITSRealignTracks.cxx:1757 AliITSRealignTracks.cxx:1758 AliITSRealignTracks.cxx:1759 AliITSRealignTracks.cxx:1760 AliITSRealignTracks.cxx:1761 AliITSRealignTracks.cxx:1762 AliITSRealignTracks.cxx:1763 AliITSRealignTracks.cxx:1764 AliITSRealignTracks.cxx:1765 AliITSRealignTracks.cxx:1766 AliITSRealignTracks.cxx:1767 AliITSRealignTracks.cxx:1768 AliITSRealignTracks.cxx:1769 AliITSRealignTracks.cxx:1770 AliITSRealignTracks.cxx:1771 AliITSRealignTracks.cxx:1772 AliITSRealignTracks.cxx:1773 AliITSRealignTracks.cxx:1774 AliITSRealignTracks.cxx:1775 AliITSRealignTracks.cxx:1776 AliITSRealignTracks.cxx:1777 AliITSRealignTracks.cxx:1778 AliITSRealignTracks.cxx:1779 AliITSRealignTracks.cxx:1780 AliITSRealignTracks.cxx:1781 AliITSRealignTracks.cxx:1782 AliITSRealignTracks.cxx:1783 AliITSRealignTracks.cxx:1784 AliITSRealignTracks.cxx:1785 AliITSRealignTracks.cxx:1786 AliITSRealignTracks.cxx:1787 AliITSRealignTracks.cxx:1788 AliITSRealignTracks.cxx:1789 AliITSRealignTracks.cxx:1790 AliITSRealignTracks.cxx:1791 AliITSRealignTracks.cxx:1792 AliITSRealignTracks.cxx:1793 AliITSRealignTracks.cxx:1794 AliITSRealignTracks.cxx:1795 AliITSRealignTracks.cxx:1796 AliITSRealignTracks.cxx:1797 AliITSRealignTracks.cxx:1798 AliITSRealignTracks.cxx:1799 AliITSRealignTracks.cxx:1800 AliITSRealignTracks.cxx:1801 AliITSRealignTracks.cxx:1802 AliITSRealignTracks.cxx:1803 AliITSRealignTracks.cxx:1804 AliITSRealignTracks.cxx:1805 AliITSRealignTracks.cxx:1806 AliITSRealignTracks.cxx:1807 AliITSRealignTracks.cxx:1808 AliITSRealignTracks.cxx:1809 AliITSRealignTracks.cxx:1810 AliITSRealignTracks.cxx:1811 AliITSRealignTracks.cxx:1812 AliITSRealignTracks.cxx:1813 AliITSRealignTracks.cxx:1814 AliITSRealignTracks.cxx:1815 AliITSRealignTracks.cxx:1816 AliITSRealignTracks.cxx:1817 AliITSRealignTracks.cxx:1818 AliITSRealignTracks.cxx:1819 AliITSRealignTracks.cxx:1820 AliITSRealignTracks.cxx:1821 AliITSRealignTracks.cxx:1822 AliITSRealignTracks.cxx:1823 AliITSRealignTracks.cxx:1824 AliITSRealignTracks.cxx:1825 AliITSRealignTracks.cxx:1826 AliITSRealignTracks.cxx:1827 AliITSRealignTracks.cxx:1828 AliITSRealignTracks.cxx:1829 AliITSRealignTracks.cxx:1830 AliITSRealignTracks.cxx:1831 AliITSRealignTracks.cxx:1832 AliITSRealignTracks.cxx:1833 AliITSRealignTracks.cxx:1834 AliITSRealignTracks.cxx:1835 AliITSRealignTracks.cxx:1836 AliITSRealignTracks.cxx:1837 AliITSRealignTracks.cxx:1838 AliITSRealignTracks.cxx:1839 AliITSRealignTracks.cxx:1840 AliITSRealignTracks.cxx:1841 AliITSRealignTracks.cxx:1842 AliITSRealignTracks.cxx:1843 AliITSRealignTracks.cxx:1844 AliITSRealignTracks.cxx:1845 AliITSRealignTracks.cxx:1846 AliITSRealignTracks.cxx:1847 AliITSRealignTracks.cxx:1848 AliITSRealignTracks.cxx:1849 AliITSRealignTracks.cxx:1850 AliITSRealignTracks.cxx:1851 AliITSRealignTracks.cxx:1852 AliITSRealignTracks.cxx:1853 AliITSRealignTracks.cxx:1854 AliITSRealignTracks.cxx:1855 AliITSRealignTracks.cxx:1856 AliITSRealignTracks.cxx:1857 AliITSRealignTracks.cxx:1858 AliITSRealignTracks.cxx:1859 AliITSRealignTracks.cxx:1860 AliITSRealignTracks.cxx:1861 AliITSRealignTracks.cxx:1862 AliITSRealignTracks.cxx:1863 AliITSRealignTracks.cxx:1864 AliITSRealignTracks.cxx:1865 AliITSRealignTracks.cxx:1866 AliITSRealignTracks.cxx:1867 AliITSRealignTracks.cxx:1868 AliITSRealignTracks.cxx:1869 AliITSRealignTracks.cxx:1870 AliITSRealignTracks.cxx:1871 AliITSRealignTracks.cxx:1872 AliITSRealignTracks.cxx:1873 AliITSRealignTracks.cxx:1874 AliITSRealignTracks.cxx:1875 AliITSRealignTracks.cxx:1876 AliITSRealignTracks.cxx:1877 AliITSRealignTracks.cxx:1878 AliITSRealignTracks.cxx:1879 AliITSRealignTracks.cxx:1880 AliITSRealignTracks.cxx:1881 AliITSRealignTracks.cxx:1882 AliITSRealignTracks.cxx:1883 AliITSRealignTracks.cxx:1884 AliITSRealignTracks.cxx:1885 AliITSRealignTracks.cxx:1886 AliITSRealignTracks.cxx:1887 AliITSRealignTracks.cxx:1888 AliITSRealignTracks.cxx:1889 AliITSRealignTracks.cxx:1890 AliITSRealignTracks.cxx:1891 AliITSRealignTracks.cxx:1892 AliITSRealignTracks.cxx:1893 AliITSRealignTracks.cxx:1894 AliITSRealignTracks.cxx:1895 AliITSRealignTracks.cxx:1896 AliITSRealignTracks.cxx:1897 AliITSRealignTracks.cxx:1898 AliITSRealignTracks.cxx:1899 AliITSRealignTracks.cxx:1900 AliITSRealignTracks.cxx:1901 AliITSRealignTracks.cxx:1902 AliITSRealignTracks.cxx:1903 AliITSRealignTracks.cxx:1904 AliITSRealignTracks.cxx:1905 AliITSRealignTracks.cxx:1906 AliITSRealignTracks.cxx:1907 AliITSRealignTracks.cxx:1908 AliITSRealignTracks.cxx:1909 AliITSRealignTracks.cxx:1910 AliITSRealignTracks.cxx:1911 AliITSRealignTracks.cxx:1912 AliITSRealignTracks.cxx:1913 AliITSRealignTracks.cxx:1914 AliITSRealignTracks.cxx:1915 AliITSRealignTracks.cxx:1916 AliITSRealignTracks.cxx:1917 AliITSRealignTracks.cxx:1918 AliITSRealignTracks.cxx:1919 AliITSRealignTracks.cxx:1920 AliITSRealignTracks.cxx:1921 AliITSRealignTracks.cxx:1922 AliITSRealignTracks.cxx:1923 AliITSRealignTracks.cxx:1924 AliITSRealignTracks.cxx:1925 AliITSRealignTracks.cxx:1926 AliITSRealignTracks.cxx:1927 AliITSRealignTracks.cxx:1928 AliITSRealignTracks.cxx:1929 AliITSRealignTracks.cxx:1930 AliITSRealignTracks.cxx:1931 AliITSRealignTracks.cxx:1932 AliITSRealignTracks.cxx:1933 AliITSRealignTracks.cxx:1934 AliITSRealignTracks.cxx:1935 AliITSRealignTracks.cxx:1936 AliITSRealignTracks.cxx:1937 AliITSRealignTracks.cxx:1938 AliITSRealignTracks.cxx:1939 AliITSRealignTracks.cxx:1940 AliITSRealignTracks.cxx:1941 AliITSRealignTracks.cxx:1942 AliITSRealignTracks.cxx:1943 AliITSRealignTracks.cxx:1944 AliITSRealignTracks.cxx:1945 AliITSRealignTracks.cxx:1946 AliITSRealignTracks.cxx:1947 AliITSRealignTracks.cxx:1948 AliITSRealignTracks.cxx:1949 AliITSRealignTracks.cxx:1950 AliITSRealignTracks.cxx:1951 AliITSRealignTracks.cxx:1952 AliITSRealignTracks.cxx:1953 AliITSRealignTracks.cxx:1954 AliITSRealignTracks.cxx:1955 AliITSRealignTracks.cxx:1956 AliITSRealignTracks.cxx:1957 AliITSRealignTracks.cxx:1958 AliITSRealignTracks.cxx:1959 AliITSRealignTracks.cxx:1960 AliITSRealignTracks.cxx:1961 AliITSRealignTracks.cxx:1962 AliITSRealignTracks.cxx:1963 AliITSRealignTracks.cxx:1964 AliITSRealignTracks.cxx:1965 AliITSRealignTracks.cxx:1966 AliITSRealignTracks.cxx:1967 AliITSRealignTracks.cxx:1968 AliITSRealignTracks.cxx:1969 AliITSRealignTracks.cxx:1970 AliITSRealignTracks.cxx:1971 AliITSRealignTracks.cxx:1972 AliITSRealignTracks.cxx:1973 AliITSRealignTracks.cxx:1974 AliITSRealignTracks.cxx:1975 AliITSRealignTracks.cxx:1976 AliITSRealignTracks.cxx:1977 AliITSRealignTracks.cxx:1978 AliITSRealignTracks.cxx:1979 AliITSRealignTracks.cxx:1980 AliITSRealignTracks.cxx:1981 AliITSRealignTracks.cxx:1982 AliITSRealignTracks.cxx:1983 AliITSRealignTracks.cxx:1984 AliITSRealignTracks.cxx:1985 AliITSRealignTracks.cxx:1986 AliITSRealignTracks.cxx:1987 AliITSRealignTracks.cxx:1988 AliITSRealignTracks.cxx:1989 AliITSRealignTracks.cxx:1990 AliITSRealignTracks.cxx:1991 AliITSRealignTracks.cxx:1992 AliITSRealignTracks.cxx:1993 AliITSRealignTracks.cxx:1994 AliITSRealignTracks.cxx:1995 AliITSRealignTracks.cxx:1996 AliITSRealignTracks.cxx:1997 AliITSRealignTracks.cxx:1998 AliITSRealignTracks.cxx:1999 AliITSRealignTracks.cxx:2000 AliITSRealignTracks.cxx:2001 AliITSRealignTracks.cxx:2002 AliITSRealignTracks.cxx:2003 AliITSRealignTracks.cxx:2004 AliITSRealignTracks.cxx:2005 AliITSRealignTracks.cxx:2006 AliITSRealignTracks.cxx:2007 AliITSRealignTracks.cxx:2008 AliITSRealignTracks.cxx:2009 AliITSRealignTracks.cxx:2010 AliITSRealignTracks.cxx:2011 AliITSRealignTracks.cxx:2012 AliITSRealignTracks.cxx:2013 AliITSRealignTracks.cxx:2014 AliITSRealignTracks.cxx:2015 AliITSRealignTracks.cxx:2016 AliITSRealignTracks.cxx:2017 AliITSRealignTracks.cxx:2018 AliITSRealignTracks.cxx:2019 AliITSRealignTracks.cxx:2020 AliITSRealignTracks.cxx:2021 AliITSRealignTracks.cxx:2022 AliITSRealignTracks.cxx:2023 AliITSRealignTracks.cxx:2024 AliITSRealignTracks.cxx:2025 AliITSRealignTracks.cxx:2026 AliITSRealignTracks.cxx:2027 AliITSRealignTracks.cxx:2028 AliITSRealignTracks.cxx:2029 AliITSRealignTracks.cxx:2030 AliITSRealignTracks.cxx:2031 AliITSRealignTracks.cxx:2032 AliITSRealignTracks.cxx:2033 AliITSRealignTracks.cxx:2034 AliITSRealignTracks.cxx:2035 AliITSRealignTracks.cxx:2036 AliITSRealignTracks.cxx:2037 AliITSRealignTracks.cxx:2038 AliITSRealignTracks.cxx:2039 AliITSRealignTracks.cxx:2040 AliITSRealignTracks.cxx:2041 AliITSRealignTracks.cxx:2042 AliITSRealignTracks.cxx:2043 AliITSRealignTracks.cxx:2044 AliITSRealignTracks.cxx:2045 AliITSRealignTracks.cxx:2046 AliITSRealignTracks.cxx:2047 AliITSRealignTracks.cxx:2048 AliITSRealignTracks.cxx:2049 AliITSRealignTracks.cxx:2050 AliITSRealignTracks.cxx:2051 AliITSRealignTracks.cxx:2052 AliITSRealignTracks.cxx:2053 AliITSRealignTracks.cxx:2054 AliITSRealignTracks.cxx:2055 AliITSRealignTracks.cxx:2056 AliITSRealignTracks.cxx:2057 AliITSRealignTracks.cxx:2058 AliITSRealignTracks.cxx:2059 AliITSRealignTracks.cxx:2060 AliITSRealignTracks.cxx:2061 AliITSRealignTracks.cxx:2062 AliITSRealignTracks.cxx:2063 AliITSRealignTracks.cxx:2064 AliITSRealignTracks.cxx:2065 AliITSRealignTracks.cxx:2066 AliITSRealignTracks.cxx:2067 AliITSRealignTracks.cxx:2068 AliITSRealignTracks.cxx:2069 AliITSRealignTracks.cxx:2070 AliITSRealignTracks.cxx:2071 AliITSRealignTracks.cxx:2072 AliITSRealignTracks.cxx:2073 AliITSRealignTracks.cxx:2074 AliITSRealignTracks.cxx:2075 AliITSRealignTracks.cxx:2076 AliITSRealignTracks.cxx:2077 AliITSRealignTracks.cxx:2078 AliITSRealignTracks.cxx:2079 AliITSRealignTracks.cxx:2080 AliITSRealignTracks.cxx:2081 AliITSRealignTracks.cxx:2082 AliITSRealignTracks.cxx:2083 AliITSRealignTracks.cxx:2084 AliITSRealignTracks.cxx:2085 AliITSRealignTracks.cxx:2086 AliITSRealignTracks.cxx:2087 AliITSRealignTracks.cxx:2088 AliITSRealignTracks.cxx:2089 AliITSRealignTracks.cxx:2090 AliITSRealignTracks.cxx:2091 AliITSRealignTracks.cxx:2092 AliITSRealignTracks.cxx:2093 AliITSRealignTracks.cxx:2094 AliITSRealignTracks.cxx:2095 AliITSRealignTracks.cxx:2096 AliITSRealignTracks.cxx:2097 AliITSRealignTracks.cxx:2098 AliITSRealignTracks.cxx:2099 AliITSRealignTracks.cxx:2100 AliITSRealignTracks.cxx:2101 AliITSRealignTracks.cxx:2102 AliITSRealignTracks.cxx:2103 AliITSRealignTracks.cxx:2104 AliITSRealignTracks.cxx:2105 AliITSRealignTracks.cxx:2106 AliITSRealignTracks.cxx:2107 AliITSRealignTracks.cxx:2108 AliITSRealignTracks.cxx:2109 AliITSRealignTracks.cxx:2110 AliITSRealignTracks.cxx:2111 AliITSRealignTracks.cxx:2112 AliITSRealignTracks.cxx:2113 AliITSRealignTracks.cxx:2114 AliITSRealignTracks.cxx:2115 AliITSRealignTracks.cxx:2116 AliITSRealignTracks.cxx:2117 AliITSRealignTracks.cxx:2118 AliITSRealignTracks.cxx:2119 AliITSRealignTracks.cxx:2120 AliITSRealignTracks.cxx:2121 AliITSRealignTracks.cxx:2122 AliITSRealignTracks.cxx:2123 AliITSRealignTracks.cxx:2124 AliITSRealignTracks.cxx:2125 AliITSRealignTracks.cxx:2126 AliITSRealignTracks.cxx:2127 AliITSRealignTracks.cxx:2128 AliITSRealignTracks.cxx:2129 AliITSRealignTracks.cxx:2130 AliITSRealignTracks.cxx:2131 AliITSRealignTracks.cxx:2132 AliITSRealignTracks.cxx:2133 AliITSRealignTracks.cxx:2134 AliITSRealignTracks.cxx:2135 AliITSRealignTracks.cxx:2136 AliITSRealignTracks.cxx:2137 AliITSRealignTracks.cxx:2138 AliITSRealignTracks.cxx:2139 AliITSRealignTracks.cxx:2140 AliITSRealignTracks.cxx:2141 AliITSRealignTracks.cxx:2142 AliITSRealignTracks.cxx:2143 AliITSRealignTracks.cxx:2144 AliITSRealignTracks.cxx:2145 AliITSRealignTracks.cxx:2146 AliITSRealignTracks.cxx:2147 AliITSRealignTracks.cxx:2148 AliITSRealignTracks.cxx:2149 AliITSRealignTracks.cxx:2150 AliITSRealignTracks.cxx:2151 AliITSRealignTracks.cxx:2152 AliITSRealignTracks.cxx:2153 AliITSRealignTracks.cxx:2154 AliITSRealignTracks.cxx:2155 AliITSRealignTracks.cxx:2156 AliITSRealignTracks.cxx:2157 AliITSRealignTracks.cxx:2158 AliITSRealignTracks.cxx:2159 AliITSRealignTracks.cxx:2160 AliITSRealignTracks.cxx:2161 AliITSRealignTracks.cxx:2162 AliITSRealignTracks.cxx:2163 AliITSRealignTracks.cxx:2164 AliITSRealignTracks.cxx:2165 AliITSRealignTracks.cxx:2166 AliITSRealignTracks.cxx:2167 AliITSRealignTracks.cxx:2168 AliITSRealignTracks.cxx:2169 AliITSRealignTracks.cxx:2170 AliITSRealignTracks.cxx:2171 AliITSRealignTracks.cxx:2172 AliITSRealignTracks.cxx:2173 AliITSRealignTracks.cxx:2174 AliITSRealignTracks.cxx:2175 AliITSRealignTracks.cxx:2176 AliITSRealignTracks.cxx:2177 AliITSRealignTracks.cxx:2178 AliITSRealignTracks.cxx:2179 AliITSRealignTracks.cxx:2180 AliITSRealignTracks.cxx:2181 AliITSRealignTracks.cxx:2182 AliITSRealignTracks.cxx:2183 AliITSRealignTracks.cxx:2184 AliITSRealignTracks.cxx:2185 AliITSRealignTracks.cxx:2186 AliITSRealignTracks.cxx:2187 AliITSRealignTracks.cxx:2188 AliITSRealignTracks.cxx:2189 AliITSRealignTracks.cxx:2190 AliITSRealignTracks.cxx:2191 AliITSRealignTracks.cxx:2192 AliITSRealignTracks.cxx:2193 AliITSRealignTracks.cxx:2194 AliITSRealignTracks.cxx:2195 AliITSRealignTracks.cxx:2196 AliITSRealignTracks.cxx:2197 AliITSRealignTracks.cxx:2198 AliITSRealignTracks.cxx:2199 AliITSRealignTracks.cxx:2200 AliITSRealignTracks.cxx:2201 AliITSRealignTracks.cxx:2202 AliITSRealignTracks.cxx:2203 AliITSRealignTracks.cxx:2204 AliITSRealignTracks.cxx:2205 AliITSRealignTracks.cxx:2206 AliITSRealignTracks.cxx:2207 AliITSRealignTracks.cxx:2208 AliITSRealignTracks.cxx:2209 AliITSRealignTracks.cxx:2210 AliITSRealignTracks.cxx:2211 AliITSRealignTracks.cxx:2212 AliITSRealignTracks.cxx:2213 AliITSRealignTracks.cxx:2214 AliITSRealignTracks.cxx:2215 AliITSRealignTracks.cxx:2216 AliITSRealignTracks.cxx:2217 AliITSRealignTracks.cxx:2218 AliITSRealignTracks.cxx:2219 AliITSRealignTracks.cxx:2220 AliITSRealignTracks.cxx:2221 AliITSRealignTracks.cxx:2222 AliITSRealignTracks.cxx:2223 AliITSRealignTracks.cxx:2224 AliITSRealignTracks.cxx:2225 AliITSRealignTracks.cxx:2226 AliITSRealignTracks.cxx:2227 AliITSRealignTracks.cxx:2228 AliITSRealignTracks.cxx:2229 AliITSRealignTracks.cxx:2230 AliITSRealignTracks.cxx:2231 AliITSRealignTracks.cxx:2232 AliITSRealignTracks.cxx:2233 AliITSRealignTracks.cxx:2234 AliITSRealignTracks.cxx:2235 AliITSRealignTracks.cxx:2236 AliITSRealignTracks.cxx:2237 AliITSRealignTracks.cxx:2238 AliITSRealignTracks.cxx:2239 AliITSRealignTracks.cxx:2240 AliITSRealignTracks.cxx:2241 AliITSRealignTracks.cxx:2242 AliITSRealignTracks.cxx:2243 AliITSRealignTracks.cxx:2244 AliITSRealignTracks.cxx:2245 AliITSRealignTracks.cxx:2246 AliITSRealignTracks.cxx:2247 AliITSRealignTracks.cxx:2248 AliITSRealignTracks.cxx:2249 AliITSRealignTracks.cxx:2250 AliITSRealignTracks.cxx:2251 AliITSRealignTracks.cxx:2252 AliITSRealignTracks.cxx:2253 AliITSRealignTracks.cxx:2254 AliITSRealignTracks.cxx:2255 AliITSRealignTracks.cxx:2256 AliITSRealignTracks.cxx:2257 AliITSRealignTracks.cxx:2258 AliITSRealignTracks.cxx:2259 AliITSRealignTracks.cxx:2260 AliITSRealignTracks.cxx:2261 AliITSRealignTracks.cxx:2262 AliITSRealignTracks.cxx:2263 AliITSRealignTracks.cxx:2264 AliITSRealignTracks.cxx:2265 AliITSRealignTracks.cxx:2266 AliITSRealignTracks.cxx:2267 AliITSRealignTracks.cxx:2268 AliITSRealignTracks.cxx:2269 AliITSRealignTracks.cxx:2270 AliITSRealignTracks.cxx:2271 AliITSRealignTracks.cxx:2272 AliITSRealignTracks.cxx:2273 AliITSRealignTracks.cxx:2274 AliITSRealignTracks.cxx:2275 AliITSRealignTracks.cxx:2276 AliITSRealignTracks.cxx:2277 AliITSRealignTracks.cxx:2278 AliITSRealignTracks.cxx:2279 AliITSRealignTracks.cxx:2280 AliITSRealignTracks.cxx:2281 AliITSRealignTracks.cxx:2282 AliITSRealignTracks.cxx:2283 AliITSRealignTracks.cxx:2284 AliITSRealignTracks.cxx:2285 AliITSRealignTracks.cxx:2286 AliITSRealignTracks.cxx:2287 AliITSRealignTracks.cxx:2288 AliITSRealignTracks.cxx:2289 AliITSRealignTracks.cxx:2290 AliITSRealignTracks.cxx:2291 AliITSRealignTracks.cxx:2292 AliITSRealignTracks.cxx:2293 AliITSRealignTracks.cxx:2294 AliITSRealignTracks.cxx:2295 AliITSRealignTracks.cxx:2296 AliITSRealignTracks.cxx:2297 AliITSRealignTracks.cxx:2298 AliITSRealignTracks.cxx:2299 AliITSRealignTracks.cxx:2300 AliITSRealignTracks.cxx:2301 AliITSRealignTracks.cxx:2302 AliITSRealignTracks.cxx:2303 AliITSRealignTracks.cxx:2304 AliITSRealignTracks.cxx:2305 AliITSRealignTracks.cxx:2306 AliITSRealignTracks.cxx:2307 AliITSRealignTracks.cxx:2308 AliITSRealignTracks.cxx:2309 AliITSRealignTracks.cxx:2310 AliITSRealignTracks.cxx:2311 AliITSRealignTracks.cxx:2312 AliITSRealignTracks.cxx:2313 AliITSRealignTracks.cxx:2314 AliITSRealignTracks.cxx:2315 AliITSRealignTracks.cxx:2316 AliITSRealignTracks.cxx:2317 AliITSRealignTracks.cxx:2318 AliITSRealignTracks.cxx:2319 AliITSRealignTracks.cxx:2320 AliITSRealignTracks.cxx:2321 AliITSRealignTracks.cxx:2322 AliITSRealignTracks.cxx:2323 AliITSRealignTracks.cxx:2324 AliITSRealignTracks.cxx:2325 AliITSRealignTracks.cxx:2326 AliITSRealignTracks.cxx:2327 AliITSRealignTracks.cxx:2328 AliITSRealignTracks.cxx:2329 AliITSRealignTracks.cxx:2330 AliITSRealignTracks.cxx:2331 AliITSRealignTracks.cxx:2332 AliITSRealignTracks.cxx:2333 AliITSRealignTracks.cxx:2334 AliITSRealignTracks.cxx:2335 AliITSRealignTracks.cxx:2336 AliITSRealignTracks.cxx:2337 AliITSRealignTracks.cxx:2338 AliITSRealignTracks.cxx:2339 AliITSRealignTracks.cxx:2340 AliITSRealignTracks.cxx:2341 AliITSRealignTracks.cxx:2342 AliITSRealignTracks.cxx:2343 AliITSRealignTracks.cxx:2344 AliITSRealignTracks.cxx:2345 AliITSRealignTracks.cxx:2346 AliITSRealignTracks.cxx:2347 AliITSRealignTracks.cxx:2348 AliITSRealignTracks.cxx:2349 AliITSRealignTracks.cxx:2350 AliITSRealignTracks.cxx:2351 AliITSRealignTracks.cxx:2352 AliITSRealignTracks.cxx:2353 AliITSRealignTracks.cxx:2354 AliITSRealignTracks.cxx:2355 AliITSRealignTracks.cxx:2356 AliITSRealignTracks.cxx:2357 AliITSRealignTracks.cxx:2358 AliITSRealignTracks.cxx:2359 AliITSRealignTracks.cxx:2360 AliITSRealignTracks.cxx:2361 AliITSRealignTracks.cxx:2362 AliITSRealignTracks.cxx:2363 AliITSRealignTracks.cxx:2364 AliITSRealignTracks.cxx:2365 AliITSRealignTracks.cxx:2366 AliITSRealignTracks.cxx:2367 AliITSRealignTracks.cxx:2368 AliITSRealignTracks.cxx:2369 AliITSRealignTracks.cxx:2370 AliITSRealignTracks.cxx:2371 AliITSRealignTracks.cxx:2372 AliITSRealignTracks.cxx:2373 AliITSRealignTracks.cxx:2374 AliITSRealignTracks.cxx:2375 AliITSRealignTracks.cxx:2376 AliITSRealignTracks.cxx:2377 AliITSRealignTracks.cxx:2378 AliITSRealignTracks.cxx:2379 AliITSRealignTracks.cxx:2380 AliITSRealignTracks.cxx:2381 AliITSRealignTracks.cxx:2382 AliITSRealignTracks.cxx:2383 AliITSRealignTracks.cxx:2384 AliITSRealignTracks.cxx:2385 AliITSRealignTracks.cxx:2386 AliITSRealignTracks.cxx:2387 AliITSRealignTracks.cxx:2388 AliITSRealignTracks.cxx:2389 AliITSRealignTracks.cxx:2390 AliITSRealignTracks.cxx:2391 AliITSRealignTracks.cxx:2392 AliITSRealignTracks.cxx:2393 AliITSRealignTracks.cxx:2394 AliITSRealignTracks.cxx:2395 AliITSRealignTracks.cxx:2396 AliITSRealignTracks.cxx:2397 AliITSRealignTracks.cxx:2398 AliITSRealignTracks.cxx:2399 AliITSRealignTracks.cxx:2400 AliITSRealignTracks.cxx:2401 AliITSRealignTracks.cxx:2402 AliITSRealignTracks.cxx:2403 AliITSRealignTracks.cxx:2404 AliITSRealignTracks.cxx:2405 AliITSRealignTracks.cxx:2406 AliITSRealignTracks.cxx:2407 AliITSRealignTracks.cxx:2408 AliITSRealignTracks.cxx:2409 AliITSRealignTracks.cxx:2410 AliITSRealignTracks.cxx:2411 AliITSRealignTracks.cxx:2412 AliITSRealignTracks.cxx:2413 AliITSRealignTracks.cxx:2414 AliITSRealignTracks.cxx:2415 AliITSRealignTracks.cxx:2416 AliITSRealignTracks.cxx:2417 AliITSRealignTracks.cxx:2418 AliITSRealignTracks.cxx:2419 AliITSRealignTracks.cxx:2420 AliITSRealignTracks.cxx:2421 AliITSRealignTracks.cxx:2422 AliITSRealignTracks.cxx:2423 AliITSRealignTracks.cxx:2424 AliITSRealignTracks.cxx:2425 AliITSRealignTracks.cxx:2426 AliITSRealignTracks.cxx:2427 AliITSRealignTracks.cxx:2428 AliITSRealignTracks.cxx:2429 AliITSRealignTracks.cxx:2430 AliITSRealignTracks.cxx:2431 AliITSRealignTracks.cxx:2432 AliITSRealignTracks.cxx:2433 AliITSRealignTracks.cxx:2434 AliITSRealignTracks.cxx:2435 AliITSRealignTracks.cxx:2436 AliITSRealignTracks.cxx:2437 AliITSRealignTracks.cxx:2438 AliITSRealignTracks.cxx:2439 AliITSRealignTracks.cxx:2440 AliITSRealignTracks.cxx:2441 AliITSRealignTracks.cxx:2442 AliITSRealignTracks.cxx:2443 AliITSRealignTracks.cxx:2444 AliITSRealignTracks.cxx:2445 AliITSRealignTracks.cxx:2446 AliITSRealignTracks.cxx:2447 AliITSRealignTracks.cxx:2448 AliITSRealignTracks.cxx:2449 AliITSRealignTracks.cxx:2450 AliITSRealignTracks.cxx:2451 AliITSRealignTracks.cxx:2452 AliITSRealignTracks.cxx:2453 AliITSRealignTracks.cxx:2454 AliITSRealignTracks.cxx:2455 AliITSRealignTracks.cxx:2456 AliITSRealignTracks.cxx:2457 AliITSRealignTracks.cxx:2458 AliITSRealignTracks.cxx:2459 AliITSRealignTracks.cxx:2460 AliITSRealignTracks.cxx:2461 AliITSRealignTracks.cxx:2462 AliITSRealignTracks.cxx:2463 AliITSRealignTracks.cxx:2464 AliITSRealignTracks.cxx:2465 AliITSRealignTracks.cxx:2466 AliITSRealignTracks.cxx:2467 AliITSRealignTracks.cxx:2468 AliITSRealignTracks.cxx:2469 AliITSRealignTracks.cxx:2470 AliITSRealignTracks.cxx:2471 AliITSRealignTracks.cxx:2472 AliITSRealignTracks.cxx:2473 AliITSRealignTracks.cxx:2474 AliITSRealignTracks.cxx:2475 AliITSRealignTracks.cxx:2476 AliITSRealignTracks.cxx:2477 AliITSRealignTracks.cxx:2478 AliITSRealignTracks.cxx:2479 AliITSRealignTracks.cxx:2480 AliITSRealignTracks.cxx:2481 AliITSRealignTracks.cxx:2482 AliITSRealignTracks.cxx:2483 AliITSRealignTracks.cxx:2484 AliITSRealignTracks.cxx:2485 AliITSRealignTracks.cxx:2486 AliITSRealignTracks.cxx:2487 AliITSRealignTracks.cxx:2488 AliITSRealignTracks.cxx:2489 AliITSRealignTracks.cxx:2490 AliITSRealignTracks.cxx:2491 AliITSRealignTracks.cxx:2492 AliITSRealignTracks.cxx:2493 AliITSRealignTracks.cxx:2494 AliITSRealignTracks.cxx:2495 AliITSRealignTracks.cxx:2496 AliITSRealignTracks.cxx:2497 AliITSRealignTracks.cxx:2498 AliITSRealignTracks.cxx:2499 AliITSRealignTracks.cxx:2500 AliITSRealignTracks.cxx:2501 AliITSRealignTracks.cxx:2502 AliITSRealignTracks.cxx:2503 AliITSRealignTracks.cxx:2504 AliITSRealignTracks.cxx:2505 AliITSRealignTracks.cxx:2506 AliITSRealignTracks.cxx:2507 AliITSRealignTracks.cxx:2508 AliITSRealignTracks.cxx:2509 AliITSRealignTracks.cxx:2510 AliITSRealignTracks.cxx:2511 AliITSRealignTracks.cxx:2512 AliITSRealignTracks.cxx:2513 AliITSRealignTracks.cxx:2514 AliITSRealignTracks.cxx:2515 AliITSRealignTracks.cxx:2516 AliITSRealignTracks.cxx:2517 AliITSRealignTracks.cxx:2518 AliITSRealignTracks.cxx:2519 AliITSRealignTracks.cxx:2520 AliITSRealignTracks.cxx:2521 AliITSRealignTracks.cxx:2522 AliITSRealignTracks.cxx:2523 AliITSRealignTracks.cxx:2524 AliITSRealignTracks.cxx:2525 AliITSRealignTracks.cxx:2526 AliITSRealignTracks.cxx:2527 AliITSRealignTracks.cxx:2528 AliITSRealignTracks.cxx:2529 AliITSRealignTracks.cxx:2530 AliITSRealignTracks.cxx:2531 AliITSRealignTracks.cxx:2532 AliITSRealignTracks.cxx:2533 AliITSRealignTracks.cxx:2534 AliITSRealignTracks.cxx:2535 AliITSRealignTracks.cxx:2536 AliITSRealignTracks.cxx:2537 AliITSRealignTracks.cxx:2538 AliITSRealignTracks.cxx:2539 AliITSRealignTracks.cxx:2540 AliITSRealignTracks.cxx:2541 AliITSRealignTracks.cxx:2542 AliITSRealignTracks.cxx:2543 AliITSRealignTracks.cxx:2544 AliITSRealignTracks.cxx:2545 AliITSRealignTracks.cxx:2546 AliITSRealignTracks.cxx:2547 AliITSRealignTracks.cxx:2548 AliITSRealignTracks.cxx:2549 AliITSRealignTracks.cxx:2550 AliITSRealignTracks.cxx:2551 AliITSRealignTracks.cxx:2552 AliITSRealignTracks.cxx:2553 AliITSRealignTracks.cxx:2554 AliITSRealignTracks.cxx:2555 AliITSRealignTracks.cxx:2556 AliITSRealignTracks.cxx:2557 AliITSRealignTracks.cxx:2558 AliITSRealignTracks.cxx:2559 AliITSRealignTracks.cxx:2560 AliITSRealignTracks.cxx:2561 AliITSRealignTracks.cxx:2562 AliITSRealignTracks.cxx:2563 AliITSRealignTracks.cxx:2564 AliITSRealignTracks.cxx:2565 AliITSRealignTracks.cxx:2566 AliITSRealignTracks.cxx:2567 AliITSRealignTracks.cxx:2568 AliITSRealignTracks.cxx:2569 AliITSRealignTracks.cxx:2570 AliITSRealignTracks.cxx:2571 AliITSRealignTracks.cxx:2572 AliITSRealignTracks.cxx:2573 AliITSRealignTracks.cxx:2574 AliITSRealignTracks.cxx:2575 AliITSRealignTracks.cxx:2576 AliITSRealignTracks.cxx:2577 AliITSRealignTracks.cxx:2578 AliITSRealignTracks.cxx:2579 AliITSRealignTracks.cxx:2580 AliITSRealignTracks.cxx:2581 AliITSRealignTracks.cxx:2582 AliITSRealignTracks.cxx:2583 AliITSRealignTracks.cxx:2584 AliITSRealignTracks.cxx:2585 AliITSRealignTracks.cxx:2586 AliITSRealignTracks.cxx:2587 AliITSRealignTracks.cxx:2588 AliITSRealignTracks.cxx:2589 AliITSRealignTracks.cxx:2590 AliITSRealignTracks.cxx:2591 AliITSRealignTracks.cxx:2592 AliITSRealignTracks.cxx:2593 AliITSRealignTracks.cxx:2594 AliITSRealignTracks.cxx:2595 AliITSRealignTracks.cxx:2596 AliITSRealignTracks.cxx:2597 AliITSRealignTracks.cxx:2598 AliITSRealignTracks.cxx:2599 AliITSRealignTracks.cxx:2600 AliITSRealignTracks.cxx:2601 AliITSRealignTracks.cxx:2602 AliITSRealignTracks.cxx:2603 AliITSRealignTracks.cxx:2604 AliITSRealignTracks.cxx:2605 AliITSRealignTracks.cxx:2606 AliITSRealignTracks.cxx:2607 AliITSRealignTracks.cxx:2608 AliITSRealignTracks.cxx:2609 AliITSRealignTracks.cxx:2610 AliITSRealignTracks.cxx:2611 AliITSRealignTracks.cxx:2612 AliITSRealignTracks.cxx:2613 AliITSRealignTracks.cxx:2614 AliITSRealignTracks.cxx:2615 AliITSRealignTracks.cxx:2616 AliITSRealignTracks.cxx:2617 AliITSRealignTracks.cxx:2618 AliITSRealignTracks.cxx:2619 AliITSRealignTracks.cxx:2620 AliITSRealignTracks.cxx:2621