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