ROOT logo
/**************************************************************************
 * Copyright(c) 1998-2011, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/

/*

*/   
// Mean Vertex preprocessor:
// 2) takes data after  pass0 , 
// processes it, and stores either to OCDB .
//
// Davide Caffarri

#include "AliMeanVertexPreprocessorOffline.h"

#include "AliCDBStorage.h"
#include "AliCDBMetaData.h"
#include "AliCDBManager.h"
#include "AliCDBEntry.h"
#include "AliLog.h"

#include <TTimeStamp.h>
#include <TFile.h>
#include <TObjString.h>
#include <TNamed.h>
#include "TClass.h"
#include <TCanvas.h>

#include "AliESDVertex.h"
#include "TH1F.h"
#include "TH2F.h"
#include "TF1.h"
#include "TProfile.h"


ClassImp(AliMeanVertexPreprocessorOffline)

//_______________________________________________________  
  
  const Char_t *AliMeanVertexPreprocessorOffline::fgkStatusCodeName[AliMeanVertexPreprocessorOffline::kNStatusCodes] = {
  "ok",
  "open file error or missing histos",
  "too low statistics",
  "problems storing OCDB",
  "write MeanVertex computed online",
  "write SPD vtx offline",
  "lumi region or cov matrix computation problems, default values set"
};


//____________________________________________________
AliMeanVertexPreprocessorOffline::AliMeanVertexPreprocessorOffline():
  TNamed("AliMeanVertexPreprocessorOffline","AliMeanVertexPreprocessorOffline"),
  fStatus(kOk)
{
  //constructor
}
//____________________________________________________

