+++ /dev/null
-AliAnalysisTaskSEITSsaSpectra *AddTaskITSsaSpectra(Int_t optNtuple=0,Int_t readMC=0,Int_t lowcut=-1,Int_t upcut=-1,Int_t hi=0){
- // Creates, configures and attaches to the train the task for pi, K , p spectra
- // with ITS standalone tracks
- // Get the pointer to the existing analysis manager via the static access method.
- //==============================================================================
- AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
- if (!mgr) {
- ::Error("AddTaskITSsaSpectra", "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("AddTaskITSsaSpectra", "This task requires an input event handler");
- return NULL;
- }
-
- TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
- if(type.Contains("AOD")){
- ::Error("AddTaskITSsaSpectra", "This task requires to run on ESD");
- return NULL;
- }
-
- // Add MC handler (for kinematics)
- if(readMC){
- AliMCEventHandler* handler = new AliMCEventHandler;
- handler->SetReadTR(kFALSE);
- mgr->SetMCtruthEventHandler(handler);
- }
- // Create and configure the task
-
- AliAnalysisTaskSEITSsaSpectra *taskits = new AliAnalysisTaskSEITSsaSpectra();
- taskits->SelectCollisionCandidates();
- taskits->SetReadMC(readMC);
- taskits->SetFillNtuple(optNtuple);
-
- if(hi)
- {
- Float_t lowcencut=(Float_t)lowcut;
- Float_t upcencut=(Float_t)upcut;
- taskits->SetCentralityCut(lowcencut,upcencut);
- taskits->SetHImode();
- }
- else{
- taskits->SetMultBin(lowcut,upcut);
- }
-
- mgr->AddTask(taskits);
-
- // Create ONLY the output containers for the data produced by the task.
- // Get and connect other common input/output containers via the manager as below
- //==============================================================================
- TString outputFileName = AliAnalysisManager::GetCommonFileName();
- outputFileName += ":PWG2SpectraITSsa";
-
- AliAnalysisDataContainer *coutput =0x0;
- AliAnalysisDataContainer *coutputCuts = 0x0;
- if(hi)
- {
- coutput = mgr->CreateContainer(Form("clistITSsaCent%ito%i",lowcut,upcut),
- TList::Class(),
- AliAnalysisManager::kOutputContainer,
- outputFileName );
- }
- else
- {
- coutput = mgr->CreateContainer(Form("clistITSsaMult%ito%i",lowcut,upcut),
- TList::Class(),
- AliAnalysisManager::kOutputContainer,
- outputFileName );
- }
-
- coutputCuts = mgr->CreateContainer(Form("DCACutMult%ito%i",lowcut,upcut),
- TList::Class(),
- AliAnalysisManager::kParamContainer,
- outputFileName );
-
-
- mgr->ConnectInput(taskits, 0, mgr->GetCommonInputContainer());
- mgr->ConnectOutput(taskits, 1, coutput);
- mgr->ConnectOutput(taskits, 2, coutputCuts);
- return taskits;
-}