]>
Commit | Line | Data |
---|---|---|
a6fd3cfe | 1 | //__________________________________________________________________ |
2 | ||
3 | AliAnalysisTaskPIDFluctuation * | |
4 | AddAnalysisTaskPIDFluctuation(Int_t aodFilterBit, Float_t ptMin, Float_t ptMax, Float_t etaMin, Float_t etaMax) | |
5 | { | |
6 | ||
7 | /* init analysis name */ | |
8 | TString analysisName = "PIDFluctuation"; | |
9 | analysisName += "_"; | |
fa534084 | 10 | analysisName += Form("FilterBit%d", aodFilterBit); |
a6fd3cfe | 11 | analysisName += "_"; |
12 | analysisName += Form("pt_%.1f_%.1f", ptMin, ptMax); | |
13 | analysisName += "_"; | |
14 | analysisName += Form("eta_%.1f_%.1f", etaMin, etaMax); | |
15 | ||
16 | /* check analysis manager */ | |
17 | AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager(); | |
18 | if (!mgr) { | |
19 | Error("", "cannot get analysis manager"); | |
20 | return NULL; | |
21 | } | |
22 | ||
23 | /* check input event handler */ | |
24 | if (!mgr->GetInputEventHandler()) { | |
25 | Error("", "cannot get input event handler"); | |
26 | return NULL; | |
27 | } | |
28 | ||
29 | /* get common input data container */ | |
30 | AliAnalysisDataContainer *inputc = mgr->GetCommonInputContainer(); | |
31 | if (!inputc) { | |
32 | Error("", "cannot get common input container"); | |
33 | return NULL; | |
34 | } | |
35 | ||
36 | /* create output data container */ | |
76dd5256 | 37 | TString outputFileName = AliAnalysisManager::GetCommonFileName(); |
38 | outputFileName += ":PWGCFEbyE.outputPIDFunctionAnalysis"; | |
39 | AliAnalysisDataContainer *outputc1 = mgr->CreateContainer(analysisName.Data(), TList::Class(), AliAnalysisManager::kOutputContainer, outputFileName.Data()); | |
a6fd3cfe | 40 | if (!outputc1) { |
41 | Error("", "cannot create output container \"Histos\""); | |
42 | return NULL; | |
43 | } | |
44 | ||
45 | /* create task and connect input/output */ | |
46 | AliAnalysisTaskPIDFluctuation *task = new AliAnalysisTaskPIDFluctuation(analysisName.Data()); | |
47 | mgr->AddTask(task); | |
48 | mgr->ConnectInput(task, 0, inputc); | |
49 | mgr->ConnectOutput(task, 1, outputc1); | |
50 | ||
51 | /* setup task */ | |
52 | task->SetESDtrackCuts(GetESDtrackCuts(aodFilterBit)); | |
53 | task->SetAODfilterBit(aodFilterBit); | |
54 | task->SetEtaRange(etaMin, etaMax); | |
55 | task->SetPtRange(ptMin, ptMax); | |
56 | ||
57 | task->Dump(); | |
58 | return task; | |
59 | } | |
60 | ||
61 | //__________________________________________________________________ | |
62 | ||
63 | AliESDtrackCuts * | |
64 | GetESDtrackCuts(Int_t type) | |
65 | { | |
66 | AliESDtrackCuts *trackCuts; | |
67 | switch (type) { | |
68 | case AliAODTrack::kTrkGlobal: | |
69 | trackCuts = AliESDtrackCuts::GetStandardITSTPCTrackCuts2010(); | |
70 | break; | |
71 | case AliAODTrack::kTrkTPCOnlyConstrained: | |
72 | case AliAODTrack::kTrkTPCOnly: | |
73 | trackCuts = AliESDtrackCuts::GetStandardTPCOnlyTrackCuts(); | |
74 | trackCuts->SetMinNClustersTPC(70); | |
75 | break; | |
76 | } | |
77 | return trackCuts; | |
78 | } | |
79 | ||
a6fd3cfe | 80 |