#include <TChain.h>
#include <TH1D.h>
#include <AliLog.h>
#include <AliAODHandler.h>
#include <AliAODInputHandler.h>
#include <AliAnalysisManager.h>
#include <AliVEvent.h>
#include <AliTriggerAnalysis.h>
#include <AliInputEventHandler.h>
#include <AliAODInputHandler.h>
#include <AliESDInputHandler.h>
#include "AliDielectron.h"
#include "AliDielectronMC.h"
#include "AliDielectronHistos.h"
#include "AliDielectronVarManager.h"
#include "AliAnalysisTaskDielectronFilter.h"
#include "AliAODCaloCluster.h"
ClassImp(AliAnalysisTaskDielectronFilter)
AliAnalysisTaskDielectronFilter::AliAnalysisTaskDielectronFilter() :
AliAnalysisTaskSE(),
fDielectron(0),
fSelectPhysics(kTRUE),
fTriggerMask(AliVEvent::kMB),
fExcludeTriggerMask(0),
fTriggerOnV0AND(kFALSE),
fRejectPileup(kFALSE),
fEventStat(0x0),
fTriggerLogic(kAny),
fTriggerAnalysis(0x0),
fStoreLikeSign(kFALSE),
fStoreRotatedPairs(kFALSE),
fStoreEventsWithSingleTracks(kFALSE),
fCreateNanoAOD(kFALSE),
fStoreHeader(kFALSE),
fEventFilter(0x0)
{
}
AliAnalysisTaskDielectronFilter::AliAnalysisTaskDielectronFilter(const char *name) :
AliAnalysisTaskSE(name),
fDielectron(0),
fSelectPhysics(kTRUE),
fTriggerMask(AliVEvent::kMB),
fExcludeTriggerMask(0),
fTriggerOnV0AND(kFALSE),
fRejectPileup(kFALSE),
fEventStat(0x0),
fTriggerLogic(kAny),
fTriggerAnalysis(0x0),
fStoreLikeSign(kFALSE),
fStoreRotatedPairs(kFALSE),
fStoreEventsWithSingleTracks(kFALSE),
fCreateNanoAOD(kFALSE),
fStoreHeader(kFALSE),
fEventFilter(0x0)
{
DefineInput(0,TChain::Class());
DefineOutput(1, THashList::Class());
DefineOutput(2, TH1D::Class());
}
void AliAnalysisTaskDielectronFilter::Init()
{
if (fDebug > 1) AliInfo("Init() \n");
AliAODHandler *aodH = (AliAODHandler*)((AliAnalysisManager::GetAnalysisManager())->GetOutputEventHandler());
if (!aodH) AliFatal("No AOD handler. Halting.");
aodH->AddFilteredAOD("AliAOD.Dielectron.root", "DielectronEvents");
}
void AliAnalysisTaskDielectronFilter::UserCreateOutputObjects()
{
if (!fDielectron) {
AliFatal("Dielectron framework class required. Please create and instance with proper cuts and set it via 'SetDielectron' before executing this task!!!");
return;
}
if(fStoreRotatedPairs) fDielectron->SetStoreRotatedPairs(kTRUE);
fDielectron->SetDontClearArrays();
fDielectron->Init();
Int_t nbins=kNbinsEvent+2;
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");
fEventStat->GetXaxis()->SetBinLabel((kNbinsEvent+1),Form("#splitline{1 candidate}{%s}",fDielectron->GetName()));
fEventStat->GetXaxis()->SetBinLabel((kNbinsEvent+2),Form("#splitline{With >1 candidate}{%s}",fDielectron->GetName()));
}
Bool_t isAOD=AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()->IsA()==AliAODInputHandler::Class();
if(fCreateNanoAOD && isAOD){
AliAODHandler *aodH = (AliAODHandler*)((AliAnalysisManager::GetAnalysisManager())->GetOutputEventHandler());
AliAODExtension *extDielectron = aodH->GetFilteredAOD("AliAOD.Dielectron.root");
TClonesArray *nanoAODTracks = new TClonesArray("AliAODTrack",500);
nanoAODTracks->SetName("tracks");
extDielectron->AddBranch("TClonesArray", &nanoAODTracks);
TClonesArray *nanoAODVertices = new TClonesArray("AliAODVertex",500);
nanoAODVertices->SetName("vertices");
extDielectron->AddBranch("TClonesArray", &nanoAODVertices);
TClonesArray *nanoAODCaloCluster = new TClonesArray("AliAODCaloCluster",500);
nanoAODCaloCluster->SetName("caloClusters");
extDielectron->AddBranch("TClonesArray", &nanoAODCaloCluster);
extDielectron->GetAOD()->GetStdContent();
}else if(fCreateNanoAOD && !isAOD){AliWarning("Filtered-Nano AODs creation works only on AODs "); }
PostData(1, const_cast<THashList*>(fDielectron->GetHistogramList()));
PostData(2,fEventStat);
}
void AliAnalysisTaskDielectronFilter::UserExec(Option_t *)
{
if (!fDielectron) 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);
}
}
fEventStat->Fill(kAllEvents);
if (isSelected==0||isRejected) {
PostData(2,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);
AliDielectronHistos *h=fDielectron->GetHistoManager();
Double_t values[AliDielectronVarManager::kNMaxValues]={0};
Double_t valuesMC[AliDielectronVarManager::kNMaxValues]={0};
if(h) AliDielectronVarManager::SetFillMap(h->GetUsedVars());
else AliDielectronVarManager::SetFillMap(0x0);
AliDielectronVarManager::SetEvent(InputEvent());
AliDielectronVarManager::Fill(InputEvent(),values);
AliDielectronVarManager::Fill(InputEvent(),valuesMC);
Bool_t hasMC=AliDielectronMC::Instance()->HasMC();
if (hasMC) {
if (AliDielectronMC::Instance()->ConnectMCEvent())
AliDielectronVarManager::Fill(AliDielectronMC::Instance()->GetMCEvent(),valuesMC);
}
if (h){
if (h->GetHistogramList()->FindObject("Event_noCuts"))
h->FillClass("Event_noCuts",AliDielectronVarManager::kNMaxValues,values);
if (hasMC && h->GetHistogramList()->FindObject("MCEvent_noCuts"))
h->FillClass("Event_noCuts",AliDielectronVarManager::kNMaxValues,valuesMC);
}
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());
fDielectron->Process(InputEvent());
Bool_t hasCand = kFALSE;
if(fStoreLikeSign) hasCand = (fDielectron->HasCandidates() || fDielectron->HasCandidatesLikeSign());
else hasCand = (fDielectron->HasCandidates());
if(fStoreRotatedPairs) hasCand = (hasCand || fDielectron->HasCandidatesTR());
if(fStoreEventsWithSingleTracks) hasCand = (hasCand || fDielectron->GetTrackArray(0) || fDielectron->GetTrackArray(1));
AliAODHandler *aodH=(AliAODHandler*)((AliAnalysisManager::GetAnalysisManager())->GetOutputEventHandler());
AliAODExtension *extDielectron = aodH->GetFilteredAOD("AliAOD.Dielectron.root");
if(hasCand){
AliAODEvent *aod = aodH->GetAOD();
if(isAOD){
for(Int_t it=0;it<aod->GetNumberOfTracks();it++){
aod->GetTrack(it)->ResetBit(kIsReferenced); aod->GetTrack(it)->SetUniqueID(0);
}
}
TObjArray *obj = 0x0;
for(Int_t i=0; i < 11; i++ ){
obj = (TObjArray*)((*(fDielectron->GetPairArraysPointer()))->UncheckedAt(i));
if(!obj) continue;
for(int j=0;j<obj->GetEntriesFast();j++){
AliDielectronPair *pairObj = (AliDielectronPair*)obj->UncheckedAt(j);
Int_t id1 = ((AliVTrack*)pairObj->GetFirstDaughterP())->GetID();
Int_t id2 = ((AliVTrack*)pairObj->GetSecondDaughterP())->GetID();
for(Int_t it=0;it<aod->GetNumberOfTracks();it++){
if(aod->GetTrack(it)->GetID() == id1) pairObj->SetRefFirstDaughter(aod->GetTrack(it));
if(aod->GetTrack(it)->GetID() == id2) pairObj->SetRefSecondDaughter(aod->GetTrack(it));
}
}
}
extDielectron->SelectEvent();
Int_t ncandidates=fDielectron->GetPairArray(1)->GetEntriesFast();
if (ncandidates==1) fEventStat->Fill((kNbinsEvent));
else if (ncandidates>1) fEventStat->Fill((kNbinsEvent+1));
TTree *t=extDielectron->GetTree();
if(!t->GetListOfBranches()->GetEntries() && isAOD)
t->Branch(aod->GetList());
if (!t->GetBranch("dielectrons"))
t->Bronch("dielectrons","TObjArray",fDielectron->GetPairArraysPointer());
if(fCreateNanoAOD && isAOD){
Int_t nTracks = (fDielectron->GetTrackArray(0))->GetEntries() + (fDielectron->GetTrackArray(1))->GetEntries();
AliAODEvent *nanoEv = extDielectron->GetAOD();
nanoEv->GetTracks()->Clear();
nanoEv->GetVertices()->Clear();
nanoEv->GetCaloClusters()->Clear();
AliAODVertex* tmp = ((static_cast<AliAODEvent*>(InputEvent()))->GetPrimaryVertex())->CloneWithoutRefs();
nanoEv->AddVertex(tmp);
AliAODVertex* tmpSpd = ((static_cast<AliAODEvent*>(InputEvent()))->GetPrimaryVertexSPD())->CloneWithoutRefs();
nanoEv->AddVertex(tmpSpd);
nanoEv->GetVertex(0)->SetNContributors((static_cast<AliAODEvent*>(InputEvent()))->GetPrimaryVertex()->GetNContributors());
nanoEv->GetVertex(1)->SetNContributors((static_cast<AliAODEvent*>(InputEvent()))->GetPrimaryVertexSPD()->GetNContributors());
AliAODHeader * header = dynamic_cast<AliAODHeader*>(nanoEv->GetHeader());
if(!header) AliFatal("Not a standard AOD");
header->SetEventplane(((AliVAODHeader*)static_cast<AliAODEvent*>(InputEvent())->GetHeader())->GetEventplaneP());
header->ResetEventplanePointer();
header->SetRefMultiplicity((Int_t)values[AliDielectronVarManager::kNTrk]);
header->SetRefMultiplicityPos((Int_t)values[AliDielectronVarManager::kNacc]);
for(int kj=0; kj<(fDielectron->GetTrackArray(0))->GetEntries(); kj++){
Int_t posit = nanoEv->AddTrack((AliAODTrack*)fDielectron->GetTrackArray(0)->At(kj));
Int_t posVtx = nanoEv->AddVertex(((AliAODTrack*)fDielectron->GetTrackArray(0)->At(kj))->GetProdVertex());
nanoEv->GetVertex(posVtx)->ResetBit(kIsReferenced);
nanoEv->GetVertex(posVtx)->SetUniqueID(0);
nanoEv->GetVertex(posVtx)->RemoveDaughters();
nanoEv->GetTrack(posit)->ResetBit(kIsReferenced);
nanoEv->GetTrack(posit)->SetUniqueID(0);
Int_t caloIndex = ((AliAODTrack*)fDielectron->GetTrackArray(0)->At(kj))->GetEMCALcluster();
if(caloIndex > 0 && (static_cast<AliAODEvent*>(InputEvent()))->GetCaloCluster(caloIndex)){
Int_t posCaloCls = nanoEv->AddCaloCluster(static_cast<AliAODEvent*>(InputEvent())->GetCaloCluster(caloIndex));
nanoEv->GetTrack(posit)->SetEMCALcluster(posCaloCls);
AliAODCaloCluster *clCls = nanoEv->GetCaloCluster(posCaloCls);
for(int u=0; u<clCls->GetNTracksMatched(); u++) clCls->RemoveTrackMatched(clCls->GetTrackMatched(u));
nanoEv->GetCaloCluster(posCaloCls)->AddTrackMatched((AliAODTrack*)nanoEv->GetTrack(posit));
}
AliAODTrack * trk = dynamic_cast<AliAODTrack*>(nanoEv->GetTrack(posit));
if(!trk) AliFatal("Not a standard AOD");
trk->SetProdVertex(nanoEv->GetVertex(posVtx));
}
for(int kj=0; kj<(fDielectron->GetTrackArray(1))->GetEntries(); kj++){
Int_t negat = nanoEv->AddTrack((AliAODTrack*)fDielectron->GetTrackArray(1)->At(kj));
Int_t negVtx = nanoEv->AddVertex(((AliAODTrack*)fDielectron->GetTrackArray(1)->At(kj))->GetProdVertex());
nanoEv->GetVertex(negVtx)->ResetBit(kIsReferenced);
nanoEv->GetVertex(negVtx)->SetUniqueID(0);
nanoEv->GetVertex(negVtx)->RemoveDaughters();
nanoEv->GetTrack(negat)->ResetBit(kIsReferenced);
nanoEv->GetTrack(negat)->SetUniqueID(0);
Int_t caloIndex = ((AliAODTrack*)fDielectron->GetTrackArray(1)->At(kj))->GetEMCALcluster();
if(caloIndex > 0 && (static_cast<AliAODEvent*>(InputEvent()))->GetCaloCluster(caloIndex)){
Int_t negCaloCls = nanoEv->AddCaloCluster(static_cast<AliAODEvent*>(InputEvent())->GetCaloCluster(caloIndex));
nanoEv->GetTrack(negat)->SetEMCALcluster(negCaloCls);
AliAODCaloCluster *clCls = nanoEv->GetCaloCluster(negCaloCls);
for(int u=0; u<clCls->GetNTracksMatched(); u++) clCls->RemoveTrackMatched(clCls->GetTrackMatched(u));
nanoEv->GetCaloCluster(negCaloCls)->AddTrackMatched((AliAODTrack*)nanoEv->GetTrack(negat));
}
AliAODTrack * trk = dynamic_cast<AliAODTrack*>(nanoEv->GetTrack(negat));
if(!trk) AliFatal("Not a standard AOD");
trk->SetProdVertex(nanoEv->GetVertex(negVtx));
}
delete tmp; delete tmpSpd;
nanoEv->GetTracks()->Expand(nTracks);
nanoEv->GetVertices()->Expand(nTracks+2);
nanoEv->GetCaloClusters()->Expand(nanoEv->GetNumberOfCaloClusters());
}
if(isAOD) t->Fill();
}
if(fCreateNanoAOD && isAOD && (!hasCand) && fStoreHeader)
{
AliAODHeader * header = dynamic_cast<AliAODHeader*>(extDielectron->GetAOD()->GetHeader());
if(!header) AliFatal("Not a standard AOD");
header->SetEventplane(((AliAODHeader*)(static_cast<AliAODEvent*>(InputEvent()))->GetHeader())->GetEventplaneP());
header->ResetEventplanePointer();
extDielectron->GetTree()->Fill();
}
PostData(1, const_cast<THashList*>(fDielectron->GetHistogramList()));
PostData(2,fEventStat);
return;
}
AliAnalysisTaskDielectronFilter.cxx:1 AliAnalysisTaskDielectronFilter.cxx:2 AliAnalysisTaskDielectronFilter.cxx:3 AliAnalysisTaskDielectronFilter.cxx:4 AliAnalysisTaskDielectronFilter.cxx:5 AliAnalysisTaskDielectronFilter.cxx:6 AliAnalysisTaskDielectronFilter.cxx:7 AliAnalysisTaskDielectronFilter.cxx:8 AliAnalysisTaskDielectronFilter.cxx:9 AliAnalysisTaskDielectronFilter.cxx:10 AliAnalysisTaskDielectronFilter.cxx:11 AliAnalysisTaskDielectronFilter.cxx:12 AliAnalysisTaskDielectronFilter.cxx:13 AliAnalysisTaskDielectronFilter.cxx:14 AliAnalysisTaskDielectronFilter.cxx:15 AliAnalysisTaskDielectronFilter.cxx:16 AliAnalysisTaskDielectronFilter.cxx:17 AliAnalysisTaskDielectronFilter.cxx:18 AliAnalysisTaskDielectronFilter.cxx:19 AliAnalysisTaskDielectronFilter.cxx:20 AliAnalysisTaskDielectronFilter.cxx:21 AliAnalysisTaskDielectronFilter.cxx:22 AliAnalysisTaskDielectronFilter.cxx:23 AliAnalysisTaskDielectronFilter.cxx:24 AliAnalysisTaskDielectronFilter.cxx:25 AliAnalysisTaskDielectronFilter.cxx:26 AliAnalysisTaskDielectronFilter.cxx:27 AliAnalysisTaskDielectronFilter.cxx:28 AliAnalysisTaskDielectronFilter.cxx:29 AliAnalysisTaskDielectronFilter.cxx:30 AliAnalysisTaskDielectronFilter.cxx:31 AliAnalysisTaskDielectronFilter.cxx:32 AliAnalysisTaskDielectronFilter.cxx:33 AliAnalysisTaskDielectronFilter.cxx:34 AliAnalysisTaskDielectronFilter.cxx:35 AliAnalysisTaskDielectronFilter.cxx:36 AliAnalysisTaskDielectronFilter.cxx:37 AliAnalysisTaskDielectronFilter.cxx:38 AliAnalysisTaskDielectronFilter.cxx:39 AliAnalysisTaskDielectronFilter.cxx:40 AliAnalysisTaskDielectronFilter.cxx:41 AliAnalysisTaskDielectronFilter.cxx:42 AliAnalysisTaskDielectronFilter.cxx:43 AliAnalysisTaskDielectronFilter.cxx:44 AliAnalysisTaskDielectronFilter.cxx:45 AliAnalysisTaskDielectronFilter.cxx:46 AliAnalysisTaskDielectronFilter.cxx:47 AliAnalysisTaskDielectronFilter.cxx:48 AliAnalysisTaskDielectronFilter.cxx:49 AliAnalysisTaskDielectronFilter.cxx:50 AliAnalysisTaskDielectronFilter.cxx:51 AliAnalysisTaskDielectronFilter.cxx:52 AliAnalysisTaskDielectronFilter.cxx:53 AliAnalysisTaskDielectronFilter.cxx:54 AliAnalysisTaskDielectronFilter.cxx:55 AliAnalysisTaskDielectronFilter.cxx:56 AliAnalysisTaskDielectronFilter.cxx:57 AliAnalysisTaskDielectronFilter.cxx:58 AliAnalysisTaskDielectronFilter.cxx:59 AliAnalysisTaskDielectronFilter.cxx:60 AliAnalysisTaskDielectronFilter.cxx:61 AliAnalysisTaskDielectronFilter.cxx:62 AliAnalysisTaskDielectronFilter.cxx:63 AliAnalysisTaskDielectronFilter.cxx:64 AliAnalysisTaskDielectronFilter.cxx:65 AliAnalysisTaskDielectronFilter.cxx:66 AliAnalysisTaskDielectronFilter.cxx:67 AliAnalysisTaskDielectronFilter.cxx:68 AliAnalysisTaskDielectronFilter.cxx:69 AliAnalysisTaskDielectronFilter.cxx:70 AliAnalysisTaskDielectronFilter.cxx:71 AliAnalysisTaskDielectronFilter.cxx:72 AliAnalysisTaskDielectronFilter.cxx:73 AliAnalysisTaskDielectronFilter.cxx:74 AliAnalysisTaskDielectronFilter.cxx:75 AliAnalysisTaskDielectronFilter.cxx:76 AliAnalysisTaskDielectronFilter.cxx:77 AliAnalysisTaskDielectronFilter.cxx:78 AliAnalysisTaskDielectronFilter.cxx:79 AliAnalysisTaskDielectronFilter.cxx:80 AliAnalysisTaskDielectronFilter.cxx:81 AliAnalysisTaskDielectronFilter.cxx:82 AliAnalysisTaskDielectronFilter.cxx:83 AliAnalysisTaskDielectronFilter.cxx:84 AliAnalysisTaskDielectronFilter.cxx:85 AliAnalysisTaskDielectronFilter.cxx:86 AliAnalysisTaskDielectronFilter.cxx:87 AliAnalysisTaskDielectronFilter.cxx:88 AliAnalysisTaskDielectronFilter.cxx:89 AliAnalysisTaskDielectronFilter.cxx:90 AliAnalysisTaskDielectronFilter.cxx:91 AliAnalysisTaskDielectronFilter.cxx:92 AliAnalysisTaskDielectronFilter.cxx:93 AliAnalysisTaskDielectronFilter.cxx:94 AliAnalysisTaskDielectronFilter.cxx:95 AliAnalysisTaskDielectronFilter.cxx:96 AliAnalysisTaskDielectronFilter.cxx:97 AliAnalysisTaskDielectronFilter.cxx:98 AliAnalysisTaskDielectronFilter.cxx:99 AliAnalysisTaskDielectronFilter.cxx:100 AliAnalysisTaskDielectronFilter.cxx:101 AliAnalysisTaskDielectronFilter.cxx:102 AliAnalysisTaskDielectronFilter.cxx:103 AliAnalysisTaskDielectronFilter.cxx:104 AliAnalysisTaskDielectronFilter.cxx:105 AliAnalysisTaskDielectronFilter.cxx:106 AliAnalysisTaskDielectronFilter.cxx:107 AliAnalysisTaskDielectronFilter.cxx:108 AliAnalysisTaskDielectronFilter.cxx:109 AliAnalysisTaskDielectronFilter.cxx:110 AliAnalysisTaskDielectronFilter.cxx:111 AliAnalysisTaskDielectronFilter.cxx:112 AliAnalysisTaskDielectronFilter.cxx:113 AliAnalysisTaskDielectronFilter.cxx:114 AliAnalysisTaskDielectronFilter.cxx:115 AliAnalysisTaskDielectronFilter.cxx:116 AliAnalysisTaskDielectronFilter.cxx:117 AliAnalysisTaskDielectronFilter.cxx:118 AliAnalysisTaskDielectronFilter.cxx:119 AliAnalysisTaskDielectronFilter.cxx:120 AliAnalysisTaskDielectronFilter.cxx:121 AliAnalysisTaskDielectronFilter.cxx:122 AliAnalysisTaskDielectronFilter.cxx:123 AliAnalysisTaskDielectronFilter.cxx:124 AliAnalysisTaskDielectronFilter.cxx:125 AliAnalysisTaskDielectronFilter.cxx:126 AliAnalysisTaskDielectronFilter.cxx:127 AliAnalysisTaskDielectronFilter.cxx:128 AliAnalysisTaskDielectronFilter.cxx:129 AliAnalysisTaskDielectronFilter.cxx:130 AliAnalysisTaskDielectronFilter.cxx:131 AliAnalysisTaskDielectronFilter.cxx:132 AliAnalysisTaskDielectronFilter.cxx:133 AliAnalysisTaskDielectronFilter.cxx:134 AliAnalysisTaskDielectronFilter.cxx:135 AliAnalysisTaskDielectronFilter.cxx:136 AliAnalysisTaskDielectronFilter.cxx:137 AliAnalysisTaskDielectronFilter.cxx:138 AliAnalysisTaskDielectronFilter.cxx:139 AliAnalysisTaskDielectronFilter.cxx:140 AliAnalysisTaskDielectronFilter.cxx:141 AliAnalysisTaskDielectronFilter.cxx:142 AliAnalysisTaskDielectronFilter.cxx:143 AliAnalysisTaskDielectronFilter.cxx:144 AliAnalysisTaskDielectronFilter.cxx:145 AliAnalysisTaskDielectronFilter.cxx:146 AliAnalysisTaskDielectronFilter.cxx:147 AliAnalysisTaskDielectronFilter.cxx:148 AliAnalysisTaskDielectronFilter.cxx:149 AliAnalysisTaskDielectronFilter.cxx:150 AliAnalysisTaskDielectronFilter.cxx:151 AliAnalysisTaskDielectronFilter.cxx:152 AliAnalysisTaskDielectronFilter.cxx:153 AliAnalysisTaskDielectronFilter.cxx:154 AliAnalysisTaskDielectronFilter.cxx:155 AliAnalysisTaskDielectronFilter.cxx:156 AliAnalysisTaskDielectronFilter.cxx:157 AliAnalysisTaskDielectronFilter.cxx:158 AliAnalysisTaskDielectronFilter.cxx:159 AliAnalysisTaskDielectronFilter.cxx:160 AliAnalysisTaskDielectronFilter.cxx:161 AliAnalysisTaskDielectronFilter.cxx:162 AliAnalysisTaskDielectronFilter.cxx:163 AliAnalysisTaskDielectronFilter.cxx:164 AliAnalysisTaskDielectronFilter.cxx:165 AliAnalysisTaskDielectronFilter.cxx:166 AliAnalysisTaskDielectronFilter.cxx:167 AliAnalysisTaskDielectronFilter.cxx:168 AliAnalysisTaskDielectronFilter.cxx:169 AliAnalysisTaskDielectronFilter.cxx:170 AliAnalysisTaskDielectronFilter.cxx:171 AliAnalysisTaskDielectronFilter.cxx:172 AliAnalysisTaskDielectronFilter.cxx:173 AliAnalysisTaskDielectronFilter.cxx:174 AliAnalysisTaskDielectronFilter.cxx:175 AliAnalysisTaskDielectronFilter.cxx:176 AliAnalysisTaskDielectronFilter.cxx:177 AliAnalysisTaskDielectronFilter.cxx:178 AliAnalysisTaskDielectronFilter.cxx:179 AliAnalysisTaskDielectronFilter.cxx:180 AliAnalysisTaskDielectronFilter.cxx:181 AliAnalysisTaskDielectronFilter.cxx:182 AliAnalysisTaskDielectronFilter.cxx:183 AliAnalysisTaskDielectronFilter.cxx:184 AliAnalysisTaskDielectronFilter.cxx:185 AliAnalysisTaskDielectronFilter.cxx:186 AliAnalysisTaskDielectronFilter.cxx:187 AliAnalysisTaskDielectronFilter.cxx:188 AliAnalysisTaskDielectronFilter.cxx:189 AliAnalysisTaskDielectronFilter.cxx:190 AliAnalysisTaskDielectronFilter.cxx:191 AliAnalysisTaskDielectronFilter.cxx:192 AliAnalysisTaskDielectronFilter.cxx:193 AliAnalysisTaskDielectronFilter.cxx:194 AliAnalysisTaskDielectronFilter.cxx:195 AliAnalysisTaskDielectronFilter.cxx:196 AliAnalysisTaskDielectronFilter.cxx:197 AliAnalysisTaskDielectronFilter.cxx:198 AliAnalysisTaskDielectronFilter.cxx:199 AliAnalysisTaskDielectronFilter.cxx:200 AliAnalysisTaskDielectronFilter.cxx:201 AliAnalysisTaskDielectronFilter.cxx:202 AliAnalysisTaskDielectronFilter.cxx:203 AliAnalysisTaskDielectronFilter.cxx:204 AliAnalysisTaskDielectronFilter.cxx:205 AliAnalysisTaskDielectronFilter.cxx:206 AliAnalysisTaskDielectronFilter.cxx:207 AliAnalysisTaskDielectronFilter.cxx:208 AliAnalysisTaskDielectronFilter.cxx:209 AliAnalysisTaskDielectronFilter.cxx:210 AliAnalysisTaskDielectronFilter.cxx:211 AliAnalysisTaskDielectronFilter.cxx:212 AliAnalysisTaskDielectronFilter.cxx:213 AliAnalysisTaskDielectronFilter.cxx:214 AliAnalysisTaskDielectronFilter.cxx:215 AliAnalysisTaskDielectronFilter.cxx:216 AliAnalysisTaskDielectronFilter.cxx:217 AliAnalysisTaskDielectronFilter.cxx:218 AliAnalysisTaskDielectronFilter.cxx:219 AliAnalysisTaskDielectronFilter.cxx:220 AliAnalysisTaskDielectronFilter.cxx:221 AliAnalysisTaskDielectronFilter.cxx:222 AliAnalysisTaskDielectronFilter.cxx:223 AliAnalysisTaskDielectronFilter.cxx:224 AliAnalysisTaskDielectronFilter.cxx:225 AliAnalysisTaskDielectronFilter.cxx:226 AliAnalysisTaskDielectronFilter.cxx:227 AliAnalysisTaskDielectronFilter.cxx:228 AliAnalysisTaskDielectronFilter.cxx:229 AliAnalysisTaskDielectronFilter.cxx:230 AliAnalysisTaskDielectronFilter.cxx:231 AliAnalysisTaskDielectronFilter.cxx:232 AliAnalysisTaskDielectronFilter.cxx:233 AliAnalysisTaskDielectronFilter.cxx:234 AliAnalysisTaskDielectronFilter.cxx:235 AliAnalysisTaskDielectronFilter.cxx:236 AliAnalysisTaskDielectronFilter.cxx:237 AliAnalysisTaskDielectronFilter.cxx:238 AliAnalysisTaskDielectronFilter.cxx:239 AliAnalysisTaskDielectronFilter.cxx:240 AliAnalysisTaskDielectronFilter.cxx:241 AliAnalysisTaskDielectronFilter.cxx:242 AliAnalysisTaskDielectronFilter.cxx:243 AliAnalysisTaskDielectronFilter.cxx:244 AliAnalysisTaskDielectronFilter.cxx:245 AliAnalysisTaskDielectronFilter.cxx:246 AliAnalysisTaskDielectronFilter.cxx:247 AliAnalysisTaskDielectronFilter.cxx:248 AliAnalysisTaskDielectronFilter.cxx:249 AliAnalysisTaskDielectronFilter.cxx:250 AliAnalysisTaskDielectronFilter.cxx:251 AliAnalysisTaskDielectronFilter.cxx:252 AliAnalysisTaskDielectronFilter.cxx:253 AliAnalysisTaskDielectronFilter.cxx:254 AliAnalysisTaskDielectronFilter.cxx:255 AliAnalysisTaskDielectronFilter.cxx:256 AliAnalysisTaskDielectronFilter.cxx:257 AliAnalysisTaskDielectronFilter.cxx:258 AliAnalysisTaskDielectronFilter.cxx:259 AliAnalysisTaskDielectronFilter.cxx:260 AliAnalysisTaskDielectronFilter.cxx:261 AliAnalysisTaskDielectronFilter.cxx:262 AliAnalysisTaskDielectronFilter.cxx:263 AliAnalysisTaskDielectronFilter.cxx:264 AliAnalysisTaskDielectronFilter.cxx:265 AliAnalysisTaskDielectronFilter.cxx:266 AliAnalysisTaskDielectronFilter.cxx:267 AliAnalysisTaskDielectronFilter.cxx:268 AliAnalysisTaskDielectronFilter.cxx:269 AliAnalysisTaskDielectronFilter.cxx:270 AliAnalysisTaskDielectronFilter.cxx:271 AliAnalysisTaskDielectronFilter.cxx:272 AliAnalysisTaskDielectronFilter.cxx:273 AliAnalysisTaskDielectronFilter.cxx:274 AliAnalysisTaskDielectronFilter.cxx:275 AliAnalysisTaskDielectronFilter.cxx:276 AliAnalysisTaskDielectronFilter.cxx:277 AliAnalysisTaskDielectronFilter.cxx:278 AliAnalysisTaskDielectronFilter.cxx:279 AliAnalysisTaskDielectronFilter.cxx:280 AliAnalysisTaskDielectronFilter.cxx:281 AliAnalysisTaskDielectronFilter.cxx:282 AliAnalysisTaskDielectronFilter.cxx:283 AliAnalysisTaskDielectronFilter.cxx:284 AliAnalysisTaskDielectronFilter.cxx:285 AliAnalysisTaskDielectronFilter.cxx:286 AliAnalysisTaskDielectronFilter.cxx:287 AliAnalysisTaskDielectronFilter.cxx:288 AliAnalysisTaskDielectronFilter.cxx:289 AliAnalysisTaskDielectronFilter.cxx:290 AliAnalysisTaskDielectronFilter.cxx:291 AliAnalysisTaskDielectronFilter.cxx:292 AliAnalysisTaskDielectronFilter.cxx:293 AliAnalysisTaskDielectronFilter.cxx:294 AliAnalysisTaskDielectronFilter.cxx:295 AliAnalysisTaskDielectronFilter.cxx:296 AliAnalysisTaskDielectronFilter.cxx:297 AliAnalysisTaskDielectronFilter.cxx:298 AliAnalysisTaskDielectronFilter.cxx:299 AliAnalysisTaskDielectronFilter.cxx:300 AliAnalysisTaskDielectronFilter.cxx:301 AliAnalysisTaskDielectronFilter.cxx:302 AliAnalysisTaskDielectronFilter.cxx:303 AliAnalysisTaskDielectronFilter.cxx:304 AliAnalysisTaskDielectronFilter.cxx:305 AliAnalysisTaskDielectronFilter.cxx:306 AliAnalysisTaskDielectronFilter.cxx:307 AliAnalysisTaskDielectronFilter.cxx:308 AliAnalysisTaskDielectronFilter.cxx:309 AliAnalysisTaskDielectronFilter.cxx:310 AliAnalysisTaskDielectronFilter.cxx:311 AliAnalysisTaskDielectronFilter.cxx:312 AliAnalysisTaskDielectronFilter.cxx:313 AliAnalysisTaskDielectronFilter.cxx:314 AliAnalysisTaskDielectronFilter.cxx:315 AliAnalysisTaskDielectronFilter.cxx:316 AliAnalysisTaskDielectronFilter.cxx:317 AliAnalysisTaskDielectronFilter.cxx:318 AliAnalysisTaskDielectronFilter.cxx:319 AliAnalysisTaskDielectronFilter.cxx:320 AliAnalysisTaskDielectronFilter.cxx:321 AliAnalysisTaskDielectronFilter.cxx:322 AliAnalysisTaskDielectronFilter.cxx:323 AliAnalysisTaskDielectronFilter.cxx:324 AliAnalysisTaskDielectronFilter.cxx:325 AliAnalysisTaskDielectronFilter.cxx:326 AliAnalysisTaskDielectronFilter.cxx:327 AliAnalysisTaskDielectronFilter.cxx:328 AliAnalysisTaskDielectronFilter.cxx:329 AliAnalysisTaskDielectronFilter.cxx:330 AliAnalysisTaskDielectronFilter.cxx:331 AliAnalysisTaskDielectronFilter.cxx:332 AliAnalysisTaskDielectronFilter.cxx:333 AliAnalysisTaskDielectronFilter.cxx:334 AliAnalysisTaskDielectronFilter.cxx:335 AliAnalysisTaskDielectronFilter.cxx:336 AliAnalysisTaskDielectronFilter.cxx:337 AliAnalysisTaskDielectronFilter.cxx:338 AliAnalysisTaskDielectronFilter.cxx:339 AliAnalysisTaskDielectronFilter.cxx:340 AliAnalysisTaskDielectronFilter.cxx:341 AliAnalysisTaskDielectronFilter.cxx:342 AliAnalysisTaskDielectronFilter.cxx:343 AliAnalysisTaskDielectronFilter.cxx:344 AliAnalysisTaskDielectronFilter.cxx:345 AliAnalysisTaskDielectronFilter.cxx:346 AliAnalysisTaskDielectronFilter.cxx:347 AliAnalysisTaskDielectronFilter.cxx:348 AliAnalysisTaskDielectronFilter.cxx:349 AliAnalysisTaskDielectronFilter.cxx:350 AliAnalysisTaskDielectronFilter.cxx:351 AliAnalysisTaskDielectronFilter.cxx:352 AliAnalysisTaskDielectronFilter.cxx:353 AliAnalysisTaskDielectronFilter.cxx:354 AliAnalysisTaskDielectronFilter.cxx:355 AliAnalysisTaskDielectronFilter.cxx:356 AliAnalysisTaskDielectronFilter.cxx:357 AliAnalysisTaskDielectronFilter.cxx:358 AliAnalysisTaskDielectronFilter.cxx:359 AliAnalysisTaskDielectronFilter.cxx:360 AliAnalysisTaskDielectronFilter.cxx:361 AliAnalysisTaskDielectronFilter.cxx:362 AliAnalysisTaskDielectronFilter.cxx:363 AliAnalysisTaskDielectronFilter.cxx:364 AliAnalysisTaskDielectronFilter.cxx:365 AliAnalysisTaskDielectronFilter.cxx:366 AliAnalysisTaskDielectronFilter.cxx:367 AliAnalysisTaskDielectronFilter.cxx:368 AliAnalysisTaskDielectronFilter.cxx:369 AliAnalysisTaskDielectronFilter.cxx:370 AliAnalysisTaskDielectronFilter.cxx:371 AliAnalysisTaskDielectronFilter.cxx:372 AliAnalysisTaskDielectronFilter.cxx:373 AliAnalysisTaskDielectronFilter.cxx:374 AliAnalysisTaskDielectronFilter.cxx:375 AliAnalysisTaskDielectronFilter.cxx:376 AliAnalysisTaskDielectronFilter.cxx:377 AliAnalysisTaskDielectronFilter.cxx:378 AliAnalysisTaskDielectronFilter.cxx:379 AliAnalysisTaskDielectronFilter.cxx:380 AliAnalysisTaskDielectronFilter.cxx:381 AliAnalysisTaskDielectronFilter.cxx:382 AliAnalysisTaskDielectronFilter.cxx:383 AliAnalysisTaskDielectronFilter.cxx:384 AliAnalysisTaskDielectronFilter.cxx:385 AliAnalysisTaskDielectronFilter.cxx:386 AliAnalysisTaskDielectronFilter.cxx:387 AliAnalysisTaskDielectronFilter.cxx:388 AliAnalysisTaskDielectronFilter.cxx:389 AliAnalysisTaskDielectronFilter.cxx:390 AliAnalysisTaskDielectronFilter.cxx:391 AliAnalysisTaskDielectronFilter.cxx:392 AliAnalysisTaskDielectronFilter.cxx:393 AliAnalysisTaskDielectronFilter.cxx:394 AliAnalysisTaskDielectronFilter.cxx:395 AliAnalysisTaskDielectronFilter.cxx:396 AliAnalysisTaskDielectronFilter.cxx:397 AliAnalysisTaskDielectronFilter.cxx:398 AliAnalysisTaskDielectronFilter.cxx:399 AliAnalysisTaskDielectronFilter.cxx:400 AliAnalysisTaskDielectronFilter.cxx:401 AliAnalysisTaskDielectronFilter.cxx:402 AliAnalysisTaskDielectronFilter.cxx:403 AliAnalysisTaskDielectronFilter.cxx:404 AliAnalysisTaskDielectronFilter.cxx:405 AliAnalysisTaskDielectronFilter.cxx:406 AliAnalysisTaskDielectronFilter.cxx:407 AliAnalysisTaskDielectronFilter.cxx:408