1 AliAnalysisTaskQAMultistrange *AddTaskQAMultistrange( Bool_t isMC = kFALSE,
3 Float_t centrlowlim = 0.,
4 Float_t centruplim = 90.,
5 TString centrest = "V0M",
6 Bool_t kusecleaning = kTRUE,
8 TString collidingSystem = "PbPb",
9 Bool_t SDDSelection = kFALSE,
10 Bool_t withSDD = kFALSE,
11 Float_t minptondaughtertracks = 0.,
12 Float_t etacutondaughtertracks = 0.8) {
14 // Creates, configures and attaches to the train a cascades check task.
15 // Get the pointer to the existing analysis manager via the static access method.
16 //==============================================================================
17 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
19 ::Error("AddTaskQAMultistrange", "No analysis manager to connect to.");
23 // Check the analysis type using the event handlers connected to the analysis manager.
24 //==============================================================================
25 if (!mgr->GetInputEventHandler()) {
26 ::Error("AddTaskQAMultistrange", "This task requires an input event handler");
29 TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
31 // Create and configure the task
32 AliAnalysisTaskQAMultistrange *taskcheckcascade = new AliAnalysisTaskQAMultistrange("TaskCheckCascade");
34 taskcheckcascade->SetIsMC (isMC);
35 taskcheckcascade->SetAnalysisType (type);
36 taskcheckcascade->SetCollidingSystem (collidingSystem);
37 taskcheckcascade->SetSDDselection (SDDSelection);
38 taskcheckcascade->SetQualityCutZprimVtxPos (kTRUE); // selects vertices in +-10cm
39 taskcheckcascade->SetQualityCutNoTPConlyPrimVtx (kTRUE); // retains only events with tracking + SPD vertex
40 taskcheckcascade->SetQualityCutTPCrefit (kTRUE); // requires TPC refit flag to be true to select a track
41 taskcheckcascade->SetQualityCutnTPCcls (kTRUE); // rejects tracks that have less than n clusters in the TPC
42 taskcheckcascade->SetQualityCutMinnTPCcls (minnTPCcls); // minimum number of TPC clusters to accept daughter tracks
43 taskcheckcascade->SetQualityCutPileup (kFALSE);
44 taskcheckcascade->SetwithSDD (withSDD);
45 taskcheckcascade->SetCentralityLowLim (centrlowlim); // setting centrality selection vriables
46 taskcheckcascade->SetCentralityUpLim (centruplim);
47 taskcheckcascade->SetCentralityEst (centrest);
48 taskcheckcascade->SetUseCleaning (kusecleaning);
49 taskcheckcascade->SetVertexRange (vtxlim);
50 taskcheckcascade->SetMinptCutOnDaughterTracks (minptondaughtertracks);
51 taskcheckcascade->SetEtaCutOnDaughterTracks (etacutondaughtertracks);
53 mgr->AddTask(taskcheckcascade);
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 // User file name (if need be)
61 TString outputFileName = AliAnalysisManager::GetCommonFileName();
62 outputFileName += ":PWGLFStrangeness.outputCheckCascade";
64 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("cfcontCuts",
65 AliCFContainer::Class(),
66 AliAnalysisManager::kOutputContainer,
68 AliAnalysisDataContainer *coutput2 = mgr->CreateContainer("cfcontMCgen",
69 AliCFContainer::Class(),
70 AliAnalysisManager::kOutputContainer,
73 mgr->ConnectInput( taskcheckcascade, 0, mgr->GetCommonInputContainer());
74 mgr->ConnectOutput(taskcheckcascade, 1, coutput1);
75 mgr->ConnectOutput(taskcheckcascade, 2, coutput2);
77 return taskcheckcascade;