AliMeanVertexPreprocessorOffline::~AliMeanVertexPreprocessorOffline()
{
  //destructor

}
//____________________________________________________
void AliMeanVertexPreprocessorOffline::ProcessOutput(const char *filename, AliCDBStorage *db, Int_t runNb){
	
	TFile *file = TFile::Open(filename);
	if (!file || !file->IsOpen()){
		AliError(Form("cannot open outputfile %s", filename));
		fStatus=kInputError;
		return; 
	}

	if (!db){
	  AliError(Form("no OCDB storage found, return"));
	  fStatus=kInputError;
	  return;
	}
    
	
	TList *list = (TList*)file->Get("MeanVertex");				
	
	TH1F *histTRKvtxX = 0x0;
	TH1F *histTRKvtxY = 0x0;
	TH1F *histTRKvtxZ = 0x0;
	
	TH1F *histSPDvtxX = 0x0;
	TH1F *histSPDvtxY = 0x0;
	TH1F *histSPDvtxZ = 0x0;
	
	
	Bool_t useTRKvtx = kTRUE;
	Bool_t useITSSAvtx = kFALSE;
	Bool_t useSPDvtx = kFALSE;
	Bool_t spdAvailable = kTRUE;
	Bool_t writeMeanVertexSPD = kFALSE;
	Bool_t vertexerSPD3Doff=kFALSE;
	
	
    if (!list) {
		
      histTRKvtxX = (TH1F*)file->Get("hTRKVertexX");
      histTRKvtxY = (TH1F*)file->Get("hTRKVertexY");
      histTRKvtxZ = (TH1F*)file->Get("hTRKVertexZ");
      
      histSPDvtxX = (TH1F*)file->Get("hSPDVertexX");
      histSPDvtxY = (TH1F*)file->Get("hSPDVertexY");
      histSPDvtxZ = (TH1F*)file->Get("hSPDVertexZ");
      
      if (!histTRKvtxX || !histTRKvtxY || !histTRKvtxZ){
	
	useTRKvtx = kFALSE;
	useITSSAvtx = kTRUE;
	
	histTRKvtxX = (TH1F*)file->FindObject("hITSSAVertexX");
	histTRKvtxY = (TH1F*)file->FindObject("hITSSAVertexY");
	histTRKvtxZ = (TH1F*)file->FindObject("hITSSAVertexZ");
	
	if (!histTRKvtxX || !histTRKvtxY || !histTRKvtxZ){
	  
	  useITSSAvtx=kFALSE;
	  useSPDvtx=kTRUE;
	  
	  if (!histSPDvtxX || !histSPDvtxY || !histSPDvtxZ){
	    AliError(Form("cannot find any histograms available from file"));
	    fStatus=kInputError;
	    return;
	  }	
	}
      }
    }	
    
    else{
		
      histTRKvtxX = (TH1F*)list->FindObject("hTRKVertexX");
      histTRKvtxY = (TH1F*)list->FindObject("hTRKVertexY");
      histTRKvtxZ = (TH1F*)list->FindObject("hTRKVertexZ");
      
      histSPDvtxX = (TH1F*)list->FindObject("hSPDVertexX");
      histSPDvtxY = (TH1F*)list->FindObject("hSPDVertexY");
      histSPDvtxZ = (TH1F*)list->FindObject("hSPDVertexZ");
      
      if (!histTRKvtxX || !histTRKvtxY || !histTRKvtxZ){
	
	useTRKvtx = kFALSE;
	useITSSAvtx = kTRUE;
	
	histTRKvtxX = (TH1F*)list->FindObject("hITSSAVertexX");
	histTRKvtxY = (TH1F*)list->FindObject("hITSSAVertexY");
	histTRKvtxZ = (TH1F*)list->FindObject("hITSSAVertexZ");
	
	if (!histTRKvtxX || !histTRKvtxY || !histTRKvtxZ){
	  
	  useITSSAvtx=kFALSE;
	  useSPDvtx=kTRUE;
	  
	  if (!histSPDvtxX || !histSPDvtxY || !histSPDvtxZ){
	    AliError(Form("cannot find any histograms available from list"));
	    fStatus=kInputError;
	    return;
	  }	
	}			 			 
	
      }
    }
    
    
    if (useTRKvtx){
      
      Float_t nEntriesX = histTRKvtxX->GetEffectiveEntries(); 					 
      Float_t nEntriesY = histTRKvtxY->GetEffectiveEntries(); 			 
      Float_t nEntriesZ = histTRKvtxZ->GetEffectiveEntries(); 			 
      
      if (nEntriesX < 50. || nEntriesY<50. || nEntriesZ<50.) {
	AliError(Form("TRK vertex histograms have too few entries for fitting"));
	useTRKvtx=kFALSE;
	useSPDvtx = kTRUE;	
      }
    }
    if (useITSSAvtx){
      
      Float_t nEntriesX = histTRKvtxX->GetEffectiveEntries(); 					 
      Float_t nEntriesY = histTRKvtxY->GetEffectiveEntries(); 			 
      Float_t nEntriesZ = histTRKvtxZ->GetEffectiveEntries(); 			 
      
      if (nEntriesX < 50. || nEntriesY<50. || nEntriesZ<50.) {
	AliError(Form("ITSSA vertex histograms have too few entries for fitting"));
	useITSSAvtx=kFALSE;
	useSPDvtx=kTRUE;
      }
    }
    
    Float_t nEntriesX = histSPDvtxX->GetEffectiveEntries(); 					 
    Float_t nEntriesY = histSPDvtxY->GetEffectiveEntries(); 			 
    Float_t nEntriesZ = histSPDvtxZ->GetEffectiveEntries(); 
    
    if (nEntriesX < 50. || nEntriesY<50. || nEntriesZ<50.) {
      spdAvailable = kFALSE;
      if ((useTRKvtx==kFALSE) && (useITSSAvtx==kFALSE)){
	AliError(Form("Also SPD vertex histograms have too few entries for fitting, return"));
	fStatus=kLowStatistics;
	return;		 
      }
    }
    
    if((nEntriesX == 0.)&&(nEntriesY==0.) && (nEntriesZ>0.)){
      vertexerSPD3Doff = kTRUE;
      AliWarning("Vertexer SPD 3D off");
    }
    
    Double_t xMeanVtx=0., yMeanVtx=0., zMeanVtx=0.;
    Double_t xSigmaVtx=0., ySigmaVtx=0., zSigmaVtx=0.;
    
    
    TF1 *fitVtxX, *fitVtxY, *fitVtxZ;
    
    if (useTRKvtx || useITSSAvtx){
      histTRKvtxX ->Fit("gaus", "M");
      fitVtxX = histTRKvtxX -> GetFunction("gaus");
      xMeanVtx = fitVtxX -> GetParameter(1);
      if (TMath::Abs(xMeanVtx) > 2.) {
	xMeanVtx = 0.;
	writeMeanVertexSPD=kTRUE;
	fStatus=kWriteMeanVertexSPD;
      }	
      
      histTRKvtxY ->Fit("gaus", "M");
      fitVtxY = histTRKvtxY -> GetFunction("gaus");
      yMeanVtx = fitVtxY -> GetParameter(1);
      if (TMath::Abs(yMeanVtx) > 2.) {
	yMeanVtx = 0.;
	writeMeanVertexSPD=kTRUE;
	fStatus=kWriteMeanVertexSPD;
      }	
      
      histTRKvtxZ ->Fit("gaus", "M", "", -12, 12);
      fitVtxZ = histTRKvtxZ -> GetFunction("gaus");
      zMeanVtx = fitVtxZ -> GetParameter(1);
      zSigmaVtx = fitVtxZ -> GetParameter(2);
      if ((TMath::Abs(zMeanVtx) > 20.) || (zSigmaVtx>12.)) {
	zMeanVtx = histTRKvtxZ->GetMean();
	zSigmaVtx = histTRKvtxZ->GetRMS();
	writeMeanVertexSPD=kTRUE;
	fStatus=kWriteMeanVertexSPD;
      }	
      
    }
    
    
    //check fits: compare histo mean with fit mean value 
    Double_t xHistoMean, yHistoMean, zHistoMean;
    Double_t xHistoRMS, yHistoRMS, zHistoRMS;
    
    if (useTRKvtx || useITSSAvtx){
      xHistoMean = histTRKvtxX -> GetMean();	
      xHistoRMS = histTRKvtxX ->GetRMS();
      
      if ((TMath::Abs(xHistoMean-xMeanVtx) > 0.5)){
	AliWarning(Form("Possible problems with the fit mean very different from histo mean... using SPD vertex"));
	useTRKvtx = kFALSE;
	useITSSAvtx = kFALSE;
	useSPDvtx = kTRUE;
	fStatus=kUseOfflineSPDvtx;
      }
      
      yHistoMean = histTRKvtxY ->GetMean();	
      yHistoRMS = histTRKvtxY ->GetRMS();
      
      if ((TMath::Abs(yHistoMean-yMeanVtx) > 0.5)){
	AliWarning(Form("Possible problems with the fit mean very different from histo mean... using SPD vertex"));
	useTRKvtx = kFALSE;
	useITSSAvtx = kFALSE;
	useSPDvtx = kTRUE;
	fStatus=kUseOfflineSPDvtx;
      }
      
      zHistoMean = histTRKvtxZ -> GetMean();	
      zHistoRMS = histTRKvtxZ ->GetRMS();
      
      if ((TMath::Abs(zHistoMean-zMeanVtx) > 1.)){
	AliWarning(Form("Possible problems with the fit mean very different from histo mean... using SPD vertex"));
	useTRKvtx = kFALSE;
	useITSSAvtx = kFALSE;
	useSPDvtx = kTRUE;
	fStatus=kUseOfflineSPDvtx;
      }
      AliDebug(2, Form("xHistoRMS = %f, yHistoRMS = %f, zHistoRMS = %f", xHistoRMS, yHistoRMS, zHistoRMS)); 
    }
    
    
    if ((useSPDvtx) && (spdAvailable) && (!vertexerSPD3Doff)){
      
      histSPDvtxX ->Fit("gaus", "M");
      fitVtxX = histSPDvtxX -> GetFunction("gaus");
      xMeanVtx = fitVtxX -> GetParameter(1);
      xSigmaVtx = fitVtxX -> GetParameter(2);
      if (TMath::Abs(xMeanVtx) > 2.) {
	xMeanVtx = 0.;
	writeMeanVertexSPD=kTRUE;
      }
      
      histSPDvtxY ->Fit("gaus", "M");
      fitVtxY = histSPDvtxY -> GetFunction("gaus");
      yMeanVtx = fitVtxY -> GetParameter(1);
      ySigmaVtx = fitVtxY -> GetParameter(2);
      if (TMath::Abs(yMeanVtx) > 2.) {
	yMeanVtx = 0.;
	writeMeanVertexSPD=kTRUE;
      }	
      
      histSPDvtxZ ->Fit("gaus", "M", "", -12, 12);
      fitVtxZ = histSPDvtxZ -> GetFunction("gaus");
      zMeanVtx = fitVtxZ -> GetParameter(1);
      zSigmaVtx = fitVtxZ -> GetParameter(2);
      if ((TMath::Abs(zMeanVtx) > 20.) || (zSigmaVtx>12.)) {
	zMeanVtx = histSPDvtxZ ->GetMean();
	zSigmaVtx = histSPDvtxZ->GetRMS();
	writeMeanVertexSPD = kTRUE;
      }	
      
    }
    else if ((useSPDvtx) && (!spdAvailable)){
      AliError(Form("Difference between trkVtx and online one, SPD histos not enough entry or SPD 3D vertex off. Writing Mean Vertex SPD"));
      writeMeanVertexSPD = kTRUE;	
    }
    
    
    //check with online position
    
    Double_t posOnline[3], sigmaOnline[3];
    
    if (useTRKvtx || useITSSAvtx || writeMeanVertexSPD){
      AliCDBManager *manCheck = AliCDBManager::Instance();
      manCheck->SetDefaultStorage("raw://");
      manCheck->SetRun(runNb);
		
      AliCDBEntry *entr = manCheck->Get("GRP/Calib/MeanVertexSPD");
      if(entr) {
	AliESDVertex *vtxOnline = (AliESDVertex*)entr->GetObject();
	
	posOnline[0] = vtxOnline->GetX();
	posOnline[1] = vtxOnline->GetY();
	posOnline[2] = vtxOnline->GetZ();
	
	sigmaOnline[0] = vtxOnline->GetXRes();
	sigmaOnline[1] = vtxOnline->GetYRes();
	sigmaOnline[2] = vtxOnline->GetZRes();
	
	AliDebug(2, Form("sigmaOnline[0] = %f, sigmaOnline[1] = %f, sigmaOnline[2] = %f", sigmaOnline[0], sigmaOnline[1], sigmaOnline[2]));
	//vtxOnline->GetSigmaXYZ(sigmaOnline);
	
	if ((TMath::Abs(posOnline[0]-xMeanVtx) > 0.1) || (TMath::Abs(posOnline[1]-yMeanVtx) > 0.1) || (TMath::Abs(posOnline[2]-zMeanVtx) > 1.)){
	  AliWarning(Form("vertex offline far from the online one"));
	}
      }
    }
    
    
    
    if (writeMeanVertexSPD){
      
      AliWarning(Form("Writing Mean Vertex SPD, Mean Vertex not available"));
      
      Double_t sigma[3]={0.0150, 0.0150, zSigmaVtx};
      
      AliESDVertex  *vertex =  new AliESDVertex(posOnline, sigma, "vertex");
      
      AliCDBId id("GRP/Calib/MeanVertex", runNb, runNb);
      
      AliCDBMetaData metaData;
      metaData.SetBeamPeriod(0); //check!!!!
      metaData.SetResponsible("Davide Caffarri");
      metaData.SetComment("Mean Vertex object used in reconstruction");
      
      if (!db->Put(vertex, id, &metaData)) {
	AliError(Form("Error while putting object in storage %s", db->GetURI().Data()));
      }
      
      delete vertex;
      return;	
    }
    
    
    Float_t meanMult = 40.;
    Float_t p2 = 1.4;
    Float_t resolVtx = 0.05;
    
    Double_t xSigmaMult, ySigmaMult, corrXZ, corrYZ, lumiRegSquaredX, lumiRegSquaredY;
    Double_t covarXZ=0., covarYZ=0.;
    
    Bool_t highMultEnvironment = kFALSE;
    Bool_t highMultppEnvironment = kFALSE;
    Bool_t lowMultppEnvironment = kFALSE;
    
    TF1 *sigmaFitX, *sigmaFitY, *corrFit;
    
    //TH1F *histTRKdefMultX=0;
    //TH1F *histTRKdefMultY=0;
    TH1F *histTRKHighMultX=0;
    TH1F *histTRKHighMultY=0;
    TH2F *histTRKVertexXZ=0;
    TH2F *histTRKVertexYZ=0;
    
    TH2F *histTRKvsMultX=0x0;
    TH2F *histTRKvsMultY=0x0;
    
    if (useTRKvtx){
      if (list){
	      //histTRKdefMultX = (TH1F*)list->FindObject("hTRKVertexXdefMult");
	      //histTRKdefMultY = (TH1F*)list->FindObject("hTRKVertexYdefMult");
	histTRKHighMultX = (TH1F*)list->FindObject("hTRKVertexXHighMult");
	histTRKHighMultY = (TH1F*)list->FindObject("hTRKVertexYHighMult");
	
	histTRKvsMultX = (TH2F*)list->FindObject("hTRKVertexXvsMult");
	histTRKvsMultY = (TH2F*)list->FindObject("hTRKVertexYvsMult");
	
	histTRKVertexXZ = (TH2F*)list->FindObject("hTRKVertexXZ");
	histTRKVertexYZ = (TH2F*)list->FindObject("hTRKVertexYZ");
      }
      
      else {
	      //histTRKdefMultX = (TH1F*)file->Get("hTRKVertexXdefMult");
	      //histTRKdefMultY = (TH1F*)file->Get("hTRKVertexYdefMult");
	histTRKHighMultX = (TH1F*)file->Get("hTRKVertexXHighMult");
	histTRKHighMultY = (TH1F*)file->Get("hTRKVertexYHighMult");
	
	histTRKvsMultX = (TH2F*)file->FindObject("hTRKVertexXvsMult");
	histTRKvsMultY = (TH2F*)file->FindObject("hTRKVertexYvsMult");
	    
	histTRKVertexXZ = (TH2F*)file->Get("hTRKVertexXZ");
	histTRKVertexYZ = (TH2F*)file->Get("hTRKVertexYZ");
      }
      
    }	
    
    if (useITSSAvtx){
      if (list){
	      //histTRKdefMultX = (TH1F*)list->FindObject("hITSSAVertexXdefMult");
	      //histTRKdefMultY = (TH1F*)list->FindObject("hITSSAVertexYdefMult");
	histTRKHighMultX = (TH1F*)list->FindObject("hITSSAVertexXHighMult");
	histTRKHighMultY = (TH1F*)list->FindObject("hITSSAVertexYHighMult");
	
	histTRKvsMultX = (TH2F*)file->FindObject("hITSSAVertexXvsMult");
	histTRKvsMultY = (TH2F*)file->FindObject("hITSSAVertexYvsMult");
	
	histTRKVertexXZ = (TH2F*)list->FindObject("hITSSAVertexXZ");
	histTRKVertexYZ = (TH2F*)list->FindObject("hITSSAVertexYZ");
      }
      
      else {
	      //histTRKdefMultX = (TH1F*)file->Get("hITSSAVertexXdefMult");
	      //histTRKdefMultY = (TH1F*)file->Get("hITSSAVertexYdefMult");
	histTRKHighMultX = (TH1F*)file->Get("hITSSAVertexXHighMult");
	histTRKHighMultY = (TH1F*)file->Get("hITSSAVertexYHighMult");
	
	histTRKvsMultX = (TH2F*)file->FindObject("hITSSAVertexXvsMult");
	histTRKvsMultY = (TH2F*)file->FindObject("hITSSAVertexYvsMult");
	
	histTRKVertexXZ = (TH2F*)file->Get("hITSSAVertexXZ");
	histTRKVertexYZ = (TH2F*)file->Get("hITSSAVertexYZ");
      }
    }
    
    
    TH1D *projXvsMult;
    TH1D *projYvsMult;
    
    Float_t nEntriesMultX=0, nEntriesMultY=0.;

    if ((histTRKHighMultX) && (histTRKHighMultY)){
    
      projXvsMult = (TH1D*)histTRKvsMultX->ProjectionX("projXHighMultPbPb", 150, 300);
      projYvsMult = (TH1D*)histTRKvsMultY->ProjectionX("projYHighMultPbPb", 150, 300);
      
      nEntriesMultX = projXvsMult->GetEffectiveEntries();
      nEntriesMultY = projYvsMult->GetEffectiveEntries();
      
      if ((nEntriesMultX >100) && (nEntriesMultY>100)) {
	AliWarning(Form("Setting High Mulitplicity environment"));	
	highMultEnvironment = kTRUE;
      }
      else {
	
	projXvsMult = (TH1D*)histTRKvsMultX->ProjectionX("projXHighMultPbPb", 10, 30);
	projYvsMult = (TH1D*)histTRKvsMultY->ProjectionX("projYHighMultPbPb", 10, 30);
	
	nEntriesMultX = projXvsMult->GetEffectiveEntries();
	nEntriesMultY = projYvsMult->GetEffectiveEntries();
	
	if ((nEntriesMultX >100) && (nEntriesMultY>100)) {
	  AliWarning(Form("Setting high pp Mulitplicity environment or p-A high multiplicity"));
	  highMultppEnvironment=kTRUE;			
	}
	else {
	  
	  projXvsMult = (TH1D*)histTRKvsMultX->ProjectionX("projXHighMultPbPb", 3, 5);
	  projYvsMult = (TH1D*)histTRKvsMultY->ProjectionX("projYHighMultPbPb", 3, 5);
	  
	  nEntriesMultX = projXvsMult->GetEffectiveEntries();
	  nEntriesMultY = projYvsMult->GetEffectiveEntries();
	  
	  if ((nEntriesMultX >100) && (nEntriesMultY>100)) {
	    AliWarning(Form("Setting low pp Mulitplicity environment"));
	    lowMultppEnvironment=kTRUE;			
	  }
	
	}
	
      }
    
	
      if (lowMultppEnvironment==kTRUE) {
	
	if ((projXvsMult->GetEntries() < 40.) || (projYvsMult->GetEntries() < 40.)){
	  AliWarning(Form("histos for lumi reg calculation not found, default value set"));
	  xSigmaVtx=0.0120;
	  ySigmaVtx=0.0120;
	  fStatus=kLumiRegCovMatrixProblem;
	} else {
	  
	  projXvsMult -> Fit("gaus", "M", "", -0.4, 0.4);
	  sigmaFitX = projXvsMult -> GetFunction("gaus");
	  xSigmaMult = sigmaFitX->GetParameter(2);
	  
	  lumiRegSquaredX = (xSigmaMult*xSigmaMult - ((resolVtx*resolVtx)/TMath::Power(meanMult, p2)));
	  if (lumiRegSquaredX < 0 || lumiRegSquaredX < 1E-5) {
	    AliWarning(Form("Difficult luminous region determination X, keep convoluted sigma"));
	    xSigmaVtx = xSigmaMult;
	    fStatus=kLumiRegCovMatrixProblem;
	  }
	  
	  else {
	    if (lumiRegSquaredX > 0 && lumiRegSquaredX < 0.0005){
	      xSigmaVtx = TMath::Sqrt(lumiRegSquaredX);
	      xSigmaVtx = xSigmaVtx*1.1;
	    }
	    
	    else{ 
	      AliWarning(Form("Not possible to define a luminous region X. Default values set"));
	      xSigmaVtx = 0.0120;
	      fStatus=kLumiRegCovMatrixProblem;
	    }
	  }
	  
	  projYvsMult -> Fit("gaus", "M", "", -0.2, 0.6);
	  sigmaFitY = projYvsMult -> GetFunction("gaus");
	  ySigmaMult = sigmaFitY->GetParameter(2);
	  
	  lumiRegSquaredY= (ySigmaMult*ySigmaMult - ((resolVtx*resolVtx)/TMath::Power(meanMult, p2)));
	  
	  if (lumiRegSquaredY < 0 || lumiRegSquaredY < 1E-5) {
	    AliWarning(Form("Difficult luminous region determination Y, keep convoluted sigma"));
	    ySigmaVtx = ySigmaMult;
	    fStatus=kLumiRegCovMatrixProblem;
	  }
	  
	  else{ 
	    if (lumiRegSquaredY > 0 && lumiRegSquaredY < 0.0005){
	      ySigmaVtx = TMath::Sqrt(lumiRegSquaredY);
	      ySigmaVtx = ySigmaVtx*1.1;
	    }
	    else{ 
	      AliWarning(Form("Not possible to define a luminous region Y. Default values set"));
	      ySigmaVtx = 0.0120;
	      fStatus=kLumiRegCovMatrixProblem;
	    }
	  }
	}
	
	TProfile *htrkXZ = histTRKVertexXZ ->ProfileY();
	htrkXZ -> Fit("pol1", "M", "", -10., 10.);
	corrFit = htrkXZ->GetFunction("pol1");
	corrXZ = corrFit->GetParameter(1);
	
	if (TMath::Abs(corrXZ) > 0.01) {
	  AliWarning(Form("Problems in the correlation fitting, not update the covariance matrix"));
	  corrXZ =0.;
	  fStatus=kLumiRegCovMatrixProblem;
	}
	else{
	  covarXZ = corrXZ * zSigmaVtx*zSigmaVtx;
	  
	}
	
	TProfile *htrkYZ = histTRKVertexYZ ->ProfileY();
	htrkYZ -> Fit("pol1", "M", "", -10., 10.);
	corrFit = htrkYZ->GetFunction("pol1");
	corrYZ = corrFit->GetParameter(1);
	
	if (TMath::Abs(corrYZ) > 0.01) {
	  AliWarning(Form("Problems in the correlation fitting, not update the covariance matrix"));
	  corrYZ =0.;
	  fStatus=kLumiRegCovMatrixProblem;
	}
	else{
	  covarYZ = corrYZ*zSigmaVtx*zSigmaVtx;
	}
	
      }
    }
    
     if (highMultEnvironment==kTRUE || highMultppEnvironment==kTRUE){
    
       projXvsMult -> Fit("gaus", "M", "", -0.4, 0.4);
       sigmaFitX = projXvsMult -> GetFunction("gaus");
       xSigmaMult = sigmaFitX->GetParameter(2);
       
       if ((xSigmaMult <0) || (xSigmaMult>0.03)){
	 AliWarning(Form("Problems with luminosiy region determination, update of the postion only"));
	 xSigmaMult = 0.;
	 xSigmaVtx = 0.0120;
	 fStatus=kLumiRegCovMatrixProblem;
       }
       else{
	 xSigmaVtx = xSigmaMult;
	 xSigmaVtx = xSigmaVtx*1.1;
      }
       
       projYvsMult -> Fit("gaus", "M", "", -0.2, 0.5);
       TCanvas *c = new TCanvas("nwC", "nwC");
       c->cd();
       projYvsMult->Draw();
      sigmaFitY = projYvsMult -> GetFunction("gaus");
      ySigmaMult = sigmaFitY->GetParameter(2);
      
      if ((ySigmaMult <0) || (ySigmaMult>0.03)){
	AliWarning(Form("Problems with luminosiy region determination, update of the postion only"));
	ySigmaMult = 0.;
	ySigmaVtx = 0.0120;
	fStatus=kLumiRegCovMatrixProblem;
      }
      else{
	ySigmaVtx = ySigmaMult;
	ySigmaVtx = ySigmaVtx*1.1;
      }
      
      TProfile *htrkXZ = histTRKVertexXZ ->ProfileY();
      htrkXZ -> Fit("pol1", "M", "", -10., 10.);
      corrFit = htrkXZ->GetFunction("pol1");
      corrXZ = corrFit->GetParameter(1);
      
      if (TMath::Abs(corrXZ) > 0.01) {
	AliWarning(Form("Problems in the correlation fitting, not update the covariance matrix"));
	corrXZ =0.;
	fStatus=kLumiRegCovMatrixProblem;
      }
      else{
	covarXZ = corrXZ * zSigmaVtx*zSigmaVtx;
	    
      }
      
      TProfile *htrkYZ = histTRKVertexYZ ->ProfileY();
      htrkYZ -> Fit("pol1", "M", "", -10., 10.);
      corrFit = htrkYZ->GetFunction("pol1");
      corrYZ = corrFit->GetParameter(1);
      
      if (TMath::Abs(corrYZ) > 0.01) {
	AliWarning(Form("Problems in the correlation fitting, not update the covariance matrix"));
	corrYZ =0.;
	fStatus=kLumiRegCovMatrixProblem;
      }
      else{
	covarYZ = corrYZ*zSigmaVtx*zSigmaVtx;
      }
      
     }
     
     Double_t position[3], covMatrix[6];
     Double_t chi2=1.; 
     Int_t nContr=1;	
     
     position[0] = xMeanVtx;
     position[1] = yMeanVtx;
     position[2] = zMeanVtx;
     
     covMatrix[0] = xSigmaVtx*xSigmaVtx;
     covMatrix[1] = 0.; //xy
     covMatrix[2] = ySigmaVtx*ySigmaVtx;
     covMatrix[3] = covarXZ;
     covMatrix[4] = covarYZ;
     covMatrix[5] = zSigmaVtx*zSigmaVtx;
     
     
     //Printf ("%f, %f, %f, %f", xSigmaVtx, ySigmaVtx, covarXZ, covarYZ);
     
     AliESDVertex  *vertex =  new AliESDVertex(position, covMatrix, chi2, nContr, "vertex");
     
     AliCDBId id("GRP/Calib/MeanVertex", runNb, runNb);
     
     AliCDBMetaData metaData;
     metaData.SetBeamPeriod(0); //check!!!!
     metaData.SetResponsible("Davide Caffarri");
     metaData.SetComment("Mean Vertex object used in reconstruction");
     
     if (!db->Put(vertex, id, &metaData)) {
       AliError(Form("Error while putting object in storage %s", db->GetURI().Data()));
       fStatus=kStoreError;
     }
     
     delete vertex;
     
     Int_t status=GetStatus();
     if (status == 0) {
       AliInfo(Form("MeanVertex calibration successful: %s (status=%d)", fgkStatusCodeName[fStatus], status));
     }
     else if (status > 0) {
       AliInfo(Form("MeanVertex calibration failed: %s (status=%d)", fgkStatusCodeName[fStatus], status));
     }
     else if (status < 0) {
       AliInfo(Form("MeanVertex calibration but not fatal error: %s (status=%d)", fgkStatusCodeName[fStatus], status));
     }
     
     
}

