1 AliAnalysisTaskCheckCascade *AddTaskCheckCascade(Short_t lCollidingSystems = 0 /*0 = pp, 1 = AA*/,
2 const TString lMasterJobSessionFlag = "")
4 // Creates, configures and attaches to the train a cascades check task.
5 // Get the pointer to the existing analysis manager via the static access method.
6 //==============================================================================
7 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
9 ::Error("AddTaskCheckCascade", "No analysis manager to connect to.");
13 // Check the analysis type using the event handlers connected to the analysis manager.
14 //==============================================================================
15 if (!mgr->GetInputEventHandler()) {
16 ::Error("AddTaskCheckCascade", "This task requires an input event handler");
19 TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
21 // Create and configure the task
22 AliAnalysisTaskCheckCascade *taskcheckcascade = new AliAnalysisTaskCheckCascade("TaskCheckCascade");
23 taskcheckcascade-> SetCollidingSystems (lCollidingSystems);
24 taskcheckcascade-> SetAnalysisType (type);
26 taskcheckcascade-> SetTriggerMaskType ("kMB");
27 taskcheckcascade-> SetRelaunchV0CascVertexers (0); //NOTE
28 taskcheckcascade-> SetQualityCutZprimVtxPos (kTRUE);
29 taskcheckcascade-> SetRejectEventPileUp (kTRUE);
30 taskcheckcascade-> SetQualityCutNoTPConlyPrimVtx (kTRUE);
31 taskcheckcascade-> SetQualityCutTPCrefit (kTRUE);
32 taskcheckcascade-> SetQualityCut80TPCcls (kTRUE);
33 taskcheckcascade-> SetAlephParamFor1PadTPCCluster(kTRUE);
34 // taskcheckcascade-> SetExtraSelections (0);
35 taskcheckcascade-> SetAngularCorrelationType ("TrigLeadingTrck-AssoCasc"); // 1.1 - "TrigAnyCasc-AssoAnyPrim", 1.2 - "TrigCascLeading-AssoAnyPrim", 2. - "TrigLeadingTrck-AssoCasc"
37 mgr->AddTask(taskcheckcascade);
39 // Create ONLY the output containers for the data produced by the task.
40 // Get and connect other common input/output containers via the manager as below
41 //==============================================================================
43 // User file name (if need be)
45 TString DefaultCommonFileName = AliAnalysisManager::GetCommonFileName();
47 if(DefaultCommonFileName == "AnalysisResults.root"){
48 // Just change the Common File name IF it was not change before
49 // -> To avoid screwing-up the analysis train and send the output of the previous task to a non-existing file
50 TString lCommonFileName = "sLHC10-CheckCascade";
51 if(lMasterJobSessionFlag.Length()){
52 lCommonFileName += "-";
53 lCommonFileName += lMasterJobSessionFlag.Data();
55 lCommonFileName += ".root";
57 mgr->SetCommonFileName( lCommonFileName.Data() );
61 TString outputFileName = AliAnalysisManager::GetCommonFileName();
63 outputFileName += ":PWG2CheckCascade";
64 if (lCollidingSystems) outputFileName += "_AA_";
65 else outputFileName += "_PP";
66 if (mgr->GetMCtruthEventHandler()) outputFileName += "_MC";
67 //if(lMasterJobSessionFlag.Length()) outputFileName += lMasterJobSessionFlag.Data();
69 Printf("AddTaskCheckCascade - Set OutputFileName : \n %s\n", outputFileName.Data() );
71 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("clistCasc",
73 AliAnalysisManager::kOutputContainer,
76 // AliAnalysisDataContainer *coutput2 = mgr->CreateContainer("cPaveTextBookKeeping",
77 // TPaveText::Class(),
78 // AliAnalysisManager::kOutputContainer,
82 mgr->ConnectInput( taskcheckcascade, 0, mgr->GetCommonInputContainer());
83 mgr->ConnectOutput(taskcheckcascade, 1, coutput1);
84 //mgr->ConnectOutput(taskcheckcascade, 2, coutput2);
86 return taskcheckcascade;