#include <TChain.h>
#include <TH1D.h>
#include <AliCFContainer.h>
#include <AliInputEventHandler.h>
#include <AliESDInputHandler.h>
#include <AliAODInputHandler.h>
#include <AliAnalysisManager.h>
#include <AliVEvent.h>
#include <AliTriggerAnalysis.h>
#include <AliPIDResponse.h>
#include <AliTPCPIDResponse.h>
#include "AliDielectron.h"
#include "AliDielectronHistos.h"
#include "AliDielectronCF.h"
#include "AliDielectronMC.h"
#include "AliDielectronMixingHandler.h"
#include "AliAnalysisTaskMultiDielectron.h"
ClassImp(AliAnalysisTaskMultiDielectron)
AliAnalysisTaskMultiDielectron::AliAnalysisTaskMultiDielectron() :
AliAnalysisTaskSE(),
fPairArray(0x0),
fListDielectron(),
fListHistos(),
fListCF(),
fSelectPhysics(kFALSE),
fTriggerMask(AliVEvent::kMB),
fExcludeTriggerMask(0),
fTriggerOnV0AND(kFALSE),
fFiredTrigger(""),
fFiredExclude(kFALSE),
fRejectPileup(kFALSE),
fBeamEnergy(-1.),
fTriggerLogic(kAny),
fTriggerAnalysis(0x0),
fEventFilter(0x0),
fEventStat(0x0)
{
}
AliAnalysisTaskMultiDielectron::AliAnalysisTaskMultiDielectron(const char *name) :
AliAnalysisTaskSE(name),
fPairArray(0x0),
fListDielectron(),
fListHistos(),
fListCF(),
fSelectPhysics(kFALSE),
fTriggerMask(AliVEvent::kMB),
fExcludeTriggerMask(0),
fTriggerOnV0AND(kFALSE),
fFiredTrigger(""),
fFiredExclude(kFALSE),
fRejectPileup(kFALSE),
fBeamEnergy(-1.),
fTriggerLogic(kAny),
fTriggerAnalysis(0x0),
fEventFilter(0x0),
fEventStat(0x0)
{
DefineInput(0,TChain::Class());
DefineOutput(1, TList::Class());
DefineOutput(2, TList::Class());
DefineOutput(3, TH1D::Class());
fListHistos.SetName("Dielectron_Histos_Multi");
fListCF.SetName("Dielectron_CF_Multi");
fListDielectron.SetOwner();
fListHistos.SetOwner();
fListCF.SetOwner();
}
AliAnalysisTaskMultiDielectron::~AliAnalysisTaskMultiDielectron()
{
fListHistos.SetOwner(kFALSE);
fListCF.SetOwner(kFALSE);
if(fEventStat) { delete fEventStat; fEventStat=0; }
if(fTriggerAnalysis) { delete fTriggerAnalysis; fTriggerAnalysis=0; }
}
void AliAnalysisTaskMultiDielectron::UserCreateOutputObjects()
{
if (!fListHistos.IsEmpty()||!fListCF.IsEmpty()) return;
TIter nextDie(&fListDielectron);
AliDielectron *die=0;
while ( (die=static_cast<AliDielectron*>(nextDie())) ){
die->Init();
if (die->GetHistogramList()) fListHistos.Add(const_cast<THashList*>(die->GetHistogramList()));
if (die->GetHistogramArray()) fListHistos.Add(const_cast<TObjArray*>(die->GetHistogramArray()));
if (die->GetQAHistArray()) fListHistos.Add(const_cast<TObjArray*>(die->GetQAHistArray()));
if (die->GetCFManagerPair()) fListCF.Add(const_cast<AliCFContainer*>(die->GetCFManagerPair()->GetContainer()));
}
Int_t cuts=fListDielectron.GetEntries();
Int_t nbins=kNbinsEvent+2*cuts;
if (!fEventStat){
fEventStat=new TH1D("hEventStat","Event statistics",nbins,0,nbins);
fEventStat->GetXaxis()->SetBinLabel(1,"Before Phys. Sel.");
fEventStat->GetXaxis()->SetBinLabel(2,"After Phys. Sel.");
fEventStat->GetXaxis()->SetBinLabel(3,"Bin3 not used");
fEventStat->GetXaxis()->SetBinLabel(4,"Bin4 not used");
fEventStat->GetXaxis()->SetBinLabel(5,"Bin5 not used");
if(fTriggerOnV0AND) fEventStat->GetXaxis()->SetBinLabel(3,"V0and triggers");
if (fEventFilter) fEventStat->GetXaxis()->SetBinLabel(4,"After Event Filter");
if (fRejectPileup) fEventStat->GetXaxis()->SetBinLabel(5,"After Pileup rejection");
for (Int_t i=0; i<cuts; ++i){
fEventStat->GetXaxis()->SetBinLabel((kNbinsEvent+1)+2*i,Form("#splitline{1 candidate}{%s}",fListDielectron.At(i)->GetName()));
fEventStat->GetXaxis()->SetBinLabel((kNbinsEvent+2)+2*i,Form("#splitline{With >1 candidate}{%s}",fListDielectron.At(i)->GetName()));
}
}
if (!fTriggerAnalysis) fTriggerAnalysis=new AliTriggerAnalysis;
fTriggerAnalysis->EnableHistograms();
fTriggerAnalysis->SetAnalyzeMC(AliDielectronMC::Instance()->HasMC());
PostData(1, &fListHistos);
PostData(2, &fListCF);
PostData(3, fEventStat);
}
void AliAnalysisTaskMultiDielectron::UserExec(Option_t *)
{
if (fListHistos.IsEmpty()&&fListCF.IsEmpty()) return;
AliAnalysisManager *man=AliAnalysisManager::GetAnalysisManager();
Bool_t isESD=man->GetInputEventHandler()->IsA()==AliESDInputHandler::Class();
Bool_t isAOD=man->GetInputEventHandler()->IsA()==AliAODInputHandler::Class();
AliInputEventHandler* inputHandler = (AliInputEventHandler*) (man->GetInputEventHandler());
if (!inputHandler) return;
if ( inputHandler->GetPIDResponse() ){
AliDielectronVarManager::SetPIDResponse( inputHandler->GetPIDResponse() );
} else {
AliFatal("This task needs the PID response attached to the input event handler!");
}
ULong64_t isSelected = AliVEvent::kAny;
Bool_t isRejected = kFALSE;
if( fSelectPhysics && inputHandler){
if((isESD && inputHandler->GetEventSelection()) || isAOD){
isSelected = inputHandler->IsEventSelected();
if (fExcludeTriggerMask && (isSelected&fExcludeTriggerMask)) isRejected=kTRUE;
if (fTriggerLogic==kAny) isSelected&=fTriggerMask;
else if (fTriggerLogic==kExact) isSelected=((isSelected&fTriggerMask)==fTriggerMask);
TString firedTriggerClasses=InputEvent()->GetFiredTriggerClasses();
if(!fFiredTrigger.IsNull()) isSelected=(firedTriggerClasses.Contains(fFiredTrigger))^fFiredExclude;
}
}
fEventStat->Fill(kAllEvents);
if (isSelected==0||isRejected) {
PostData(3,fEventStat);
return;
}
fEventStat->Fill(kSelectedEvents);
if(fTriggerOnV0AND){
if(isESD){if (!fTriggerAnalysis->IsOfflineTriggerFired(static_cast<AliESDEvent*>(InputEvent()), AliTriggerAnalysis::kV0AND))
return;}
if(isAOD){if(!((static_cast<AliAODEvent*>(InputEvent()))->GetVZEROData()->GetV0ADecision() == AliVVZERO::kV0BB &&
(static_cast<AliAODEvent*>(InputEvent()))->GetVZEROData()->GetV0CDecision() == AliVVZERO::kV0BB) )
return;}
}
fEventStat->Fill(kV0andEvents);
TIter nextDie(&fListDielectron);
AliDielectron *die=0;
Bool_t hasMC=AliDielectronMC::Instance()->HasMC();
while ( (die=static_cast<AliDielectron*>(nextDie())) ){
AliDielectronHistos *h=die->GetHistoManager();
if (h){
AliDielectronVarManager::SetFillMap(h->GetUsedVars());
if (hasMC && AliDielectronMC::Instance()->ConnectMCEvent() && h->GetHistogramList()->FindObject("MCEvent_noCuts")) {
AliDielectronVarManager::SetEvent(AliDielectronMC::Instance()->GetMCEvent());
h->FillClass("MCEvent_noCuts",AliDielectronVarManager::kNMaxValues,AliDielectronVarManager::GetData());
}
if (h->GetHistogramList()->FindObject("Event_noCuts")) {
AliDielectronVarManager::SetEvent(InputEvent());
h->FillClass("Event_noCuts",AliDielectronVarManager::kNMaxValues,AliDielectronVarManager::GetData());
}
}
}
nextDie.Reset();
if (fEventFilter) {
if (!fEventFilter->IsSelected(InputEvent())) return;
}
fEventStat->Fill(kFilteredEvents);
if (fRejectPileup){
if (InputEvent()->IsPileupFromSPD(3,0.8,3.,2.,5.)) return;
}
fEventStat->Fill(kPileupEvents);
Double_t bz = InputEvent()->GetMagneticField();
AliKFParticle::SetField( bz );
AliDielectronPID::SetCorrVal((Double_t)InputEvent()->GetRunNumber());
AliDielectronPair::SetBeamEnergy(InputEvent(), fBeamEnergy);
Bool_t sel=kFALSE;
Int_t idie=0;
while ( (die=static_cast<AliDielectron*>(nextDie())) ){
if(die->DoEventProcess()) {
sel= die->Process(InputEvent());
if(die->DontClearArrays()) {
fPairArray = (*(die->GetPairArraysPointer()));
}
}
else {
if(sel) die->Process(fPairArray);
}
if (die->HasCandidates()){
Int_t ncandidates=die->GetPairArray(1)->GetEntriesFast();
if (ncandidates==1) fEventStat->Fill((kNbinsEvent)+2*idie);
else if (ncandidates>1) fEventStat->Fill((kNbinsEvent+1)+2*idie);
}
++idie;
}
PostData(1, &fListHistos);
PostData(2, &fListCF);
PostData(3,fEventStat);
}
void AliAnalysisTaskMultiDielectron::FinishTaskOutput()
{
TIter nextDie(&fListDielectron);
Int_t ic=0;
AliDielectron *die=0;
AliDielectron *die2=0;
fPairArray=0x0;
while ( (die=static_cast<AliDielectron*>(nextDie())) ){
ic++;
die->SaveDebugTree();
if(!die->DoEventProcess()) continue;
AliDielectronMixingHandler *mix=die->GetMixingHandler();
if (!mix || !mix->GetMixUncomplete()) continue;
for (Int_t ipool=0; ipool<mix->GetNumberOfBins(); ++ipool){
if(! mix->MixRemaining(die, ipool) ) { fPairArray=0x0; continue; }
fPairArray = (*(die->GetPairArraysPointer()));
if(!fPairArray) continue;
for(Int_t i=ic; i<fListDielectron.GetEntries(); i++) {
die2 = static_cast<AliDielectron*>(fListDielectron.At(i));
if(die2->DoEventProcess()) break;
die2->SetPairArraysPointer(fPairArray);
die2->FillHistogramsFromPairArray(kTRUE);
}
}
}
PostData(1, &fListHistos);
PostData(2, &fListCF);
}
AliAnalysisTaskMultiDielectron.cxx:1 AliAnalysisTaskMultiDielectron.cxx:2 AliAnalysisTaskMultiDielectron.cxx:3 AliAnalysisTaskMultiDielectron.cxx:4 AliAnalysisTaskMultiDielectron.cxx:5 AliAnalysisTaskMultiDielectron.cxx:6 AliAnalysisTaskMultiDielectron.cxx:7 AliAnalysisTaskMultiDielectron.cxx:8 AliAnalysisTaskMultiDielectron.cxx:9 AliAnalysisTaskMultiDielectron.cxx:10 AliAnalysisTaskMultiDielectron.cxx:11 AliAnalysisTaskMultiDielectron.cxx:12 AliAnalysisTaskMultiDielectron.cxx:13 AliAnalysisTaskMultiDielectron.cxx:14 AliAnalysisTaskMultiDielectron.cxx:15 AliAnalysisTaskMultiDielectron.cxx:16 AliAnalysisTaskMultiDielectron.cxx:17 AliAnalysisTaskMultiDielectron.cxx:18 AliAnalysisTaskMultiDielectron.cxx:19 AliAnalysisTaskMultiDielectron.cxx:20 AliAnalysisTaskMultiDielectron.cxx:21 AliAnalysisTaskMultiDielectron.cxx:22 AliAnalysisTaskMultiDielectron.cxx:23 AliAnalysisTaskMultiDielectron.cxx:24 AliAnalysisTaskMultiDielectron.cxx:25 AliAnalysisTaskMultiDielectron.cxx:26 AliAnalysisTaskMultiDielectron.cxx:27 AliAnalysisTaskMultiDielectron.cxx:28 AliAnalysisTaskMultiDielectron.cxx:29 AliAnalysisTaskMultiDielectron.cxx:30 AliAnalysisTaskMultiDielectron.cxx:31 AliAnalysisTaskMultiDielectron.cxx:32 AliAnalysisTaskMultiDielectron.cxx:33 AliAnalysisTaskMultiDielectron.cxx:34 AliAnalysisTaskMultiDielectron.cxx:35 AliAnalysisTaskMultiDielectron.cxx:36 AliAnalysisTaskMultiDielectron.cxx:37 AliAnalysisTaskMultiDielectron.cxx:38 AliAnalysisTaskMultiDielectron.cxx:39 AliAnalysisTaskMultiDielectron.cxx:40 AliAnalysisTaskMultiDielectron.cxx:41 AliAnalysisTaskMultiDielectron.cxx:42 AliAnalysisTaskMultiDielectron.cxx:43 AliAnalysisTaskMultiDielectron.cxx:44 AliAnalysisTaskMultiDielectron.cxx:45 AliAnalysisTaskMultiDielectron.cxx:46 AliAnalysisTaskMultiDielectron.cxx:47 AliAnalysisTaskMultiDielectron.cxx:48 AliAnalysisTaskMultiDielectron.cxx:49 AliAnalysisTaskMultiDielectron.cxx:50 AliAnalysisTaskMultiDielectron.cxx:51 AliAnalysisTaskMultiDielectron.cxx:52 AliAnalysisTaskMultiDielectron.cxx:53 AliAnalysisTaskMultiDielectron.cxx:54 AliAnalysisTaskMultiDielectron.cxx:55 AliAnalysisTaskMultiDielectron.cxx:56 AliAnalysisTaskMultiDielectron.cxx:57 AliAnalysisTaskMultiDielectron.cxx:58 AliAnalysisTaskMultiDielectron.cxx:59 AliAnalysisTaskMultiDielectron.cxx:60 AliAnalysisTaskMultiDielectron.cxx:61 AliAnalysisTaskMultiDielectron.cxx:62 AliAnalysisTaskMultiDielectron.cxx:63 AliAnalysisTaskMultiDielectron.cxx:64 AliAnalysisTaskMultiDielectron.cxx:65 AliAnalysisTaskMultiDielectron.cxx:66 AliAnalysisTaskMultiDielectron.cxx:67 AliAnalysisTaskMultiDielectron.cxx:68 AliAnalysisTaskMultiDielectron.cxx:69 AliAnalysisTaskMultiDielectron.cxx:70 AliAnalysisTaskMultiDielectron.cxx:71 AliAnalysisTaskMultiDielectron.cxx:72 AliAnalysisTaskMultiDielectron.cxx:73 AliAnalysisTaskMultiDielectron.cxx:74 AliAnalysisTaskMultiDielectron.cxx:75 AliAnalysisTaskMultiDielectron.cxx:76 AliAnalysisTaskMultiDielectron.cxx:77 AliAnalysisTaskMultiDielectron.cxx:78 AliAnalysisTaskMultiDielectron.cxx:79 AliAnalysisTaskMultiDielectron.cxx:80 AliAnalysisTaskMultiDielectron.cxx:81 AliAnalysisTaskMultiDielectron.cxx:82 AliAnalysisTaskMultiDielectron.cxx:83 AliAnalysisTaskMultiDielectron.cxx:84 AliAnalysisTaskMultiDielectron.cxx:85 AliAnalysisTaskMultiDielectron.cxx:86 AliAnalysisTaskMultiDielectron.cxx:87 AliAnalysisTaskMultiDielectron.cxx:88 AliAnalysisTaskMultiDielectron.cxx:89 AliAnalysisTaskMultiDielectron.cxx:90 AliAnalysisTaskMultiDielectron.cxx:91 AliAnalysisTaskMultiDielectron.cxx:92 AliAnalysisTaskMultiDielectron.cxx:93 AliAnalysisTaskMultiDielectron.cxx:94 AliAnalysisTaskMultiDielectron.cxx:95 AliAnalysisTaskMultiDielectron.cxx:96 AliAnalysisTaskMultiDielectron.cxx:97 AliAnalysisTaskMultiDielectron.cxx:98 AliAnalysisTaskMultiDielectron.cxx:99 AliAnalysisTaskMultiDielectron.cxx:100 AliAnalysisTaskMultiDielectron.cxx:101 AliAnalysisTaskMultiDielectron.cxx:102 AliAnalysisTaskMultiDielectron.cxx:103 AliAnalysisTaskMultiDielectron.cxx:104 AliAnalysisTaskMultiDielectron.cxx:105 AliAnalysisTaskMultiDielectron.cxx:106 AliAnalysisTaskMultiDielectron.cxx:107 AliAnalysisTaskMultiDielectron.cxx:108 AliAnalysisTaskMultiDielectron.cxx:109 AliAnalysisTaskMultiDielectron.cxx:110 AliAnalysisTaskMultiDielectron.cxx:111 AliAnalysisTaskMultiDielectron.cxx:112 AliAnalysisTaskMultiDielectron.cxx:113 AliAnalysisTaskMultiDielectron.cxx:114 AliAnalysisTaskMultiDielectron.cxx:115 AliAnalysisTaskMultiDielectron.cxx:116 AliAnalysisTaskMultiDielectron.cxx:117 AliAnalysisTaskMultiDielectron.cxx:118 AliAnalysisTaskMultiDielectron.cxx:119 AliAnalysisTaskMultiDielectron.cxx:120 AliAnalysisTaskMultiDielectron.cxx:121 AliAnalysisTaskMultiDielectron.cxx:122 AliAnalysisTaskMultiDielectron.cxx:123 AliAnalysisTaskMultiDielectron.cxx:124 AliAnalysisTaskMultiDielectron.cxx:125 AliAnalysisTaskMultiDielectron.cxx:126 AliAnalysisTaskMultiDielectron.cxx:127 AliAnalysisTaskMultiDielectron.cxx:128 AliAnalysisTaskMultiDielectron.cxx:129 AliAnalysisTaskMultiDielectron.cxx:130 AliAnalysisTaskMultiDielectron.cxx:131 AliAnalysisTaskMultiDielectron.cxx:132 AliAnalysisTaskMultiDielectron.cxx:133 AliAnalysisTaskMultiDielectron.cxx:134 AliAnalysisTaskMultiDielectron.cxx:135 AliAnalysisTaskMultiDielectron.cxx:136 AliAnalysisTaskMultiDielectron.cxx:137 AliAnalysisTaskMultiDielectron.cxx:138 AliAnalysisTaskMultiDielectron.cxx:139 AliAnalysisTaskMultiDielectron.cxx:140 AliAnalysisTaskMultiDielectron.cxx:141 AliAnalysisTaskMultiDielectron.cxx:142 AliAnalysisTaskMultiDielectron.cxx:143 AliAnalysisTaskMultiDielectron.cxx:144 AliAnalysisTaskMultiDielectron.cxx:145 AliAnalysisTaskMultiDielectron.cxx:146 AliAnalysisTaskMultiDielectron.cxx:147 AliAnalysisTaskMultiDielectron.cxx:148 AliAnalysisTaskMultiDielectron.cxx:149 AliAnalysisTaskMultiDielectron.cxx:150 AliAnalysisTaskMultiDielectron.cxx:151 AliAnalysisTaskMultiDielectron.cxx:152 AliAnalysisTaskMultiDielectron.cxx:153 AliAnalysisTaskMultiDielectron.cxx:154 AliAnalysisTaskMultiDielectron.cxx:155 AliAnalysisTaskMultiDielectron.cxx:156 AliAnalysisTaskMultiDielectron.cxx:157 AliAnalysisTaskMultiDielectron.cxx:158 AliAnalysisTaskMultiDielectron.cxx:159 AliAnalysisTaskMultiDielectron.cxx:160 AliAnalysisTaskMultiDielectron.cxx:161 AliAnalysisTaskMultiDielectron.cxx:162 AliAnalysisTaskMultiDielectron.cxx:163 AliAnalysisTaskMultiDielectron.cxx:164 AliAnalysisTaskMultiDielectron.cxx:165 AliAnalysisTaskMultiDielectron.cxx:166 AliAnalysisTaskMultiDielectron.cxx:167 AliAnalysisTaskMultiDielectron.cxx:168 AliAnalysisTaskMultiDielectron.cxx:169 AliAnalysisTaskMultiDielectron.cxx:170 AliAnalysisTaskMultiDielectron.cxx:171 AliAnalysisTaskMultiDielectron.cxx:172 AliAnalysisTaskMultiDielectron.cxx:173 AliAnalysisTaskMultiDielectron.cxx:174 AliAnalysisTaskMultiDielectron.cxx:175 AliAnalysisTaskMultiDielectron.cxx:176 AliAnalysisTaskMultiDielectron.cxx:177 AliAnalysisTaskMultiDielectron.cxx:178 AliAnalysisTaskMultiDielectron.cxx:179 AliAnalysisTaskMultiDielectron.cxx:180 AliAnalysisTaskMultiDielectron.cxx:181 AliAnalysisTaskMultiDielectron.cxx:182 AliAnalysisTaskMultiDielectron.cxx:183 AliAnalysisTaskMultiDielectron.cxx:184 AliAnalysisTaskMultiDielectron.cxx:185 AliAnalysisTaskMultiDielectron.cxx:186 AliAnalysisTaskMultiDielectron.cxx:187 AliAnalysisTaskMultiDielectron.cxx:188 AliAnalysisTaskMultiDielectron.cxx:189 AliAnalysisTaskMultiDielectron.cxx:190 AliAnalysisTaskMultiDielectron.cxx:191 AliAnalysisTaskMultiDielectron.cxx:192 AliAnalysisTaskMultiDielectron.cxx:193 AliAnalysisTaskMultiDielectron.cxx:194 AliAnalysisTaskMultiDielectron.cxx:195 AliAnalysisTaskMultiDielectron.cxx:196 AliAnalysisTaskMultiDielectron.cxx:197 AliAnalysisTaskMultiDielectron.cxx:198 AliAnalysisTaskMultiDielectron.cxx:199 AliAnalysisTaskMultiDielectron.cxx:200 AliAnalysisTaskMultiDielectron.cxx:201 AliAnalysisTaskMultiDielectron.cxx:202 AliAnalysisTaskMultiDielectron.cxx:203 AliAnalysisTaskMultiDielectron.cxx:204 AliAnalysisTaskMultiDielectron.cxx:205 AliAnalysisTaskMultiDielectron.cxx:206 AliAnalysisTaskMultiDielectron.cxx:207 AliAnalysisTaskMultiDielectron.cxx:208 AliAnalysisTaskMultiDielectron.cxx:209 AliAnalysisTaskMultiDielectron.cxx:210 AliAnalysisTaskMultiDielectron.cxx:211 AliAnalysisTaskMultiDielectron.cxx:212 AliAnalysisTaskMultiDielectron.cxx:213 AliAnalysisTaskMultiDielectron.cxx:214 AliAnalysisTaskMultiDielectron.cxx:215 AliAnalysisTaskMultiDielectron.cxx:216 AliAnalysisTaskMultiDielectron.cxx:217 AliAnalysisTaskMultiDielectron.cxx:218 AliAnalysisTaskMultiDielectron.cxx:219 AliAnalysisTaskMultiDielectron.cxx:220 AliAnalysisTaskMultiDielectron.cxx:221 AliAnalysisTaskMultiDielectron.cxx:222 AliAnalysisTaskMultiDielectron.cxx:223 AliAnalysisTaskMultiDielectron.cxx:224 AliAnalysisTaskMultiDielectron.cxx:225 AliAnalysisTaskMultiDielectron.cxx:226 AliAnalysisTaskMultiDielectron.cxx:227 AliAnalysisTaskMultiDielectron.cxx:228 AliAnalysisTaskMultiDielectron.cxx:229 AliAnalysisTaskMultiDielectron.cxx:230 AliAnalysisTaskMultiDielectron.cxx:231 AliAnalysisTaskMultiDielectron.cxx:232 AliAnalysisTaskMultiDielectron.cxx:233 AliAnalysisTaskMultiDielectron.cxx:234 AliAnalysisTaskMultiDielectron.cxx:235 AliAnalysisTaskMultiDielectron.cxx:236 AliAnalysisTaskMultiDielectron.cxx:237 AliAnalysisTaskMultiDielectron.cxx:238 AliAnalysisTaskMultiDielectron.cxx:239 AliAnalysisTaskMultiDielectron.cxx:240 AliAnalysisTaskMultiDielectron.cxx:241 AliAnalysisTaskMultiDielectron.cxx:242 AliAnalysisTaskMultiDielectron.cxx:243 AliAnalysisTaskMultiDielectron.cxx:244 AliAnalysisTaskMultiDielectron.cxx:245 AliAnalysisTaskMultiDielectron.cxx:246 AliAnalysisTaskMultiDielectron.cxx:247 AliAnalysisTaskMultiDielectron.cxx:248 AliAnalysisTaskMultiDielectron.cxx:249 AliAnalysisTaskMultiDielectron.cxx:250 AliAnalysisTaskMultiDielectron.cxx:251 AliAnalysisTaskMultiDielectron.cxx:252 AliAnalysisTaskMultiDielectron.cxx:253 AliAnalysisTaskMultiDielectron.cxx:254 AliAnalysisTaskMultiDielectron.cxx:255 AliAnalysisTaskMultiDielectron.cxx:256 AliAnalysisTaskMultiDielectron.cxx:257 AliAnalysisTaskMultiDielectron.cxx:258 AliAnalysisTaskMultiDielectron.cxx:259 AliAnalysisTaskMultiDielectron.cxx:260 AliAnalysisTaskMultiDielectron.cxx:261 AliAnalysisTaskMultiDielectron.cxx:262 AliAnalysisTaskMultiDielectron.cxx:263 AliAnalysisTaskMultiDielectron.cxx:264 AliAnalysisTaskMultiDielectron.cxx:265 AliAnalysisTaskMultiDielectron.cxx:266 AliAnalysisTaskMultiDielectron.cxx:267 AliAnalysisTaskMultiDielectron.cxx:268 AliAnalysisTaskMultiDielectron.cxx:269 AliAnalysisTaskMultiDielectron.cxx:270 AliAnalysisTaskMultiDielectron.cxx:271 AliAnalysisTaskMultiDielectron.cxx:272 AliAnalysisTaskMultiDielectron.cxx:273 AliAnalysisTaskMultiDielectron.cxx:274 AliAnalysisTaskMultiDielectron.cxx:275 AliAnalysisTaskMultiDielectron.cxx:276 AliAnalysisTaskMultiDielectron.cxx:277 AliAnalysisTaskMultiDielectron.cxx:278 AliAnalysisTaskMultiDielectron.cxx:279 AliAnalysisTaskMultiDielectron.cxx:280 AliAnalysisTaskMultiDielectron.cxx:281 AliAnalysisTaskMultiDielectron.cxx:282 AliAnalysisTaskMultiDielectron.cxx:283 AliAnalysisTaskMultiDielectron.cxx:284 AliAnalysisTaskMultiDielectron.cxx:285 AliAnalysisTaskMultiDielectron.cxx:286 AliAnalysisTaskMultiDielectron.cxx:287 AliAnalysisTaskMultiDielectron.cxx:288 AliAnalysisTaskMultiDielectron.cxx:289 AliAnalysisTaskMultiDielectron.cxx:290 AliAnalysisTaskMultiDielectron.cxx:291 AliAnalysisTaskMultiDielectron.cxx:292 AliAnalysisTaskMultiDielectron.cxx:293 AliAnalysisTaskMultiDielectron.cxx:294 AliAnalysisTaskMultiDielectron.cxx:295 AliAnalysisTaskMultiDielectron.cxx:296 AliAnalysisTaskMultiDielectron.cxx:297 AliAnalysisTaskMultiDielectron.cxx:298 AliAnalysisTaskMultiDielectron.cxx:299 AliAnalysisTaskMultiDielectron.cxx:300 AliAnalysisTaskMultiDielectron.cxx:301 AliAnalysisTaskMultiDielectron.cxx:302 AliAnalysisTaskMultiDielectron.cxx:303 AliAnalysisTaskMultiDielectron.cxx:304 AliAnalysisTaskMultiDielectron.cxx:305 AliAnalysisTaskMultiDielectron.cxx:306 AliAnalysisTaskMultiDielectron.cxx:307 AliAnalysisTaskMultiDielectron.cxx:308 AliAnalysisTaskMultiDielectron.cxx:309 AliAnalysisTaskMultiDielectron.cxx:310 AliAnalysisTaskMultiDielectron.cxx:311 AliAnalysisTaskMultiDielectron.cxx:312 AliAnalysisTaskMultiDielectron.cxx:313 AliAnalysisTaskMultiDielectron.cxx:314 AliAnalysisTaskMultiDielectron.cxx:315 AliAnalysisTaskMultiDielectron.cxx:316 AliAnalysisTaskMultiDielectron.cxx:317 AliAnalysisTaskMultiDielectron.cxx:318 AliAnalysisTaskMultiDielectron.cxx:319 AliAnalysisTaskMultiDielectron.cxx:320 AliAnalysisTaskMultiDielectron.cxx:321 AliAnalysisTaskMultiDielectron.cxx:322 AliAnalysisTaskMultiDielectron.cxx:323 AliAnalysisTaskMultiDielectron.cxx:324 AliAnalysisTaskMultiDielectron.cxx:325 AliAnalysisTaskMultiDielectron.cxx:326 AliAnalysisTaskMultiDielectron.cxx:327 AliAnalysisTaskMultiDielectron.cxx:328 AliAnalysisTaskMultiDielectron.cxx:329 AliAnalysisTaskMultiDielectron.cxx:330 AliAnalysisTaskMultiDielectron.cxx:331 AliAnalysisTaskMultiDielectron.cxx:332 AliAnalysisTaskMultiDielectron.cxx:333 AliAnalysisTaskMultiDielectron.cxx:334 AliAnalysisTaskMultiDielectron.cxx:335 AliAnalysisTaskMultiDielectron.cxx:336 AliAnalysisTaskMultiDielectron.cxx:337 AliAnalysisTaskMultiDielectron.cxx:338 AliAnalysisTaskMultiDielectron.cxx:339 AliAnalysisTaskMultiDielectron.cxx:340 AliAnalysisTaskMultiDielectron.cxx:341 AliAnalysisTaskMultiDielectron.cxx:342 AliAnalysisTaskMultiDielectron.cxx:343 AliAnalysisTaskMultiDielectron.cxx:344 AliAnalysisTaskMultiDielectron.cxx:345 AliAnalysisTaskMultiDielectron.cxx:346 AliAnalysisTaskMultiDielectron.cxx:347 AliAnalysisTaskMultiDielectron.cxx:348 AliAnalysisTaskMultiDielectron.cxx:349 AliAnalysisTaskMultiDielectron.cxx:350 AliAnalysisTaskMultiDielectron.cxx:351 AliAnalysisTaskMultiDielectron.cxx:352 AliAnalysisTaskMultiDielectron.cxx:353 AliAnalysisTaskMultiDielectron.cxx:354 AliAnalysisTaskMultiDielectron.cxx:355 AliAnalysisTaskMultiDielectron.cxx:356 AliAnalysisTaskMultiDielectron.cxx:357 AliAnalysisTaskMultiDielectron.cxx:358 AliAnalysisTaskMultiDielectron.cxx:359 AliAnalysisTaskMultiDielectron.cxx:360 AliAnalysisTaskMultiDielectron.cxx:361