1 AliAnalysisTaskSEITSsaSpectra *AddTaskITSsaSpectra(Int_t optNtuple=0,Int_t readMC=0,Int_t lowcut=-1,Int_t upcut=-1,Int_t hi=0){
2 // Creates, configures and attaches to the train the task for pi, K , p spectra
3 // with ITS standalone tracks
4 // Get the pointer to the existing analysis manager via the static access method.
5 //==============================================================================
6 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
8 ::Error("AddTaskITSsaSpectra", "No analysis manager to connect to.");
12 // Check the analysis type using the event handlers connected to the analysis manager.
13 //==============================================================================
14 if (!mgr->GetInputEventHandler()) {
15 ::Error("AddTaskITSsaSpectra", "This task requires an input event handler");
19 TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
20 if(type.Contains("AOD")){
21 ::Error("AddTaskITSsaSpectra", "This task requires to run on ESD");
25 // Add MC handler (for kinematics)
27 AliMCEventHandler* handler = new AliMCEventHandler;
28 handler->SetReadTR(kFALSE);
29 mgr->SetMCtruthEventHandler(handler);
31 // Create and configure the task
33 AliAnalysisTaskSEITSsaSpectra *taskits = new AliAnalysisTaskSEITSsaSpectra();
34 taskits->SelectCollisionCandidates();
35 taskits->SetReadMC(readMC);
36 taskits->SetFillNtuple(optNtuple);
40 Float_t lowcencut=(Float_t)lowcut;
41 Float_t upcencut=(Float_t)upcut;
42 taskits->SetCentralityCut(lowcencut,upcencut);
46 taskits->SetMultBin(lowcut,upcut);
49 mgr->AddTask(taskits);
51 // Create ONLY the output containers for the data produced by the task.
52 // Get and connect other common input/output containers via the manager as below
53 //==============================================================================
54 TString outputFileName = AliAnalysisManager::GetCommonFileName();
55 outputFileName += ":PWG2SpectraITSsa";
57 AliAnalysisDataContainer *coutput =0x0;
58 AliAnalysisDataContainer *coutputCuts = 0x0;
61 coutput = mgr->CreateContainer(Form("clistITSsaCent%ito%i",lowcut,upcut),
63 AliAnalysisManager::kOutputContainer,
68 coutput = mgr->CreateContainer(Form("clistITSsaMult%ito%i",lowcut,upcut),
70 AliAnalysisManager::kOutputContainer,
74 coutputCuts = mgr->CreateContainer(Form("DCACutMult%ito%i",lowcut,upcut),
76 AliAnalysisManager::kParamContainer,
80 mgr->ConnectInput(taskits, 0, mgr->GetCommonInputContainer());
81 mgr->ConnectOutput(taskits, 1, coutput);
82 mgr->ConnectOutput(taskits, 2, coutputCuts);