]>
Commit | Line | Data |
---|---|---|
c683985a | 1 | AliAnalysisTask* 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 | } |