]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGPP/TPC/macros/AddTaskTPCPIDEtaQA.C
- Fixed name problem of output containers
[u/mrichter/AliRoot.git] / PWGPP / TPC / macros / AddTaskTPCPIDEtaQA.C
CommitLineData
88b71b9f 1AliAnalysisTask *AddTaskTPCPIDEtaQA(Int_t tpcCutType = AliTPCPIDBase::kTPCCutMIGeo /*AliTPCPIDBase::kTPCnclCut*/,
2 Bool_t usePhiCut = kFALSE,
3 Double_t ptThresholdForPhiCut = 0.0){
4 //get the current analysis manager
5 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
6 if (!mgr) {
7 Error("AddTask_bhess_PIDetaAdv", "No analysis manager found.");
8 return 0;
9 }
10
11 //========= Add task to the ANALYSIS manager =====
12 AliTPCPIDEtaQA *task = new AliTPCPIDEtaQA("TPCPIDEtaQA");
13 task->SelectCollisionCandidates(AliVEvent::kMB | AliVEvent::kINT7);
14
15 //
16 // Add track filters
17 //
18 AliAnalysisFilter* trackFilter = new AliAnalysisFilter("trackFilter");
19 AliESDtrackCuts* esdTrackCutsL = 0x0;
20
21 printf("\nSettings:\n");
22 TString listOfFiles = gSystem->Getenv("LIST");
23 if (listOfFiles.Contains("LHC11") || listOfFiles.Contains("LHC12") || listOfFiles.Contains("LHC13")) {
24 esdTrackCutsL = AliESDtrackCuts::GetStandardITSTPCTrackCuts2011(kTRUE);
25 printf("Using standard ITS-TPC track cuts 2011\n");
26 }
27 else if (listOfFiles.Contains("LHC10")) {
28 esdTrackCutsL = AliESDtrackCuts::GetStandardITSTPCTrackCuts2010(kTRUE);
29 printf("Using standard ITS-TPC track cuts 2010\n");
30 }
31 else {
32 esdTrackCutsL = AliESDtrackCuts::GetStandardITSTPCTrackCuts2011(kTRUE);
33 printf("WARNING: Cuts not configured for this period!!! Using standard ITS-TPC track cuts 2011\n");
34 }
35
36/*
37 esdTrackCutsL->SetMinNCrossedRowsTPC(120);
38 esdTrackCutsL->SetMinRatioCrossedRowsOverFindableClustersTPC(0.8);
39 esdTrackCutsL->SetMaxChi2PerClusterITS(36);
40 esdTrackCutsL->SetMaxFractionSharedTPCClusters(0.4);
41 esdTrackCutsL->SetMaxChi2TPCConstrainedGlobal(36);
42*/
43
44 // Test whether we have pPb or Pbp
45 if (listOfFiles.Contains("pPb") || listOfFiles.Contains("Pbp")) {
46 task->SetIsPbpOrpPb(kTRUE);
47 printf("pPb/Pbp detected -> Adapting vertex cuts!\n");
48 }
49 else {
50 task->SetIsPbpOrpPb(kFALSE);
51 printf("Collision type different from pPb/Pbp detected -> Using standard vertex cuts!\n");
52 }
53
54 trackFilter->AddCuts(esdTrackCutsL);
55 task->SetTrackFilter(trackFilter);
56
57 task->SetEtaCut(0.9);
58 task->SetUsePhiCut(usePhiCut);
59 task->SetPtThresholdForPhiCut(ptThresholdForPhiCut);
60 task->SetTPCcutType(tpcCutType);
61
62 printf("Eta cut: %f\n", task->GetEtaCut());
63 printf("UsePhiCut: %d\n", task->GetUsePhiCut());
64 if (task->GetUsePhiCut())
65 printf("PtThresholdForPhiCut: %f\n", task->GetPtThresholdForPhiCut());
66 printf("UseTPCCutMIGeo: %d\n", task->GetUseTPCCutMIGeo());
67 printf("UseTPCnclCut: %d\n", task->GetUseTPCnclCut());
68
69
70
71
72
73
74 task->SetZvtxCutEvent(10.0);
75 printf("Cut on z position of vertex: %.2f cm\n", task->GetZvtxCutEvent());
76
77 printf("UsePhiCut: %d\nPtThresholdForPhiCut: %.3f GeV/c\n\n", task->GetUsePhiCut(), task->GetPtThresholdForPhiCut());
78 mgr->AddTask(task);
79
80
81 //================================================
82 // data containers
83 //================================================
84 // find input container
85 //below the trunk version
86 AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
87
88 //dumm output container
89 AliAnalysisDataContainer *coutput0 =
90 mgr->CreateContainer("TPCPIDEtaQA_tree",
91 TTree::Class(),
92 AliAnalysisManager::kExchangeContainer,
93 "TPCPIDEtaQA_default");
94
95 //define output containers, please use 'username'_'somename'
96 AliAnalysisDataContainer *coutput1 =
97 mgr->CreateContainer("TPCPIDEtaQA", TObjArray::Class(),
98 AliAnalysisManager::kOutputContainer,"TPCPIDEtaQA.root");
99
100 //connect containers
101 mgr->ConnectInput (task, 0, cinput );
102 mgr->ConnectOutput (task, 0, coutput0);
103 mgr->ConnectOutput (task, 1, coutput1);
104
105 return task;
106}