#include <TFile.h>
#include <TH1.h>
#include <TH2.h>
#include <TTree.h>
#include "AliGeomManager.h"
#include "AliITSDetTypeRec.h"
#include "AliITSInitGeometry.h"
#include "AliITSMeanVertexer.h"
#include "AliITSRecPointContainer.h"
#include "AliITSLoader.h"
#include "AliLog.h"
#include "AliRawReader.h"
#include "AliRawReaderDate.h"
#include "AliRawReaderRoot.h"
#include "AliRunLoader.h"
#include "AliITSVertexer3D.h"
#include "AliITSVertexer3DTapan.h"
#include "AliESDVertex.h"
#include "AliMeanVertex.h"
const Int_t AliITSMeanVertexer::fgkMaxNumOfEvents = 10000;
ClassImp(AliITSMeanVertexer)
AliITSMeanVertexer::AliITSMeanVertexer(Bool_t mode):TObject(),
fDetTypeRec(NULL),
fVertexXY(NULL),
fVertexZ(NULL),
fNoEventsContr(0),
fTotContributors(0.),
fAverContributors(0.),
fFilterOnContributors(0),
fMode(mode),
fVertexer(NULL),
fAccEvents(fgkMaxNumOfEvents),
fVertArray("AliESDVertex",fgkMaxNumOfEvents),
fClu0(NULL),
fIndex(0),
fErrXCut(0.),
fRCut(0.),
fZCutDiamond(0.),
fLowSPD0(0),
fHighSPD0(0),
fMultH(NULL),
fErrXH(NULL),
fMultHa(NULL),
fErrXHa(NULL),
fDistH(NULL),
fContrH(NULL),
fContrHa(NULL)
{
SetZFiducialRegion();
Reset(kFALSE,kFALSE);
const Float_t xLimit = 0.6, yLimit = 0.6, zLimit = 50.0;
const Float_t xDelta = 0.003, yDelta = 0.003, zDelta = 0.2;
fVertexXY = new TH2F("VertexXY","Vertex Diamond (Y vs X)",
2*(Int_t)(xLimit/xDelta),-xLimit,xLimit,
2*(Int_t)(yLimit/yDelta),-yLimit,yLimit);
fVertexXY->SetXTitle("X , cm");
fVertexXY->SetYTitle("Y , cm");
fVertexXY->SetOption("colz");
fVertexZ = new TH1F("VertexZ"," Longitudinal Vertex Profile",
2*(Int_t)(zLimit/zDelta),-zLimit,zLimit);
fVertexZ->SetXTitle("Z , cm");
fErrXH = new TH1F("errorX","Error X - before cuts",100,0.,99.);
fMultH = new TH1F("multh","mult on layer 1 before cuts",2400,0.,7200.);
fErrXHa = new TH1F("errorXa","Error X - after Filter",100,0.,99.);
fErrXHa->SetLineColor(kRed);
fMultHa = new TH1F("multha","mult on layer 1 - after Filter",2400,0.,7200.);
fMultHa->SetLineColor(kRed);
fDistH = new TH1F("disth","distance (mm)",100,0.,30.);
fContrH = new TH1F("contrib","Number of contributors - before cuts",300,0.5,300.5);
fContrHa = new TH1F("contriba","Number of contributors - after cuts",300,0.5,300.5);
fContrHa->SetLineColor(kRed);
fClu0 = new UInt_t [fgkMaxNumOfEvents];
for(Int_t i=0;i<fgkMaxNumOfEvents;i++)fClu0[i]=0;
fAccEvents.ResetAllBits(kTRUE);
}
void AliITSMeanVertexer::Reset(Bool_t redefine2D,Bool_t complete){
static Int_t counter = 0;
if(fVertexXY && redefine2D){
counter++;
Double_t rangeX=fVertexXY->GetXaxis()->GetXmax()-fVertexXY->GetXaxis()->GetXmin();
Double_t rangeY=fVertexXY->GetYaxis()->GetXmax()-fVertexXY->GetYaxis()->GetXmin();
Int_t nx=fVertexXY->GetNbinsX();
Int_t ny=fVertexXY->GetNbinsY();
delete fVertexXY;
Double_t xmi=fWeighPos[0]-rangeX/2.;
Double_t xma=fWeighPos[0]+rangeX/2.;
Double_t ymi=fWeighPos[1]-rangeY/2.;
Double_t yma=fWeighPos[1]+rangeY/2.;
fVertexXY = new TH2F("VertexXY","Vertex Diamond (Y vs X)",nx,xmi,xma,ny,ymi,yma);
fVertexXY->SetXTitle("X , cm");
fVertexXY->SetYTitle("Y , cm");
fVertexXY->SetOption("colz");
fVertexXY->SetDirectory(0);
}
else if(fVertexXY && !redefine2D){
fVertexXY->Reset();
}
if(fVertexZ){
fVertexZ->Reset();
fDistH->Reset();
if(complete){
fErrXH->Reset();
fMultH->Reset();
fErrXHa->Reset();
fMultHa->Reset();
fContrH->Reset();
fContrHa->Reset();
}
}
for(Int_t i=0;i<3;i++){
fWeighPosSum[i] = 0.;
fWeighSigSum[i] = 0.;
fAverPosSum[i] = 0.;
fWeighPos[i] = 0.;
fWeighSig[i] = 0.;
fAverPos[i] = 0.;
for(Int_t j=0; j<3;j++)fAverPosSq[i][j] = 0.;
for(Int_t j=0; j<3;j++)fAverPosSqSum[i][j] = 0.;
fNoEventsContr=0;
fTotContributors = 0.;
}
}
Bool_t AliITSMeanVertexer::Init() {
AliGeomManager::LoadGeometry();
if (!AliGeomManager::ApplyAlignObjsFromCDB("ITS")) return kFALSE;
AliITSInitGeometry initgeom;
AliITSgeom *geom = initgeom.CreateAliITSgeom();
if (!geom) return kFALSE;
printf("Geometry name: %s \n",(initgeom.GetGeometryName()).Data());
fDetTypeRec = new AliITSDetTypeRec();
fDetTypeRec->SetLoadOnlySPDCalib(kTRUE);
fDetTypeRec->SetITSgeom(geom);
fDetTypeRec->SetDefaults();
fDetTypeRec->SetDefaultClusterFindersV2(kTRUE);
SetFilterOnContributors();
SetCutOnErrX();
SetCutOnR();
SetCutOnCls();
if (!fMode) {
fVertexer = new AliITSVertexer3DTapan(1000);
}
else {
fVertexer = new AliITSVertexer3D();
fVertexer->SetDetTypeRec(fDetTypeRec);
AliITSVertexer3D* alias = (AliITSVertexer3D*)fVertexer;
alias->SetWideFiducialRegion(fZCutDiamond,0.5);
alias->SetNarrowFiducialRegion(0.5,0.5);
alias->SetDeltaPhiCuts(0.5,0.025);
alias->SetDCACut(0.1);
alias->SetPileupAlgo(3);
fVertexer->SetComputeMultiplicity(kFALSE);
}
return kTRUE;
}
AliITSMeanVertexer::~AliITSMeanVertexer() {
delete fDetTypeRec;
delete fVertexXY;
delete fVertexZ;
delete fMultH;
delete fErrXH;
delete fMultHa;
delete fErrXHa;
delete fDistH;
delete fContrH;
delete fContrHa;
delete fVertexer;
}
Bool_t AliITSMeanVertexer::Reconstruct(AliRawReader *rawReader){
static Int_t evcount = -1;
if(evcount <0){
evcount++;
AliInfo(Form("Low and high cuts on SPD L0 clusters %d , %d \n",fLowSPD0,fHighSPD0));
AliInfo(Form("Reconstruct: cut on errX %f \n",fErrXCut));
}
AliITSRecPointContainer::Instance()->PrepareToRead();
TTree* clustersTree = new TTree("TreeR", "Reconstructed Points Container");
fDetTypeRec->DigitsToRecPoints(rawReader,clustersTree,"SPD");
Bool_t vtxOK = kFALSE;
UInt_t nl1=0;
AliESDVertex *vtx = fVertexer->FindVertexForCurrentEvent(clustersTree);
if (!fMode) {
if (TMath::Abs(vtx->GetChi2()) < 0.1) vtxOK = kTRUE;
}
else {
AliITSRecPointContainer* rpcont= AliITSRecPointContainer::Instance();
nl1=rpcont->GetNClustersInLayerFast(1);
if(Filter(vtx,nl1)) vtxOK = kTRUE;
}
delete clustersTree;
if (vtxOK && fMode){
new(fVertArray[fIndex])AliESDVertex(*vtx);
fClu0[fIndex]=nl1;
fAccEvents.SetBitNumber(fIndex);
fIndex++;
if(fIndex>=fgkMaxNumOfEvents){
if(ComputeMean(kFALSE)){
if(ComputeMean(kTRUE))AliInfo("Mean vertex computed");
}
}
}
if (vtx) delete vtx;
return vtxOK;
}
void AliITSMeanVertexer::WriteVertices(const char *filename){
TFile fmv(filename,"update");
Bool_t itisOK = kFALSE;
if(ComputeMean(kFALSE)){
if(ComputeMean(kTRUE)){
Double_t cov[6];
cov[0] = fAverPosSq[0][0];
cov[1] = fAverPosSq[0][1];
cov[2] = fAverPosSq[1][1];
cov[3] = fAverPosSq[0][2];
cov[4] = fAverPosSq[1][2];
cov[5] = fAverPosSq[2][2];
AliMeanVertex mv(fAverPos,fWeighSig,cov,fNoEventsContr,0,0.,0.);
mv.SetTitle("Mean Vertex");
mv.SetName("MeanVertex");
AliESDVertex vtx(fAverPos,cov,0,TMath::Nint(fAverContributors),"MeanVertexPos");
mv.Write(mv.GetName(),TObject::kOverwrite);
vtx.Write(vtx.GetName(),TObject::kOverwrite);
itisOK = kTRUE;
}
}
if(!itisOK){
AliError(Form("Evaluation of mean vertex not possible. Number of used events = %d",fNoEventsContr));
}
fVertexXY->Write(fVertexXY->GetName(),TObject::kOverwrite);
fVertexZ->Write(fVertexZ->GetName(),TObject::kOverwrite);
fMultH->Write(fMultH->GetName(),TObject::kOverwrite);
fErrXH->Write(fErrXH->GetName(),TObject::kOverwrite);
fMultHa->Write(fMultHa->GetName(),TObject::kOverwrite);
fErrXHa->Write(fErrXHa->GetName(),TObject::kOverwrite);
fDistH->Write(fDistH->GetName(),TObject::kOverwrite);
fContrH->Write(fContrH->GetName(),TObject::kOverwrite);
fContrHa->Write(fContrHa->GetName(),TObject::kOverwrite);
fmv.Close();
}
Bool_t AliITSMeanVertexer::Filter(AliESDVertex *vert,UInt_t mult){
Bool_t status = kFALSE;
if(!vert)return status;
if(strcmp(vert->GetName(),"SPDVertexZ") == 0) return status;
Int_t ncontr = vert->GetNContributors();
AliDebug(1,Form("Number of contributors = %d",ncontr));
Double_t ex = vert->GetXRes();
fMultH->Fill(mult);
fErrXH->Fill(ex*1000.);
fContrH->Fill((Float_t)ncontr);
if(ncontr>fFilterOnContributors && (mult>fLowSPD0 && mult<fHighSPD0) &&
((ex*1000.)<fErrXCut)) {
status = kTRUE;
fMultHa->Fill(mult);
fErrXHa->Fill(ex*1000.);
fContrHa->Fill((Float_t)ncontr);
}
return status;
}
void AliITSMeanVertexer::AddToMean(AliESDVertex *vert){
Double_t currentPos[3],currentSigma[3];
vert->GetXYZ(currentPos);
vert->GetSigmaXYZ(currentSigma);
Bool_t goon = kTRUE;
for(Int_t i=0;i<3;i++)if(currentSigma[i] == 0.)goon = kFALSE;
if(!goon)return;
for(Int_t i=0;i<3;i++){
fWeighPosSum[i]+=currentPos[i]/currentSigma[i]/currentSigma[i];
fWeighSigSum[i]+=1./currentSigma[i]/currentSigma[i];
fAverPosSum[i]+=currentPos[i];
}
for(Int_t i=0;i<3;i++){
for(Int_t j=i;j<3;j++){
fAverPosSqSum[i][j] += currentPos[i] * currentPos[j];
}
}
fTotContributors+=vert->GetNContributors();
fVertexXY->Fill(currentPos[0],currentPos[1]);
fVertexZ->Fill(currentPos[2]);
fNoEventsContr++;
}
Bool_t AliITSMeanVertexer::ComputeMean(Bool_t killOutliers){
static Bool_t preliminary = kTRUE;
static Int_t oldnumbevt = 0;
if(!(preliminary || killOutliers))return kTRUE;
Double_t wpos[3];
for(Int_t i=0;i<3;i++)wpos[i]=fWeighPos[i];
Int_t istart = oldnumbevt;
if(killOutliers)istart = 0;
if(killOutliers && preliminary){
preliminary = kFALSE;
Reset(kTRUE,kFALSE);
}
oldnumbevt = fVertArray.GetEntries();
for(Int_t i=istart;i<fVertArray.GetEntries();i++){
AliESDVertex* vert = NULL;
if(killOutliers && fAccEvents.TestBitNumber(i)){
vert=(AliESDVertex*)fVertArray[i];
Double_t dist=(vert->GetX()-wpos[0])*(vert->GetX()-wpos[0]);
dist+=(vert->GetY()-wpos[1])*(vert->GetY()-wpos[1]);
dist=sqrt(dist)*10.;
fDistH->Fill(dist);
if(dist>fRCut)fAccEvents.SetBitNumber(i,kFALSE);
}
if(!fAccEvents.TestBitNumber(i))continue;
vert=(AliESDVertex*)fVertArray[i];
AddToMean(vert);
}
Bool_t bad = ((!killOutliers) && fNoEventsContr < 5) || (killOutliers && fNoEventsContr <2);
if(bad) {
if(killOutliers){
ResetArray();
Reset(kFALSE,kTRUE);
preliminary = kTRUE;
oldnumbevt = 0;
}
return kFALSE;
}
Double_t nevents = fNoEventsContr;
for(Int_t i=0;i<3;i++){
fWeighPos[i] = fWeighPosSum[i]/fWeighSigSum[i];
fWeighSig[i] = 1./TMath::Sqrt(fWeighSigSum[i]);
fAverPos[i] = fAverPosSum[i]/nevents;
}
for(Int_t i=0;i<3;i++){
for(Int_t j=i;j<3;j++){
fAverPosSq[i][j] = fAverPosSqSum[i][j]/(nevents -1.);
fAverPosSq[i][j] -= nevents/(nevents -1.)*fAverPos[i]*fAverPos[j];
}
}
if(killOutliers)ResetArray();
fAverContributors = fTotContributors/nevents;
return kTRUE;
}
AliITSMeanVertexer.cxx:10 AliITSMeanVertexer.cxx:11 AliITSMeanVertexer.cxx:12 AliITSMeanVertexer.cxx:13 AliITSMeanVertexer.cxx:14 AliITSMeanVertexer.cxx:15 AliITSMeanVertexer.cxx:16 AliITSMeanVertexer.cxx:17 AliITSMeanVertexer.cxx:18 AliITSMeanVertexer.cxx:19 AliITSMeanVertexer.cxx:20 AliITSMeanVertexer.cxx:21 AliITSMeanVertexer.cxx:22 AliITSMeanVertexer.cxx:23 AliITSMeanVertexer.cxx:24 AliITSMeanVertexer.cxx:25 AliITSMeanVertexer.cxx:26 AliITSMeanVertexer.cxx:27 AliITSMeanVertexer.cxx:28 AliITSMeanVertexer.cxx:29 AliITSMeanVertexer.cxx:30 AliITSMeanVertexer.cxx:31 AliITSMeanVertexer.cxx:32 AliITSMeanVertexer.cxx:33 AliITSMeanVertexer.cxx:34 AliITSMeanVertexer.cxx:35 AliITSMeanVertexer.cxx:36 AliITSMeanVertexer.cxx:37 AliITSMeanVertexer.cxx:38 AliITSMeanVertexer.cxx:39 AliITSMeanVertexer.cxx:40 AliITSMeanVertexer.cxx:41 AliITSMeanVertexer.cxx:42 AliITSMeanVertexer.cxx:43 AliITSMeanVertexer.cxx:44 AliITSMeanVertexer.cxx:45 AliITSMeanVertexer.cxx:46 AliITSMeanVertexer.cxx:47 AliITSMeanVertexer.cxx:48 AliITSMeanVertexer.cxx:49 AliITSMeanVertexer.cxx:50 AliITSMeanVertexer.cxx:51 AliITSMeanVertexer.cxx:52 AliITSMeanVertexer.cxx:53 AliITSMeanVertexer.cxx:54 AliITSMeanVertexer.cxx:55 AliITSMeanVertexer.cxx:56 AliITSMeanVertexer.cxx:57 AliITSMeanVertexer.cxx:58 AliITSMeanVertexer.cxx:59 AliITSMeanVertexer.cxx:60 AliITSMeanVertexer.cxx:61 AliITSMeanVertexer.cxx:62 AliITSMeanVertexer.cxx:63 AliITSMeanVertexer.cxx:64 AliITSMeanVertexer.cxx:65 AliITSMeanVertexer.cxx:66 AliITSMeanVertexer.cxx:67 AliITSMeanVertexer.cxx:68 AliITSMeanVertexer.cxx:69 AliITSMeanVertexer.cxx:70 AliITSMeanVertexer.cxx:71 AliITSMeanVertexer.cxx:72 AliITSMeanVertexer.cxx:73 AliITSMeanVertexer.cxx:74 AliITSMeanVertexer.cxx:75 AliITSMeanVertexer.cxx:76 AliITSMeanVertexer.cxx:77 AliITSMeanVertexer.cxx:78 AliITSMeanVertexer.cxx:79 AliITSMeanVertexer.cxx:80 AliITSMeanVertexer.cxx:81 AliITSMeanVertexer.cxx:82 AliITSMeanVertexer.cxx:83 AliITSMeanVertexer.cxx:84 AliITSMeanVertexer.cxx:85 AliITSMeanVertexer.cxx:86 AliITSMeanVertexer.cxx:87 AliITSMeanVertexer.cxx:88 AliITSMeanVertexer.cxx:89 AliITSMeanVertexer.cxx:90 AliITSMeanVertexer.cxx:91 AliITSMeanVertexer.cxx:92 AliITSMeanVertexer.cxx:93 AliITSMeanVertexer.cxx:94 AliITSMeanVertexer.cxx:95 AliITSMeanVertexer.cxx:96 AliITSMeanVertexer.cxx:97 AliITSMeanVertexer.cxx:98 AliITSMeanVertexer.cxx:99 AliITSMeanVertexer.cxx:100 AliITSMeanVertexer.cxx:101 AliITSMeanVertexer.cxx:102 AliITSMeanVertexer.cxx:103 AliITSMeanVertexer.cxx:104 AliITSMeanVertexer.cxx:105 AliITSMeanVertexer.cxx:106 AliITSMeanVertexer.cxx:107 AliITSMeanVertexer.cxx:108 AliITSMeanVertexer.cxx:109 AliITSMeanVertexer.cxx:110 AliITSMeanVertexer.cxx:111 AliITSMeanVertexer.cxx:112 AliITSMeanVertexer.cxx:113 AliITSMeanVertexer.cxx:114 AliITSMeanVertexer.cxx:115 AliITSMeanVertexer.cxx:116 AliITSMeanVertexer.cxx:117 AliITSMeanVertexer.cxx:118 AliITSMeanVertexer.cxx:119 AliITSMeanVertexer.cxx:120 AliITSMeanVertexer.cxx:121 AliITSMeanVertexer.cxx:122 AliITSMeanVertexer.cxx:123 AliITSMeanVertexer.cxx:124 AliITSMeanVertexer.cxx:125 AliITSMeanVertexer.cxx:126 AliITSMeanVertexer.cxx:127 AliITSMeanVertexer.cxx:128 AliITSMeanVertexer.cxx:129 AliITSMeanVertexer.cxx:130 AliITSMeanVertexer.cxx:131 AliITSMeanVertexer.cxx:132 AliITSMeanVertexer.cxx:133 AliITSMeanVertexer.cxx:134 AliITSMeanVertexer.cxx:135 AliITSMeanVertexer.cxx:136 AliITSMeanVertexer.cxx:137 AliITSMeanVertexer.cxx:138 AliITSMeanVertexer.cxx:139 AliITSMeanVertexer.cxx:140 AliITSMeanVertexer.cxx:141 AliITSMeanVertexer.cxx:142 AliITSMeanVertexer.cxx:143 AliITSMeanVertexer.cxx:144 AliITSMeanVertexer.cxx:145 AliITSMeanVertexer.cxx:146 AliITSMeanVertexer.cxx:147 AliITSMeanVertexer.cxx:148 AliITSMeanVertexer.cxx:149 AliITSMeanVertexer.cxx:150 AliITSMeanVertexer.cxx:151 AliITSMeanVertexer.cxx:152 AliITSMeanVertexer.cxx:153 AliITSMeanVertexer.cxx:154 AliITSMeanVertexer.cxx:155 AliITSMeanVertexer.cxx:156 AliITSMeanVertexer.cxx:157 AliITSMeanVertexer.cxx:158 AliITSMeanVertexer.cxx:159 AliITSMeanVertexer.cxx:160 AliITSMeanVertexer.cxx:161 AliITSMeanVertexer.cxx:162 AliITSMeanVertexer.cxx:163 AliITSMeanVertexer.cxx:164 AliITSMeanVertexer.cxx:165 AliITSMeanVertexer.cxx:166 AliITSMeanVertexer.cxx:167 AliITSMeanVertexer.cxx:168 AliITSMeanVertexer.cxx:169 AliITSMeanVertexer.cxx:170 AliITSMeanVertexer.cxx:171 AliITSMeanVertexer.cxx:172 AliITSMeanVertexer.cxx:173 AliITSMeanVertexer.cxx:174 AliITSMeanVertexer.cxx:175 AliITSMeanVertexer.cxx:176 AliITSMeanVertexer.cxx:177 AliITSMeanVertexer.cxx:178 AliITSMeanVertexer.cxx:179 AliITSMeanVertexer.cxx:180 AliITSMeanVertexer.cxx:181 AliITSMeanVertexer.cxx:182 AliITSMeanVertexer.cxx:183 AliITSMeanVertexer.cxx:184 AliITSMeanVertexer.cxx:185 AliITSMeanVertexer.cxx:186 AliITSMeanVertexer.cxx:187 AliITSMeanVertexer.cxx:188 AliITSMeanVertexer.cxx:189 AliITSMeanVertexer.cxx:190 AliITSMeanVertexer.cxx:191 AliITSMeanVertexer.cxx:192 AliITSMeanVertexer.cxx:193 AliITSMeanVertexer.cxx:194 AliITSMeanVertexer.cxx:195 AliITSMeanVertexer.cxx:196 AliITSMeanVertexer.cxx:197 AliITSMeanVertexer.cxx:198 AliITSMeanVertexer.cxx:199 AliITSMeanVertexer.cxx:200 AliITSMeanVertexer.cxx:201 AliITSMeanVertexer.cxx:202 AliITSMeanVertexer.cxx:203 AliITSMeanVertexer.cxx:204 AliITSMeanVertexer.cxx:205 AliITSMeanVertexer.cxx:206 AliITSMeanVertexer.cxx:207 AliITSMeanVertexer.cxx:208 AliITSMeanVertexer.cxx:209 AliITSMeanVertexer.cxx:210 AliITSMeanVertexer.cxx:211 AliITSMeanVertexer.cxx:212 AliITSMeanVertexer.cxx:213 AliITSMeanVertexer.cxx:214 AliITSMeanVertexer.cxx:215 AliITSMeanVertexer.cxx:216 AliITSMeanVertexer.cxx:217 AliITSMeanVertexer.cxx:218 AliITSMeanVertexer.cxx:219 AliITSMeanVertexer.cxx:220 AliITSMeanVertexer.cxx:221 AliITSMeanVertexer.cxx:222 AliITSMeanVertexer.cxx:223 AliITSMeanVertexer.cxx:224 AliITSMeanVertexer.cxx:225 AliITSMeanVertexer.cxx:226 AliITSMeanVertexer.cxx:227 AliITSMeanVertexer.cxx:228 AliITSMeanVertexer.cxx:229 AliITSMeanVertexer.cxx:230 AliITSMeanVertexer.cxx:231 AliITSMeanVertexer.cxx:232 AliITSMeanVertexer.cxx:233 AliITSMeanVertexer.cxx:234 AliITSMeanVertexer.cxx:235 AliITSMeanVertexer.cxx:236 AliITSMeanVertexer.cxx:237 AliITSMeanVertexer.cxx:238 AliITSMeanVertexer.cxx:239 AliITSMeanVertexer.cxx:240 AliITSMeanVertexer.cxx:241 AliITSMeanVertexer.cxx:242 AliITSMeanVertexer.cxx:243 AliITSMeanVertexer.cxx:244 AliITSMeanVertexer.cxx:245 AliITSMeanVertexer.cxx:246 AliITSMeanVertexer.cxx:247 AliITSMeanVertexer.cxx:248 AliITSMeanVertexer.cxx:249 AliITSMeanVertexer.cxx:250 AliITSMeanVertexer.cxx:251 AliITSMeanVertexer.cxx:252 AliITSMeanVertexer.cxx:253 AliITSMeanVertexer.cxx:254 AliITSMeanVertexer.cxx:255 AliITSMeanVertexer.cxx:256 AliITSMeanVertexer.cxx:257 AliITSMeanVertexer.cxx:258 AliITSMeanVertexer.cxx:259 AliITSMeanVertexer.cxx:260 AliITSMeanVertexer.cxx:261 AliITSMeanVertexer.cxx:262 AliITSMeanVertexer.cxx:263 AliITSMeanVertexer.cxx:264 AliITSMeanVertexer.cxx:265 AliITSMeanVertexer.cxx:266 AliITSMeanVertexer.cxx:267 AliITSMeanVertexer.cxx:268 AliITSMeanVertexer.cxx:269 AliITSMeanVertexer.cxx:270 AliITSMeanVertexer.cxx:271 AliITSMeanVertexer.cxx:272 AliITSMeanVertexer.cxx:273 AliITSMeanVertexer.cxx:274 AliITSMeanVertexer.cxx:275 AliITSMeanVertexer.cxx:276 AliITSMeanVertexer.cxx:277 AliITSMeanVertexer.cxx:278 AliITSMeanVertexer.cxx:279 AliITSMeanVertexer.cxx:280 AliITSMeanVertexer.cxx:281 AliITSMeanVertexer.cxx:282 AliITSMeanVertexer.cxx:283 AliITSMeanVertexer.cxx:284 AliITSMeanVertexer.cxx:285 AliITSMeanVertexer.cxx:286 AliITSMeanVertexer.cxx:287 AliITSMeanVertexer.cxx:288 AliITSMeanVertexer.cxx:289 AliITSMeanVertexer.cxx:290 AliITSMeanVertexer.cxx:291 AliITSMeanVertexer.cxx:292 AliITSMeanVertexer.cxx:293 AliITSMeanVertexer.cxx:294 AliITSMeanVertexer.cxx:295 AliITSMeanVertexer.cxx:296 AliITSMeanVertexer.cxx:297 AliITSMeanVertexer.cxx:298 AliITSMeanVertexer.cxx:299 AliITSMeanVertexer.cxx:300 AliITSMeanVertexer.cxx:301 AliITSMeanVertexer.cxx:302 AliITSMeanVertexer.cxx:303 AliITSMeanVertexer.cxx:304 AliITSMeanVertexer.cxx:305 AliITSMeanVertexer.cxx:306 AliITSMeanVertexer.cxx:307 AliITSMeanVertexer.cxx:308 AliITSMeanVertexer.cxx:309 AliITSMeanVertexer.cxx:310 AliITSMeanVertexer.cxx:311 AliITSMeanVertexer.cxx:312 AliITSMeanVertexer.cxx:313 AliITSMeanVertexer.cxx:314 AliITSMeanVertexer.cxx:315 AliITSMeanVertexer.cxx:316 AliITSMeanVertexer.cxx:317 AliITSMeanVertexer.cxx:318 AliITSMeanVertexer.cxx:319 AliITSMeanVertexer.cxx:320 AliITSMeanVertexer.cxx:321 AliITSMeanVertexer.cxx:322 AliITSMeanVertexer.cxx:323 AliITSMeanVertexer.cxx:324 AliITSMeanVertexer.cxx:325 AliITSMeanVertexer.cxx:326 AliITSMeanVertexer.cxx:327 AliITSMeanVertexer.cxx:328 AliITSMeanVertexer.cxx:329 AliITSMeanVertexer.cxx:330 AliITSMeanVertexer.cxx:331 AliITSMeanVertexer.cxx:332 AliITSMeanVertexer.cxx:333 AliITSMeanVertexer.cxx:334 AliITSMeanVertexer.cxx:335 AliITSMeanVertexer.cxx:336 AliITSMeanVertexer.cxx:337 AliITSMeanVertexer.cxx:338 AliITSMeanVertexer.cxx:339 AliITSMeanVertexer.cxx:340 AliITSMeanVertexer.cxx:341 AliITSMeanVertexer.cxx:342 AliITSMeanVertexer.cxx:343 AliITSMeanVertexer.cxx:344 AliITSMeanVertexer.cxx:345 AliITSMeanVertexer.cxx:346 AliITSMeanVertexer.cxx:347 AliITSMeanVertexer.cxx:348 AliITSMeanVertexer.cxx:349 AliITSMeanVertexer.cxx:350 AliITSMeanVertexer.cxx:351 AliITSMeanVertexer.cxx:352 AliITSMeanVertexer.cxx:353 AliITSMeanVertexer.cxx:354 AliITSMeanVertexer.cxx:355 AliITSMeanVertexer.cxx:356 AliITSMeanVertexer.cxx:357 AliITSMeanVertexer.cxx:358 AliITSMeanVertexer.cxx:359 AliITSMeanVertexer.cxx:360 AliITSMeanVertexer.cxx:361 AliITSMeanVertexer.cxx:362 AliITSMeanVertexer.cxx:363 AliITSMeanVertexer.cxx:364 AliITSMeanVertexer.cxx:365 AliITSMeanVertexer.cxx:366 AliITSMeanVertexer.cxx:367 AliITSMeanVertexer.cxx:368 AliITSMeanVertexer.cxx:369 AliITSMeanVertexer.cxx:370 AliITSMeanVertexer.cxx:371 AliITSMeanVertexer.cxx:372 AliITSMeanVertexer.cxx:373 AliITSMeanVertexer.cxx:374 AliITSMeanVertexer.cxx:375 AliITSMeanVertexer.cxx:376 AliITSMeanVertexer.cxx:377 AliITSMeanVertexer.cxx:378 AliITSMeanVertexer.cxx:379 AliITSMeanVertexer.cxx:380 AliITSMeanVertexer.cxx:381 AliITSMeanVertexer.cxx:382 AliITSMeanVertexer.cxx:383 AliITSMeanVertexer.cxx:384 AliITSMeanVertexer.cxx:385 AliITSMeanVertexer.cxx:386 AliITSMeanVertexer.cxx:387 AliITSMeanVertexer.cxx:388 AliITSMeanVertexer.cxx:389 AliITSMeanVertexer.cxx:390 AliITSMeanVertexer.cxx:391 AliITSMeanVertexer.cxx:392 AliITSMeanVertexer.cxx:393 AliITSMeanVertexer.cxx:394 AliITSMeanVertexer.cxx:395 AliITSMeanVertexer.cxx:396 AliITSMeanVertexer.cxx:397 AliITSMeanVertexer.cxx:398 AliITSMeanVertexer.cxx:399 AliITSMeanVertexer.cxx:400 AliITSMeanVertexer.cxx:401 AliITSMeanVertexer.cxx:402 AliITSMeanVertexer.cxx:403 AliITSMeanVertexer.cxx:404 AliITSMeanVertexer.cxx:405 AliITSMeanVertexer.cxx:406 AliITSMeanVertexer.cxx:407 AliITSMeanVertexer.cxx:408 AliITSMeanVertexer.cxx:409 AliITSMeanVertexer.cxx:410 AliITSMeanVertexer.cxx:411 AliITSMeanVertexer.cxx:412 AliITSMeanVertexer.cxx:413 AliITSMeanVertexer.cxx:414 AliITSMeanVertexer.cxx:415 AliITSMeanVertexer.cxx:416 AliITSMeanVertexer.cxx:417 AliITSMeanVertexer.cxx:418 AliITSMeanVertexer.cxx:419 AliITSMeanVertexer.cxx:420 AliITSMeanVertexer.cxx:421 AliITSMeanVertexer.cxx:422 AliITSMeanVertexer.cxx:423 AliITSMeanVertexer.cxx:424 AliITSMeanVertexer.cxx:425 AliITSMeanVertexer.cxx:426 AliITSMeanVertexer.cxx:427 AliITSMeanVertexer.cxx:428 AliITSMeanVertexer.cxx:429 AliITSMeanVertexer.cxx:430 AliITSMeanVertexer.cxx:431 AliITSMeanVertexer.cxx:432 AliITSMeanVertexer.cxx:433