]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/SPECTRA/macros/AddTaskCheckPerformanceCascade.C
1. CheckCascade :
[u/mrichter/AliRoot.git] / PWG2 / SPECTRA / macros / AddTaskCheckPerformanceCascade.C
CommitLineData
7e504402 1AliAnalysisTaskCheckPerformanceCascade *AddTaskCheckPerformanceCascade(Short_t lCollidingSystems=0 /*0 = pp, 1 = AA*/,
2 const TString lMasterJobSessionFlag = "")
ad1814e5 3{
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();
8 if (!mgr) {
9 ::Error("AddTaskCheckPerformanceCascade", "No analysis manager to connect to.");
10 return NULL;
11 }
12
13 // Check the analysis type using the event handlers connected to the analysis manager.
14 //==============================================================================
15 if (!mgr->GetInputEventHandler()) {
16 ::Error("AddTaskCheckPerformanceCascade", "This task requires an input event handler");
17 return NULL;
18 }
19 TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
20
21 // Create and configure the task
7e504402 22 AliAnalysisTaskCheckPerformanceCascade *taskCheckPerfCascade = new AliAnalysisTaskCheckPerformanceCascade("TaskCheckPerfCascade");
ad1814e5 23 taskCheckPerfCascade->SetCollidingSystems(lCollidingSystems);
24 taskCheckPerfCascade->SetAnalysisType(type);
7e504402 25
ad1814e5 26 mgr->AddTask(taskCheckPerfCascade);
27
28 // Create ONLY the output containers for the data produced by the task.
29 // Get and connect other common input/output containers via the manager as below
30 //==============================================================================
7e504402 31
32 // User file name (if need be)
33 /*
90926f02 34 TString DefaultCommonFileName = AliAnalysisManager::GetCommonFileName();
35
36 if(DefaultCommonFileName == "AnalysisResults.root"){
37 // Just change the Common File name IF it was not change before
38 // -> To avoid screwing-up the analysis train and send the output of the previous task to a non-existing file
39 TString lCommonFileName = "sLHC09-CheckPerfCascade";
40 if(lMasterJobSessionFlag.Length()){
41 lCommonFileName += "-";
42 lCommonFileName += lMasterJobSessionFlag.Data();
43 }
44 lCommonFileName += ".root";
45 mgr->SetCommonFileName( lCommonFileName.Data() );
7e504402 46 }
7e504402 47 */
90926f02 48
1ba92c7e 49 TString outputFileName = AliAnalysisManager::GetCommonFileName();
162aeefd 50 outputFileName += ":PWG2CheckPerformanceCascade";
7e504402 51 if (lCollidingSystems) outputFileName += "_AA_";
52 else outputFileName += "_PP_";
53 if (mgr->GetMCtruthEventHandler()) outputFileName += "MC_";
54 if(lMasterJobSessionFlag.Length()) outputFileName += lMasterJobSessionFlag.Data();
55
90926f02 56 Printf("AddTaskCheckPerfCascade - Set OutputFileName : \n %s\n", outputFileName.Data() );
57
1ba92c7e 58 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("clistCascMC",
59 TList::Class(),
60 AliAnalysisManager::kOutputContainer,
61 outputFileName );
62
ad1814e5 63 mgr->ConnectInput( taskCheckPerfCascade, 0, mgr->GetCommonInputContainer());
64 mgr->ConnectOutput(taskCheckPerfCascade, 1, coutput1);
7e504402 65
ad1814e5 66 return taskCheckPerfCascade;
67}