]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/SPECTRA/macros/AddTaskCheckPerformanceCascade.C
4dd5d4c9db646dcf680bddbc775657cbacab21ee
[u/mrichter/AliRoot.git] / PWG2 / SPECTRA / macros / AddTaskCheckPerformanceCascade.C
1 AliAnalysisTaskCheckPerformanceCascade *AddTaskCheckPerformanceCascade(Short_t       lCollidingSystems=0  /*0 = pp, 1 = AA*/,
2                                                                        const TString lMasterJobSessionFlag = "")
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
22         AliAnalysisTaskCheckPerformanceCascade *taskCheckPerfCascade = new AliAnalysisTaskCheckPerformanceCascade("TaskCheckPerfCascade");
23    taskCheckPerfCascade->SetCollidingSystems            (lCollidingSystems);
24    taskCheckPerfCascade->SetAnalysisType                (type);
25    
26    taskCheckPerfCascade-> SetRelaunchV0CascVertexers    (0);     //NOTE
27    taskCheckPerfCascade-> SetQualityCutZprimVtxPos      (kTRUE);
28    taskCheckPerfCascade-> SetQualityCutNoTPConlyPrimVtx (kTRUE);
29    taskCheckPerfCascade-> SetQualityCutTPCrefit         (kTRUE);
30    taskCheckPerfCascade-> SetQualityCut80TPCcls         (kTRUE);
31         // taskCheckPerfCascade-> SetExtraSelections            (0);
32    
33    
34    mgr->AddTask(taskCheckPerfCascade);
35
36    // Create ONLY the output containers for the data produced by the task.
37    // Get and connect other common input/output containers via the manager as below
38    //==============================================================================
39
40    // User file name (if need be)
41    /*
42    TString DefaultCommonFileName = AliAnalysisManager::GetCommonFileName();
43    
44    if(DefaultCommonFileName == "AnalysisResults.root"){
45         // Just change the Common File name IF it was not change before
46         // -> To avoid screwing-up the analysis train and send the output of the previous task to a non-existing file
47         TString lCommonFileName = "sLHC09-CheckPerfCascade";
48         if(lMasterJobSessionFlag.Length()){
49                 lCommonFileName += "-";
50                 lCommonFileName += lMasterJobSessionFlag.Data();
51         }
52                 lCommonFileName += ".root";
53
54         mgr->SetCommonFileName( lCommonFileName.Data() );
55    }
56    */
57
58    TString outputFileName = AliAnalysisManager::GetCommonFileName();
59    outputFileName += ":PWG2CheckPerformanceCascade";
60    if (lCollidingSystems) outputFileName += "_AA_";
61    else outputFileName += "_PP";
62    if (mgr->GetMCtruthEventHandler()) outputFileName += "_MC";
63    //if(lMasterJobSessionFlag.Length()) outputFileName += lMasterJobSessionFlag.Data();
64    
65    Printf("AddTaskCheckPerfCascade - Set OutputFileName : \n %s\n", outputFileName.Data() );
66    
67    AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("clistCascMC",
68                                                              TList::Class(),
69                                                              AliAnalysisManager::kOutputContainer,
70                                                              outputFileName );
71
72    mgr->ConnectInput( taskCheckPerfCascade, 0, mgr->GetCommonInputContainer());
73    mgr->ConnectOutput(taskCheckPerfCascade, 1, coutput1);
74    
75    return taskCheckPerfCascade;
76 }