1 AliAnalysisTaskCheckPerformanceCascadepp276 *AddTaskCheckPerformanceCascadepp276( TString collidingSystem = "pp",
4 Float_t vtxlimmin = 0.,
5 Bool_t fwithsdd = kFALSE,
6 Bool_t kextrasel = kFALSE,
7 Bool_t kacccut = kFALSE,
8 Bool_t krelaunchvertexers = kFALSE,
9 Bool_t ksddonselection = kFALSE,
10 Float_t minptondaughtertracks = 0.0,
11 Float_t etacutondaughtertracks = 0.8) {
13 // Creates, configures and attaches to the train a cascades check task.
14 // Get the pointer to the existing analysis manager via the static access method.
15 //==============================================================================
16 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
18 ::Error("AddTaskCheckPerformanceCascadepp276", "No analysis manager to connect to.");
22 // Check the analysis type using the event handlers connected to the analysis manager.
23 //==============================================================================
24 if (!mgr->GetInputEventHandler()) {
25 ::Error("AddTaskCheckPerformanceCascadepp276", "This task requires an input event handler");
28 TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
30 // Create and configure the task
31 //==============================================================================
32 TString tasknameperf = "TaskCheckPerformanceCascadepp276";
33 tasknameperf += Form("_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f",minnTPCcls,vtxlim,vtxlimmin,minptondaughtertracks,etacutondaughtertracks);
34 AliAnalysisTaskCheckPerformanceCascadepp276 *taskCheckPerfCascadepp276 = new AliAnalysisTaskCheckPerformanceCascadepp276(tasknameperf);
35 taskCheckPerfCascadepp276->SetAnalysisType (type); // "ESD" or "AOD"
36 taskCheckPerfCascadepp276->SetCollidingSystem (collidingSystem); // choose the collidiond system to run on: "pp" and "pPb"
37 taskCheckPerfCascadepp276->SetRelaunchV0CascVertexers (krelaunchvertexers); // choose if reconstruct the vertex of V0 in the cascades
38 taskCheckPerfCascadepp276->SetSDDSelection (fwithsdd); // choose if apply SDD event selection
39 taskCheckPerfCascadepp276->SetQualityCutZprimVtxPos (kTRUE); // choose if apply Z vtx PV position event selection
40 taskCheckPerfCascadepp276->SetRejectEventPileUp (kTRUE); // choose if apply no Pileup event selection
41 taskCheckPerfCascadepp276->SetQualityCutNoTPConlyPrimVtx (kTRUE); // choose if apply no TPC only event selection
42 taskCheckPerfCascadepp276->SetQualityCutTPCrefit (kTRUE); // choose if apply TPC refit on daughter tracks
43 taskCheckPerfCascadepp276->SetQualityCutnTPCcls (kTRUE); // choose if apply n TPC cluster selection on daughter tracks
44 taskCheckPerfCascadepp276->SetWithSDDOn (ksddonselection); // which SDD selection do you want apply? [if kTRUE select SDDon events]
45 taskCheckPerfCascadepp276->SetQualityCutMinnTPCcls (minnTPCcls); // which value do you want apply for the minTPCcls cut?
46 taskCheckPerfCascadepp276->SetExtraSelections (kextrasel); // choose if apply the extra selection of cascade reco.
47 taskCheckPerfCascadepp276->SetApplyAccCut (kacccut); // choose if apply acceptance cut
48 taskCheckPerfCascadepp276->SetVertexRange (vtxlim); // which higher value do you want apply for vtx Z cut?
49 taskCheckPerfCascadepp276->SetVertexRangeMin (vtxlimmin); // which lower value do you want apply for vtx Z cut?
50 taskCheckPerfCascadepp276->SetMinptCutOnDaughterTracks (minptondaughtertracks); // which value do you want apply for cut on min pt daughter track?
51 taskCheckPerfCascadepp276->SetEtaCutOnDaughterTracks (etacutondaughtertracks); // which value do you want apply for cut on eta daughter track?
53 mgr->AddTask(taskCheckPerfCascadepp276);
55 // Create ONLY the output containers for the data produced by the task.
56 // Get and connect other common input/output containers via the manager as below
57 //==============================================================================
59 TString outputFileNamePerf = Form("%s:PWGLFStrangeness.outputCheckPerformanceCascadepp276", AliAnalysisManager::GetCommonFileName());
61 TString outputnameperf0 = "clistCascPerf";
62 TString outputnameperf1 = "cfcontPIDAsXiM";
63 TString outputnameperf2 = "cfcontPIDAsXiP";
64 TString outputnameperf3 = "cfcontPIDAsOmegaM";
65 TString outputnameperf4 = "cfcontPIDAsOmegaP";
66 TString outputnameperf5 = "cfcontAsCuts";
67 outputnameperf0 += Form("_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f",minnTPCcls,vtxlim,vtxlimmin,minptondaughtertracks,etacutondaughtertracks);
68 outputnameperf1 += Form("_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f",minnTPCcls,vtxlim,vtxlimmin,minptondaughtertracks,etacutondaughtertracks);
69 outputnameperf2 += Form("_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f",minnTPCcls,vtxlim,vtxlimmin,minptondaughtertracks,etacutondaughtertracks);
70 outputnameperf3 += Form("_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f",minnTPCcls,vtxlim,vtxlimmin,minptondaughtertracks,etacutondaughtertracks);
71 outputnameperf4 += Form("_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f",minnTPCcls,vtxlim,vtxlimmin,minptondaughtertracks,etacutondaughtertracks);
72 outputnameperf5 += Form("_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f",minnTPCcls,vtxlim,vtxlimmin,minptondaughtertracks,etacutondaughtertracks);
75 //Save objects into the train common file
76 AliAnalysisDataContainer *coutputperf1 = mgr->CreateContainer(outputnameperf0,
78 AliAnalysisManager::kOutputContainer,
80 AliAnalysisDataContainer *coutputperf2 = mgr->CreateContainer(outputnameperf1,
81 AliCFContainer::Class(),
82 AliAnalysisManager::kOutputContainer,
84 AliAnalysisDataContainer *coutputperf3 = mgr->CreateContainer(outputnameperf2,
85 AliCFContainer::Class(),
86 AliAnalysisManager::kOutputContainer,
88 AliAnalysisDataContainer *coutputperf4 = mgr->CreateContainer(outputnameperf3,
89 AliCFContainer::Class(),
90 AliAnalysisManager::kOutputContainer,
92 AliAnalysisDataContainer *coutputperf5 = mgr->CreateContainer(outputnameperf4,
93 AliCFContainer::Class(),
94 AliAnalysisManager::kOutputContainer,
96 AliAnalysisDataContainer *coutputperf6 = mgr->CreateContainer(outputnameperf5,
97 AliCFContainer::Class(),
98 AliAnalysisManager::kOutputContainer,
101 mgr->ConnectInput( taskCheckPerfCascadepp276, 0, mgr->GetCommonInputContainer());
102 mgr->ConnectOutput(taskCheckPerfCascadepp276, 1, coutputperf1);
103 mgr->ConnectOutput(taskCheckPerfCascadepp276, 2, coutputperf2);
104 mgr->ConnectOutput(taskCheckPerfCascadepp276, 3, coutputperf3);
105 mgr->ConnectOutput(taskCheckPerfCascadepp276, 4, coutputperf4);
106 mgr->ConnectOutput(taskCheckPerfCascadepp276, 5, coutputperf5);
107 mgr->ConnectOutput(taskCheckPerfCascadepp276, 6, coutputperf6);
109 return taskCheckPerfCascadepp276;