]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/QATasks/macros/AddTaskQAHighPtDeDx.C
Minor mods to QA AddTask macro
[u/mrichter/AliRoot.git] / PWGLF / QATasks / macros / AddTaskQAHighPtDeDx.C
1 AliAnalysisTask* AddTask(Bool_t AnalysisMC = kFALSE, \r
2                          Int_t typerun =1, // 0 for pp and 1 for Pb-Pb or pPb\r
3                          TString  type ="ESD",\r
4                          UInt_t kTriggerInt = AliVEvent::kINT7, //for pPb kINT7, for pp or PbPb kMB\r
5                          Float_t minCent = 0,\r
6                          Float_t maxCent = 80,\r
7                          char *centralityEstimator = "V0A",//for pPb V0A for PbPb V0M\r
8                          Bool_t ispileuprej = kFALSE\r
9                          )\r
10 {\r
11   // Creates a pid task and adds it to the analysis manager\r
12   \r
13   // Get the pointer to the existing analysis manager via the static\r
14   //access method\r
15   //=========================================================================\r
16   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();\r
17   if (!mgr) {\r
18     Error("AddTaskHighPtDeDx", "No analysis manager to connect to.");\r
19     return NULL;\r
20   }  \r
21   \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
24   // checked here.\r
25   // =========================================================================\r
26   if (!mgr->GetInputEventHandler()) {\r
27     Error("AddTaskHighPtDeDx", "This task requires an input event handler");\r
28     return NULL;\r
29   }  \r
30   \r
31 \r
32 \r
33 \r
34   AliAnalysisFilter* trackFilterGolden = new AliAnalysisFilter("trackFilter");\r
35   AliESDtrackCuts* esdTrackCutsGolden = AliESDtrackCuts::GetStandardITSTPCTrackCuts2011(kTRUE,1);\r
36   trackFilterGolden->AddCuts(esdTrackCutsGolden);\r
37   \r
38   AliAnalysisFilter* trackFilterTPC = new AliAnalysisFilter("trackFilterTPC");\r
39   AliESDtrackCuts* esdTrackCutsTPC = \r
40     AliESDtrackCuts::GetStandardTPCOnlyTrackCuts();\r
41   trackFilterTPC->AddCuts(esdTrackCutsTPC);\r
42   \r
43 \r
44 \r
45   \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
50   if(typerun==1){\r
51     taskHighPtDeDx->SetAnalysisPbPb(kTRUE);\r
52     taskHighPtDeDx->SetMinCent(minCent);\r
53     taskHighPtDeDx->SetMaxCent(maxCent);\r
54     taskHighPtDeDx->SetCentralityEstimator(centralityEstimator);\r
55   }\r
56   else\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
63   //Set Filtesr\r
64   taskHighPtDeDx->SetTrackFilterGolden(trackFilterGolden);\r
65   taskHighPtDeDx->SetTrackFilterTPC(trackFilterTPC);\r
66   taskHighPtDeDx->SetStoreMcIn(analysisMC);     // def: kFALSE\r
67   \r
68   mgr->AddTask(taskHighPtDeDx);\r
69   \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
74   \r
75   AliAnalysisDataContainer *cout_histdedx;\r
76   \r
77   cout_histdedx=0;\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
81   \r
82   // Return task pointer at the end\r
83   return taskHighPtDeDx;\r
84    \r
85   \r
86   \r
87 }\r