]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/EBYE/PIDFluctuation/macros/AddAnalysisTaskPIDFluctuation.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGCF / EBYE / PIDFluctuation / macros / AddAnalysisTaskPIDFluctuation.C
CommitLineData
a6fd3cfe 1//__________________________________________________________________
2
3AliAnalysisTaskPIDFluctuation *
4AddAnalysisTaskPIDFluctuation(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
63AliESDtrackCuts *
64GetESDtrackCuts(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