1 AliAnalysisTask* AddTask(Bool_t AnalysisMC = kFALSE,
\r
2 Int_t typerun =1, // 0 for pp and 1 for Pb-Pb or pPb
\r
4 UInt_t kTriggerInt = AliVEvent::kINT7, //for pPb kINT7, for pp or PbPb kMB
\r
6 Float_t maxCent = 80,
\r
7 char *centralityEstimator = "V0A",//for pPb V0A for PbPb V0M
\r
8 Bool_t ispileuprej = kFALSE
\r
11 // Creates a pid task and adds it to the analysis manager
\r
13 // Get the pointer to the existing analysis manager via the static
\r
15 //=========================================================================
\r
16 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
\r
18 Error("AddTaskHighPtDeDx", "No analysis manager to connect to.");
\r
22 // Check the analysis type using the event handlers connected to the
\r
23 // analysis manager The availability of MC handler can also be
\r
25 // =========================================================================
\r
26 if (!mgr->GetInputEventHandler()) {
\r
27 Error("AddTaskHighPtDeDx", "This task requires an input event handler");
\r
34 AliAnalysisFilter* trackFilterGolden = new AliAnalysisFilter("trackFilter");
\r
35 AliESDtrackCuts* esdTrackCutsGolden = AliESDtrackCuts::GetStandardITSTPCTrackCuts2011(kTRUE,1);
\r
36 trackFilterGolden->AddCuts(esdTrackCutsGolden);
\r
38 AliAnalysisFilter* trackFilterTPC = new AliAnalysisFilter("trackFilterTPC");
\r
39 AliESDtrackCuts* esdTrackCutsTPC =
\r
40 AliESDtrackCuts::GetStandardTPCOnlyTrackCuts();
\r
41 trackFilterTPC->AddCuts(esdTrackCutsTPC);
\r
46 AliAnalysisTaskQAHighPtDeDx* taskHighPtDeDx = new AliAnalysisTaskQAHighPtDeDx("taskHighPtDeDxpp");
\r
47 TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
\r
48 taskHighPtDeDx->SetAnalysisType(type);
\r
49 taskHighPtDeDx->SetAnalysisMC(AnalysisMC);
\r
51 taskHighPtDeDx->SetAnalysisPbPb(kTRUE);
\r
52 taskHighPtDeDx->SetMinCent(minCent);
\r
53 taskHighPtDeDx->SetMaxCent(maxCent);
\r
54 taskHighPtDeDx->SetCentralityEstimator(centralityEstimator);
\r
57 taskHighPtDeDx->SetAnalysisPbPb(kFALSE);
\r
58 taskHighPtDeDx->SetDebugLevel(0);
\r
59 taskHighPtDeDx->SetEtaCut(0.8);
\r
60 taskHighPtDeDx->SetVtxCut(10.0);
\r
61 taskHighPtDeDx->SetTrigger(kTriggerInt);
\r
62 taskHighPtDeDx->SetPileUpRej(ispileuprej);
\r
64 taskHighPtDeDx->SetTrackFilterGolden(trackFilterGolden);
\r
65 taskHighPtDeDx->SetTrackFilterTPC(trackFilterTPC);
\r
66 taskHighPtDeDx->SetStoreMcIn(analysisMC); // def: kFALSE
\r
68 mgr->AddTask(taskHighPtDeDx);
\r
70 // Create ONLY the output containers for the data produced by the
\r
71 // task. Get and connect other common input/output containers via
\r
72 // the manager as below
\r
73 //=======================================================================
\r
75 AliAnalysisDataContainer *cout_histdedx;
\r
78 cout_histdedx = mgr->CreateContainer("outputdedx", TList::Class(), AliAnalysisManager::kOutputContainer, "QAHighPtDeDx.root");
\r
79 mgr->ConnectInput (taskHighPtDeDx, 0, mgr->GetCommonInputContainer());
\r
80 mgr->ConnectOutput(taskHighPtDeDx, 1, cout_histdedx);
\r
82 // Return task pointer at the end
\r
83 return taskHighPtDeDx;
\r