AliAnalysisTaskCheckCascadePbPb *AddTaskCheckCascadePbPb( Int_t minnTPCcls = 80,
Float_t centrlowlim = 0.,
Float_t centruplim = 90.,
TString centrest = "V0M",
Bool_t kusecleaning = kTRUE,
Float_t vtxlim = 10.,
Bool_t kextrasel = kFALSE,
Bool_t krelaunchvertexers = kFALSE,
Float_t minptondaughtertracks = 1.,
Float_t etacutondaughtertracks = 9999999.) {
// Creates, configures and attaches to the train a cascades check task.
// Get the pointer to the existing analysis manager via the static access method.
//==============================================================================
AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
if (!mgr) {
::Error("AddTaskCheckCascadePbPb", "No analysis manager to connect to.");
return NULL;
}
// Check the analysis type using the event handlers connected to the analysis manager.
//==============================================================================
if (!mgr->GetInputEventHandler()) {
::Error("AddTaskCheckCascadePbPb", "This task requires an input event handler");
return NULL;
}
TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
// Create and configure the task
AliAnalysisTaskCheckCascadePbPb *taskcheckcascadepbpb = new AliAnalysisTaskCheckCascadePbPb("TaskCheckCascadePbPb");
taskcheckcascadepbpb->SetRelaunchV0CascVertexers (krelaunchvertexers);
taskcheckcascadepbpb->SetAnalysisType (type);
taskcheckcascadepbpb->SetQualityCutZprimVtxPos (kTRUE); // selects vertices in +-10cm
taskcheckcascadepbpb->SetQualityCutNoTPConlyPrimVtx (kTRUE); // retains only events with tracking + SPD vertex
taskcheckcascadepbpb->SetQualityCutTPCrefit (kTRUE); // requires TPC refit flag to be true to select a track
taskcheckcascadepbpb->SetQualityCutnTPCcls (kTRUE); // rejects tracks that have less than n clusters in the TPC
taskcheckcascadepbpb->SetQualityCutMinnTPCcls (minnTPCcls); // minimum number of TPC clusters to accept daughter tracks
taskcheckcascadepbpb->SetExtraSelections (kextrasel); // used to add other selection cuts
taskcheckcascadepbpb->SetCentralityLowLim (centrlowlim); // setting centrality selection vriables
taskcheckcascadepbpb->SetCentralityUpLim (centruplim);
taskcheckcascadepbpb->SetCentralityEst (centrest);
taskcheckcascadepbpb->SetUseCleaning (kusecleaning);
taskcheckcascadepbpb->SetVertexRange (vtxlim);
taskcheckcascadepbpb->SetMinptCutOnDaughterTracks (minptondaughtertracks);
taskcheckcascadepbpb->SetEtaCutOnDaughterTracks (etacutondaughtertracks);
taskcheckcascadepbpb->SelectCollisionCandidates();
mgr->AddTask(taskcheckcascadepbpb);
// Create ONLY the output containers for the data produced by the task.
// Get and connect other common input/output containers via the manager as below
//==============================================================================
// User file name (if need be)
TString outputFileName = AliAnalysisManager::GetCommonFileName();
outputFileName += ":PWGLFStrangeness.outputCheckCascadePbPb";
Printf("AddTaskCheckCascade - Set OutputFileName : \n %s\n", outputFileName.Data() );
AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("clistCasc",
TList::Class(),
AliAnalysisManager::kOutputContainer,
outputFileName );
AliAnalysisDataContainer *coutput2 = mgr->CreateContainer("cfcontPIDXiM",
AliCFContainer::Class(),
AliAnalysisManager::kOutputContainer,
outputFileName );
AliAnalysisDataContainer *coutput3 = mgr->CreateContainer("cfcontPIDXiP",
AliCFContainer::Class(),
AliAnalysisManager::kOutputContainer,
outputFileName );
AliAnalysisDataContainer *coutput4 = mgr->CreateContainer("cfcontPIDOmegaM",
AliCFContainer::Class(),
AliAnalysisManager::kOutputContainer,
outputFileName );
AliAnalysisDataContainer *coutput5 = mgr->CreateContainer("cfcontPIDOmegaP",
AliCFContainer::Class(),
AliAnalysisManager::kOutputContainer,
outputFileName );
AliAnalysisDataContainer *coutput6 = mgr->CreateContainer("cfcontCuts",
AliCFContainer::Class(),
AliAnalysisManager::kOutputContainer,
outputFileName );
mgr->ConnectInput( taskcheckcascadepbpb, 0, mgr->GetCommonInputContainer());
mgr->ConnectOutput(taskcheckcascadepbpb, 1, coutput1);
mgr->ConnectOutput(taskcheckcascadepbpb, 1, coutput1);
mgr->ConnectOutput(taskcheckcascadepbpb, 2, coutput2);
mgr->ConnectOutput(taskcheckcascadepbpb, 3, coutput3);
mgr->ConnectOutput(taskcheckcascadepbpb, 4, coutput4);
mgr->ConnectOutput(taskcheckcascadepbpb, 5, coutput5);
mgr->ConnectOutput(taskcheckcascadepbpb, 6, coutput6);
return taskcheckcascadepbpb;
}
AddTaskCheckCascadePbPb.C:1 AddTaskCheckCascadePbPb.C:2 AddTaskCheckCascadePbPb.C:3 AddTaskCheckCascadePbPb.C:4 AddTaskCheckCascadePbPb.C:5 AddTaskCheckCascadePbPb.C:6 AddTaskCheckCascadePbPb.C:7 AddTaskCheckCascadePbPb.C:8 AddTaskCheckCascadePbPb.C:9 AddTaskCheckCascadePbPb.C:10 AddTaskCheckCascadePbPb.C:11 AddTaskCheckCascadePbPb.C:12 AddTaskCheckCascadePbPb.C:13 AddTaskCheckCascadePbPb.C:14 AddTaskCheckCascadePbPb.C:15 AddTaskCheckCascadePbPb.C:16 AddTaskCheckCascadePbPb.C:17 AddTaskCheckCascadePbPb.C:18 AddTaskCheckCascadePbPb.C:19 AddTaskCheckCascadePbPb.C:20 AddTaskCheckCascadePbPb.C:21 AddTaskCheckCascadePbPb.C:22 AddTaskCheckCascadePbPb.C:23 AddTaskCheckCascadePbPb.C:24 AddTaskCheckCascadePbPb.C:25 AddTaskCheckCascadePbPb.C:26 AddTaskCheckCascadePbPb.C:27 AddTaskCheckCascadePbPb.C:28 AddTaskCheckCascadePbPb.C:29 AddTaskCheckCascadePbPb.C:30 AddTaskCheckCascadePbPb.C:31 AddTaskCheckCascadePbPb.C:32 AddTaskCheckCascadePbPb.C:33 AddTaskCheckCascadePbPb.C:34 AddTaskCheckCascadePbPb.C:35 AddTaskCheckCascadePbPb.C:36 AddTaskCheckCascadePbPb.C:37 AddTaskCheckCascadePbPb.C:38 AddTaskCheckCascadePbPb.C:39 AddTaskCheckCascadePbPb.C:40 AddTaskCheckCascadePbPb.C:41 AddTaskCheckCascadePbPb.C:42 AddTaskCheckCascadePbPb.C:43 AddTaskCheckCascadePbPb.C:44 AddTaskCheckCascadePbPb.C:45 AddTaskCheckCascadePbPb.C:46 AddTaskCheckCascadePbPb.C:47 AddTaskCheckCascadePbPb.C:48 AddTaskCheckCascadePbPb.C:49 AddTaskCheckCascadePbPb.C:50 AddTaskCheckCascadePbPb.C:51 AddTaskCheckCascadePbPb.C:52 AddTaskCheckCascadePbPb.C:53 AddTaskCheckCascadePbPb.C:54 AddTaskCheckCascadePbPb.C:55 AddTaskCheckCascadePbPb.C:56 AddTaskCheckCascadePbPb.C:57 AddTaskCheckCascadePbPb.C:58 AddTaskCheckCascadePbPb.C:59 AddTaskCheckCascadePbPb.C:60 AddTaskCheckCascadePbPb.C:61 AddTaskCheckCascadePbPb.C:62 AddTaskCheckCascadePbPb.C:63 AddTaskCheckCascadePbPb.C:64 AddTaskCheckCascadePbPb.C:65 AddTaskCheckCascadePbPb.C:66 AddTaskCheckCascadePbPb.C:67 AddTaskCheckCascadePbPb.C:68 AddTaskCheckCascadePbPb.C:69 AddTaskCheckCascadePbPb.C:70 AddTaskCheckCascadePbPb.C:71 AddTaskCheckCascadePbPb.C:72 AddTaskCheckCascadePbPb.C:73 AddTaskCheckCascadePbPb.C:74 AddTaskCheckCascadePbPb.C:75 AddTaskCheckCascadePbPb.C:76 AddTaskCheckCascadePbPb.C:77 AddTaskCheckCascadePbPb.C:78 AddTaskCheckCascadePbPb.C:79 AddTaskCheckCascadePbPb.C:80 AddTaskCheckCascadePbPb.C:81 AddTaskCheckCascadePbPb.C:82 AddTaskCheckCascadePbPb.C:83 AddTaskCheckCascadePbPb.C:84 AddTaskCheckCascadePbPb.C:85 AddTaskCheckCascadePbPb.C:86 AddTaskCheckCascadePbPb.C:87 AddTaskCheckCascadePbPb.C:88 AddTaskCheckCascadePbPb.C:89 AddTaskCheckCascadePbPb.C:90 AddTaskCheckCascadePbPb.C:91 AddTaskCheckCascadePbPb.C:92 AddTaskCheckCascadePbPb.C:93 AddTaskCheckCascadePbPb.C:94 AddTaskCheckCascadePbPb.C:95 AddTaskCheckCascadePbPb.C:96 AddTaskCheckCascadePbPb.C:97 AddTaskCheckCascadePbPb.C:98 AddTaskCheckCascadePbPb.C:99 AddTaskCheckCascadePbPb.C:100 AddTaskCheckCascadePbPb.C:101 AddTaskCheckCascadePbPb.C:102 AddTaskCheckCascadePbPb.C:103 AddTaskCheckCascadePbPb.C:104 AddTaskCheckCascadePbPb.C:105