]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/QATasks/macros/AddTaskQAHighPtDeDx.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGLF / QATasks / macros / AddTaskQAHighPtDeDx.C
CommitLineData
c683985a 1AliAnalysisTask* AddTaskQAHighPtDeDx(Bool_t AnalysisMC = kFALSE,
2 Int_t typerun =1, // 0 for pp and 1 for Pb-Pb or pPb
3 TString type ="ESD",
4 UInt_t kTriggerInt = AliVEvent::kINT7, //for pPb kINT7, for pp or PbPb kMB
5 Float_t minCent = 0.,
6 Float_t maxCent = 80.,
7 char *centralityEstimator = "V0A",//for pPb V0A for PbPb V0M
8 Bool_t ispileuprej = kFALSE
9 )
10{
5011a397 11
12 /////////////////////////////////////////
13 // Few notes to set the wagon in a train
14 // For pp collisions:
15 // Bool_t AnalysisMC = kFALSE,
16 // Int_t typerun =0,
17 // TString type ="AOD",
18 // UInt_t kTriggerInt = AliVEvent::kMB,
19 // Float_t minCent = 0.,//This does not affect pp
20 // Float_t maxCent = 80.,//This does not affect pp
21 // char *centralityEstimator = "V0A",//for pPb V0A for PbPb V0M. This does not affect pp
22 // Bool_t ispileuprej = kFALSE
23 // For PbPb collisions:
24 // Bool_t AnalysisMC = kFALSE,
25 // Int_t typerun =1,
26 // TString type ="AOD",
27 // UInt_t kTriggerInt = AliVEvent::kMB,
28 // Float_t minCent = 0.,
29 // Float_t maxCent = 80.,
30 // char *centralityEstimator = "V0M",
31 // Bool_t ispileuprej = kFALSE
32 /////////////////////////////////////////
33
c683985a 34 // Creates a pid task and adds it to the analysis manager
35
36 // Get the pointer to the existing analysis manager via the static
37 //access method
38 //=========================================================================
39 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
40 if (!mgr) {
41 Error("AddTaskHighPtDeDx", "No analysis manager to connect to.");
42 return NULL;
43 }
44
45 // Check the analysis type using the event handlers connected to the
46 // analysis manager The availability of MC handler can also be
47 // checked here.
48 // =========================================================================
49 if (!mgr->GetInputEventHandler()) {
50 Error("AddTaskHighPtDeDx", "This task requires an input event handler");
51 return NULL;
52 }
53
54
55
56
57 AliAnalysisFilter* trackFilterGolden = new AliAnalysisFilter("trackFilter");
58 AliESDtrackCuts* esdTrackCutsGolden = AliESDtrackCuts::GetStandardITSTPCTrackCuts2011(kTRUE,1);
59 trackFilterGolden->AddCuts(esdTrackCutsGolden);
60
61 AliAnalysisFilter* trackFilterTPC = new AliAnalysisFilter("trackFilterTPC");
62 AliESDtrackCuts* esdTrackCutsTPC =
63 AliESDtrackCuts::GetStandardTPCOnlyTrackCuts();
64 trackFilterTPC->AddCuts(esdTrackCutsTPC);
65
66
67
68
69 AliAnalysisTaskQAHighPtDeDx* taskHighPtDeDx = new AliAnalysisTaskQAHighPtDeDx("taskHighPtDeDxpp");
70 TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
71 taskHighPtDeDx->SetAnalysisType(type);
72 taskHighPtDeDx->SetAnalysisMC(AnalysisMC);
73 if(typerun==1){
74 taskHighPtDeDx->SetAnalysisPbPb(kTRUE);
75 taskHighPtDeDx->SetMinCent(minCent);
76 taskHighPtDeDx->SetMaxCent(maxCent);
77 taskHighPtDeDx->SetCentralityEstimator(centralityEstimator);
78 }
79 else
80 taskHighPtDeDx->SetAnalysisPbPb(kFALSE);
81 taskHighPtDeDx->SetDebugLevel(0);
82 taskHighPtDeDx->SetEtaCut(0.8);
83 taskHighPtDeDx->SetVtxCut(10.0);
84 taskHighPtDeDx->SetTrigger(kTriggerInt);
85 taskHighPtDeDx->SetPileUpRej(ispileuprej);
86 //Set Filtesr
87 taskHighPtDeDx->SetTrackFilterGolden(trackFilterGolden);
88 taskHighPtDeDx->SetTrackFilterTPC(trackFilterTPC);
89 taskHighPtDeDx->SetStoreMcIn(AnalysisMC); // def: kFALSE
90
91 mgr->AddTask(taskHighPtDeDx);
92
93 // Create ONLY the output containers for the data produced by the
94 // task. Get and connect other common input/output containers via
95 // the manager as below
96 //=======================================================================
97 TString outputFileName = AliAnalysisManager::GetCommonFileName();
98
99 AliAnalysisDataContainer *cout_histdedx;
100 cout_histdedx=0;
101 cout_histdedx = mgr->CreateContainer("outputdedx", TList::Class(), AliAnalysisManager::kOutputContainer, outputFileName);
102 mgr->ConnectInput (taskHighPtDeDx, 0, mgr->GetCommonInputContainer());
103 mgr->ConnectOutput(taskHighPtDeDx, 1, cout_histdedx);
104
105 // Return task pointer at the end
106 return taskHighPtDeDx;
107
108
109
110}