]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/STRANGENESS/Cascades/macros/AddTaskCheckPerformanceCascadepp276.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGLF / STRANGENESS / Cascades / macros / AddTaskCheckPerformanceCascadepp276.C
1 AliAnalysisTaskCheckPerformanceCascadepp276 *AddTaskCheckPerformanceCascadepp276( TString  collidingSystem        = "pp",
2                                                                                   Int_t    minnTPCcls             = 70,
3                                                                                   Float_t  vtxlim                 = 10.,
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) {
12     
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();
17    if (!mgr) {
18       ::Error("AddTaskCheckPerformanceCascadepp276", "No analysis manager to connect to.");
19       return NULL;
20    }   
21
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");
26       return NULL;
27    }   
28    TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
29
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?
52     
53    mgr->AddTask(taskCheckPerfCascadepp276);
54
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    //==============================================================================
58    // Directory name
59    TString outputFileNamePerf = Form("%s:PWGLFStrangeness.outputCheckPerformanceCascadepp276", AliAnalysisManager::GetCommonFileName());
60    // Objects name
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);
73     
74     
75    //Save objects into the train common file
76    AliAnalysisDataContainer *coutputperf1 = mgr->CreateContainer(outputnameperf0,
77                                                                                              TList::Class(),
78                                                                  AliAnalysisManager::kOutputContainer,
79                                                                                              outputFileNamePerf );
80    AliAnalysisDataContainer *coutputperf2 = mgr->CreateContainer(outputnameperf1,
81                                                                  AliCFContainer::Class(),
82                                                                  AliAnalysisManager::kOutputContainer,
83                                                                  outputFileNamePerf );
84    AliAnalysisDataContainer *coutputperf3 = mgr->CreateContainer(outputnameperf2,
85                                                                  AliCFContainer::Class(),
86                                                                  AliAnalysisManager::kOutputContainer,
87                                                                  outputFileNamePerf );
88    AliAnalysisDataContainer *coutputperf4 = mgr->CreateContainer(outputnameperf3,
89                                                                  AliCFContainer::Class(),
90                                                                  AliAnalysisManager::kOutputContainer,
91                                                                  outputFileNamePerf );
92    AliAnalysisDataContainer *coutputperf5 = mgr->CreateContainer(outputnameperf4,
93                                                                  AliCFContainer::Class(),
94                                                                  AliAnalysisManager::kOutputContainer,
95                                                                  outputFileNamePerf );
96    AliAnalysisDataContainer *coutputperf6 = mgr->CreateContainer(outputnameperf5,
97                                                                  AliCFContainer::Class(),
98                                                                  AliAnalysisManager::kOutputContainer,
99                                                                  outputFileNamePerf );
100
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);
108    
109    return taskCheckPerfCascadepp276;
110 }