AliAnalysisTaskJetSpectraAOD* AddTaskJetSpectraAOD( Bool_t mc=kFALSE, Double_t CentCutMin=0, Double_t CentCutMax=100, Double_t QvecCutMin=0, Double_t QvecCutMax=100, Double_t EtaMin=-0.9, Double_t EtaMax=0.9, Double_t pt=50., Double_t ptTofMatch=.6, UInt_t trkbit=1, Double_t DCA=100000, UInt_t minNclsTPC=70, TString opt="", //jet settings Float_t jetParameterR = 0.4, UInt_t filterMask = 272, Float_t ptJetMin = 0.15){ AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager(); if (!mgr) { ::Error("AddAliAnalysisTaskJetSpectraAOD", "No analysis manager to connect to."); return NULL; } // Check the analysis type using the event handlers connected to the analysis manager. //============================================================================== if (!mgr->GetInputEventHandler()) { ::Error("AliAnalysisTaskJetSpectraAOD", "This task requires an input event handler"); return NULL; } TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD" if(type.Contains("ESD")) { ::Error("AliAnalysisTaskJetSpectraAOD", "This task requires to run on AOD"); return NULL; } AliSpectraAODTrackCuts * trcuts = new AliSpectraAODTrackCuts(Form("TrackCuts%s",opt.Data())); trcuts->SetDCA(DCA); trcuts->SetTrackBits(trkbit); trcuts->SetPt(pt); trcuts->SetPtTOFMatching(ptTofMatch); trcuts->SetEta(EtaMin,EtaMax); trcuts->SetMinTPCcls(minNclsTPC); trcuts->PrintCuts(); AliSpectraAODEventCuts * evcuts = new AliSpectraAODEventCuts(Form("EventCuts%s",opt.Data())); evcuts->SetQVectorCut(QvecCutMin,QvecCutMax); evcuts->SetCentralityCutMax(CentCutMax); evcuts->SetCentralityCutMin(CentCutMin); if(mc==1)evcuts->SetIsMC(kTRUE); evcuts->PrintCuts(); AliAnalysisTaskJetSpectraAOD *task = new AliAnalysisTaskJetSpectraAOD(Form("TaskAODSpectraCent%.0fto%.0f_QVec%.1fto%.1f_Eta%.1fto%.1f_TrBit%d%s", CentCutMin, CentCutMax, QvecCutMin, QvecCutMax, EtaMin, EtaMax, trkbit, opt.Data())); task->SetEventCuts(evcuts); task->SetTrackCuts(trcuts); if(mc==1)task->SetIsMC(kTRUE); //jet settings task->SetFilterMask(filterMask); task->SetJetPtMin(ptJetMin); Float_t EtaJetMin = EtaMin + jetParameterR; Float_t EtaJetMax = EtaMax - jetParameterR; task->SetEtaJet(EtaJetMin,EtaJetMax); TString outputFileName = AliAnalysisManager::GetCommonFileName(); TString typeofdata=mc?"MC":"Data"; outputFileName += Form(":SpectraESE_%s%s",typeofdata.Data(),opt.Data()); cout<<"outputFileName: "<GetCommonInputContainer(); AliAnalysisDataContainer *coutputpt1 = mgr->CreateContainer(Form("chist%s",opt.Data()), TList::Class(), AliAnalysisManager::kOutputContainer,outputFileName); AliAnalysisDataContainer *coutputpt2 = mgr->CreateContainer(Form("cvcut%s",opt.Data()), AliSpectraAODEventCuts::Class(), AliAnalysisManager::kOutputContainer,outputFileName); AliAnalysisDataContainer *coutputpt3 = mgr->CreateContainer(Form("ctcut%s",opt.Data()), AliSpectraAODTrackCuts::Class(), AliAnalysisManager::kOutputContainer, outputFileName); mgr->AddTask(task); mgr->ConnectInput(task, 0, cinput); mgr->ConnectOutput(task, 1, coutputpt1); mgr->ConnectOutput(task, 2, coutputpt2); mgr->ConnectOutput(task, 3, coutputpt3); return task; }