//__________________________________________________________________________
Int_t AliMeanVertexPreprocessorOffline::GetStatus(){
  /*
   * get status
   */

  switch (fStatus) {

    /* OK, return zero */
  case kOk:
    return 0;
    break;
    
    /* non-fatal error, return negative status */
  case kLowStatistics:
  case kWriteMeanVertexSPD:
  case kUseOfflineSPDvtx:
  case kLumiRegCovMatrixProblem:
    return -fStatus;
    break;
    
    /* fatal error, return positive status */
  case kInputError: 
  case kStoreError:
    return fStatus;
    break;
    
    /* anything else, return negative large number */
  default:
    return -999;
    break;
  }
  
  /* should never arrive here, anyway return negative large number */
  return -999;
}

 AliMeanVertexPreprocessorOffline.cxx:1
 AliMeanVertexPreprocessorOffline.cxx:2
 AliMeanVertexPreprocessorOffline.cxx:3
 AliMeanVertexPreprocessorOffline.cxx:4
 AliMeanVertexPreprocessorOffline.cxx:5
 AliMeanVertexPreprocessorOffline.cxx:6
 AliMeanVertexPreprocessorOffline.cxx:7
 AliMeanVertexPreprocessorOffline.cxx:8
 AliMeanVertexPreprocessorOffline.cxx:9
 AliMeanVertexPreprocessorOffline.cxx:10
 AliMeanVertexPreprocessorOffline.cxx:11
 AliMeanVertexPreprocessorOffline.cxx:12
 AliMeanVertexPreprocessorOffline.cxx:13
 AliMeanVertexPreprocessorOffline.cxx:14
 AliMeanVertexPreprocessorOffline.cxx:15
 AliMeanVertexPreprocessorOffline.cxx:16
 AliMeanVertexPreprocessorOffline.cxx:17
 AliMeanVertexPreprocessorOffline.cxx:18
 AliMeanVertexPreprocessorOffline.cxx:19
 AliMeanVertexPreprocessorOffline.cxx:20
 AliMeanVertexPreprocessorOffline.cxx:21
 AliMeanVertexPreprocessorOffline.cxx:22
 AliMeanVertexPreprocessorOffline.cxx:23
 AliMeanVertexPreprocessorOffline.cxx:24
 AliMeanVertexPreprocessorOffline.cxx:25
 AliMeanVertexPreprocessorOffline.cxx:26
 AliMeanVertexPreprocessorOffline.cxx:27
 AliMeanVertexPreprocessorOffline.cxx:28
 AliMeanVertexPreprocessorOffline.cxx:29
 AliMeanVertexPreprocessorOffline.cxx:30
 AliMeanVertexPreprocessorOffline.cxx:31
 AliMeanVertexPreprocessorOffline.cxx:32
 AliMeanVertexPreprocessorOffline.cxx:33
 AliMeanVertexPreprocessorOffline.cxx:34
 AliMeanVertexPreprocessorOffline.cxx:35
 AliMeanVertexPreprocessorOffline.cxx:36
 AliMeanVertexPreprocessorOffline.cxx:37
 AliMeanVertexPreprocessorOffline.cxx:38
 AliMeanVertexPreprocessorOffline.cxx:39
 AliMeanVertexPreprocessorOffline.cxx:40
 AliMeanVertexPreprocessorOffline.cxx:41
 AliMeanVertexPreprocessorOffline.cxx:42
 AliMeanVertexPreprocessorOffline.cxx:43
 AliMeanVertexPreprocessorOffline.cxx:44
 AliMeanVertexPreprocessorOffline.cxx:45
 AliMeanVertexPreprocessorOffline.cxx:46
 AliMeanVertexPreprocessorOffline.cxx:47
 AliMeanVertexPreprocessorOffline.cxx:48
 AliMeanVertexPreprocessorOffline.cxx:49
 AliMeanVertexPreprocessorOffline.cxx:50
 AliMeanVertexPreprocessorOffline.cxx:51
 AliMeanVertexPreprocessorOffline.cxx:52
 AliMeanVertexPreprocessorOffline.cxx:53
 AliMeanVertexPreprocessorOffline.cxx:54
 AliMeanVertexPreprocessorOffline.cxx:55
 AliMeanVertexPreprocessorOffline.cxx:56
 AliMeanVertexPreprocessorOffline.cxx:57
 AliMeanVertexPreprocessorOffline.cxx:58
 AliMeanVertexPreprocessorOffline.cxx:59
 AliMeanVertexPreprocessorOffline.cxx:60
 AliMeanVertexPreprocessorOffline.cxx:61
 AliMeanVertexPreprocessorOffline.cxx:62
 AliMeanVertexPreprocessorOffline.cxx:63
 AliMeanVertexPreprocessorOffline.cxx:64
 AliMeanVertexPreprocessorOffline.cxx:65
 AliMeanVertexPreprocessorOffline.cxx:66
 AliMeanVertexPreprocessorOffline.cxx:67
 AliMeanVertexPreprocessorOffline.cxx:68
 AliMeanVertexPreprocessorOffline.cxx:69
 AliMeanVertexPreprocessorOffline.cxx:70
 AliMeanVertexPreprocessorOffline.cxx:71
 AliMeanVertexPreprocessorOffline.cxx:72
 AliMeanVertexPreprocessorOffline.cxx:73
 AliMeanVertexPreprocessorOffline.cxx:74
 AliMeanVertexPreprocessorOffline.cxx:75
 AliMeanVertexPreprocessorOffline.cxx:76
 AliMeanVertexPreprocessorOffline.cxx:77
 AliMeanVertexPreprocessorOffline.cxx:78
 AliMeanVertexPreprocessorOffline.cxx:79
 AliMeanVertexPreprocessorOffline.cxx:80
 AliMeanVertexPreprocessorOffline.cxx:81
 AliMeanVertexPreprocessorOffline.cxx:82
 AliMeanVertexPreprocessorOffline.cxx:83
 AliMeanVertexPreprocessorOffline.cxx:84
 AliMeanVertexPreprocessorOffline.cxx:85
 AliMeanVertexPreprocessorOffline.cxx:86
 AliMeanVertexPreprocessorOffline.cxx:87
 AliMeanVertexPreprocessorOffline.cxx:88
 AliMeanVertexPreprocessorOffline.cxx:89
 AliMeanVertexPreprocessorOffline.cxx:90
 AliMeanVertexPreprocessorOffline.cxx:91
 AliMeanVertexPreprocessorOffline.cxx:92
 AliMeanVertexPreprocessorOffline.cxx:93
 AliMeanVertexPreprocessorOffline.cxx:94
 AliMeanVertexPreprocessorOffline.cxx:95
 AliMeanVertexPreprocessorOffline.cxx:96
 AliMeanVertexPreprocessorOffline.cxx:97
 AliMeanVertexPreprocessorOffline.cxx:98
 AliMeanVertexPreprocessorOffline.cxx:99
 AliMeanVertexPreprocessorOffline.cxx:100
 AliMeanVertexPreprocessorOffline.cxx:101
 AliMeanVertexPreprocessorOffline.cxx:102
 AliMeanVertexPreprocessorOffline.cxx:103
 AliMeanVertexPreprocessorOffline.cxx:104
 AliMeanVertexPreprocessorOffline.cxx:105
 AliMeanVertexPreprocessorOffline.cxx:106
 AliMeanVertexPreprocessorOffline.cxx:107
 AliMeanVertexPreprocessorOffline.cxx:108
 AliMeanVertexPreprocessorOffline.cxx:109
 AliMeanVertexPreprocessorOffline.cxx:110
 AliMeanVertexPreprocessorOffline.cxx:111
 AliMeanVertexPreprocessorOffline.cxx:112
 AliMeanVertexPreprocessorOffline.cxx:113
 AliMeanVertexPreprocessorOffline.cxx:114
 AliMeanVertexPreprocessorOffline.cxx:115
 AliMeanVertexPreprocessorOffline.cxx:116
 AliMeanVertexPreprocessorOffline.cxx:117
 AliMeanVertexPreprocessorOffline.cxx:118
 AliMeanVertexPreprocessorOffline.cxx:119
 AliMeanVertexPreprocessorOffline.cxx:120
 AliMeanVertexPreprocessorOffline.cxx:121
 AliMeanVertexPreprocessorOffline.cxx:122
 AliMeanVertexPreprocessorOffline.cxx:123
 AliMeanVertexPreprocessorOffline.cxx:124
 AliMeanVertexPreprocessorOffline.cxx:125
 AliMeanVertexPreprocessorOffline.cxx:126
 AliMeanVertexPreprocessorOffline.cxx:127
 AliMeanVertexPreprocessorOffline.cxx:128
 AliMeanVertexPreprocessorOffline.cxx:129
 AliMeanVertexPreprocessorOffline.cxx:130
 AliMeanVertexPreprocessorOffline.cxx:131
 AliMeanVertexPreprocessorOffline.cxx:132
 AliMeanVertexPreprocessorOffline.cxx:133
 AliMeanVertexPreprocessorOffline.cxx:134
 AliMeanVertexPreprocessorOffline.cxx:135
 AliMeanVertexPreprocessorOffline.cxx:136
 AliMeanVertexPreprocessorOffline.cxx:137
 AliMeanVertexPreprocessorOffline.cxx:138
 AliMeanVertexPreprocessorOffline.cxx:139
 AliMeanVertexPreprocessorOffline.cxx:140
 AliMeanVertexPreprocessorOffline.cxx:141
 AliMeanVertexPreprocessorOffline.cxx:142
 AliMeanVertexPreprocessorOffline.cxx:143
 AliMeanVertexPreprocessorOffline.cxx:144
 AliMeanVertexPreprocessorOffline.cxx:145
 AliMeanVertexPreprocessorOffline.cxx:146
 AliMeanVertexPreprocessorOffline.cxx:147
 AliMeanVertexPreprocessorOffline.cxx:148
 AliMeanVertexPreprocessorOffline.cxx:149
 AliMeanVertexPreprocessorOffline.cxx:150
 AliMeanVertexPreprocessorOffline.cxx:151
 AliMeanVertexPreprocessorOffline.cxx:152
 AliMeanVertexPreprocessorOffline.cxx:153
 AliMeanVertexPreprocessorOffline.cxx:154
 AliMeanVertexPreprocessorOffline.cxx:155
 AliMeanVertexPreprocessorOffline.cxx:156
 AliMeanVertexPreprocessorOffline.cxx:157
 AliMeanVertexPreprocessorOffline.cxx:158
 AliMeanVertexPreprocessorOffline.cxx:159
 AliMeanVertexPreprocessorOffline.cxx:160
 AliMeanVertexPreprocessorOffline.cxx:161
 AliMeanVertexPreprocessorOffline.cxx:162
 AliMeanVertexPreprocessorOffline.cxx:163
 AliMeanVertexPreprocessorOffline.cxx:164
 AliMeanVertexPreprocessorOffline.cxx:165
 AliMeanVertexPreprocessorOffline.cxx:166
 AliMeanVertexPreprocessorOffline.cxx:167
 AliMeanVertexPreprocessorOffline.cxx:168
 AliMeanVertexPreprocessorOffline.cxx:169
 AliMeanVertexPreprocessorOffline.cxx:170
 AliMeanVertexPreprocessorOffline.cxx:171
 AliMeanVertexPreprocessorOffline.cxx:172
 AliMeanVertexPreprocessorOffline.cxx:173
 AliMeanVertexPreprocessorOffline.cxx:174
 AliMeanVertexPreprocessorOffline.cxx:175
 AliMeanVertexPreprocessorOffline.cxx:176
 AliMeanVertexPreprocessorOffline.cxx:177
 AliMeanVertexPreprocessorOffline.cxx:178
 AliMeanVertexPreprocessorOffline.cxx:179
 AliMeanVertexPreprocessorOffline.cxx:180
 AliMeanVertexPreprocessorOffline.cxx:181
 AliMeanVertexPreprocessorOffline.cxx:182
 AliMeanVertexPreprocessorOffline.cxx:183
 AliMeanVertexPreprocessorOffline.cxx:184
 AliMeanVertexPreprocessorOffline.cxx:185
 AliMeanVertexPreprocessorOffline.cxx:186
 AliMeanVertexPreprocessorOffline.cxx:187
 AliMeanVertexPreprocessorOffline.cxx:188
 AliMeanVertexPreprocessorOffline.cxx:189
 AliMeanVertexPreprocessorOffline.cxx:190
 AliMeanVertexPreprocessorOffline.cxx:191
 AliMeanVertexPreprocessorOffline.cxx:192
 AliMeanVertexPreprocessorOffline.cxx:193
 AliMeanVertexPreprocessorOffline.cxx:194
 AliMeanVertexPreprocessorOffline.cxx:195
 AliMeanVertexPreprocessorOffline.cxx:196
 AliMeanVertexPreprocessorOffline.cxx:197
 AliMeanVertexPreprocessorOffline.cxx:198
 AliMeanVertexPreprocessorOffline.cxx:199
 AliMeanVertexPreprocessorOffline.cxx:200
 AliMeanVertexPreprocessorOffline.cxx:201
 AliMeanVertexPreprocessorOffline.cxx:202
 AliMeanVertexPreprocessorOffline.cxx:203
 AliMeanVertexPreprocessorOffline.cxx:204
 AliMeanVertexPreprocessorOffline.cxx:205
 AliMeanVertexPreprocessorOffline.cxx:206
 AliMeanVertexPreprocessorOffline.cxx:207
 AliMeanVertexPreprocessorOffline.cxx:208
 AliMeanVertexPreprocessorOffline.cxx:209
 AliMeanVertexPreprocessorOffline.cxx:210
 AliMeanVertexPreprocessorOffline.cxx:211
 AliMeanVertexPreprocessorOffline.cxx:212
 AliMeanVertexPreprocessorOffline.cxx:213
 AliMeanVertexPreprocessorOffline.cxx:214
 AliMeanVertexPreprocessorOffline.cxx:215
 AliMeanVertexPreprocessorOffline.cxx:216
 AliMeanVertexPreprocessorOffline.cxx:217
 AliMeanVertexPreprocessorOffline.cxx:218
 AliMeanVertexPreprocessorOffline.cxx:219
 AliMeanVertexPreprocessorOffline.cxx:220
 AliMeanVertexPreprocessorOffline.cxx:221
 AliMeanVertexPreprocessorOffline.cxx:222
 AliMeanVertexPreprocessorOffline.cxx:223
 AliMeanVertexPreprocessorOffline.cxx:224
 AliMeanVertexPreprocessorOffline.cxx:225
 AliMeanVertexPreprocessorOffline.cxx:226
 AliMeanVertexPreprocessorOffline.cxx:227
 AliMeanVertexPreprocessorOffline.cxx:228
 AliMeanVertexPreprocessorOffline.cxx:229
 AliMeanVertexPreprocessorOffline.cxx:230
 AliMeanVertexPreprocessorOffline.cxx:231
 AliMeanVertexPreprocessorOffline.cxx:232
 AliMeanVertexPreprocessorOffline.cxx:233
 AliMeanVertexPreprocessorOffline.cxx:234
 AliMeanVertexPreprocessorOffline.cxx:235
 AliMeanVertexPreprocessorOffline.cxx:236
 AliMeanVertexPreprocessorOffline.cxx:237
 AliMeanVertexPreprocessorOffline.cxx:238
 AliMeanVertexPreprocessorOffline.cxx:239
 AliMeanVertexPreprocessorOffline.cxx:240
 AliMeanVertexPreprocessorOffline.cxx:241
 AliMeanVertexPreprocessorOffline.cxx:242
 AliMeanVertexPreprocessorOffline.cxx:243
 AliMeanVertexPreprocessorOffline.cxx:244
 AliMeanVertexPreprocessorOffline.cxx:245
 AliMeanVertexPreprocessorOffline.cxx:246
 AliMeanVertexPreprocessorOffline.cxx:247
 AliMeanVertexPreprocessorOffline.cxx:248
 AliMeanVertexPreprocessorOffline.cxx:249
 AliMeanVertexPreprocessorOffline.cxx:250
 AliMeanVertexPreprocessorOffline.cxx:251
 AliMeanVertexPreprocessorOffline.cxx:252
 AliMeanVertexPreprocessorOffline.cxx:253
 AliMeanVertexPreprocessorOffline.cxx:254
 AliMeanVertexPreprocessorOffline.cxx:255
 AliMeanVertexPreprocessorOffline.cxx:256
 AliMeanVertexPreprocessorOffline.cxx:257
 AliMeanVertexPreprocessorOffline.cxx:258
 AliMeanVertexPreprocessorOffline.cxx:259
 AliMeanVertexPreprocessorOffline.cxx:260
 AliMeanVertexPreprocessorOffline.cxx:261
 AliMeanVertexPreprocessorOffline.cxx:262
 AliMeanVertexPreprocessorOffline.cxx:263
 AliMeanVertexPreprocessorOffline.cxx:264
 AliMeanVertexPreprocessorOffline.cxx:265
 AliMeanVertexPreprocessorOffline.cxx:266
 AliMeanVertexPreprocessorOffline.cxx:267
 AliMeanVertexPreprocessorOffline.cxx:268
 AliMeanVertexPreprocessorOffline.cxx:269
 AliMeanVertexPreprocessorOffline.cxx:270
 AliMeanVertexPreprocessorOffline.cxx:271
 AliMeanVertexPreprocessorOffline.cxx:272
 AliMeanVertexPreprocessorOffline.cxx:273
 AliMeanVertexPreprocessorOffline.cxx:274
 AliMeanVertexPreprocessorOffline.cxx:275
 AliMeanVertexPreprocessorOffline.cxx:276
 AliMeanVertexPreprocessorOffline.cxx:277
 AliMeanVertexPreprocessorOffline.cxx:278
 AliMeanVertexPreprocessorOffline.cxx:279
 AliMeanVertexPreprocessorOffline.cxx:280
 AliMeanVertexPreprocessorOffline.cxx:281
 AliMeanVertexPreprocessorOffline.cxx:282
 AliMeanVertexPreprocessorOffline.cxx:283
 AliMeanVertexPreprocessorOffline.cxx:284
 AliMeanVertexPreprocessorOffline.cxx:285
 AliMeanVertexPreprocessorOffline.cxx:286
 AliMeanVertexPreprocessorOffline.cxx:287
 AliMeanVertexPreprocessorOffline.cxx:288
 AliMeanVertexPreprocessorOffline.cxx:289
 AliMeanVertexPreprocessorOffline.cxx:290
 AliMeanVertexPreprocessorOffline.cxx:291
 AliMeanVertexPreprocessorOffline.cxx:292
 AliMeanVertexPreprocessorOffline.cxx:293
 AliMeanVertexPreprocessorOffline.cxx:294
 AliMeanVertexPreprocessorOffline.cxx:295
 AliMeanVertexPreprocessorOffline.cxx:296
 AliMeanVertexPreprocessorOffline.cxx:297
 AliMeanVertexPreprocessorOffline.cxx:298
 AliMeanVertexPreprocessorOffline.cxx:299
 AliMeanVertexPreprocessorOffline.cxx:300
 AliMeanVertexPreprocessorOffline.cxx:301
 AliMeanVertexPreprocessorOffline.cxx:302
 AliMeanVertexPreprocessorOffline.cxx:303
 AliMeanVertexPreprocessorOffline.cxx:304
 AliMeanVertexPreprocessorOffline.cxx:305
 AliMeanVertexPreprocessorOffline.cxx:306
 AliMeanVertexPreprocessorOffline.cxx:307
 AliMeanVertexPreprocessorOffline.cxx:308
 AliMeanVertexPreprocessorOffline.cxx:309
 AliMeanVertexPreprocessorOffline.cxx:310
 AliMeanVertexPreprocessorOffline.cxx:311
 AliMeanVertexPreprocessorOffline.cxx:312
 AliMeanVertexPreprocessorOffline.cxx:313
 AliMeanVertexPreprocessorOffline.cxx:314
 AliMeanVertexPreprocessorOffline.cxx:315
 AliMeanVertexPreprocessorOffline.cxx:316
 AliMeanVertexPreprocessorOffline.cxx:317
 AliMeanVertexPreprocessorOffline.cxx:318
 AliMeanVertexPreprocessorOffline.cxx:319
 AliMeanVertexPreprocessorOffline.cxx:320
 AliMeanVertexPreprocessorOffline.cxx:321
 AliMeanVertexPreprocessorOffline.cxx:322
 AliMeanVertexPreprocessorOffline.cxx:323
 AliMeanVertexPreprocessorOffline.cxx:324
 AliMeanVertexPreprocessorOffline.cxx:325
 AliMeanVertexPreprocessorOffline.cxx:326
 AliMeanVertexPreprocessorOffline.cxx:327
 AliMeanVertexPreprocessorOffline.cxx:328
 AliMeanVertexPreprocessorOffline.cxx:329
 AliMeanVertexPreprocessorOffline.cxx:330
 AliMeanVertexPreprocessorOffline.cxx:331
 AliMeanVertexPreprocessorOffline.cxx:332
 AliMeanVertexPreprocessorOffline.cxx:333
 AliMeanVertexPreprocessorOffline.cxx:334
 AliMeanVertexPreprocessorOffline.cxx:335
 AliMeanVertexPreprocessorOffline.cxx:336
 AliMeanVertexPreprocessorOffline.cxx:337
 AliMeanVertexPreprocessorOffline.cxx:338
 AliMeanVertexPreprocessorOffline.cxx:339
 AliMeanVertexPreprocessorOffline.cxx:340
 AliMeanVertexPreprocessorOffline.cxx:341
 AliMeanVertexPreprocessorOffline.cxx:342
 AliMeanVertexPreprocessorOffline.cxx:343
 AliMeanVertexPreprocessorOffline.cxx:344
 AliMeanVertexPreprocessorOffline.cxx:345
 AliMeanVertexPreprocessorOffline.cxx:346
 AliMeanVertexPreprocessorOffline.cxx:347
 AliMeanVertexPreprocessorOffline.cxx:348
 AliMeanVertexPreprocessorOffline.cxx:349
 AliMeanVertexPreprocessorOffline.cxx:350
 AliMeanVertexPreprocessorOffline.cxx:351
 AliMeanVertexPreprocessorOffline.cxx:352
 AliMeanVertexPreprocessorOffline.cxx:353
 AliMeanVertexPreprocessorOffline.cxx:354
 AliMeanVertexPreprocessorOffline.cxx:355
 AliMeanVertexPreprocessorOffline.cxx:356
 AliMeanVertexPreprocessorOffline.cxx:357
 AliMeanVertexPreprocessorOffline.cxx:358
 AliMeanVertexPreprocessorOffline.cxx:359
 AliMeanVertexPreprocessorOffline.cxx:360
 AliMeanVertexPreprocessorOffline.cxx:361
 AliMeanVertexPreprocessorOffline.cxx:362
 AliMeanVertexPreprocessorOffline.cxx:363
 AliMeanVertexPreprocessorOffline.cxx:364
 AliMeanVertexPreprocessorOffline.cxx:365
 AliMeanVertexPreprocessorOffline.cxx:366
 AliMeanVertexPreprocessorOffline.cxx:367
 AliMeanVertexPreprocessorOffline.cxx:368
 AliMeanVertexPreprocessorOffline.cxx:369
 AliMeanVertexPreprocessorOffline.cxx:370
 AliMeanVertexPreprocessorOffline.cxx:371
 AliMeanVertexPreprocessorOffline.cxx:372
 AliMeanVertexPreprocessorOffline.cxx:373
 AliMeanVertexPreprocessorOffline.cxx:374
 AliMeanVertexPreprocessorOffline.cxx:375
 AliMeanVertexPreprocessorOffline.cxx:376
 AliMeanVertexPreprocessorOffline.cxx:377
 AliMeanVertexPreprocessorOffline.cxx:378
 AliMeanVertexPreprocessorOffline.cxx:379
 AliMeanVertexPreprocessorOffline.cxx:380
 AliMeanVertexPreprocessorOffline.cxx:381
 AliMeanVertexPreprocessorOffline.cxx:382
 AliMeanVertexPreprocessorOffline.cxx:383
 AliMeanVertexPreprocessorOffline.cxx:384
 AliMeanVertexPreprocessorOffline.cxx:385
 AliMeanVertexPreprocessorOffline.cxx:386
 AliMeanVertexPreprocessorOffline.cxx:387
 AliMeanVertexPreprocessorOffline.cxx:388
 AliMeanVertexPreprocessorOffline.cxx:389
 AliMeanVertexPreprocessorOffline.cxx:390
 AliMeanVertexPreprocessorOffline.cxx:391
 AliMeanVertexPreprocessorOffline.cxx:392
 AliMeanVertexPreprocessorOffline.cxx:393
 AliMeanVertexPreprocessorOffline.cxx:394
 AliMeanVertexPreprocessorOffline.cxx:395
 AliMeanVertexPreprocessorOffline.cxx:396
 AliMeanVertexPreprocessorOffline.cxx:397
 AliMeanVertexPreprocessorOffline.cxx:398
 AliMeanVertexPreprocessorOffline.cxx:399
 AliMeanVertexPreprocessorOffline.cxx:400
 AliMeanVertexPreprocessorOffline.cxx:401
 AliMeanVertexPreprocessorOffline.cxx:402
 AliMeanVertexPreprocessorOffline.cxx:403
 AliMeanVertexPreprocessorOffline.cxx:404
 AliMeanVertexPreprocessorOffline.cxx:405
 AliMeanVertexPreprocessorOffline.cxx:406
 AliMeanVertexPreprocessorOffline.cxx:407
 AliMeanVertexPreprocessorOffline.cxx:408
 AliMeanVertexPreprocessorOffline.cxx:409
 AliMeanVertexPreprocessorOffline.cxx:410
 AliMeanVertexPreprocessorOffline.cxx:411
 AliMeanVertexPreprocessorOffline.cxx:412
 AliMeanVertexPreprocessorOffline.cxx:413
 AliMeanVertexPreprocessorOffline.cxx:414
 AliMeanVertexPreprocessorOffline.cxx:415
 AliMeanVertexPreprocessorOffline.cxx:416
 AliMeanVertexPreprocessorOffline.cxx:417
 AliMeanVertexPreprocessorOffline.cxx:418
 AliMeanVertexPreprocessorOffline.cxx:419
 AliMeanVertexPreprocessorOffline.cxx:420
 AliMeanVertexPreprocessorOffline.cxx:421
 AliMeanVertexPreprocessorOffline.cxx:422
 AliMeanVertexPreprocessorOffline.cxx:423
 AliMeanVertexPreprocessorOffline.cxx:424
 AliMeanVertexPreprocessorOffline.cxx:425
 AliMeanVertexPreprocessorOffline.cxx:426
 AliMeanVertexPreprocessorOffline.cxx:427
 AliMeanVertexPreprocessorOffline.cxx:428
 AliMeanVertexPreprocessorOffline.cxx:429
 AliMeanVertexPreprocessorOffline.cxx:430
 AliMeanVertexPreprocessorOffline.cxx:431
 AliMeanVertexPreprocessorOffline.cxx:432
 AliMeanVertexPreprocessorOffline.cxx:433
 AliMeanVertexPreprocessorOffline.cxx:434
 AliMeanVertexPreprocessorOffline.cxx:435
 AliMeanVertexPreprocessorOffline.cxx:436
 AliMeanVertexPreprocessorOffline.cxx:437
 AliMeanVertexPreprocessorOffline.cxx:438
 AliMeanVertexPreprocessorOffline.cxx:439
 AliMeanVertexPreprocessorOffline.cxx:440
 AliMeanVertexPreprocessorOffline.cxx:441
 AliMeanVertexPreprocessorOffline.cxx:442
 AliMeanVertexPreprocessorOffline.cxx:443
 AliMeanVertexPreprocessorOffline.cxx:444
 AliMeanVertexPreprocessorOffline.cxx:445
 AliMeanVertexPreprocessorOffline.cxx:446
 AliMeanVertexPreprocessorOffline.cxx:447
 AliMeanVertexPreprocessorOffline.cxx:448
 AliMeanVertexPreprocessorOffline.cxx:449
 AliMeanVertexPreprocessorOffline.cxx:450
 AliMeanVertexPreprocessorOffline.cxx:451
 AliMeanVertexPreprocessorOffline.cxx:452
 AliMeanVertexPreprocessorOffline.cxx:453
 AliMeanVertexPreprocessorOffline.cxx:454
 AliMeanVertexPreprocessorOffline.cxx:455
 AliMeanVertexPreprocessorOffline.cxx:456
 AliMeanVertexPreprocessorOffline.cxx:457
 AliMeanVertexPreprocessorOffline.cxx:458
 AliMeanVertexPreprocessorOffline.cxx:459
 AliMeanVertexPreprocessorOffline.cxx:460
 AliMeanVertexPreprocessorOffline.cxx:461
 AliMeanVertexPreprocessorOffline.cxx:462
 AliMeanVertexPreprocessorOffline.cxx:463
 AliMeanVertexPreprocessorOffline.cxx:464
 AliMeanVertexPreprocessorOffline.cxx:465
 AliMeanVertexPreprocessorOffline.cxx:466
 AliMeanVertexPreprocessorOffline.cxx:467
 AliMeanVertexPreprocessorOffline.cxx:468
 AliMeanVertexPreprocessorOffline.cxx:469
 AliMeanVertexPreprocessorOffline.cxx:470
 AliMeanVertexPreprocessorOffline.cxx:471
 AliMeanVertexPreprocessorOffline.cxx:472
 AliMeanVertexPreprocessorOffline.cxx:473
 AliMeanVertexPreprocessorOffline.cxx:474
 AliMeanVertexPreprocessorOffline.cxx:475
 AliMeanVertexPreprocessorOffline.cxx:476
 AliMeanVertexPreprocessorOffline.cxx:477
 AliMeanVertexPreprocessorOffline.cxx:478
 AliMeanVertexPreprocessorOffline.cxx:479
 AliMeanVertexPreprocessorOffline.cxx:480
 AliMeanVertexPreprocessorOffline.cxx:481
 AliMeanVertexPreprocessorOffline.cxx:482
 AliMeanVertexPreprocessorOffline.cxx:483
 AliMeanVertexPreprocessorOffline.cxx:484
 AliMeanVertexPreprocessorOffline.cxx:485
 AliMeanVertexPreprocessorOffline.cxx:486
 AliMeanVertexPreprocessorOffline.cxx:487
 AliMeanVertexPreprocessorOffline.cxx:488
 AliMeanVertexPreprocessorOffline.cxx:489
 AliMeanVertexPreprocessorOffline.cxx:490
 AliMeanVertexPreprocessorOffline.cxx:491
 AliMeanVertexPreprocessorOffline.cxx:492
 AliMeanVertexPreprocessorOffline.cxx:493
 AliMeanVertexPreprocessorOffline.cxx:494
 AliMeanVertexPreprocessorOffline.cxx:495
 AliMeanVertexPreprocessorOffline.cxx:496
 AliMeanVertexPreprocessorOffline.cxx:497
 AliMeanVertexPreprocessorOffline.cxx:498
 AliMeanVertexPreprocessorOffline.cxx:499
 AliMeanVertexPreprocessorOffline.cxx:500
 AliMeanVertexPreprocessorOffline.cxx:501
 AliMeanVertexPreprocessorOffline.cxx:502
 AliMeanVertexPreprocessorOffline.cxx:503
 AliMeanVertexPreprocessorOffline.cxx:504
 AliMeanVertexPreprocessorOffline.cxx:505
 AliMeanVertexPreprocessorOffline.cxx:506
 AliMeanVertexPreprocessorOffline.cxx:507
 AliMeanVertexPreprocessorOffline.cxx:508
 AliMeanVertexPreprocessorOffline.cxx:509
 AliMeanVertexPreprocessorOffline.cxx:510
 AliMeanVertexPreprocessorOffline.cxx:511
 AliMeanVertexPreprocessorOffline.cxx:512
 AliMeanVertexPreprocessorOffline.cxx:513
 AliMeanVertexPreprocessorOffline.cxx:514
 AliMeanVertexPreprocessorOffline.cxx:515
 AliMeanVertexPreprocessorOffline.cxx:516
 AliMeanVertexPreprocessorOffline.cxx:517
 AliMeanVertexPreprocessorOffline.cxx:518
 AliMeanVertexPreprocessorOffline.cxx:519
 AliMeanVertexPreprocessorOffline.cxx:520
 AliMeanVertexPreprocessorOffline.cxx:521
 AliMeanVertexPreprocessorOffline.cxx:522
 AliMeanVertexPreprocessorOffline.cxx:523
 AliMeanVertexPreprocessorOffline.cxx:524
 AliMeanVertexPreprocessorOffline.cxx:525
 AliMeanVertexPreprocessorOffline.cxx:526
 AliMeanVertexPreprocessorOffline.cxx:527
 AliMeanVertexPreprocessorOffline.cxx:528
 AliMeanVertexPreprocessorOffline.cxx:529
 AliMeanVertexPreprocessorOffline.cxx:530
 AliMeanVertexPreprocessorOffline.cxx:531
 AliMeanVertexPreprocessorOffline.cxx:532
 AliMeanVertexPreprocessorOffline.cxx:533
 AliMeanVertexPreprocessorOffline.cxx:534
 AliMeanVertexPreprocessorOffline.cxx:535
 AliMeanVertexPreprocessorOffline.cxx:536
 AliMeanVertexPreprocessorOffline.cxx:537
 AliMeanVertexPreprocessorOffline.cxx:538
 AliMeanVertexPreprocessorOffline.cxx:539
 AliMeanVertexPreprocessorOffline.cxx:540
 AliMeanVertexPreprocessorOffline.cxx:541
 AliMeanVertexPreprocessorOffline.cxx:542
 AliMeanVertexPreprocessorOffline.cxx:543
 AliMeanVertexPreprocessorOffline.cxx:544
 AliMeanVertexPreprocessorOffline.cxx:545
 AliMeanVertexPreprocessorOffline.cxx:546
 AliMeanVertexPreprocessorOffline.cxx:547
 AliMeanVertexPreprocessorOffline.cxx:548
 AliMeanVertexPreprocessorOffline.cxx:549
 AliMeanVertexPreprocessorOffline.cxx:550
 AliMeanVertexPreprocessorOffline.cxx:551
 AliMeanVertexPreprocessorOffline.cxx:552
 AliMeanVertexPreprocessorOffline.cxx:553
 AliMeanVertexPreprocessorOffline.cxx:554
 AliMeanVertexPreprocessorOffline.cxx:555
 AliMeanVertexPreprocessorOffline.cxx:556
 AliMeanVertexPreprocessorOffline.cxx:557
 AliMeanVertexPreprocessorOffline.cxx:558
 AliMeanVertexPreprocessorOffline.cxx:559
 AliMeanVertexPreprocessorOffline.cxx:560
 AliMeanVertexPreprocessorOffline.cxx:561
 AliMeanVertexPreprocessorOffline.cxx:562
 AliMeanVertexPreprocessorOffline.cxx:563
 AliMeanVertexPreprocessorOffline.cxx:564
 AliMeanVertexPreprocessorOffline.cxx:565
 AliMeanVertexPreprocessorOffline.cxx:566
 AliMeanVertexPreprocessorOffline.cxx:567
 AliMeanVertexPreprocessorOffline.cxx:568
 AliMeanVertexPreprocessorOffline.cxx:569
 AliMeanVertexPreprocessorOffline.cxx:570
 AliMeanVertexPreprocessorOffline.cxx:571
 AliMeanVertexPreprocessorOffline.cxx:572
 AliMeanVertexPreprocessorOffline.cxx:573
 AliMeanVertexPreprocessorOffline.cxx:574
 AliMeanVertexPreprocessorOffline.cxx:575
 AliMeanVertexPreprocessorOffline.cxx:576
 AliMeanVertexPreprocessorOffline.cxx:577
 AliMeanVertexPreprocessorOffline.cxx:578
 AliMeanVertexPreprocessorOffline.cxx:579
 AliMeanVertexPreprocessorOffline.cxx:580
 AliMeanVertexPreprocessorOffline.cxx:581
 AliMeanVertexPreprocessorOffline.cxx:582
 AliMeanVertexPreprocessorOffline.cxx:583
 AliMeanVertexPreprocessorOffline.cxx:584
 AliMeanVertexPreprocessorOffline.cxx:585
 AliMeanVertexPreprocessorOffline.cxx:586
 AliMeanVertexPreprocessorOffline.cxx:587
 AliMeanVertexPreprocessorOffline.cxx:588
 AliMeanVertexPreprocessorOffline.cxx:589
 AliMeanVertexPreprocessorOffline.cxx:590
 AliMeanVertexPreprocessorOffline.cxx:591
 AliMeanVertexPreprocessorOffline.cxx:592
 AliMeanVertexPreprocessorOffline.cxx:593
 AliMeanVertexPreprocessorOffline.cxx:594
 AliMeanVertexPreprocessorOffline.cxx:595
 AliMeanVertexPreprocessorOffline.cxx:596
 AliMeanVertexPreprocessorOffline.cxx:597
 AliMeanVertexPreprocessorOffline.cxx:598
 AliMeanVertexPreprocessorOffline.cxx:599
 AliMeanVertexPreprocessorOffline.cxx:600
 AliMeanVertexPreprocessorOffline.cxx:601
 AliMeanVertexPreprocessorOffline.cxx:602
 AliMeanVertexPreprocessorOffline.cxx:603
 AliMeanVertexPreprocessorOffline.cxx:604
 AliMeanVertexPreprocessorOffline.cxx:605
 AliMeanVertexPreprocessorOffline.cxx:606
 AliMeanVertexPreprocessorOffline.cxx:607
 AliMeanVertexPreprocessorOffline.cxx:608
 AliMeanVertexPreprocessorOffline.cxx:609
 AliMeanVertexPreprocessorOffline.cxx:610
 AliMeanVertexPreprocessorOffline.cxx:611
 AliMeanVertexPreprocessorOffline.cxx:612
 AliMeanVertexPreprocessorOffline.cxx:613
 AliMeanVertexPreprocessorOffline.cxx:614
 AliMeanVertexPreprocessorOffline.cxx:615
 AliMeanVertexPreprocessorOffline.cxx:616
 AliMeanVertexPreprocessorOffline.cxx:617
 AliMeanVertexPreprocessorOffline.cxx:618
 AliMeanVertexPreprocessorOffline.cxx:619
 AliMeanVertexPreprocessorOffline.cxx:620
 AliMeanVertexPreprocessorOffline.cxx:621
 AliMeanVertexPreprocessorOffline.cxx:622
 AliMeanVertexPreprocessorOffline.cxx:623
 AliMeanVertexPreprocessorOffline.cxx:624
 AliMeanVertexPreprocessorOffline.cxx:625
 AliMeanVertexPreprocessorOffline.cxx:626
 AliMeanVertexPreprocessorOffline.cxx:627
 AliMeanVertexPreprocessorOffline.cxx:628
 AliMeanVertexPreprocessorOffline.cxx:629
 AliMeanVertexPreprocessorOffline.cxx:630
 AliMeanVertexPreprocessorOffline.cxx:631
 AliMeanVertexPreprocessorOffline.cxx:632
 AliMeanVertexPreprocessorOffline.cxx:633
 AliMeanVertexPreprocessorOffline.cxx:634
 AliMeanVertexPreprocessorOffline.cxx:635
 AliMeanVertexPreprocessorOffline.cxx:636
 AliMeanVertexPreprocessorOffline.cxx:637
 AliMeanVertexPreprocessorOffline.cxx:638
 AliMeanVertexPreprocessorOffline.cxx:639
 AliMeanVertexPreprocessorOffline.cxx:640
 AliMeanVertexPreprocessorOffline.cxx:641
 AliMeanVertexPreprocessorOffline.cxx:642
 AliMeanVertexPreprocessorOffline.cxx:643
 AliMeanVertexPreprocessorOffline.cxx:644
 AliMeanVertexPreprocessorOffline.cxx:645
 AliMeanVertexPreprocessorOffline.cxx:646
 AliMeanVertexPreprocessorOffline.cxx:647
 AliMeanVertexPreprocessorOffline.cxx:648
 AliMeanVertexPreprocessorOffline.cxx:649
 AliMeanVertexPreprocessorOffline.cxx:650
 AliMeanVertexPreprocessorOffline.cxx:651
 AliMeanVertexPreprocessorOffline.cxx:652
 AliMeanVertexPreprocessorOffline.cxx:653
 AliMeanVertexPreprocessorOffline.cxx:654
 AliMeanVertexPreprocessorOffline.cxx:655
 AliMeanVertexPreprocessorOffline.cxx:656
 AliMeanVertexPreprocessorOffline.cxx:657
 AliMeanVertexPreprocessorOffline.cxx:658
 AliMeanVertexPreprocessorOffline.cxx:659
 AliMeanVertexPreprocessorOffline.cxx:660
 AliMeanVertexPreprocessorOffline.cxx:661
 AliMeanVertexPreprocessorOffline.cxx:662
 AliMeanVertexPreprocessorOffline.cxx:663
 AliMeanVertexPreprocessorOffline.cxx:664
 AliMeanVertexPreprocessorOffline.cxx:665
 AliMeanVertexPreprocessorOffline.cxx:666
 AliMeanVertexPreprocessorOffline.cxx:667
 AliMeanVertexPreprocessorOffline.cxx:668
 AliMeanVertexPreprocessorOffline.cxx:669
 AliMeanVertexPreprocessorOffline.cxx:670
 AliMeanVertexPreprocessorOffline.cxx:671
 AliMeanVertexPreprocessorOffline.cxx:672
 AliMeanVertexPreprocessorOffline.cxx:673
 AliMeanVertexPreprocessorOffline.cxx:674
 AliMeanVertexPreprocessorOffline.cxx:675
 AliMeanVertexPreprocessorOffline.cxx:676
 AliMeanVertexPreprocessorOffline.cxx:677
 AliMeanVertexPreprocessorOffline.cxx:678
 AliMeanVertexPreprocessorOffline.cxx:679
 AliMeanVertexPreprocessorOffline.cxx:680
 AliMeanVertexPreprocessorOffline.cxx:681
 AliMeanVertexPreprocessorOffline.cxx:682
 AliMeanVertexPreprocessorOffline.cxx:683
 AliMeanVertexPreprocessorOffline.cxx:684
 AliMeanVertexPreprocessorOffline.cxx:685
 AliMeanVertexPreprocessorOffline.cxx:686
 AliMeanVertexPreprocessorOffline.cxx:687
 AliMeanVertexPreprocessorOffline.cxx:688
 AliMeanVertexPreprocessorOffline.cxx:689
 AliMeanVertexPreprocessorOffline.cxx:690
 AliMeanVertexPreprocessorOffline.cxx:691
 AliMeanVertexPreprocessorOffline.cxx:692
 AliMeanVertexPreprocessorOffline.cxx:693
 AliMeanVertexPreprocessorOffline.cxx:694
 AliMeanVertexPreprocessorOffline.cxx:695
 AliMeanVertexPreprocessorOffline.cxx:696
 AliMeanVertexPreprocessorOffline.cxx:697
 AliMeanVertexPreprocessorOffline.cxx:698
 AliMeanVertexPreprocessorOffline.cxx:699
 AliMeanVertexPreprocessorOffline.cxx:700
 AliMeanVertexPreprocessorOffline.cxx:701
 AliMeanVertexPreprocessorOffline.cxx:702
 AliMeanVertexPreprocessorOffline.cxx:703
 AliMeanVertexPreprocessorOffline.cxx:704
 AliMeanVertexPreprocessorOffline.cxx:705
 AliMeanVertexPreprocessorOffline.cxx:706
 AliMeanVertexPreprocessorOffline.cxx:707
 AliMeanVertexPreprocessorOffline.cxx:708
 AliMeanVertexPreprocessorOffline.cxx:709
 AliMeanVertexPreprocessorOffline.cxx:710
 AliMeanVertexPreprocessorOffline.cxx:711
 AliMeanVertexPreprocessorOffline.cxx:712
 AliMeanVertexPreprocessorOffline.cxx:713
 AliMeanVertexPreprocessorOffline.cxx:714
 AliMeanVertexPreprocessorOffline.cxx:715
 AliMeanVertexPreprocessorOffline.cxx:716
 AliMeanVertexPreprocessorOffline.cxx:717
 AliMeanVertexPreprocessorOffline.cxx:718
 AliMeanVertexPreprocessorOffline.cxx:719
 AliMeanVertexPreprocessorOffline.cxx:720
 AliMeanVertexPreprocessorOffline.cxx:721
 AliMeanVertexPreprocessorOffline.cxx:722
 AliMeanVertexPreprocessorOffline.cxx:723
 AliMeanVertexPreprocessorOffline.cxx:724
 AliMeanVertexPreprocessorOffline.cxx:725
 AliMeanVertexPreprocessorOffline.cxx:726
 AliMeanVertexPreprocessorOffline.cxx:727
 AliMeanVertexPreprocessorOffline.cxx:728
 AliMeanVertexPreprocessorOffline.cxx:729
 AliMeanVertexPreprocessorOffline.cxx:730
 AliMeanVertexPreprocessorOffline.cxx:731
 AliMeanVertexPreprocessorOffline.cxx:732
 AliMeanVertexPreprocessorOffline.cxx:733
 AliMeanVertexPreprocessorOffline.cxx:734
 AliMeanVertexPreprocessorOffline.cxx:735
 AliMeanVertexPreprocessorOffline.cxx:736
 AliMeanVertexPreprocessorOffline.cxx:737
 AliMeanVertexPreprocessorOffline.cxx:738
 AliMeanVertexPreprocessorOffline.cxx:739
 AliMeanVertexPreprocessorOffline.cxx:740
 AliMeanVertexPreprocessorOffline.cxx:741
 AliMeanVertexPreprocessorOffline.cxx:742
 AliMeanVertexPreprocessorOffline.cxx:743
 AliMeanVertexPreprocessorOffline.cxx:744
 AliMeanVertexPreprocessorOffline.cxx:745
 AliMeanVertexPreprocessorOffline.cxx:746
 AliMeanVertexPreprocessorOffline.cxx:747
 AliMeanVertexPreprocessorOffline.cxx:748
 AliMeanVertexPreprocessorOffline.cxx:749
 AliMeanVertexPreprocessorOffline.cxx:750
 AliMeanVertexPreprocessorOffline.cxx:751
 AliMeanVertexPreprocessorOffline.cxx:752
 AliMeanVertexPreprocessorOffline.cxx:753
 AliMeanVertexPreprocessorOffline.cxx:754
 AliMeanVertexPreprocessorOffline.cxx:755
 AliMeanVertexPreprocessorOffline.cxx:756
 AliMeanVertexPreprocessorOffline.cxx:757
 AliMeanVertexPreprocessorOffline.cxx:758
 AliMeanVertexPreprocessorOffline.cxx:759
 AliMeanVertexPreprocessorOffline.cxx:760
 AliMeanVertexPreprocessorOffline.cxx:761
 AliMeanVertexPreprocessorOffline.cxx:762
 AliMeanVertexPreprocessorOffline.cxx:763
 AliMeanVertexPreprocessorOffline.cxx:764