AliAnalysisTaskSpectraAllChAOD* AddTaskSpectraAllChAOD(
Bool_t mc=kFALSE,
Double_t CentCutMin=0,
Double_t CentCutMax=100,
Double_t QvecCutMin=0,
Double_t QvecCutMax=100,
Double_t EtaMin=-0.8,
Double_t EtaMax=0.8,
Double_t pt=50.,
Double_t ptTofMatch=.6,
UInt_t trkbit=1,
Double_t DCA=100000,
UInt_t minNclsTPC=70,
Double_t nsigmacut=5.,
Int_t PIDtype=3,
TString opt=""){
AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
if (!mgr)
{
::Error("AddAliAnalysisTaskSpectraAllChAOD", "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("AliAnalysisTaskSpectraAllChAOD", "This task requires an input event handler");
return NULL;
}
TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
if(type.Contains("ESD"))
{
::Error("AliAnalysisTaskSpectraAllChAOD", "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();
AliHelperPID *pid=new AliHelperPID();
pid->SetName(Form("HelperPID%s",opt.Data()));
pid->SetNSigmaCut(nsigmacut);
pid->SetPIDType(PIDtype);
pid->SetfPtTOFPID(ptTofMatch);
if(PIDtype==3){
AliPIDCombined *pidc=new AliPIDCombined(Form("PIDCombined%s",opt.Data()),Form("PIDCombined%s",opt.Data()));
pidc->SetDefaultTPCPriors();
pid->SetPIDCombined(pidc);//not implemented
}
AliAnalysisTaskSpectraAllChAOD *task = new AliAnalysisTaskSpectraAllChAOD(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);
task->SetHelperPID(pid);
if(mc==1)task->SetIsMC(kTRUE);
TString outputFileName = AliAnalysisManager::GetCommonFileName();
TString typeofdata=mc?"MC":"Data";
outputFileName += Form(":SpectraESE_%s%s",typeofdata.Data(),opt.Data());
cout<<"outputFileName: "<<outputFileName<<endl;
AliAnalysisDataContainer *cinput = mgr->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);
AliAnalysisDataContainer *coutputpt4 = mgr->CreateContainer(Form("cpid%s",opt.Data()), AliHelperPID::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);
mgr->ConnectOutput(task, 4, coutputpt4);
return task;
}
AddTaskSpectraAllChAOD.C:1 AddTaskSpectraAllChAOD.C:2 AddTaskSpectraAllChAOD.C:3 AddTaskSpectraAllChAOD.C:4 AddTaskSpectraAllChAOD.C:5 AddTaskSpectraAllChAOD.C:6 AddTaskSpectraAllChAOD.C:7 AddTaskSpectraAllChAOD.C:8 AddTaskSpectraAllChAOD.C:9 AddTaskSpectraAllChAOD.C:10 AddTaskSpectraAllChAOD.C:11 AddTaskSpectraAllChAOD.C:12 AddTaskSpectraAllChAOD.C:13 AddTaskSpectraAllChAOD.C:14 AddTaskSpectraAllChAOD.C:15 AddTaskSpectraAllChAOD.C:16 AddTaskSpectraAllChAOD.C:17 AddTaskSpectraAllChAOD.C:18 AddTaskSpectraAllChAOD.C:19 AddTaskSpectraAllChAOD.C:20 AddTaskSpectraAllChAOD.C:21 AddTaskSpectraAllChAOD.C:22 AddTaskSpectraAllChAOD.C:23 AddTaskSpectraAllChAOD.C:24 AddTaskSpectraAllChAOD.C:25 AddTaskSpectraAllChAOD.C:26 AddTaskSpectraAllChAOD.C:27 AddTaskSpectraAllChAOD.C:28 AddTaskSpectraAllChAOD.C:29 AddTaskSpectraAllChAOD.C:30 AddTaskSpectraAllChAOD.C:31 AddTaskSpectraAllChAOD.C:32 AddTaskSpectraAllChAOD.C:33 AddTaskSpectraAllChAOD.C:34 AddTaskSpectraAllChAOD.C:35 AddTaskSpectraAllChAOD.C:36 AddTaskSpectraAllChAOD.C:37 AddTaskSpectraAllChAOD.C:38 AddTaskSpectraAllChAOD.C:39 AddTaskSpectraAllChAOD.C:40 AddTaskSpectraAllChAOD.C:41 AddTaskSpectraAllChAOD.C:42 AddTaskSpectraAllChAOD.C:43 AddTaskSpectraAllChAOD.C:44 AddTaskSpectraAllChAOD.C:45 AddTaskSpectraAllChAOD.C:46 AddTaskSpectraAllChAOD.C:47 AddTaskSpectraAllChAOD.C:48 AddTaskSpectraAllChAOD.C:49 AddTaskSpectraAllChAOD.C:50 AddTaskSpectraAllChAOD.C:51 AddTaskSpectraAllChAOD.C:52 AddTaskSpectraAllChAOD.C:53 AddTaskSpectraAllChAOD.C:54 AddTaskSpectraAllChAOD.C:55 AddTaskSpectraAllChAOD.C:56 AddTaskSpectraAllChAOD.C:57 AddTaskSpectraAllChAOD.C:58 AddTaskSpectraAllChAOD.C:59 AddTaskSpectraAllChAOD.C:60 AddTaskSpectraAllChAOD.C:61 AddTaskSpectraAllChAOD.C:62 AddTaskSpectraAllChAOD.C:63 AddTaskSpectraAllChAOD.C:64 AddTaskSpectraAllChAOD.C:65 AddTaskSpectraAllChAOD.C:66 AddTaskSpectraAllChAOD.C:67 AddTaskSpectraAllChAOD.C:68 AddTaskSpectraAllChAOD.C:69 AddTaskSpectraAllChAOD.C:70 AddTaskSpectraAllChAOD.C:71 AddTaskSpectraAllChAOD.C:72 AddTaskSpectraAllChAOD.C:73 AddTaskSpectraAllChAOD.C:74 AddTaskSpectraAllChAOD.C:75 AddTaskSpectraAllChAOD.C:76 AddTaskSpectraAllChAOD.C:77 AddTaskSpectraAllChAOD.C:78 AddTaskSpectraAllChAOD.C:79 AddTaskSpectraAllChAOD.C:80 AddTaskSpectraAllChAOD.C:81 AddTaskSpectraAllChAOD.C:82 AddTaskSpectraAllChAOD.C:83 AddTaskSpectraAllChAOD.C:84 AddTaskSpectraAllChAOD.C:85 AddTaskSpectraAllChAOD.C:86 AddTaskSpectraAllChAOD.C:87 AddTaskSpectraAllChAOD.C:88 AddTaskSpectraAllChAOD.C:89 AddTaskSpectraAllChAOD.C:90 AddTaskSpectraAllChAOD.C:91 AddTaskSpectraAllChAOD.C:92 AddTaskSpectraAllChAOD.C:93 AddTaskSpectraAllChAOD.C:94 AddTaskSpectraAllChAOD.C:95 AddTaskSpectraAllChAOD.C:96 AddTaskSpectraAllChAOD.C:97 AddTaskSpectraAllChAOD.C:98 AddTaskSpectraAllChAOD.C:99 AddTaskSpectraAllChAOD.C:100 AddTaskSpectraAllChAOD.C:101 AddTaskSpectraAllChAOD.C:102 AddTaskSpectraAllChAOD.C:103