#include <Riostream.h>
#include <TMath.h>
#include <TAxis.h>
#include <TH2D.h>
#include <TLorentzVector.h>
#include <TObjArray.h>
#include <TGraphErrors.h>
#include <TString.h>
#include "AliVParticle.h"
#include "AliMCParticle.h"
#include "AliESDtrack.h"
#include "AliAODTrack.h"
#include "AliBalance.h"
#include "AliBalanceEventMixing.h"
using std::cout;
using std::cerr;
using std::endl;
ClassImp(AliBalanceEventMixing)
AliBalanceEventMixing::AliBalanceEventMixing() :
TObject(),
fShuffle(kFALSE),
fHBTcut(kFALSE),
fConversionCut(kFALSE),
fAnalysisLevel("ESD"),
fAnalyzedEvents(0) ,
fCentralityId(0) ,
fCentStart(0.),
fCentStop(0.)
{
for(Int_t i = 0; i < ANALYSIS_TYPES; i++){
if(i == 6) {
fNumberOfBins[i] = 180;
fP1Start[i] = -360.0;
fP1Stop[i] = 360.0;
fP2Start[i] = -360.0;
fP2Stop[i] = 360.0;
fP2Step[i] = 0.1;
}
else {
fNumberOfBins[i] = 20;
fP1Start[i] = -1.0;
fP1Stop[i] = 1.0;
fP2Start[i] = 0.0;
fP2Stop[i] = 2.0;
}
fP2Step[i] = TMath::Abs(fP2Start - fP2Stop) / (Double_t)fNumberOfBins[i];
fCentStart = 0.;
fCentStop = 0.;
fNn[i] = 0.0;
fNp[i] = 0.0;
for(Int_t j = 0; j < MAXIMUM_NUMBER_OF_STEPS; j++) {
fNpp[i][j] = .0;
fNnn[i][j] = .0;
fNpn[i][j] = .0;
fNnp[i][j] = .0;
fB[i][j] = 0.0;
ferror[i][j] = 0.0;
}
fHistP[i] = NULL;
fHistN[i] = NULL;
fHistPP[i] = NULL;
fHistPN[i] = NULL;
fHistNP[i] = NULL;
fHistNN[i] = NULL;
}
}
AliBalanceEventMixing::AliBalanceEventMixing(const AliBalanceEventMixing& balance):
TObject(balance), fShuffle(balance.fShuffle),
fHBTcut(balance.fHBTcut),
fConversionCut(balance.fConversionCut),
fAnalysisLevel(balance.fAnalysisLevel),
fAnalyzedEvents(balance.fAnalyzedEvents),
fCentralityId(balance.fCentralityId),
fCentStart(balance.fCentStart),
fCentStop(balance.fCentStop) {
for(Int_t i = 0; i < ANALYSIS_TYPES; i++){
fNn[i] = balance.fNn[i];
fNp[i] = balance.fNp[i];
fP1Start[i] = balance.fP1Start[i];
fP1Stop[i] = balance.fP1Stop[i];
fNumberOfBins[i] = balance.fNumberOfBins[i];
fP2Start[i] = balance.fP2Start[i];
fP2Stop[i] = balance.fP2Stop[i];
fP2Step[i] = balance.fP2Step[i];
fCentStart = balance.fCentStart;
fCentStop = balance.fCentStop;
fHistP[i] = balance.fHistP[i];
fHistN[i] = balance.fHistN[i];
fHistPN[i] = balance.fHistPN[i];
fHistNP[i] = balance.fHistNP[i];
fHistPP[i] = balance.fHistPP[i];
fHistNN[i] = balance.fHistNN[i];
for(Int_t j = 0; j < MAXIMUM_NUMBER_OF_STEPS; j++) {
fNpp[i][j] = .0;
fNnn[i][j] = .0;
fNpn[i][j] = .0;
fNnp[i][j] = .0;
fB[i][j] = 0.0;
ferror[i][j] = 0.0;
}
}
}
AliBalanceEventMixing::~AliBalanceEventMixing() {
for(Int_t i = 0; i < ANALYSIS_TYPES; i++){
delete fHistP[i];
delete fHistN[i];
delete fHistPN[i];
delete fHistNP[i];
delete fHistPP[i];
delete fHistNN[i];
}
}
void AliBalanceEventMixing::SetInterval(Int_t iAnalysisType,
Double_t p1Start, Double_t p1Stop,
Int_t ibins, Double_t p2Start, Double_t p2Stop) {
if(iAnalysisType == -1){
for(Int_t i = 0; i < ANALYSIS_TYPES; i++){
fP1Start[i] = p1Start;
fP1Stop[i] = p1Stop;
fNumberOfBins[i] = ibins;
fP2Start[i] = p2Start;
fP2Stop[i] = p2Stop;
fP2Step[i] = TMath::Abs(p2Start - p2Stop) / (Double_t)fNumberOfBins[i];
}
}
else if((iAnalysisType > -1) && (iAnalysisType < ANALYSIS_TYPES)) {
fP1Start[iAnalysisType] = p1Start;
fP1Stop[iAnalysisType] = p1Stop;
fNumberOfBins[iAnalysisType] = ibins;
fP2Start[iAnalysisType] = p2Start;
fP2Stop[iAnalysisType] = p2Stop;
fP2Step[iAnalysisType] = TMath::Abs(p2Start - p2Stop) / (Double_t)fNumberOfBins[iAnalysisType];
}
else {
AliError("Wrong ANALYSIS number!");
}
}
void AliBalanceEventMixing::InitHistograms() {
Bool_t oldStatus = TH1::AddDirectoryStatus();
TH1::AddDirectory(kFALSE);
TString histName;
for(Int_t iAnalysisType = 0; iAnalysisType < ANALYSIS_TYPES; iAnalysisType++) {
histName = "fHistP"; histName += kBFAnalysisType[iAnalysisType];
if(fShuffle) histName.Append("_shuffle");
if(fCentralityId) histName += fCentralityId.Data();
fHistP[iAnalysisType] = new TH2D(histName.Data(),"",fCentStop-fCentStart,fCentStart,fCentStop,100,fP1Start[iAnalysisType],fP1Stop[iAnalysisType]);
histName = "fHistN"; histName += kBFAnalysisType[iAnalysisType];
if(fShuffle) histName.Append("_shuffle");
if(fCentralityId) histName += fCentralityId.Data();
fHistN[iAnalysisType] = new TH2D(histName.Data(),"",fCentStop-fCentStart,fCentStart,fCentStop,100,fP1Start[iAnalysisType],fP1Stop[iAnalysisType]);
histName = "fHistPN"; histName += kBFAnalysisType[iAnalysisType];
if(fShuffle) histName.Append("_shuffle");
if(fCentralityId) histName += fCentralityId.Data();
fHistPN[iAnalysisType] = new TH2D(histName.Data(),"",fCentStop-fCentStart,fCentStart,fCentStop,fNumberOfBins[iAnalysisType],fP2Start[iAnalysisType],fP2Stop[iAnalysisType]);
histName = "fHistNP"; histName += kBFAnalysisType[iAnalysisType];
if(fShuffle) histName.Append("_shuffle");
if(fCentralityId) histName += fCentralityId.Data();
fHistNP[iAnalysisType] = new TH2D(histName.Data(),"",fCentStop-fCentStart,fCentStart,fCentStop,fNumberOfBins[iAnalysisType],fP2Start[iAnalysisType],fP2Stop[iAnalysisType]);
histName = "fHistPP"; histName += kBFAnalysisType[iAnalysisType];
if(fShuffle) histName.Append("_shuffle");
if(fCentralityId) histName += fCentralityId.Data();
fHistPP[iAnalysisType] = new TH2D(histName.Data(),"",fCentStop-fCentStart,fCentStart,fCentStop,fNumberOfBins[iAnalysisType],fP2Start[iAnalysisType],fP2Stop[iAnalysisType]);
histName = "fHistNN"; histName += kBFAnalysisType[iAnalysisType];
if(fShuffle) histName.Append("_shuffle");
if(fCentralityId) histName += fCentralityId.Data();
fHistNN[iAnalysisType] = new TH2D(histName.Data(),"",fCentStop-fCentStart,fCentStart,fCentStop,fNumberOfBins[iAnalysisType],fP2Start[iAnalysisType],fP2Stop[iAnalysisType]);
}
TH1::AddDirectory(oldStatus);
}
void AliBalanceEventMixing::PrintAnalysisSettings() {
Printf("======================================");
Printf("Analysis level: %s",fAnalysisLevel.Data());
Printf("======================================");
for(Int_t ibin = 0; ibin < ANALYSIS_TYPES; ibin++){
Printf("Interval info for variable %d",ibin);
Printf("Analyzed interval (min.): %lf",fP2Start[ibin]);
Printf("Analyzed interval (max.): %lf",fP2Stop[ibin]);
Printf("Number of bins: %d",fNumberOfBins[ibin]);
Printf("Step: %lf",fP2Step[ibin]);
Printf(" ");
}
Printf("======================================");
}
void AliBalanceEventMixing::CalculateBalance(Float_t fCentrality,vector<Double_t> **chargeVector,Int_t iMainTrack,Float_t bSign) {
fAnalyzedEvents++;
Int_t i = 0 , j = 0;
Int_t iBin = 0;
if(!fHistPN[0]){
AliWarning("Histograms not yet initialized! --> Will be done now");
AliWarning("This works only in local mode --> Add 'gBalance->InitHistograms()' in your configBalanceFunction");
InitHistograms();
}
Int_t gNtrack = chargeVector[0]->size();
for(i = 0; i < gNtrack;i++){
if(iMainTrack > -1){
if(i>0) break;
}
Short_t charge = chargeVector[0]->at(i);
Double_t rapidity = chargeVector[1]->at(i);
Double_t pseudorapidity = chargeVector[2]->at(i);
Double_t phi = chargeVector[3]->at(i);
for(Int_t iAnalysisType = 0; iAnalysisType < ANALYSIS_TYPES; iAnalysisType++) {
if(iAnalysisType == kEta) {
if((pseudorapidity >= fP1Start[iAnalysisType]) && (pseudorapidity <= fP1Stop[iAnalysisType])) {
if(charge > 0) {
fNp[iAnalysisType] += 1.;
fHistP[iAnalysisType]->Fill(fCentrality,pseudorapidity);
}
if(charge < 0) {
fNn[iAnalysisType] += 1.;
fHistN[iAnalysisType]->Fill(fCentrality,pseudorapidity);
}
}
}
else if(iAnalysisType == kPhi) {
if((phi >= fP1Start[iAnalysisType]) && (phi <= fP1Stop[iAnalysisType])) {
if(charge > 0) {
fNp[iAnalysisType] += 1.;
fHistP[iAnalysisType]->Fill(fCentrality,phi);
}
if(charge < 0) {
fNn[iAnalysisType] += 1.;
fHistN[iAnalysisType]->Fill(fCentrality,phi);
}
}
}
else {
if((rapidity >= fP1Start[iAnalysisType]) && (rapidity <= fP1Stop[iAnalysisType])) {
if(charge > 0) {
fNp[iAnalysisType] += 1.;
fHistP[iAnalysisType]->Fill(fCentrality,rapidity);
}
if(charge < 0) {
fNn[iAnalysisType] += 1.;
fHistN[iAnalysisType]->Fill(fCentrality,rapidity);
}
}
}
}
}
Double_t dy = 0., deta = 0.;
Double_t qLong = 0., qOut = 0., qSide = 0., qInv = 0.;
Double_t dphi = 0.;
Short_t charge1 = 0;
Double_t eta1 = 0., rap1 = 0.;
Double_t px1 = 0., py1 = 0., pz1 = 0.;
Double_t pt1 = 0.;
Double_t energy1 = 0.;
Double_t phi1 = 0.;
Short_t charge2 = 0;
Double_t eta2 = 0., rap2 = 0.;
Double_t px2 = 0., py2 = 0., pz2 = 0.;
Double_t pt2 = 0.;
Double_t energy2 = 0.;
Double_t phi2 = 0.;
for(i = 1; i < gNtrack; i++) {
charge1 = chargeVector[0]->at(i);
rap1 = chargeVector[1]->at(i);
eta1 = chargeVector[2]->at(i);
phi1 = chargeVector[3]->at(i);
px1 = chargeVector[4]->at(i);
py1 = chargeVector[5]->at(i);
pz1 = chargeVector[6]->at(i);
pt1 = chargeVector[7]->at(i);
energy1 = chargeVector[8]->at(i);
for(j = 0; j < i; j++) {
if(iMainTrack > -1){
if(j>0) break;
}
charge2 = chargeVector[0]->at(j);
rap2 = chargeVector[1]->at(j);
eta2 = chargeVector[2]->at(j);
phi2 = chargeVector[3]->at(j);
px2 = chargeVector[4]->at(j);
py2 = chargeVector[5]->at(j);
pz2 = chargeVector[6]->at(j);
pt2 = chargeVector[7]->at(j);
energy2 = chargeVector[8]->at(j);
dy = TMath::Abs(rap1 - rap2);
deta = TMath::Abs(eta1 - eta2);
Double_t eTot = energy1 + energy2;
Double_t pxTot = px1 + px2;
Double_t pyTot = py1 + py2;
Double_t pzTot = pz1 + pz2;
Double_t q0Tot = energy1 - energy2;
Double_t qxTot = px1 - px2;
Double_t qyTot = py1 - py2;
Double_t qzTot = pz1 - pz2;
Double_t eTot2 = eTot*eTot;
Double_t pTot2 = pxTot*pxTot + pyTot*pyTot + pzTot*pzTot;
Double_t pzTot2 = pzTot*pzTot;
Double_t q0Tot2 = q0Tot*q0Tot;
Double_t qTot2 = qxTot*qxTot + qyTot*qyTot + qzTot*qzTot;
Double_t snn = eTot2 - pTot2;
Double_t ptTot2 = pTot2 - pzTot2 ;
Double_t ptTot = TMath::Sqrt( ptTot2 );
qLong = TMath::Abs(eTot*qzTot - pzTot*q0Tot)/TMath::Sqrt(snn + ptTot2);
qOut = TMath::Sqrt(snn/(snn + ptTot2)) * TMath::Abs(pxTot*qxTot + pyTot*qyTot)/ptTot;
qSide = TMath::Abs(pxTot*qyTot - pyTot*qxTot)/ptTot;
qInv = TMath::Sqrt(TMath::Abs(-q0Tot2 + qTot2 ));
dphi = TMath::Abs(phi1 - phi2);
if(dphi>180) dphi = 360 - dphi;
if(fHBTcut && charge1 * charge2 > 0){
if (TMath::Abs(deta) < 0.02 * 2.5 * 3)
{
Float_t phi1rad = phi1*TMath::DegToRad();
Float_t phi2rad = phi2*TMath::DegToRad();
Float_t dphistar1 = GetDPhiStar(phi1rad, pt1, charge1, phi2rad, pt2, charge2, 0.8, bSign);
Float_t dphistar2 = GetDPhiStar(phi1rad, pt1, charge1, phi2rad, pt2, charge2, 2.5, bSign);
const Float_t kLimit = 0.02 * 3;
Float_t dphistarminabs = 1e5;
if (TMath::Abs(dphistar1) < kLimit || TMath::Abs(dphistar2) < kLimit || dphistar1 * dphistar2 < 0 )
{
for (Double_t rad=0.8; rad<2.51; rad+=0.01)
{
Float_t dphistar = GetDPhiStar(phi1rad, pt1, charge1, phi2rad, pt2, charge2, rad, bSign);
Float_t dphistarabs = TMath::Abs(dphistar);
if (dphistarabs < dphistarminabs)
{
dphistarminabs = dphistarabs;
}
}
if (dphistarminabs < 0.02 && TMath::Abs(deta) < 0.02)
{
continue;
}
}
}
}
if(fConversionCut){
if (charge1 * charge2 < 0)
{
Float_t m0 = 0.510e-3;
Float_t tantheta1 = 1e10;
Float_t phi1rad = phi1*TMath::DegToRad();
Float_t phi2rad = phi2*TMath::DegToRad();
if (eta1 < -1e-10 || eta1 > 1e-10)
tantheta1 = 2 * TMath::Exp(-eta1) / ( 1 - TMath::Exp(-2*eta1));
Float_t tantheta2 = 1e10;
if (eta2 < -1e-10 || eta2 > 1e-10)
tantheta2 = 2 * TMath::Exp(-eta2) / ( 1 - TMath::Exp(-2*eta2));
Float_t e1squ = m0 * m0 + pt1 * pt1 * (1.0 + 1.0 / tantheta1 / tantheta1);
Float_t e2squ = m0 * m0 + pt2 * pt2 * (1.0 + 1.0 / tantheta2 / tantheta2);
Float_t masssqu = 2 * m0 * m0 + 2 * ( TMath::Sqrt(e1squ * e2squ) - ( pt1 * pt2 * ( TMath::Cos(phi1rad - phi2rad) + 1.0 / tantheta1 / tantheta2 ) ) );
if (masssqu < 0.04*0.04){
continue;
}
}
}
if((rap1 >= fP1Start[kRapidity]) && (rap1 <= fP1Stop[kRapidity]) && (rap2 >= fP1Start[kRapidity]) && (rap2 <= fP1Stop[kRapidity])) {
if( dy > fP2Start[kRapidity] && dy < fP2Stop[kRapidity]){
iBin = Int_t((dy-fP2Start[kRapidity])/fP2Step[kRapidity]);
if(iBin >=0 && iBin < MAXIMUM_NUMBER_OF_STEPS){
if((charge1 > 0)&&(charge2 > 0)) {
fNpp[kRapidity][iBin] += 1.;
fHistPP[kRapidity]->Fill(fCentrality,dy);
}
else if((charge1 < 0)&&(charge2 < 0)) {
fNnn[kRapidity][iBin] += 1.;
fHistNN[kRapidity]->Fill(fCentrality,dy);
}
else if((charge1 > 0)&&(charge2 < 0)) {
fNpn[kRapidity][iBin] += 1.;
fHistPN[kRapidity]->Fill(fCentrality,dy);
}
else if((charge1 < 0)&&(charge2 > 0)) {
fNpn[kRapidity][iBin] += 1.;
fHistPN[kRapidity]->Fill(fCentrality,dy);
}
}
}
}
if((eta1 >= fP1Start[kEta]) && (eta1 <= fP1Stop[kEta]) && (eta2 >= fP1Start[kEta]) && (eta2 <= fP1Stop[kEta])) {
if( deta > fP2Start[kEta] && deta < fP2Stop[kEta]){
iBin = Int_t((deta-fP2Start[kEta])/fP2Step[kEta]);
if(iBin >=0 && iBin < MAXIMUM_NUMBER_OF_STEPS){
if((charge1 > 0)&&(charge2 > 0)) {
fNpp[kEta][iBin] += 1.;
fHistPP[kEta]->Fill(fCentrality,deta);
}
if((charge1 < 0)&&(charge2 < 0)) {
fNnn[kEta][iBin] += 1.;
fHistNN[kEta]->Fill(fCentrality,deta);
}
if((charge1 > 0)&&(charge2 < 0)) {
fNpn[kEta][iBin] += 1.;
fHistPN[kEta]->Fill(fCentrality,deta);
}
if((charge1 < 0)&&(charge2 > 0)) {
fNpn[kEta][iBin] += 1.;
fHistPN[kEta]->Fill(fCentrality,deta);
}
}
}
}
if((rap1 >= fP1Start[kRapidity]) && (rap1 <= fP1Stop[kRapidity]) && (rap2 >= fP1Start[kRapidity]) && (rap2 <= fP1Stop[kRapidity])) {
if( qLong > fP2Start[kQlong] && qLong < fP2Stop[kQlong]){
iBin = Int_t((qLong-fP2Start[kQlong])/fP2Step[kQlong]);
if(iBin >=0 && iBin < MAXIMUM_NUMBER_OF_STEPS){
if((charge1 > 0)&&(charge2 > 0)) {
fNpp[kQlong][iBin] += 1.;
fHistPP[kQlong]->Fill(fCentrality,qLong);
}
if((charge1 < 0)&&(charge2 < 0)) {
fNnn[kQlong][iBin] += 1.;
fHistNN[kQlong]->Fill(fCentrality,qLong);
}
if((charge1 > 0)&&(charge2 < 0)) {
fNpn[kQlong][iBin] += 1.;
fHistPN[kQlong]->Fill(fCentrality,qLong);
}
if((charge1 < 0)&&(charge2 > 0)) {
fNpn[kQlong][iBin] += 1.;
fHistPN[kQlong]->Fill(fCentrality,qLong);
}
}
}
}
if((rap1 >= fP1Start[kRapidity]) && (rap1 <= fP1Stop[kRapidity]) && (rap2 >= fP1Start[kRapidity]) && (rap2 <= fP1Stop[kRapidity])) {
if( qOut > fP2Start[kQout] && qOut < fP2Stop[kQout]){
iBin = Int_t((qOut-fP2Start[kQout])/fP2Step[kQout]);
if(iBin >=0 && iBin < MAXIMUM_NUMBER_OF_STEPS){
if((charge1 > 0)&&(charge2 > 0)) {
fNpp[kQout][iBin] += 1.;
fHistPP[kQout]->Fill(fCentrality,qOut);
}
if((charge1 < 0)&&(charge2 < 0)) {
fNnn[kQout][iBin] += 1.;
fHistNN[kQout]->Fill(fCentrality,qOut);
}
if((charge1 > 0)&&(charge2 < 0)) {
fNpn[kQout][iBin] += 1.;
fHistPN[kQout]->Fill(fCentrality,qOut);
}
if((charge1 < 0)&&(charge2 > 0)) {
fNpn[kQout][iBin] += 1.;
fHistPN[kQout]->Fill(fCentrality,qOut);
}
}
}
}
if((rap1 >= fP1Start[kRapidity]) && (rap1 <= fP1Stop[kRapidity]) && (rap2 >= fP1Start[kRapidity]) && (rap2 <= fP1Stop[kRapidity])) {
if( qSide > fP2Start[kQside] && qSide < fP2Stop[kQside]){
iBin = Int_t((qSide-fP2Start[kQside])/fP2Step[kQside]);
if(iBin >=0 && iBin < MAXIMUM_NUMBER_OF_STEPS){
if((charge1 > 0)&&(charge2 > 0)) {
fNpp[kQside][iBin] += 1.;
fHistPP[kQside]->Fill(fCentrality,qSide);
}
if((charge1 < 0)&&(charge2 < 0)) {
fNnn[kQside][iBin] += 1.;
fHistNN[kQside]->Fill(fCentrality,qSide);
}
if((charge1 > 0)&&(charge2 < 0)) {
fNpn[kQside][iBin] += 1.;
fHistPN[kQside]->Fill(fCentrality,qSide);
}
if((charge1 < 0)&&(charge2 > 0)) {
fNpn[kQside][iBin] += 1.;
fHistPN[kQside]->Fill(fCentrality,qSide);
}
}
}
}
if((rap1 >= fP1Start[kRapidity]) && (rap1 <= fP1Stop[kRapidity]) && (rap2 >= fP1Start[kRapidity]) && (rap2 <= fP1Stop[kRapidity])) {
if( qInv > fP2Start[kQinv] && qInv < fP2Stop[kQinv]){
iBin = Int_t((qInv-fP2Start[kQinv])/fP2Step[kQinv]);
if(iBin >=0 && iBin < MAXIMUM_NUMBER_OF_STEPS){
if((charge1 > 0)&&(charge2 > 0)) {
fNpp[kQinv][iBin] += 1.;
fHistPP[kQinv]->Fill(fCentrality,qInv);
}
if((charge1 < 0)&&(charge2 < 0)) {
fNnn[kQinv][iBin] += 1.;
fHistNN[kQinv]->Fill(fCentrality,qInv);
}
if((charge1 > 0)&&(charge2 < 0)) {
fNpn[kQinv][iBin] += 1.;
fHistPN[kQinv]->Fill(fCentrality,qInv);
}
if((charge1 < 0)&&(charge2 > 0)) {
fNpn[kQinv][iBin] += 1.;
fHistPN[kQinv]->Fill(fCentrality,qInv);
}
}
}
}
if((phi1 >= fP1Start[kPhi]) && (phi1 <= fP1Stop[kPhi]) && (phi2 >= fP1Start[kPhi]) && (phi2 <= fP1Stop[kPhi])) {
if( dphi > fP2Start[kPhi] && dphi < fP2Stop[kPhi]){
iBin = Int_t((dphi-fP2Start[kPhi])/fP2Step[kPhi]);
if(iBin >=0 && iBin < MAXIMUM_NUMBER_OF_STEPS){
if((charge1 > 0)&&(charge2 > 0)) {
fNpp[kPhi][iBin] += 1.;
fHistPP[kPhi]->Fill(fCentrality,dphi);
}
if((charge1 < 0)&&(charge2 < 0)) {
fNnn[kPhi][iBin] += 1.;
fHistNN[kPhi]->Fill(fCentrality,dphi);
}
if((charge1 > 0)&&(charge2 < 0)) {
fNpn[kPhi][iBin] += 1.;
fHistPN[kPhi]->Fill(fCentrality,dphi);
}
if((charge1 < 0)&&(charge2 > 0)) {
fNpn[kPhi][iBin] += 1.;
fHistPN[kPhi]->Fill(fCentrality,dphi);
}
}
}
}
}
}
}
Double_t AliBalanceEventMixing::GetBalance(Int_t iAnalysisType, Int_t p2) {
fB[iAnalysisType][p2] = 0.5*(((fNpn[iAnalysisType][p2] - 2.*fNnn[iAnalysisType][p2])/fNn[iAnalysisType]) + ((fNpn[iAnalysisType][p2] - 2.*fNpp[iAnalysisType][p2])/fNp[iAnalysisType]))/fP2Step[iAnalysisType];
return fB[iAnalysisType][p2];
}
Double_t AliBalanceEventMixing::GetError(Int_t iAnalysisType, Int_t p2) {
ferror[iAnalysisType][p2] = TMath::Sqrt( Double_t(fNpp[iAnalysisType][p2])/(Double_t(fNp[iAnalysisType])*Double_t(fNp[iAnalysisType])) +
Double_t(fNnn[iAnalysisType][p2])/(Double_t(fNn[iAnalysisType])*Double_t(fNn[iAnalysisType])) +
Double_t(fNpn[iAnalysisType][p2])*TMath::Power((0.5/Double_t(fNp[iAnalysisType]) + 0.5/Double_t(fNn[iAnalysisType])),2))/fP2Step[iAnalysisType];
return ferror[iAnalysisType][p2];
}
TGraphErrors *AliBalanceEventMixing::DrawBalance(Int_t iAnalysisType) {
Double_t x[MAXIMUM_NUMBER_OF_STEPS];
Double_t xer[MAXIMUM_NUMBER_OF_STEPS];
Double_t b[MAXIMUM_NUMBER_OF_STEPS];
Double_t ber[MAXIMUM_NUMBER_OF_STEPS];
if((fNp[iAnalysisType] == 0)||(fNn[iAnalysisType] == 0)) {
cerr<<"Couldn't find any particles in the analyzed interval!!!"<<endl;
return NULL;
}
for(Int_t i = 0; i < fNumberOfBins[iAnalysisType]; i++) {
b[i] = GetBalance(iAnalysisType,i);
ber[i] = GetError(iAnalysisType,i);
x[i] = fP2Start[iAnalysisType] + fP2Step[iAnalysisType]*i + fP2Step[iAnalysisType]/2;
xer[i] = 0.0;
}
TGraphErrors *gr = new TGraphErrors(fNumberOfBins[iAnalysisType],x,b,xer,ber);
gr->GetXaxis()->SetTitleColor(1);
if(iAnalysisType==0) {
gr->SetTitle("Balance function B(#Delta y)");
gr->GetXaxis()->SetTitle("#Delta y");
gr->GetYaxis()->SetTitle("B(#Delta y)");
}
if(iAnalysisType==1) {
gr->SetTitle("Balance function B(#Delta #eta)");
gr->GetXaxis()->SetTitle("#Delta #eta");
gr->GetYaxis()->SetTitle("B(#Delta #eta)");
}
if(iAnalysisType==2) {
gr->SetTitle("Balance function B(q_{long})");
gr->GetXaxis()->SetTitle("q_{long} (GeV/c)");
gr->GetYaxis()->SetTitle("B(q_{long}) ((GeV/c)^{-1})");
}
if(iAnalysisType==3) {
gr->SetTitle("Balance function B(q_{out})");
gr->GetXaxis()->SetTitle("q_{out} (GeV/c)");
gr->GetYaxis()->SetTitle("B(q_{out}) ((GeV/c)^{-1})");
}
if(iAnalysisType==4) {
gr->SetTitle("Balance function B(q_{side})");
gr->GetXaxis()->SetTitle("q_{side} (GeV/c)");
gr->GetYaxis()->SetTitle("B(q_{side}) ((GeV/c)^{-1})");
}
if(iAnalysisType==5) {
gr->SetTitle("Balance function B(q_{inv})");
gr->GetXaxis()->SetTitle("q_{inv} (GeV/c)");
gr->GetYaxis()->SetTitle("B(q_{inv}) ((GeV/c)^{-1})");
}
if(iAnalysisType==6) {
gr->SetTitle("Balance function B(#Delta #phi)");
gr->GetXaxis()->SetTitle("#Delta #phi");
gr->GetYaxis()->SetTitle("B(#Delta #phi)");
}
return gr;
}
void AliBalanceEventMixing::PrintResults(Int_t iAnalysisType, TH1D *gHistBalance) {
Double_t gSumXi = 0.0, gSumBi = 0.0, gSumBiXi = 0.0;
Double_t gSumBiXi2 = 0.0, gSumBi2Xi2 = 0.0;
Double_t gSumDeltaBi2 = 0.0, gSumXi2DeltaBi2 = 0.0;
Double_t deltaBalP2 = 0.0, integral = 0.0;
Double_t deltaErrorNew = 0.0;
cout<<"=================================================="<<endl;
for(Int_t i = 1; i <= fNumberOfBins[iAnalysisType]; i++) {
}
for(Int_t i = 2; i <= fNumberOfBins[iAnalysisType]; i++) {
gSumXi += gHistBalance->GetBinCenter(i);
gSumBi += gHistBalance->GetBinContent(i);
gSumBiXi += gHistBalance->GetBinContent(i)*gHistBalance->GetBinCenter(i);
gSumBiXi2 += gHistBalance->GetBinContent(i)*TMath::Power(gHistBalance->GetBinCenter(i),2);
gSumBi2Xi2 += TMath::Power(gHistBalance->GetBinContent(i),2)*TMath::Power(gHistBalance->GetBinCenter(i),2);
gSumDeltaBi2 += TMath::Power(gHistBalance->GetBinError(i),2);
gSumXi2DeltaBi2 += TMath::Power(gHistBalance->GetBinCenter(i),2) * TMath::Power(gHistBalance->GetBinError(i),2);
deltaBalP2 += fP2Step[iAnalysisType]*TMath::Power(gHistBalance->GetBinError(i),2);
integral += fP2Step[iAnalysisType]*gHistBalance->GetBinContent(i);
}
for(Int_t i = 1; i < fNumberOfBins[iAnalysisType]; i++)
deltaErrorNew += gHistBalance->GetBinError(i)*(gHistBalance->GetBinCenter(i)*gSumBi - gSumBiXi)/TMath::Power(gSumBi,2);
Double_t integralError = TMath::Sqrt(deltaBalP2);
Double_t delta = gSumBiXi / gSumBi;
Double_t deltaError = (gSumBiXi / gSumBi) * TMath::Sqrt(TMath::Power((TMath::Sqrt(gSumXi2DeltaBi2)/gSumBiXi),2) + TMath::Power((gSumDeltaBi2/gSumBi),2) );
cout<<"Analysis type: "<<kBFAnalysisType[iAnalysisType].Data()<<endl;
cout<<"Width: "<<delta<<"\t Error: "<<deltaError<<endl;
cout<<"New error: "<<deltaErrorNew<<endl;
cout<<"Integral: "<<integral<<"\t Error: "<<integralError<<endl;
cout<<"=================================================="<<endl;
}
TH1D *AliBalanceEventMixing::GetBalanceFunctionHistogram(Int_t iAnalysisType,Double_t centrMin, Double_t centrMax, Double_t etaWindow) {
TString gAnalysisType[ANALYSIS_TYPES] = {"y","eta","qlong","qout","qside","qinv","phi"};
TString histName = "gHistBalanceFunctionHistogram";
histName += gAnalysisType[iAnalysisType];
SetInterval(iAnalysisType, fHistP[iAnalysisType]->GetYaxis()->GetXmin(),
fHistP[iAnalysisType]->GetYaxis()->GetXmin(),
fHistPP[iAnalysisType]->GetNbinsY(),
fHistPP[iAnalysisType]->GetYaxis()->GetXmin(),
fHistPP[iAnalysisType]->GetYaxis()->GetXmax());
Int_t binMinX, binMinY, binMinZ;
Int_t binMaxX, binMaxY, binMaxZ;
fHistPP[iAnalysisType]->GetBinXYZ(fHistPP[iAnalysisType]->FindBin(centrMin),binMinX,binMinY,binMinZ);
fHistPP[iAnalysisType]->GetBinXYZ(fHistPP[iAnalysisType]->FindBin(centrMax),binMaxX,binMaxY,binMaxZ);
TH1D *gHistBalanceFunctionHistogram = new TH1D(histName.Data(),"",fHistPP[iAnalysisType]->GetNbinsY(),fHistPP[iAnalysisType]->GetYaxis()->GetXmin(),fHistPP[iAnalysisType]->GetYaxis()->GetXmax());
switch(iAnalysisType) {
case kRapidity:
gHistBalanceFunctionHistogram->GetXaxis()->SetTitle("#Delta y");
gHistBalanceFunctionHistogram->GetYaxis()->SetTitle("B(#Delta y)");
break;
case kEta:
gHistBalanceFunctionHistogram->GetXaxis()->SetTitle("#Delta #eta");
gHistBalanceFunctionHistogram->GetYaxis()->SetTitle("B(#Delta #eta)");
break;
case kQlong:
gHistBalanceFunctionHistogram->GetXaxis()->SetTitle("q_{long} (GeV/c)");
gHistBalanceFunctionHistogram->GetYaxis()->SetTitle("B(q_{long})");
break;
case kQout:
gHistBalanceFunctionHistogram->GetXaxis()->SetTitle("q_{out} (GeV/c)");
gHistBalanceFunctionHistogram->GetYaxis()->SetTitle("B(q_{out})");
break;
case kQside:
gHistBalanceFunctionHistogram->GetXaxis()->SetTitle("q_{side} (GeV/c)");
gHistBalanceFunctionHistogram->GetYaxis()->SetTitle("B(q_{side})");
break;
case kQinv:
gHistBalanceFunctionHistogram->GetXaxis()->SetTitle("q_{inv} (GeV/c)");
gHistBalanceFunctionHistogram->GetYaxis()->SetTitle("B(q_{inv})");
break;
case kPhi:
gHistBalanceFunctionHistogram->GetXaxis()->SetTitle("#Delta #phi (deg.)");
gHistBalanceFunctionHistogram->GetYaxis()->SetTitle("B(#Delta #phi)");
break;
default:
break;
}
TH1D *hTemp1 = dynamic_cast<TH1D *>(fHistPN[iAnalysisType]->ProjectionY(Form("%s_Cent_%.0f_%.0f",fHistPN[iAnalysisType]->GetName(),centrMin,centrMax),binMinX,binMaxX));
TH1D *hTemp2 = dynamic_cast<TH1D *>(fHistPN[iAnalysisType]->ProjectionY(Form("%s_Cent_%.0f_%.0f_copy",fHistPN[iAnalysisType]->GetName(),centrMin,centrMax),binMinX,binMaxX));
TH1D *hTemp3 = dynamic_cast<TH1D *>(fHistNN[iAnalysisType]->ProjectionY(Form("%s_Cent_%.0f_%.0f",fHistNN[iAnalysisType]->GetName(),centrMin,centrMax),binMinX,binMaxX));
TH1D *hTemp4 = dynamic_cast<TH1D *>(fHistPP[iAnalysisType]->ProjectionY(Form("%s_Cent_%.0f_%.0f",fHistPP[iAnalysisType]->GetName(),centrMin,centrMax),binMinX,binMaxX));
TH1D *hTemp5 = dynamic_cast<TH1D *>(fHistN[iAnalysisType]->ProjectionY(Form("%s_Cent_%.0f_%.0f",fHistN[iAnalysisType]->GetName(),centrMin,centrMax),binMinX,binMaxX));
TH1D *hTemp6 = dynamic_cast<TH1D *>(fHistP[iAnalysisType]->ProjectionY(Form("%s_Cent_%.0f_%.0f",fHistP[iAnalysisType]->GetName(),centrMin,centrMax),binMinX,binMaxX));
if((hTemp1)&&(hTemp2)&&(hTemp3)&&(hTemp4)) {
hTemp1->Sumw2();
hTemp2->Sumw2();
hTemp3->Sumw2();
hTemp4->Sumw2();
hTemp1->Add(hTemp3,-2.);
hTemp1->Scale(1./hTemp5->GetEntries());
hTemp2->Add(hTemp4,-2.);
hTemp2->Scale(1./hTemp6->GetEntries());
gHistBalanceFunctionHistogram->Add(hTemp1,hTemp2,1.,1.);
gHistBalanceFunctionHistogram->Scale(0.5/fP2Step[iAnalysisType]);
}
if(iAnalysisType == kEta && etaWindow > 0){
for(Int_t iBin = 0; iBin < gHistBalanceFunctionHistogram->GetNbinsX(); iBin++){
Double_t notCorrected = gHistBalanceFunctionHistogram->GetBinContent(iBin+1);
Double_t corrected = notCorrected / (1 - (gHistBalanceFunctionHistogram->GetBinCenter(iBin+1))/ etaWindow );
gHistBalanceFunctionHistogram->SetBinContent(iBin+1, corrected);
}
}
PrintResults(iAnalysisType,gHistBalanceFunctionHistogram);
return gHistBalanceFunctionHistogram;
}
AliBalanceEventMixing.cxx:1 AliBalanceEventMixing.cxx:2 AliBalanceEventMixing.cxx:3 AliBalanceEventMixing.cxx:4 AliBalanceEventMixing.cxx:5 AliBalanceEventMixing.cxx:6 AliBalanceEventMixing.cxx:7 AliBalanceEventMixing.cxx:8 AliBalanceEventMixing.cxx:9 AliBalanceEventMixing.cxx:10 AliBalanceEventMixing.cxx:11 AliBalanceEventMixing.cxx:12 AliBalanceEventMixing.cxx:13 AliBalanceEventMixing.cxx:14 AliBalanceEventMixing.cxx:15 AliBalanceEventMixing.cxx:16 AliBalanceEventMixing.cxx:17 AliBalanceEventMixing.cxx:18 AliBalanceEventMixing.cxx:19 AliBalanceEventMixing.cxx:20 AliBalanceEventMixing.cxx:21 AliBalanceEventMixing.cxx:22 AliBalanceEventMixing.cxx:23 AliBalanceEventMixing.cxx:24 AliBalanceEventMixing.cxx:25 AliBalanceEventMixing.cxx:26 AliBalanceEventMixing.cxx:27 AliBalanceEventMixing.cxx:28 AliBalanceEventMixing.cxx:29 AliBalanceEventMixing.cxx:30 AliBalanceEventMixing.cxx:31 AliBalanceEventMixing.cxx:32 AliBalanceEventMixing.cxx:33 AliBalanceEventMixing.cxx:34 AliBalanceEventMixing.cxx:35 AliBalanceEventMixing.cxx:36 AliBalanceEventMixing.cxx:37 AliBalanceEventMixing.cxx:38 AliBalanceEventMixing.cxx:39 AliBalanceEventMixing.cxx:40 AliBalanceEventMixing.cxx:41 AliBalanceEventMixing.cxx:42 AliBalanceEventMixing.cxx:43 AliBalanceEventMixing.cxx:44 AliBalanceEventMixing.cxx:45 AliBalanceEventMixing.cxx:46 AliBalanceEventMixing.cxx:47 AliBalanceEventMixing.cxx:48 AliBalanceEventMixing.cxx:49 AliBalanceEventMixing.cxx:50 AliBalanceEventMixing.cxx:51 AliBalanceEventMixing.cxx:52 AliBalanceEventMixing.cxx:53 AliBalanceEventMixing.cxx:54 AliBalanceEventMixing.cxx:55 AliBalanceEventMixing.cxx:56 AliBalanceEventMixing.cxx:57 AliBalanceEventMixing.cxx:58 AliBalanceEventMixing.cxx:59 AliBalanceEventMixing.cxx:60 AliBalanceEventMixing.cxx:61 AliBalanceEventMixing.cxx:62 AliBalanceEventMixing.cxx:63 AliBalanceEventMixing.cxx:64 AliBalanceEventMixing.cxx:65 AliBalanceEventMixing.cxx:66 AliBalanceEventMixing.cxx:67 AliBalanceEventMixing.cxx:68 AliBalanceEventMixing.cxx:69 AliBalanceEventMixing.cxx:70 AliBalanceEventMixing.cxx:71 AliBalanceEventMixing.cxx:72 AliBalanceEventMixing.cxx:73 AliBalanceEventMixing.cxx:74 AliBalanceEventMixing.cxx:75 AliBalanceEventMixing.cxx:76 AliBalanceEventMixing.cxx:77 AliBalanceEventMixing.cxx:78 AliBalanceEventMixing.cxx:79 AliBalanceEventMixing.cxx:80 AliBalanceEventMixing.cxx:81 AliBalanceEventMixing.cxx:82 AliBalanceEventMixing.cxx:83 AliBalanceEventMixing.cxx:84 AliBalanceEventMixing.cxx:85 AliBalanceEventMixing.cxx:86 AliBalanceEventMixing.cxx:87 AliBalanceEventMixing.cxx:88 AliBalanceEventMixing.cxx:89 AliBalanceEventMixing.cxx:90 AliBalanceEventMixing.cxx:91 AliBalanceEventMixing.cxx:92 AliBalanceEventMixing.cxx:93 AliBalanceEventMixing.cxx:94 AliBalanceEventMixing.cxx:95 AliBalanceEventMixing.cxx:96 AliBalanceEventMixing.cxx:97 AliBalanceEventMixing.cxx:98 AliBalanceEventMixing.cxx:99 AliBalanceEventMixing.cxx:100 AliBalanceEventMixing.cxx:101 AliBalanceEventMixing.cxx:102 AliBalanceEventMixing.cxx:103 AliBalanceEventMixing.cxx:104 AliBalanceEventMixing.cxx:105 AliBalanceEventMixing.cxx:106 AliBalanceEventMixing.cxx:107 AliBalanceEventMixing.cxx:108 AliBalanceEventMixing.cxx:109 AliBalanceEventMixing.cxx:110 AliBalanceEventMixing.cxx:111 AliBalanceEventMixing.cxx:112 AliBalanceEventMixing.cxx:113 AliBalanceEventMixing.cxx:114 AliBalanceEventMixing.cxx:115 AliBalanceEventMixing.cxx:116 AliBalanceEventMixing.cxx:117 AliBalanceEventMixing.cxx:118 AliBalanceEventMixing.cxx:119 AliBalanceEventMixing.cxx:120 AliBalanceEventMixing.cxx:121 AliBalanceEventMixing.cxx:122 AliBalanceEventMixing.cxx:123 AliBalanceEventMixing.cxx:124 AliBalanceEventMixing.cxx:125 AliBalanceEventMixing.cxx:126 AliBalanceEventMixing.cxx:127 AliBalanceEventMixing.cxx:128 AliBalanceEventMixing.cxx:129 AliBalanceEventMixing.cxx:130 AliBalanceEventMixing.cxx:131 AliBalanceEventMixing.cxx:132 AliBalanceEventMixing.cxx:133 AliBalanceEventMixing.cxx:134 AliBalanceEventMixing.cxx:135 AliBalanceEventMixing.cxx:136 AliBalanceEventMixing.cxx:137 AliBalanceEventMixing.cxx:138 AliBalanceEventMixing.cxx:139 AliBalanceEventMixing.cxx:140 AliBalanceEventMixing.cxx:141 AliBalanceEventMixing.cxx:142 AliBalanceEventMixing.cxx:143 AliBalanceEventMixing.cxx:144 AliBalanceEventMixing.cxx:145 AliBalanceEventMixing.cxx:146 AliBalanceEventMixing.cxx:147 AliBalanceEventMixing.cxx:148 AliBalanceEventMixing.cxx:149 AliBalanceEventMixing.cxx:150 AliBalanceEventMixing.cxx:151 AliBalanceEventMixing.cxx:152 AliBalanceEventMixing.cxx:153 AliBalanceEventMixing.cxx:154 AliBalanceEventMixing.cxx:155 AliBalanceEventMixing.cxx:156 AliBalanceEventMixing.cxx:157 AliBalanceEventMixing.cxx:158 AliBalanceEventMixing.cxx:159 AliBalanceEventMixing.cxx:160 AliBalanceEventMixing.cxx:161 AliBalanceEventMixing.cxx:162 AliBalanceEventMixing.cxx:163 AliBalanceEventMixing.cxx:164 AliBalanceEventMixing.cxx:165 AliBalanceEventMixing.cxx:166 AliBalanceEventMixing.cxx:167 AliBalanceEventMixing.cxx:168 AliBalanceEventMixing.cxx:169 AliBalanceEventMixing.cxx:170 AliBalanceEventMixing.cxx:171 AliBalanceEventMixing.cxx:172 AliBalanceEventMixing.cxx:173 AliBalanceEventMixing.cxx:174 AliBalanceEventMixing.cxx:175 AliBalanceEventMixing.cxx:176 AliBalanceEventMixing.cxx:177 AliBalanceEventMixing.cxx:178 AliBalanceEventMixing.cxx:179 AliBalanceEventMixing.cxx:180 AliBalanceEventMixing.cxx:181 AliBalanceEventMixing.cxx:182 AliBalanceEventMixing.cxx:183 AliBalanceEventMixing.cxx:184 AliBalanceEventMixing.cxx:185 AliBalanceEventMixing.cxx:186 AliBalanceEventMixing.cxx:187 AliBalanceEventMixing.cxx:188 AliBalanceEventMixing.cxx:189 AliBalanceEventMixing.cxx:190 AliBalanceEventMixing.cxx:191 AliBalanceEventMixing.cxx:192 AliBalanceEventMixing.cxx:193 AliBalanceEventMixing.cxx:194 AliBalanceEventMixing.cxx:195 AliBalanceEventMixing.cxx:196 AliBalanceEventMixing.cxx:197 AliBalanceEventMixing.cxx:198 AliBalanceEventMixing.cxx:199 AliBalanceEventMixing.cxx:200 AliBalanceEventMixing.cxx:201 AliBalanceEventMixing.cxx:202 AliBalanceEventMixing.cxx:203 AliBalanceEventMixing.cxx:204 AliBalanceEventMixing.cxx:205 AliBalanceEventMixing.cxx:206 AliBalanceEventMixing.cxx:207 AliBalanceEventMixing.cxx:208 AliBalanceEventMixing.cxx:209 AliBalanceEventMixing.cxx:210 AliBalanceEventMixing.cxx:211 AliBalanceEventMixing.cxx:212 AliBalanceEventMixing.cxx:213 AliBalanceEventMixing.cxx:214 AliBalanceEventMixing.cxx:215 AliBalanceEventMixing.cxx:216 AliBalanceEventMixing.cxx:217 AliBalanceEventMixing.cxx:218 AliBalanceEventMixing.cxx:219 AliBalanceEventMixing.cxx:220 AliBalanceEventMixing.cxx:221 AliBalanceEventMixing.cxx:222 AliBalanceEventMixing.cxx:223 AliBalanceEventMixing.cxx:224 AliBalanceEventMixing.cxx:225 AliBalanceEventMixing.cxx:226 AliBalanceEventMixing.cxx:227 AliBalanceEventMixing.cxx:228 AliBalanceEventMixing.cxx:229 AliBalanceEventMixing.cxx:230 AliBalanceEventMixing.cxx:231 AliBalanceEventMixing.cxx:232 AliBalanceEventMixing.cxx:233 AliBalanceEventMixing.cxx:234 AliBalanceEventMixing.cxx:235 AliBalanceEventMixing.cxx:236 AliBalanceEventMixing.cxx:237 AliBalanceEventMixing.cxx:238 AliBalanceEventMixing.cxx:239 AliBalanceEventMixing.cxx:240 AliBalanceEventMixing.cxx:241 AliBalanceEventMixing.cxx:242 AliBalanceEventMixing.cxx:243 AliBalanceEventMixing.cxx:244 AliBalanceEventMixing.cxx:245 AliBalanceEventMixing.cxx:246 AliBalanceEventMixing.cxx:247 AliBalanceEventMixing.cxx:248 AliBalanceEventMixing.cxx:249 AliBalanceEventMixing.cxx:250 AliBalanceEventMixing.cxx:251 AliBalanceEventMixing.cxx:252 AliBalanceEventMixing.cxx:253 AliBalanceEventMixing.cxx:254 AliBalanceEventMixing.cxx:255 AliBalanceEventMixing.cxx:256 AliBalanceEventMixing.cxx:257 AliBalanceEventMixing.cxx:258 AliBalanceEventMixing.cxx:259 AliBalanceEventMixing.cxx:260 AliBalanceEventMixing.cxx:261 AliBalanceEventMixing.cxx:262 AliBalanceEventMixing.cxx:263 AliBalanceEventMixing.cxx:264 AliBalanceEventMixing.cxx:265 AliBalanceEventMixing.cxx:266 AliBalanceEventMixing.cxx:267 AliBalanceEventMixing.cxx:268 AliBalanceEventMixing.cxx:269 AliBalanceEventMixing.cxx:270 AliBalanceEventMixing.cxx:271 AliBalanceEventMixing.cxx:272 AliBalanceEventMixing.cxx:273 AliBalanceEventMixing.cxx:274 AliBalanceEventMixing.cxx:275 AliBalanceEventMixing.cxx:276 AliBalanceEventMixing.cxx:277 AliBalanceEventMixing.cxx:278 AliBalanceEventMixing.cxx:279 AliBalanceEventMixing.cxx:280 AliBalanceEventMixing.cxx:281 AliBalanceEventMixing.cxx:282 AliBalanceEventMixing.cxx:283 AliBalanceEventMixing.cxx:284 AliBalanceEventMixing.cxx:285 AliBalanceEventMixing.cxx:286 AliBalanceEventMixing.cxx:287 AliBalanceEventMixing.cxx:288 AliBalanceEventMixing.cxx:289 AliBalanceEventMixing.cxx:290 AliBalanceEventMixing.cxx:291 AliBalanceEventMixing.cxx:292 AliBalanceEventMixing.cxx:293 AliBalanceEventMixing.cxx:294 AliBalanceEventMixing.cxx:295 AliBalanceEventMixing.cxx:296 AliBalanceEventMixing.cxx:297 AliBalanceEventMixing.cxx:298 AliBalanceEventMixing.cxx:299 AliBalanceEventMixing.cxx:300 AliBalanceEventMixing.cxx:301 AliBalanceEventMixing.cxx:302 AliBalanceEventMixing.cxx:303 AliBalanceEventMixing.cxx:304 AliBalanceEventMixing.cxx:305 AliBalanceEventMixing.cxx:306 AliBalanceEventMixing.cxx:307 AliBalanceEventMixing.cxx:308 AliBalanceEventMixing.cxx:309 AliBalanceEventMixing.cxx:310 AliBalanceEventMixing.cxx:311 AliBalanceEventMixing.cxx:312 AliBalanceEventMixing.cxx:313 AliBalanceEventMixing.cxx:314 AliBalanceEventMixing.cxx:315 AliBalanceEventMixing.cxx:316 AliBalanceEventMixing.cxx:317 AliBalanceEventMixing.cxx:318 AliBalanceEventMixing.cxx:319 AliBalanceEventMixing.cxx:320 AliBalanceEventMixing.cxx:321 AliBalanceEventMixing.cxx:322 AliBalanceEventMixing.cxx:323 AliBalanceEventMixing.cxx:324 AliBalanceEventMixing.cxx:325 AliBalanceEventMixing.cxx:326 AliBalanceEventMixing.cxx:327 AliBalanceEventMixing.cxx:328 AliBalanceEventMixing.cxx:329 AliBalanceEventMixing.cxx:330 AliBalanceEventMixing.cxx:331 AliBalanceEventMixing.cxx:332 AliBalanceEventMixing.cxx:333 AliBalanceEventMixing.cxx:334 AliBalanceEventMixing.cxx:335 AliBalanceEventMixing.cxx:336 AliBalanceEventMixing.cxx:337 AliBalanceEventMixing.cxx:338 AliBalanceEventMixing.cxx:339 AliBalanceEventMixing.cxx:340 AliBalanceEventMixing.cxx:341 AliBalanceEventMixing.cxx:342 AliBalanceEventMixing.cxx:343 AliBalanceEventMixing.cxx:344 AliBalanceEventMixing.cxx:345 AliBalanceEventMixing.cxx:346 AliBalanceEventMixing.cxx:347 AliBalanceEventMixing.cxx:348 AliBalanceEventMixing.cxx:349 AliBalanceEventMixing.cxx:350 AliBalanceEventMixing.cxx:351 AliBalanceEventMixing.cxx:352 AliBalanceEventMixing.cxx:353 AliBalanceEventMixing.cxx:354 AliBalanceEventMixing.cxx:355 AliBalanceEventMixing.cxx:356 AliBalanceEventMixing.cxx:357 AliBalanceEventMixing.cxx:358 AliBalanceEventMixing.cxx:359 AliBalanceEventMixing.cxx:360 AliBalanceEventMixing.cxx:361 AliBalanceEventMixing.cxx:362 AliBalanceEventMixing.cxx:363 AliBalanceEventMixing.cxx:364 AliBalanceEventMixing.cxx:365 AliBalanceEventMixing.cxx:366 AliBalanceEventMixing.cxx:367 AliBalanceEventMixing.cxx:368 AliBalanceEventMixing.cxx:369 AliBalanceEventMixing.cxx:370 AliBalanceEventMixing.cxx:371 AliBalanceEventMixing.cxx:372 AliBalanceEventMixing.cxx:373 AliBalanceEventMixing.cxx:374 AliBalanceEventMixing.cxx:375 AliBalanceEventMixing.cxx:376 AliBalanceEventMixing.cxx:377 AliBalanceEventMixing.cxx:378 AliBalanceEventMixing.cxx:379 AliBalanceEventMixing.cxx:380 AliBalanceEventMixing.cxx:381 AliBalanceEventMixing.cxx:382 AliBalanceEventMixing.cxx:383 AliBalanceEventMixing.cxx:384 AliBalanceEventMixing.cxx:385 AliBalanceEventMixing.cxx:386 AliBalanceEventMixing.cxx:387 AliBalanceEventMixing.cxx:388 AliBalanceEventMixing.cxx:389 AliBalanceEventMixing.cxx:390 AliBalanceEventMixing.cxx:391 AliBalanceEventMixing.cxx:392 AliBalanceEventMixing.cxx:393 AliBalanceEventMixing.cxx:394 AliBalanceEventMixing.cxx:395 AliBalanceEventMixing.cxx:396 AliBalanceEventMixing.cxx:397 AliBalanceEventMixing.cxx:398 AliBalanceEventMixing.cxx:399 AliBalanceEventMixing.cxx:400 AliBalanceEventMixing.cxx:401 AliBalanceEventMixing.cxx:402 AliBalanceEventMixing.cxx:403 AliBalanceEventMixing.cxx:404 AliBalanceEventMixing.cxx:405 AliBalanceEventMixing.cxx:406 AliBalanceEventMixing.cxx:407 AliBalanceEventMixing.cxx:408 AliBalanceEventMixing.cxx:409 AliBalanceEventMixing.cxx:410 AliBalanceEventMixing.cxx:411 AliBalanceEventMixing.cxx:412 AliBalanceEventMixing.cxx:413 AliBalanceEventMixing.cxx:414 AliBalanceEventMixing.cxx:415 AliBalanceEventMixing.cxx:416 AliBalanceEventMixing.cxx:417 AliBalanceEventMixing.cxx:418 AliBalanceEventMixing.cxx:419 AliBalanceEventMixing.cxx:420 AliBalanceEventMixing.cxx:421 AliBalanceEventMixing.cxx:422 AliBalanceEventMixing.cxx:423 AliBalanceEventMixing.cxx:424 AliBalanceEventMixing.cxx:425 AliBalanceEventMixing.cxx:426 AliBalanceEventMixing.cxx:427 AliBalanceEventMixing.cxx:428 AliBalanceEventMixing.cxx:429 AliBalanceEventMixing.cxx:430 AliBalanceEventMixing.cxx:431 AliBalanceEventMixing.cxx:432 AliBalanceEventMixing.cxx:433 AliBalanceEventMixing.cxx:434 AliBalanceEventMixing.cxx:435 AliBalanceEventMixing.cxx:436 AliBalanceEventMixing.cxx:437 AliBalanceEventMixing.cxx:438 AliBalanceEventMixing.cxx:439 AliBalanceEventMixing.cxx:440 AliBalanceEventMixing.cxx:441 AliBalanceEventMixing.cxx:442 AliBalanceEventMixing.cxx:443 AliBalanceEventMixing.cxx:444 AliBalanceEventMixing.cxx:445 AliBalanceEventMixing.cxx:446 AliBalanceEventMixing.cxx:447 AliBalanceEventMixing.cxx:448 AliBalanceEventMixing.cxx:449 AliBalanceEventMixing.cxx:450 AliBalanceEventMixing.cxx:451 AliBalanceEventMixing.cxx:452 AliBalanceEventMixing.cxx:453 AliBalanceEventMixing.cxx:454 AliBalanceEventMixing.cxx:455 AliBalanceEventMixing.cxx:456 AliBalanceEventMixing.cxx:457 AliBalanceEventMixing.cxx:458 AliBalanceEventMixing.cxx:459 AliBalanceEventMixing.cxx:460 AliBalanceEventMixing.cxx:461 AliBalanceEventMixing.cxx:462 AliBalanceEventMixing.cxx:463 AliBalanceEventMixing.cxx:464 AliBalanceEventMixing.cxx:465 AliBalanceEventMixing.cxx:466 AliBalanceEventMixing.cxx:467 AliBalanceEventMixing.cxx:468 AliBalanceEventMixing.cxx:469 AliBalanceEventMixing.cxx:470 AliBalanceEventMixing.cxx:471 AliBalanceEventMixing.cxx:472 AliBalanceEventMixing.cxx:473 AliBalanceEventMixing.cxx:474 AliBalanceEventMixing.cxx:475 AliBalanceEventMixing.cxx:476 AliBalanceEventMixing.cxx:477 AliBalanceEventMixing.cxx:478 AliBalanceEventMixing.cxx:479 AliBalanceEventMixing.cxx:480 AliBalanceEventMixing.cxx:481 AliBalanceEventMixing.cxx:482 AliBalanceEventMixing.cxx:483 AliBalanceEventMixing.cxx:484 AliBalanceEventMixing.cxx:485 AliBalanceEventMixing.cxx:486 AliBalanceEventMixing.cxx:487 AliBalanceEventMixing.cxx:488 AliBalanceEventMixing.cxx:489 AliBalanceEventMixing.cxx:490 AliBalanceEventMixing.cxx:491 AliBalanceEventMixing.cxx:492 AliBalanceEventMixing.cxx:493 AliBalanceEventMixing.cxx:494 AliBalanceEventMixing.cxx:495 AliBalanceEventMixing.cxx:496 AliBalanceEventMixing.cxx:497 AliBalanceEventMixing.cxx:498 AliBalanceEventMixing.cxx:499 AliBalanceEventMixing.cxx:500 AliBalanceEventMixing.cxx:501 AliBalanceEventMixing.cxx:502 AliBalanceEventMixing.cxx:503 AliBalanceEventMixing.cxx:504 AliBalanceEventMixing.cxx:505 AliBalanceEventMixing.cxx:506 AliBalanceEventMixing.cxx:507 AliBalanceEventMixing.cxx:508 AliBalanceEventMixing.cxx:509 AliBalanceEventMixing.cxx:510 AliBalanceEventMixing.cxx:511 AliBalanceEventMixing.cxx:512 AliBalanceEventMixing.cxx:513 AliBalanceEventMixing.cxx:514 AliBalanceEventMixing.cxx:515 AliBalanceEventMixing.cxx:516 AliBalanceEventMixing.cxx:517 AliBalanceEventMixing.cxx:518 AliBalanceEventMixing.cxx:519 AliBalanceEventMixing.cxx:520 AliBalanceEventMixing.cxx:521 AliBalanceEventMixing.cxx:522 AliBalanceEventMixing.cxx:523 AliBalanceEventMixing.cxx:524 AliBalanceEventMixing.cxx:525 AliBalanceEventMixing.cxx:526 AliBalanceEventMixing.cxx:527 AliBalanceEventMixing.cxx:528 AliBalanceEventMixing.cxx:529 AliBalanceEventMixing.cxx:530 AliBalanceEventMixing.cxx:531 AliBalanceEventMixing.cxx:532 AliBalanceEventMixing.cxx:533 AliBalanceEventMixing.cxx:534 AliBalanceEventMixing.cxx:535 AliBalanceEventMixing.cxx:536 AliBalanceEventMixing.cxx:537 AliBalanceEventMixing.cxx:538 AliBalanceEventMixing.cxx:539 AliBalanceEventMixing.cxx:540 AliBalanceEventMixing.cxx:541 AliBalanceEventMixing.cxx:542 AliBalanceEventMixing.cxx:543 AliBalanceEventMixing.cxx:544 AliBalanceEventMixing.cxx:545 AliBalanceEventMixing.cxx:546 AliBalanceEventMixing.cxx:547 AliBalanceEventMixing.cxx:548 AliBalanceEventMixing.cxx:549 AliBalanceEventMixing.cxx:550 AliBalanceEventMixing.cxx:551 AliBalanceEventMixing.cxx:552 AliBalanceEventMixing.cxx:553 AliBalanceEventMixing.cxx:554 AliBalanceEventMixing.cxx:555 AliBalanceEventMixing.cxx:556 AliBalanceEventMixing.cxx:557 AliBalanceEventMixing.cxx:558 AliBalanceEventMixing.cxx:559 AliBalanceEventMixing.cxx:560 AliBalanceEventMixing.cxx:561 AliBalanceEventMixing.cxx:562 AliBalanceEventMixing.cxx:563 AliBalanceEventMixing.cxx:564 AliBalanceEventMixing.cxx:565 AliBalanceEventMixing.cxx:566 AliBalanceEventMixing.cxx:567 AliBalanceEventMixing.cxx:568 AliBalanceEventMixing.cxx:569 AliBalanceEventMixing.cxx:570 AliBalanceEventMixing.cxx:571 AliBalanceEventMixing.cxx:572 AliBalanceEventMixing.cxx:573 AliBalanceEventMixing.cxx:574 AliBalanceEventMixing.cxx:575 AliBalanceEventMixing.cxx:576 AliBalanceEventMixing.cxx:577 AliBalanceEventMixing.cxx:578 AliBalanceEventMixing.cxx:579 AliBalanceEventMixing.cxx:580 AliBalanceEventMixing.cxx:581 AliBalanceEventMixing.cxx:582 AliBalanceEventMixing.cxx:583 AliBalanceEventMixing.cxx:584 AliBalanceEventMixing.cxx:585 AliBalanceEventMixing.cxx:586 AliBalanceEventMixing.cxx:587 AliBalanceEventMixing.cxx:588 AliBalanceEventMixing.cxx:589 AliBalanceEventMixing.cxx:590 AliBalanceEventMixing.cxx:591 AliBalanceEventMixing.cxx:592 AliBalanceEventMixing.cxx:593 AliBalanceEventMixing.cxx:594 AliBalanceEventMixing.cxx:595 AliBalanceEventMixing.cxx:596 AliBalanceEventMixing.cxx:597 AliBalanceEventMixing.cxx:598 AliBalanceEventMixing.cxx:599 AliBalanceEventMixing.cxx:600 AliBalanceEventMixing.cxx:601 AliBalanceEventMixing.cxx:602 AliBalanceEventMixing.cxx:603 AliBalanceEventMixing.cxx:604 AliBalanceEventMixing.cxx:605 AliBalanceEventMixing.cxx:606 AliBalanceEventMixing.cxx:607 AliBalanceEventMixing.cxx:608 AliBalanceEventMixing.cxx:609 AliBalanceEventMixing.cxx:610 AliBalanceEventMixing.cxx:611 AliBalanceEventMixing.cxx:612 AliBalanceEventMixing.cxx:613 AliBalanceEventMixing.cxx:614 AliBalanceEventMixing.cxx:615 AliBalanceEventMixing.cxx:616 AliBalanceEventMixing.cxx:617 AliBalanceEventMixing.cxx:618 AliBalanceEventMixing.cxx:619 AliBalanceEventMixing.cxx:620 AliBalanceEventMixing.cxx:621 AliBalanceEventMixing.cxx:622 AliBalanceEventMixing.cxx:623 AliBalanceEventMixing.cxx:624 AliBalanceEventMixing.cxx:625 AliBalanceEventMixing.cxx:626 AliBalanceEventMixing.cxx:627 AliBalanceEventMixing.cxx:628 AliBalanceEventMixing.cxx:629 AliBalanceEventMixing.cxx:630 AliBalanceEventMixing.cxx:631 AliBalanceEventMixing.cxx:632 AliBalanceEventMixing.cxx:633 AliBalanceEventMixing.cxx:634 AliBalanceEventMixing.cxx:635 AliBalanceEventMixing.cxx:636 AliBalanceEventMixing.cxx:637 AliBalanceEventMixing.cxx:638 AliBalanceEventMixing.cxx:639 AliBalanceEventMixing.cxx:640 AliBalanceEventMixing.cxx:641 AliBalanceEventMixing.cxx:642 AliBalanceEventMixing.cxx:643 AliBalanceEventMixing.cxx:644 AliBalanceEventMixing.cxx:645 AliBalanceEventMixing.cxx:646 AliBalanceEventMixing.cxx:647 AliBalanceEventMixing.cxx:648 AliBalanceEventMixing.cxx:649 AliBalanceEventMixing.cxx:650 AliBalanceEventMixing.cxx:651 AliBalanceEventMixing.cxx:652 AliBalanceEventMixing.cxx:653 AliBalanceEventMixing.cxx:654 AliBalanceEventMixing.cxx:655 AliBalanceEventMixing.cxx:656 AliBalanceEventMixing.cxx:657 AliBalanceEventMixing.cxx:658 AliBalanceEventMixing.cxx:659 AliBalanceEventMixing.cxx:660 AliBalanceEventMixing.cxx:661 AliBalanceEventMixing.cxx:662 AliBalanceEventMixing.cxx:663 AliBalanceEventMixing.cxx:664 AliBalanceEventMixing.cxx:665 AliBalanceEventMixing.cxx:666 AliBalanceEventMixing.cxx:667 AliBalanceEventMixing.cxx:668 AliBalanceEventMixing.cxx:669 AliBalanceEventMixing.cxx:670 AliBalanceEventMixing.cxx:671 AliBalanceEventMixing.cxx:672 AliBalanceEventMixing.cxx:673 AliBalanceEventMixing.cxx:674 AliBalanceEventMixing.cxx:675 AliBalanceEventMixing.cxx:676 AliBalanceEventMixing.cxx:677 AliBalanceEventMixing.cxx:678 AliBalanceEventMixing.cxx:679 AliBalanceEventMixing.cxx:680 AliBalanceEventMixing.cxx:681 AliBalanceEventMixing.cxx:682 AliBalanceEventMixing.cxx:683 AliBalanceEventMixing.cxx:684 AliBalanceEventMixing.cxx:685 AliBalanceEventMixing.cxx:686 AliBalanceEventMixing.cxx:687 AliBalanceEventMixing.cxx:688 AliBalanceEventMixing.cxx:689 AliBalanceEventMixing.cxx:690 AliBalanceEventMixing.cxx:691 AliBalanceEventMixing.cxx:692 AliBalanceEventMixing.cxx:693 AliBalanceEventMixing.cxx:694 AliBalanceEventMixing.cxx:695 AliBalanceEventMixing.cxx:696 AliBalanceEventMixing.cxx:697 AliBalanceEventMixing.cxx:698 AliBalanceEventMixing.cxx:699 AliBalanceEventMixing.cxx:700 AliBalanceEventMixing.cxx:701 AliBalanceEventMixing.cxx:702 AliBalanceEventMixing.cxx:703 AliBalanceEventMixing.cxx:704 AliBalanceEventMixing.cxx:705 AliBalanceEventMixing.cxx:706 AliBalanceEventMixing.cxx:707 AliBalanceEventMixing.cxx:708 AliBalanceEventMixing.cxx:709 AliBalanceEventMixing.cxx:710 AliBalanceEventMixing.cxx:711 AliBalanceEventMixing.cxx:712 AliBalanceEventMixing.cxx:713 AliBalanceEventMixing.cxx:714 AliBalanceEventMixing.cxx:715 AliBalanceEventMixing.cxx:716 AliBalanceEventMixing.cxx:717 AliBalanceEventMixing.cxx:718 AliBalanceEventMixing.cxx:719 AliBalanceEventMixing.cxx:720 AliBalanceEventMixing.cxx:721 AliBalanceEventMixing.cxx:722 AliBalanceEventMixing.cxx:723 AliBalanceEventMixing.cxx:724 AliBalanceEventMixing.cxx:725 AliBalanceEventMixing.cxx:726 AliBalanceEventMixing.cxx:727 AliBalanceEventMixing.cxx:728 AliBalanceEventMixing.cxx:729 AliBalanceEventMixing.cxx:730 AliBalanceEventMixing.cxx:731 AliBalanceEventMixing.cxx:732 AliBalanceEventMixing.cxx:733 AliBalanceEventMixing.cxx:734 AliBalanceEventMixing.cxx:735 AliBalanceEventMixing.cxx:736 AliBalanceEventMixing.cxx:737 AliBalanceEventMixing.cxx:738 AliBalanceEventMixing.cxx:739 AliBalanceEventMixing.cxx:740 AliBalanceEventMixing.cxx:741 AliBalanceEventMixing.cxx:742 AliBalanceEventMixing.cxx:743 AliBalanceEventMixing.cxx:744 AliBalanceEventMixing.cxx:745 AliBalanceEventMixing.cxx:746 AliBalanceEventMixing.cxx:747 AliBalanceEventMixing.cxx:748 AliBalanceEventMixing.cxx:749 AliBalanceEventMixing.cxx:750 AliBalanceEventMixing.cxx:751 AliBalanceEventMixing.cxx:752 AliBalanceEventMixing.cxx:753 AliBalanceEventMixing.cxx:754 AliBalanceEventMixing.cxx:755 AliBalanceEventMixing.cxx:756 AliBalanceEventMixing.cxx:757 AliBalanceEventMixing.cxx:758 AliBalanceEventMixing.cxx:759 AliBalanceEventMixing.cxx:760 AliBalanceEventMixing.cxx:761 AliBalanceEventMixing.cxx:762 AliBalanceEventMixing.cxx:763 AliBalanceEventMixing.cxx:764 AliBalanceEventMixing.cxx:765 AliBalanceEventMixing.cxx:766 AliBalanceEventMixing.cxx:767 AliBalanceEventMixing.cxx:768 AliBalanceEventMixing.cxx:769 AliBalanceEventMixing.cxx:770 AliBalanceEventMixing.cxx:771 AliBalanceEventMixing.cxx:772 AliBalanceEventMixing.cxx:773 AliBalanceEventMixing.cxx:774 AliBalanceEventMixing.cxx:775 AliBalanceEventMixing.cxx:776 AliBalanceEventMixing.cxx:777 AliBalanceEventMixing.cxx:778 AliBalanceEventMixing.cxx:779 AliBalanceEventMixing.cxx:780 AliBalanceEventMixing.cxx:781 AliBalanceEventMixing.cxx:782 AliBalanceEventMixing.cxx:783 AliBalanceEventMixing.cxx:784 AliBalanceEventMixing.cxx:785 AliBalanceEventMixing.cxx:786 AliBalanceEventMixing.cxx:787 AliBalanceEventMixing.cxx:788 AliBalanceEventMixing.cxx:789 AliBalanceEventMixing.cxx:790 AliBalanceEventMixing.cxx:791 AliBalanceEventMixing.cxx:792 AliBalanceEventMixing.cxx:793 AliBalanceEventMixing.cxx:794 AliBalanceEventMixing.cxx:795 AliBalanceEventMixing.cxx:796 AliBalanceEventMixing.cxx:797 AliBalanceEventMixing.cxx:798 AliBalanceEventMixing.cxx:799 AliBalanceEventMixing.cxx:800 AliBalanceEventMixing.cxx:801 AliBalanceEventMixing.cxx:802 AliBalanceEventMixing.cxx:803 AliBalanceEventMixing.cxx:804 AliBalanceEventMixing.cxx:805 AliBalanceEventMixing.cxx:806 AliBalanceEventMixing.cxx:807 AliBalanceEventMixing.cxx:808 AliBalanceEventMixing.cxx:809 AliBalanceEventMixing.cxx:810 AliBalanceEventMixing.cxx:811 AliBalanceEventMixing.cxx:812 AliBalanceEventMixing.cxx:813 AliBalanceEventMixing.cxx:814 AliBalanceEventMixing.cxx:815 AliBalanceEventMixing.cxx:816 AliBalanceEventMixing.cxx:817 AliBalanceEventMixing.cxx:818 AliBalanceEventMixing.cxx:819 AliBalanceEventMixing.cxx:820 AliBalanceEventMixing.cxx:821 AliBalanceEventMixing.cxx:822 AliBalanceEventMixing.cxx:823 AliBalanceEventMixing.cxx:824 AliBalanceEventMixing.cxx:825 AliBalanceEventMixing.cxx:826 AliBalanceEventMixing.cxx:827 AliBalanceEventMixing.cxx:828 AliBalanceEventMixing.cxx:829 AliBalanceEventMixing.cxx:830 AliBalanceEventMixing.cxx:831 AliBalanceEventMixing.cxx:832 AliBalanceEventMixing.cxx:833 AliBalanceEventMixing.cxx:834 AliBalanceEventMixing.cxx:835 AliBalanceEventMixing.cxx:836 AliBalanceEventMixing.cxx:837 AliBalanceEventMixing.cxx:838 AliBalanceEventMixing.cxx:839 AliBalanceEventMixing.cxx:840 AliBalanceEventMixing.cxx:841 AliBalanceEventMixing.cxx:842 AliBalanceEventMixing.cxx:843 AliBalanceEventMixing.cxx:844 AliBalanceEventMixing.cxx:845 AliBalanceEventMixing.cxx:846 AliBalanceEventMixing.cxx:847 AliBalanceEventMixing.cxx:848 AliBalanceEventMixing.cxx:849 AliBalanceEventMixing.cxx:850 AliBalanceEventMixing.cxx:851 AliBalanceEventMixing.cxx:852 AliBalanceEventMixing.cxx:853 AliBalanceEventMixing.cxx:854 AliBalanceEventMixing.cxx:855 AliBalanceEventMixing.cxx:856 AliBalanceEventMixing.cxx:857 AliBalanceEventMixing.cxx:858 AliBalanceEventMixing.cxx:859 AliBalanceEventMixing.cxx:860 AliBalanceEventMixing.cxx:861 AliBalanceEventMixing.cxx:862 AliBalanceEventMixing.cxx:863 AliBalanceEventMixing.cxx:864 AliBalanceEventMixing.cxx:865 AliBalanceEventMixing.cxx:866 AliBalanceEventMixing.cxx:867 AliBalanceEventMixing.cxx:868 AliBalanceEventMixing.cxx:869 AliBalanceEventMixing.cxx:870 AliBalanceEventMixing.cxx:871 AliBalanceEventMixing.cxx:872 AliBalanceEventMixing.cxx:873 AliBalanceEventMixing.cxx:874 AliBalanceEventMixing.cxx:875 AliBalanceEventMixing.cxx:876 AliBalanceEventMixing.cxx:877 AliBalanceEventMixing.cxx:878 AliBalanceEventMixing.cxx:879 AliBalanceEventMixing.cxx:880 AliBalanceEventMixing.cxx:881 AliBalanceEventMixing.cxx:882 AliBalanceEventMixing.cxx:883 AliBalanceEventMixing.cxx:884 AliBalanceEventMixing.cxx:885 AliBalanceEventMixing.cxx:886 AliBalanceEventMixing.cxx:887 AliBalanceEventMixing.cxx:888 AliBalanceEventMixing.cxx:889 AliBalanceEventMixing.cxx:890 AliBalanceEventMixing.cxx:891 AliBalanceEventMixing.cxx:892 AliBalanceEventMixing.cxx:893 AliBalanceEventMixing.cxx:894 AliBalanceEventMixing.cxx:895 AliBalanceEventMixing.cxx:896 AliBalanceEventMixing.cxx:897 AliBalanceEventMixing.cxx:898 AliBalanceEventMixing.cxx:899 AliBalanceEventMixing.cxx:900 AliBalanceEventMixing.cxx:901 AliBalanceEventMixing.cxx:902 AliBalanceEventMixing.cxx:903 AliBalanceEventMixing.cxx:904 AliBalanceEventMixing.cxx:905 AliBalanceEventMixing.cxx:906