]>
Commit | Line | Data |
---|---|---|
ba8a8d20 | 1 | AliAnalysisTask *AddTaskTPCPIDEtaQA(TString period = "", Bool_t isPbpOrpPb = kFALSE, |
2 | Int_t tpcCutType = AliTPCPIDBase::kTPCCutMIGeo /*AliTPCPIDBase::kTPCnclCut*/, | |
88b71b9f | 3 | Bool_t usePhiCut = kFALSE, |
4 | Double_t ptThresholdForPhiCut = 0.0){ | |
5 | //get the current analysis manager | |
6 | AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager(); | |
7 | if (!mgr) { | |
8 | Error("AddTask_bhess_PIDetaAdv", "No analysis manager found."); | |
9 | return 0; | |
10 | } | |
11 | ||
12 | //========= Add task to the ANALYSIS manager ===== | |
13 | AliTPCPIDEtaQA *task = new AliTPCPIDEtaQA("TPCPIDEtaQA"); | |
14 | task->SelectCollisionCandidates(AliVEvent::kMB | AliVEvent::kINT7); | |
15 | ||
16 | // | |
17 | // Add track filters | |
18 | // | |
19 | AliAnalysisFilter* trackFilter = new AliAnalysisFilter("trackFilter"); | |
20 | AliESDtrackCuts* esdTrackCutsL = 0x0; | |
21 | ||
22 | printf("\nSettings:\n"); | |
ba8a8d20 | 23 | if (period.Contains("LHC11") || period.Contains("LHC12") || period.Contains("LHC13")) { |
88b71b9f | 24 | esdTrackCutsL = AliESDtrackCuts::GetStandardITSTPCTrackCuts2011(kTRUE); |
25 | printf("Using standard ITS-TPC track cuts 2011\n"); | |
26 | } | |
ba8a8d20 | 27 | else if (period.Contains("LHC10")) { |
88b71b9f | 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 | ||
ba8a8d20 | 44 | task->SetIsPbpOrpPb(isPbpOrpPb); |
45 | if (task->GetIsPbpOrpPb()) { | |
46 | printf("Collision type pPb/Pbp set -> Adapting vertex cuts!\n"); | |
88b71b9f | 47 | } |
48 | else { | |
ba8a8d20 | 49 | printf("Collision type different from pPb/Pbp -> Using standard vertex cuts!\n"); |
88b71b9f | 50 | } |
51 | ||
52 | trackFilter->AddCuts(esdTrackCutsL); | |
53 | task->SetTrackFilter(trackFilter); | |
54 | ||
55 | task->SetEtaCut(0.9); | |
56 | task->SetUsePhiCut(usePhiCut); | |
57 | task->SetPtThresholdForPhiCut(ptThresholdForPhiCut); | |
58 | task->SetTPCcutType(tpcCutType); | |
59 | ||
60 | printf("Eta cut: %f\n", task->GetEtaCut()); | |
61 | printf("UsePhiCut: %d\n", task->GetUsePhiCut()); | |
62 | if (task->GetUsePhiCut()) | |
63 | printf("PtThresholdForPhiCut: %f\n", task->GetPtThresholdForPhiCut()); | |
64 | printf("UseTPCCutMIGeo: %d\n", task->GetUseTPCCutMIGeo()); | |
65 | printf("UseTPCnclCut: %d\n", task->GetUseTPCnclCut()); | |
66 | ||
67 | ||
68 | ||
69 | ||
70 | ||
71 | ||
72 | task->SetZvtxCutEvent(10.0); | |
73 | printf("Cut on z position of vertex: %.2f cm\n", task->GetZvtxCutEvent()); | |
74 | ||
75 | printf("UsePhiCut: %d\nPtThresholdForPhiCut: %.3f GeV/c\n\n", task->GetUsePhiCut(), task->GetPtThresholdForPhiCut()); | |
76 | mgr->AddTask(task); | |
77 | ||
78 | ||
79 | //================================================ | |
80 | // data containers | |
81 | //================================================ | |
82 | // find input container | |
83 | //below the trunk version | |
84 | AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer(); | |
85 | ||
86 | //dumm output container | |
87 | AliAnalysisDataContainer *coutput0 = | |
88 | mgr->CreateContainer("TPCPIDEtaQA_tree", | |
89 | TTree::Class(), | |
90 | AliAnalysisManager::kExchangeContainer, | |
91 | "TPCPIDEtaQA_default"); | |
92 | ||
93 | //define output containers, please use 'username'_'somename' | |
94 | AliAnalysisDataContainer *coutput1 = | |
95 | mgr->CreateContainer("TPCPIDEtaQA", TObjArray::Class(), | |
96 | AliAnalysisManager::kOutputContainer,"TPCPIDEtaQA.root"); | |
97 | ||
98 | //connect containers | |
99 | mgr->ConnectInput (task, 0, cinput ); | |
100 | mgr->ConnectOutput (task, 0, coutput0); | |
101 | mgr->ConnectOutput (task, 1, coutput1); | |
102 | ||
103 | return task; | |
104 | } |