#include <TVectorD.h>
#include <TH1.h>
#include <TAxis.h>
#include <AliLog.h>
#include <AliVTrack.h>
#include "AliDielectron.h"
#include "AliDielectronHelper.h"
#include "AliDielectronHistos.h"
#include "AliDielectronEvent.h"
#include "AliDielectronMixingHandler.h"
ClassImp(AliDielectronMixingHandler)
AliDielectronMixingHandler::AliDielectronMixingHandler() :
TNamed(),
fDepth(10),
fArrPools("TClonesArray"),
fAxes(kMaxCuts),
fMixType(kOSonly),
fMixIncomplete(kTRUE),
fMoveToSameVertex(kFALSE),
fSkipFirstEvt(kFALSE),
fPID(0x0)
{
for (Int_t i=0; i<kMaxCuts; ++i){
fEventCuts[i]=0;
}
fAxes.SetOwner(kTRUE);
}
AliDielectronMixingHandler::AliDielectronMixingHandler(const char* name, const char* title) :
TNamed(name, title),
fDepth(10),
fArrPools("TClonesArray"),
fAxes(kMaxCuts),
fMixType(kOSonly),
fMixIncomplete(kTRUE),
fMoveToSameVertex(kFALSE),
fSkipFirstEvt(kFALSE),
fPID(0x0)
{
for (Int_t i=0; i<kMaxCuts; ++i){
fEventCuts[i]=0;
}
fAxes.SetOwner(kTRUE);
}
AliDielectronMixingHandler::~AliDielectronMixingHandler()
{
fAxes.Delete();
delete fPID;
}
void AliDielectronMixingHandler::AddVariable(AliDielectronVarManager::ValueTypes type,
Int_t nbins, Double_t min, Double_t max, Bool_t log)
{
if (fAxes.GetEntriesFast()>=kMaxCuts) return;
TVectorD *binLimits=0x0;
if (!log) binLimits=AliDielectronHelper::MakeLinBinning(nbins,min,max);
else binLimits=AliDielectronHelper::MakeLogBinning(nbins,min,max);
if (!binLimits) return;
Int_t size=fAxes.GetEntriesFast();
fEventCuts[size]=(UShort_t)type;
fAxes.Add(binLimits);
}
void AliDielectronMixingHandler::AddVariable(AliDielectronVarManager::ValueTypes type,
const char* binLimitStr)
{
if (fAxes.GetEntriesFast()>=kMaxCuts) return;
TVectorD *binLimits=AliDielectronHelper::MakeArbitraryBinning(binLimitStr);
if (!binLimits) return;
Int_t size=fAxes.GetEntriesFast();
fEventCuts[size]=(UShort_t)type;
fAxes.Add(binLimits);
}
void AliDielectronMixingHandler::AddVariable(AliDielectronVarManager::ValueTypes type,
TVectorD * const bins)
{
if (fAxes.GetEntriesFast()>=kMaxCuts) return;
Int_t size=fAxes.GetEntriesFast();
fEventCuts[size]=(UShort_t)type;
fAxes.Add(bins);
}
void AliDielectronMixingHandler::Fill(const AliVEvent *ev, AliDielectron *diele)
{
if (diele->GetTrackArray(0)->GetEntriesFast()==0 && diele->GetTrackArray(1)->GetEntriesFast()==0) return;
TString dim;
Int_t bin=FindBin(AliDielectronVarManager::GetData(),&dim);
AliDielectronVarManager::SetValue(AliDielectronVarManager::kMixingBin,bin);
if (bin<0){
AliDebug(5,Form("Bin outside range: %s",dim.Data()));
return;
}
TClonesArray *poolp=static_cast<TClonesArray*>(fArrPools.At(bin));
if (!poolp){
AliDebug(10,Form("New pool at %d (%s)\n",bin,dim.Data()));
poolp=new(fArrPools[bin]) TClonesArray("AliDielectronEvent",1);
}
TClonesArray &pool=*poolp;
if(pool.GetEntriesFast()==fDepth) {
pool.Clear("C");
pool.ExpandCreate(1);
}
AliDebug(10,Form("new event at %d: %d",bin,pool.GetEntriesFast()));
AliDielectronEvent *event=new(pool[pool.GetEntriesFast()]) AliDielectronEvent();
if(ev->IsA() == AliAODEvent::Class()) event->SetAOD(TMath::Max(diele->GetTrackArray(0)->GetEntriesFast(),diele->GetTrackArray(1)->GetEntriesFast()));
else event->SetESD();
event->SetProcessID(fPID);
event->SetTracks(*diele->GetTrackArray(0), *diele->GetTrackArray(1), *diele->GetPairArray(1));
event->SetEventData(AliDielectronVarManager::GetData());
if (pool.GetEntriesFast()<fDepth) return;
DoMixing(pool,diele);
if (diele->fHistos) {
diele->fHistos->Fill("Mixing","Stats",0);
diele->fHistos->Fill("Mixing","CompletePools",bin);
}
}
void AliDielectronMixingHandler::DoMixing(TClonesArray &pool, AliDielectron *diele)
{
TObjArray arrTrDummy[4];
for (Int_t i=0; i<4; ++i) arrTrDummy[i]=diele->fTracks[i];
Double_t values[AliDielectronVarManager::kNMaxValues]={0};
for (Int_t i=AliDielectronVarManager::kPairMax; i<AliDielectronVarManager::kNMaxValues; ++i)
values[i]=AliDielectronVarManager::GetValue((AliDielectronVarManager::ValueTypes)i);
AliDielectronEvent *ev0=static_cast<AliDielectronEvent*>(pool.At(0));
AliDielectronVarManager::SetEventData(ev0->GetEventData());
Int_t firstEvt=(fSkipFirstEvt ? 1 : 0);
for (Int_t i1=firstEvt; i1<pool.GetEntriesFast(); ++i1){
AliDielectronEvent *ev1=static_cast<AliDielectronEvent*>(pool.At(i1));
if( !fSkipFirstEvt ) AliDielectronVarManager::SetEventData(ev1->GetEventData());
TObject *o=0x0;
TIter ev1P(ev1->GetTrackArrayP());
TIter ev1N(ev1->GetTrackArrayN());
for (Int_t i2=i1+1; i2<pool.GetEntriesFast(); ++i2){
diele->fTracks[0].Clear();
diele->fTracks[1].Clear();
diele->fTracks[2].Clear();
diele->fTracks[3].Clear();
AliDielectronEvent *ev2=static_cast<AliDielectronEvent*>(pool.At(i2));
ev1P.Reset();
ev1N.Reset();
TIter ev2P(ev2->GetTrackArrayP());
TIter ev2N(ev2->GetTrackArrayN());
if (fMoveToSameVertex){
const Double_t *varsFirst=ev1->GetEventData();
const Double_t *varsMix=ev2->GetEventData();
const Double_t vFirst[3]={varsFirst[AliDielectronVarManager::kXvPrim],
varsFirst[AliDielectronVarManager::kYvPrim],
varsFirst[AliDielectronVarManager::kZvPrim]};
const Double_t vMix[3] ={varsMix[AliDielectronVarManager::kXvPrim],
varsMix[AliDielectronVarManager::kYvPrim],
varsMix[AliDielectronVarManager::kZvPrim]};
AliVTrack *vtrack=0x0;
while ( ( vtrack=(AliVTrack*)ev2P() ) ){
MoveToSameVertex(vtrack, vFirst, vMix);
}
while ( ( vtrack=(AliVTrack*)ev2N() ) ){
MoveToSameVertex(vtrack, vFirst, vMix);
}
ev2P.Reset();
ev2N.Reset();
}
while ( (o=ev1N()) ) diele->fTracks[1].Add(o);
while ( (o=ev2P()) ) diele->fTracks[2].Add(o);
diele->FillPairArrays(1,2);
if (fMixType==kAll || fMixType==kOSandLS){
while ( (o=ev1P()) ) diele->fTracks[0].Add(o);
while ( (o=ev2N()) ) diele->fTracks[3].Add(o);
diele->FillPairArrays(0,2);
diele->FillPairArrays(1,3);
if (fMixType==kAll) diele->FillPairArrays(0,3);
}
if (fMixType==kOSonly || fMixType==kOSandLS){
diele->fTracks[1].Clear();
diele->fTracks[2].Clear();
while ( (o=ev1P()) ) diele->fTracks[1].Add(o);
while ( (o=ev2N()) ) diele->fTracks[2].Add(o);
diele->FillPairArrays(1,2);
}
}
}
for (Int_t i=0; i<4; ++i) {
diele->fTracks[i].Clear();
diele->fTracks[i]=arrTrDummy[i];
}
AliDielectronVarManager::SetEventData(values);
}
Bool_t AliDielectronMixingHandler::MixRemaining(AliDielectron *diele, Int_t ipool)
{
if (!diele || !fMixIncomplete ) return 0;
AliDielectronVarManager::SetEvent(0x0);
TClonesArray *poolp=static_cast<TClonesArray*>(fArrPools.At(ipool));
if (!poolp || !poolp->GetEntriesFast() || !poolp->At(0)) return 0;
AliDebug(10,Form("Incomplete: Bin %d (%d)\n",ipool,poolp->GetEntriesFast()));
diele->ClearArrays();
DoMixing(*poolp,diele);
if (diele->fHistos) {
Double_t values[AliDielectronVarManager::kNMaxValues]={0};
for (Int_t i=AliDielectronVarManager::kPairMax; i<AliDielectronVarManager::kNMaxValues; ++i)
values[i]=AliDielectronVarManager::GetValue((AliDielectronVarManager::ValueTypes)i);
AliDielectronEvent *ev1=static_cast<AliDielectronEvent*>(poolp->At(0));
AliDielectronVarManager::SetEventData(ev1->GetEventData());
diele->FillHistograms(0x0, kTRUE);
diele->fHistos->Fill("Mixing","Stats",1);
diele->fHistos->Fill("Mixing","InCompletePools",ipool);
diele->fHistos->Fill("Mixing","Entries_InCompletePools",poolp->GetEntriesFast());
}
return 1;
}
void AliDielectronMixingHandler::Init(const AliDielectron *diele)
{
Int_t size=GetNumberOfBins();
AliDebug(10,Form("Creating a pool array with size %d \n",size));
if(diele && diele->DoEventProcess()) fArrPools.Expand(size);
if (diele && diele->fHistos && diele->DoEventProcess()) {
diele->fHistos->AddClass("Mixing");
diele->fHistos->UserHistogram("Mixing","Stats","Mixing Statistics;;#called bins",2,0,2);
TH1* h=diele->fHistos->GetHistogram("Mixing","Stats");
h->GetXaxis()->SetBinLabel(1,"Complete");
h->GetXaxis()->SetBinLabel(2,"Incomplete");
diele->fHistos->UserHistogram("Mixing","CompletePools","Mixing Statistics compete pools;bin;#fills",size,0,size);
diele->fHistos->UserHistogram("Mixing","InCompletePools","Mixing Statistics incomplete pools;bin;#fills",size,0,size);
diele->fHistos->UserHistogram("Mixing","Entries_InCompletePools","#entries in incomplete pools;entries;#fills",fDepth,0,fDepth);
}
TString values;
for (Int_t i=0; i<fAxes.GetEntriesFast(); ++i){
TVectorD *bins=static_cast<TVectorD*>(fAxes.At(i));
Int_t nRows=bins->GetNrows();
values+=Form("%s: ",AliDielectronVarManager::GetValueName(fEventCuts[i]));
for (Int_t irow=0; irow<nRows; ++irow){
values+=Form("%.2f, ",(*bins)[irow]);
}
}
if (!fPID){
fPID=TProcessID::AddProcessID();
}
AliDebug(10,values.Data());
}
Int_t AliDielectronMixingHandler::GetNumberOfBins() const
{
Int_t size=1;
for (Int_t i=0; i<fAxes.GetEntriesFast(); ++i)
size*=((static_cast<TVectorD*>(fAxes.At(i)))->GetNrows()-1);
return size;
}
Int_t AliDielectronMixingHandler::FindBin(const Double_t values[], TString *dim)
{
if (fAxes.GetEntriesFast()==0) {
if (dim) (*dim)="single bin";
return 0;
}
if (dim) (*dim)="";
Int_t sizeAdd=1;
Int_t bin=0;
for (Int_t i=0; i<fAxes.GetEntriesFast(); ++i){
Double_t val=values[fEventCuts[i]];
TVectorD *bins=static_cast<TVectorD*>(fAxes.At(i));
Int_t nRows=bins->GetNrows();
if ( (val<(*bins)[0]) || (val>(*bins)[nRows-1]) ) {
return -1;
}
Int_t pos=TMath::BinarySearch(nRows,bins->GetMatrixArray(),val);
bin+=sizeAdd*pos;
if (dim) (*dim)+=Form("%s: %f (%d); ",AliDielectronVarManager::GetValueName(fEventCuts[i]),val,pos);
sizeAdd*=(nRows-1);
}
return bin;
}
void AliDielectronMixingHandler::MoveToSameVertex(AliVTrack * const vtrack, const Double_t *vFirst, const Double_t* vMix)
{
static Bool_t printed=kFALSE;
if (vtrack->IsA()==AliESDtrack::Class()){
AliESDtrack *track=(AliESDtrack*)vtrack;
Double_t x = track->GetX();
Double_t alpha = track->GetAlpha();
Double_t param[5] = {0};
Double_t cov[15] = {0};
for (Int_t i=0; i<5; ++i) param[i]=track->GetParameter()[i];
for (Int_t i=0; i<15; ++i) cov[i] =track->GetCovariance()[i];
Double_t vt[3] = {vMix[0]-vFirst[0],vMix[1]-vFirst[1],vMix[2]-vFirst[2]};
param[1] = param[1]-vt[2];
track->Set(x, alpha, param, cov);
} else {
if (!printed) {
printed=kTRUE;
}
}
}
AliDielectronMixingHandler.cxx:1 AliDielectronMixingHandler.cxx:2 AliDielectronMixingHandler.cxx:3 AliDielectronMixingHandler.cxx:4 AliDielectronMixingHandler.cxx:5 AliDielectronMixingHandler.cxx:6 AliDielectronMixingHandler.cxx:7 AliDielectronMixingHandler.cxx:8 AliDielectronMixingHandler.cxx:9 AliDielectronMixingHandler.cxx:10 AliDielectronMixingHandler.cxx:11 AliDielectronMixingHandler.cxx:12 AliDielectronMixingHandler.cxx:13 AliDielectronMixingHandler.cxx:14 AliDielectronMixingHandler.cxx:15 AliDielectronMixingHandler.cxx:16 AliDielectronMixingHandler.cxx:17 AliDielectronMixingHandler.cxx:18 AliDielectronMixingHandler.cxx:19 AliDielectronMixingHandler.cxx:20 AliDielectronMixingHandler.cxx:21 AliDielectronMixingHandler.cxx:22 AliDielectronMixingHandler.cxx:23 AliDielectronMixingHandler.cxx:24 AliDielectronMixingHandler.cxx:25 AliDielectronMixingHandler.cxx:26 AliDielectronMixingHandler.cxx:27 AliDielectronMixingHandler.cxx:28 AliDielectronMixingHandler.cxx:29 AliDielectronMixingHandler.cxx:30 AliDielectronMixingHandler.cxx:31 AliDielectronMixingHandler.cxx:32 AliDielectronMixingHandler.cxx:33 AliDielectronMixingHandler.cxx:34 AliDielectronMixingHandler.cxx:35 AliDielectronMixingHandler.cxx:36 AliDielectronMixingHandler.cxx:37 AliDielectronMixingHandler.cxx:38 AliDielectronMixingHandler.cxx:39 AliDielectronMixingHandler.cxx:40 AliDielectronMixingHandler.cxx:41 AliDielectronMixingHandler.cxx:42 AliDielectronMixingHandler.cxx:43 AliDielectronMixingHandler.cxx:44 AliDielectronMixingHandler.cxx:45 AliDielectronMixingHandler.cxx:46 AliDielectronMixingHandler.cxx:47 AliDielectronMixingHandler.cxx:48 AliDielectronMixingHandler.cxx:49 AliDielectronMixingHandler.cxx:50 AliDielectronMixingHandler.cxx:51 AliDielectronMixingHandler.cxx:52 AliDielectronMixingHandler.cxx:53 AliDielectronMixingHandler.cxx:54 AliDielectronMixingHandler.cxx:55 AliDielectronMixingHandler.cxx:56 AliDielectronMixingHandler.cxx:57 AliDielectronMixingHandler.cxx:58 AliDielectronMixingHandler.cxx:59 AliDielectronMixingHandler.cxx:60 AliDielectronMixingHandler.cxx:61 AliDielectronMixingHandler.cxx:62 AliDielectronMixingHandler.cxx:63 AliDielectronMixingHandler.cxx:64 AliDielectronMixingHandler.cxx:65 AliDielectronMixingHandler.cxx:66 AliDielectronMixingHandler.cxx:67 AliDielectronMixingHandler.cxx:68 AliDielectronMixingHandler.cxx:69 AliDielectronMixingHandler.cxx:70 AliDielectronMixingHandler.cxx:71 AliDielectronMixingHandler.cxx:72 AliDielectronMixingHandler.cxx:73 AliDielectronMixingHandler.cxx:74 AliDielectronMixingHandler.cxx:75 AliDielectronMixingHandler.cxx:76 AliDielectronMixingHandler.cxx:77 AliDielectronMixingHandler.cxx:78 AliDielectronMixingHandler.cxx:79 AliDielectronMixingHandler.cxx:80 AliDielectronMixingHandler.cxx:81 AliDielectronMixingHandler.cxx:82 AliDielectronMixingHandler.cxx:83 AliDielectronMixingHandler.cxx:84 AliDielectronMixingHandler.cxx:85 AliDielectronMixingHandler.cxx:86 AliDielectronMixingHandler.cxx:87 AliDielectronMixingHandler.cxx:88 AliDielectronMixingHandler.cxx:89 AliDielectronMixingHandler.cxx:90 AliDielectronMixingHandler.cxx:91 AliDielectronMixingHandler.cxx:92 AliDielectronMixingHandler.cxx:93 AliDielectronMixingHandler.cxx:94 AliDielectronMixingHandler.cxx:95 AliDielectronMixingHandler.cxx:96 AliDielectronMixingHandler.cxx:97 AliDielectronMixingHandler.cxx:98 AliDielectronMixingHandler.cxx:99 AliDielectronMixingHandler.cxx:100 AliDielectronMixingHandler.cxx:101 AliDielectronMixingHandler.cxx:102 AliDielectronMixingHandler.cxx:103 AliDielectronMixingHandler.cxx:104 AliDielectronMixingHandler.cxx:105 AliDielectronMixingHandler.cxx:106 AliDielectronMixingHandler.cxx:107 AliDielectronMixingHandler.cxx:108 AliDielectronMixingHandler.cxx:109 AliDielectronMixingHandler.cxx:110 AliDielectronMixingHandler.cxx:111 AliDielectronMixingHandler.cxx:112 AliDielectronMixingHandler.cxx:113 AliDielectronMixingHandler.cxx:114 AliDielectronMixingHandler.cxx:115 AliDielectronMixingHandler.cxx:116 AliDielectronMixingHandler.cxx:117 AliDielectronMixingHandler.cxx:118 AliDielectronMixingHandler.cxx:119 AliDielectronMixingHandler.cxx:120 AliDielectronMixingHandler.cxx:121 AliDielectronMixingHandler.cxx:122 AliDielectronMixingHandler.cxx:123 AliDielectronMixingHandler.cxx:124 AliDielectronMixingHandler.cxx:125 AliDielectronMixingHandler.cxx:126 AliDielectronMixingHandler.cxx:127 AliDielectronMixingHandler.cxx:128 AliDielectronMixingHandler.cxx:129 AliDielectronMixingHandler.cxx:130 AliDielectronMixingHandler.cxx:131 AliDielectronMixingHandler.cxx:132 AliDielectronMixingHandler.cxx:133 AliDielectronMixingHandler.cxx:134 AliDielectronMixingHandler.cxx:135 AliDielectronMixingHandler.cxx:136 AliDielectronMixingHandler.cxx:137 AliDielectronMixingHandler.cxx:138 AliDielectronMixingHandler.cxx:139 AliDielectronMixingHandler.cxx:140 AliDielectronMixingHandler.cxx:141 AliDielectronMixingHandler.cxx:142 AliDielectronMixingHandler.cxx:143 AliDielectronMixingHandler.cxx:144 AliDielectronMixingHandler.cxx:145 AliDielectronMixingHandler.cxx:146 AliDielectronMixingHandler.cxx:147 AliDielectronMixingHandler.cxx:148 AliDielectronMixingHandler.cxx:149 AliDielectronMixingHandler.cxx:150 AliDielectronMixingHandler.cxx:151 AliDielectronMixingHandler.cxx:152 AliDielectronMixingHandler.cxx:153 AliDielectronMixingHandler.cxx:154 AliDielectronMixingHandler.cxx:155 AliDielectronMixingHandler.cxx:156 AliDielectronMixingHandler.cxx:157 AliDielectronMixingHandler.cxx:158 AliDielectronMixingHandler.cxx:159 AliDielectronMixingHandler.cxx:160 AliDielectronMixingHandler.cxx:161 AliDielectronMixingHandler.cxx:162 AliDielectronMixingHandler.cxx:163 AliDielectronMixingHandler.cxx:164 AliDielectronMixingHandler.cxx:165 AliDielectronMixingHandler.cxx:166 AliDielectronMixingHandler.cxx:167 AliDielectronMixingHandler.cxx:168 AliDielectronMixingHandler.cxx:169 AliDielectronMixingHandler.cxx:170 AliDielectronMixingHandler.cxx:171 AliDielectronMixingHandler.cxx:172 AliDielectronMixingHandler.cxx:173 AliDielectronMixingHandler.cxx:174 AliDielectronMixingHandler.cxx:175 AliDielectronMixingHandler.cxx:176 AliDielectronMixingHandler.cxx:177 AliDielectronMixingHandler.cxx:178 AliDielectronMixingHandler.cxx:179 AliDielectronMixingHandler.cxx:180 AliDielectronMixingHandler.cxx:181 AliDielectronMixingHandler.cxx:182 AliDielectronMixingHandler.cxx:183 AliDielectronMixingHandler.cxx:184 AliDielectronMixingHandler.cxx:185 AliDielectronMixingHandler.cxx:186 AliDielectronMixingHandler.cxx:187 AliDielectronMixingHandler.cxx:188 AliDielectronMixingHandler.cxx:189 AliDielectronMixingHandler.cxx:190 AliDielectronMixingHandler.cxx:191 AliDielectronMixingHandler.cxx:192 AliDielectronMixingHandler.cxx:193 AliDielectronMixingHandler.cxx:194 AliDielectronMixingHandler.cxx:195 AliDielectronMixingHandler.cxx:196 AliDielectronMixingHandler.cxx:197 AliDielectronMixingHandler.cxx:198 AliDielectronMixingHandler.cxx:199 AliDielectronMixingHandler.cxx:200 AliDielectronMixingHandler.cxx:201 AliDielectronMixingHandler.cxx:202 AliDielectronMixingHandler.cxx:203 AliDielectronMixingHandler.cxx:204 AliDielectronMixingHandler.cxx:205 AliDielectronMixingHandler.cxx:206 AliDielectronMixingHandler.cxx:207 AliDielectronMixingHandler.cxx:208 AliDielectronMixingHandler.cxx:209 AliDielectronMixingHandler.cxx:210 AliDielectronMixingHandler.cxx:211 AliDielectronMixingHandler.cxx:212 AliDielectronMixingHandler.cxx:213 AliDielectronMixingHandler.cxx:214 AliDielectronMixingHandler.cxx:215 AliDielectronMixingHandler.cxx:216 AliDielectronMixingHandler.cxx:217 AliDielectronMixingHandler.cxx:218 AliDielectronMixingHandler.cxx:219 AliDielectronMixingHandler.cxx:220 AliDielectronMixingHandler.cxx:221 AliDielectronMixingHandler.cxx:222 AliDielectronMixingHandler.cxx:223 AliDielectronMixingHandler.cxx:224 AliDielectronMixingHandler.cxx:225 AliDielectronMixingHandler.cxx:226 AliDielectronMixingHandler.cxx:227 AliDielectronMixingHandler.cxx:228 AliDielectronMixingHandler.cxx:229 AliDielectronMixingHandler.cxx:230 AliDielectronMixingHandler.cxx:231 AliDielectronMixingHandler.cxx:232 AliDielectronMixingHandler.cxx:233 AliDielectronMixingHandler.cxx:234 AliDielectronMixingHandler.cxx:235 AliDielectronMixingHandler.cxx:236 AliDielectronMixingHandler.cxx:237 AliDielectronMixingHandler.cxx:238 AliDielectronMixingHandler.cxx:239 AliDielectronMixingHandler.cxx:240 AliDielectronMixingHandler.cxx:241 AliDielectronMixingHandler.cxx:242 AliDielectronMixingHandler.cxx:243 AliDielectronMixingHandler.cxx:244 AliDielectronMixingHandler.cxx:245 AliDielectronMixingHandler.cxx:246 AliDielectronMixingHandler.cxx:247 AliDielectronMixingHandler.cxx:248 AliDielectronMixingHandler.cxx:249 AliDielectronMixingHandler.cxx:250 AliDielectronMixingHandler.cxx:251 AliDielectronMixingHandler.cxx:252 AliDielectronMixingHandler.cxx:253 AliDielectronMixingHandler.cxx:254 AliDielectronMixingHandler.cxx:255 AliDielectronMixingHandler.cxx:256 AliDielectronMixingHandler.cxx:257 AliDielectronMixingHandler.cxx:258 AliDielectronMixingHandler.cxx:259 AliDielectronMixingHandler.cxx:260 AliDielectronMixingHandler.cxx:261 AliDielectronMixingHandler.cxx:262 AliDielectronMixingHandler.cxx:263 AliDielectronMixingHandler.cxx:264 AliDielectronMixingHandler.cxx:265 AliDielectronMixingHandler.cxx:266 AliDielectronMixingHandler.cxx:267 AliDielectronMixingHandler.cxx:268 AliDielectronMixingHandler.cxx:269 AliDielectronMixingHandler.cxx:270 AliDielectronMixingHandler.cxx:271 AliDielectronMixingHandler.cxx:272 AliDielectronMixingHandler.cxx:273 AliDielectronMixingHandler.cxx:274 AliDielectronMixingHandler.cxx:275 AliDielectronMixingHandler.cxx:276 AliDielectronMixingHandler.cxx:277 AliDielectronMixingHandler.cxx:278 AliDielectronMixingHandler.cxx:279 AliDielectronMixingHandler.cxx:280 AliDielectronMixingHandler.cxx:281 AliDielectronMixingHandler.cxx:282 AliDielectronMixingHandler.cxx:283 AliDielectronMixingHandler.cxx:284 AliDielectronMixingHandler.cxx:285 AliDielectronMixingHandler.cxx:286 AliDielectronMixingHandler.cxx:287 AliDielectronMixingHandler.cxx:288 AliDielectronMixingHandler.cxx:289 AliDielectronMixingHandler.cxx:290 AliDielectronMixingHandler.cxx:291 AliDielectronMixingHandler.cxx:292 AliDielectronMixingHandler.cxx:293 AliDielectronMixingHandler.cxx:294 AliDielectronMixingHandler.cxx:295 AliDielectronMixingHandler.cxx:296 AliDielectronMixingHandler.cxx:297 AliDielectronMixingHandler.cxx:298 AliDielectronMixingHandler.cxx:299 AliDielectronMixingHandler.cxx:300 AliDielectronMixingHandler.cxx:301 AliDielectronMixingHandler.cxx:302 AliDielectronMixingHandler.cxx:303 AliDielectronMixingHandler.cxx:304 AliDielectronMixingHandler.cxx:305 AliDielectronMixingHandler.cxx:306 AliDielectronMixingHandler.cxx:307 AliDielectronMixingHandler.cxx:308 AliDielectronMixingHandler.cxx:309 AliDielectronMixingHandler.cxx:310 AliDielectronMixingHandler.cxx:311 AliDielectronMixingHandler.cxx:312 AliDielectronMixingHandler.cxx:313 AliDielectronMixingHandler.cxx:314 AliDielectronMixingHandler.cxx:315 AliDielectronMixingHandler.cxx:316 AliDielectronMixingHandler.cxx:317 AliDielectronMixingHandler.cxx:318 AliDielectronMixingHandler.cxx:319 AliDielectronMixingHandler.cxx:320 AliDielectronMixingHandler.cxx:321 AliDielectronMixingHandler.cxx:322 AliDielectronMixingHandler.cxx:323 AliDielectronMixingHandler.cxx:324 AliDielectronMixingHandler.cxx:325 AliDielectronMixingHandler.cxx:326 AliDielectronMixingHandler.cxx:327 AliDielectronMixingHandler.cxx:328 AliDielectronMixingHandler.cxx:329 AliDielectronMixingHandler.cxx:330 AliDielectronMixingHandler.cxx:331 AliDielectronMixingHandler.cxx:332 AliDielectronMixingHandler.cxx:333 AliDielectronMixingHandler.cxx:334 AliDielectronMixingHandler.cxx:335 AliDielectronMixingHandler.cxx:336 AliDielectronMixingHandler.cxx:337 AliDielectronMixingHandler.cxx:338 AliDielectronMixingHandler.cxx:339 AliDielectronMixingHandler.cxx:340 AliDielectronMixingHandler.cxx:341 AliDielectronMixingHandler.cxx:342 AliDielectronMixingHandler.cxx:343 AliDielectronMixingHandler.cxx:344 AliDielectronMixingHandler.cxx:345 AliDielectronMixingHandler.cxx:346 AliDielectronMixingHandler.cxx:347 AliDielectronMixingHandler.cxx:348 AliDielectronMixingHandler.cxx:349 AliDielectronMixingHandler.cxx:350 AliDielectronMixingHandler.cxx:351 AliDielectronMixingHandler.cxx:352 AliDielectronMixingHandler.cxx:353 AliDielectronMixingHandler.cxx:354 AliDielectronMixingHandler.cxx:355 AliDielectronMixingHandler.cxx:356 AliDielectronMixingHandler.cxx:357 AliDielectronMixingHandler.cxx:358 AliDielectronMixingHandler.cxx:359 AliDielectronMixingHandler.cxx:360 AliDielectronMixingHandler.cxx:361 AliDielectronMixingHandler.cxx:362 AliDielectronMixingHandler.cxx:363 AliDielectronMixingHandler.cxx:364 AliDielectronMixingHandler.cxx:365 AliDielectronMixingHandler.cxx:366 AliDielectronMixingHandler.cxx:367 AliDielectronMixingHandler.cxx:368 AliDielectronMixingHandler.cxx:369 AliDielectronMixingHandler.cxx:370 AliDielectronMixingHandler.cxx:371 AliDielectronMixingHandler.cxx:372 AliDielectronMixingHandler.cxx:373 AliDielectronMixingHandler.cxx:374 AliDielectronMixingHandler.cxx:375 AliDielectronMixingHandler.cxx:376 AliDielectronMixingHandler.cxx:377 AliDielectronMixingHandler.cxx:378 AliDielectronMixingHandler.cxx:379 AliDielectronMixingHandler.cxx:380 AliDielectronMixingHandler.cxx:381 AliDielectronMixingHandler.cxx:382 AliDielectronMixingHandler.cxx:383 AliDielectronMixingHandler.cxx:384 AliDielectronMixingHandler.cxx:385 AliDielectronMixingHandler.cxx:386 AliDielectronMixingHandler.cxx:387 AliDielectronMixingHandler.cxx:388 AliDielectronMixingHandler.cxx:389 AliDielectronMixingHandler.cxx:390 AliDielectronMixingHandler.cxx:391 AliDielectronMixingHandler.cxx:392 AliDielectronMixingHandler.cxx:393 AliDielectronMixingHandler.cxx:394 AliDielectronMixingHandler.cxx:395 AliDielectronMixingHandler.cxx:396 AliDielectronMixingHandler.cxx:397 AliDielectronMixingHandler.cxx:398 AliDielectronMixingHandler.cxx:399 AliDielectronMixingHandler.cxx:400 AliDielectronMixingHandler.cxx:401 AliDielectronMixingHandler.cxx:402 AliDielectronMixingHandler.cxx:403 AliDielectronMixingHandler.cxx:404 AliDielectronMixingHandler.cxx:405 AliDielectronMixingHandler.cxx:406 AliDielectronMixingHandler.cxx:407 AliDielectronMixingHandler.cxx:408 AliDielectronMixingHandler.cxx:409 AliDielectronMixingHandler.cxx:410 AliDielectronMixingHandler.cxx:411 AliDielectronMixingHandler.cxx:412 AliDielectronMixingHandler.cxx:413 AliDielectronMixingHandler.cxx:414 AliDielectronMixingHandler.cxx:415 AliDielectronMixingHandler.cxx:416 AliDielectronMixingHandler.cxx:417 AliDielectronMixingHandler.cxx:418 AliDielectronMixingHandler.cxx:419 AliDielectronMixingHandler.cxx:420 AliDielectronMixingHandler.cxx:421 AliDielectronMixingHandler.cxx:422 AliDielectronMixingHandler.cxx:423 AliDielectronMixingHandler.cxx:424 AliDielectronMixingHandler.cxx:425 AliDielectronMixingHandler.cxx:426 AliDielectronMixingHandler.cxx:427 AliDielectronMixingHandler.cxx:428 AliDielectronMixingHandler.cxx:429 AliDielectronMixingHandler.cxx:430 AliDielectronMixingHandler.cxx:431 AliDielectronMixingHandler.cxx:432 AliDielectronMixingHandler.cxx:433 AliDielectronMixingHandler.cxx:434 AliDielectronMixingHandler.cxx:435 AliDielectronMixingHandler.cxx:436 AliDielectronMixingHandler.cxx:437 AliDielectronMixingHandler.cxx:438 AliDielectronMixingHandler.cxx:439 AliDielectronMixingHandler.cxx:440 AliDielectronMixingHandler.cxx:441 AliDielectronMixingHandler.cxx:442 AliDielectronMixingHandler.cxx:443 AliDielectronMixingHandler.cxx:444 AliDielectronMixingHandler.cxx:445 AliDielectronMixingHandler.cxx:446 AliDielectronMixingHandler.cxx:447 AliDielectronMixingHandler.cxx:448 AliDielectronMixingHandler.cxx:449 AliDielectronMixingHandler.cxx:450 AliDielectronMixingHandler.cxx:451 AliDielectronMixingHandler.cxx:452 AliDielectronMixingHandler.cxx:453 AliDielectronMixingHandler.cxx:454 AliDielectronMixingHandler.cxx:455 AliDielectronMixingHandler.cxx:456 AliDielectronMixingHandler.cxx:457 AliDielectronMixingHandler.cxx:458 AliDielectronMixingHandler.cxx:459 AliDielectronMixingHandler.cxx:460 AliDielectronMixingHandler.cxx:461 AliDielectronMixingHandler.cxx:462 AliDielectronMixingHandler.cxx:463 AliDielectronMixingHandler.cxx:464 AliDielectronMixingHandler.cxx:465 AliDielectronMixingHandler.cxx:466 AliDielectronMixingHandler.cxx:467 AliDielectronMixingHandler.cxx:468 AliDielectronMixingHandler.cxx:469 AliDielectronMixingHandler.cxx:470 AliDielectronMixingHandler.cxx:471 AliDielectronMixingHandler.cxx:472 AliDielectronMixingHandler.cxx:473 AliDielectronMixingHandler.cxx:474 AliDielectronMixingHandler.cxx:475 AliDielectronMixingHandler.cxx:476 AliDielectronMixingHandler.cxx:477 AliDielectronMixingHandler.cxx:478 AliDielectronMixingHandler.cxx:479 AliDielectronMixingHandler.cxx:480 AliDielectronMixingHandler.cxx:481 AliDielectronMixingHandler.cxx:482 AliDielectronMixingHandler.cxx:483 AliDielectronMixingHandler.cxx:484 AliDielectronMixingHandler.cxx:485 AliDielectronMixingHandler.cxx:486 AliDielectronMixingHandler.cxx:487 AliDielectronMixingHandler.cxx:488 AliDielectronMixingHandler.cxx:489 AliDielectronMixingHandler.cxx:490 AliDielectronMixingHandler.cxx:491 AliDielectronMixingHandler.cxx:492 AliDielectronMixingHandler.cxx:493 AliDielectronMixingHandler.cxx:494 AliDielectronMixingHandler.cxx:495 AliDielectronMixingHandler.cxx:496 AliDielectronMixingHandler.cxx:497 AliDielectronMixingHandler.cxx:498 AliDielectronMixingHandler.cxx:499 AliDielectronMixingHandler.cxx:500 AliDielectronMixingHandler.cxx:501 AliDielectronMixingHandler.cxx:502 AliDielectronMixingHandler.cxx:503 AliDielectronMixingHandler.cxx:504 AliDielectronMixingHandler.cxx:505 AliDielectronMixingHandler.cxx:506 AliDielectronMixingHandler.cxx:507 AliDielectronMixingHandler.cxx:508 AliDielectronMixingHandler.cxx:509 AliDielectronMixingHandler.cxx:510 AliDielectronMixingHandler.cxx:511 AliDielectronMixingHandler.cxx:512 AliDielectronMixingHandler.cxx:513