]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/STRANGENESS/LambdaK0/macros/AddTaskExtractV0.C
Minor changes: change default options for AddTask macros, removed
[u/mrichter/AliRoot.git] / PWGLF / STRANGENESS / LambdaK0 / macros / AddTaskExtractV0.C
1 AliAnalysisTaskExtractV0 *AddTaskExtractV0( Bool_t lSwitchIsNuclear     = kFALSE, 
2                                             Bool_t lSwitchIsLowEnergyPP = kFALSE,
3                                             Bool_t lSwitchUseOnTheFly   = kFALSE, 
4                                             const TString lMasterJobSessionFlag = "")
5 {
6 // Creates, configures and attaches to the train a cascades check task.
7    // Get the pointer to the existing analysis manager via the static access method.
8    //==============================================================================
9    AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
10    if (!mgr) {
11       ::Error("AddTaskExtractV0", "No analysis manager to connect to.");
12       return NULL;
13    }   
14
15    // Check the analysis type using the event handlers connected to the analysis manager.
16    //==============================================================================
17    if (!mgr->GetInputEventHandler()) {
18       ::Error("AddTaskExtractV0", "This task requires an input event handler");
19       return NULL;
20    }   
21    TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
22
23    // Create and configure the task
24          AliAnalysisTaskExtractV0 *taskv0extract = new AliAnalysisTaskExtractV0("taskv0extract");
25
26    //Configuration
27    taskv0extract -> SetIsNuclear     ( lSwitchIsNuclear     );
28    taskv0extract -> SetIsLowEnergyPP ( lSwitchIsLowEnergyPP );
29    taskv0extract -> SetUseOnTheFly   ( lSwitchUseOnTheFly   );
30
31    mgr->AddTask(taskv0extract);
32
33    TString outputFileName = AliAnalysisManager::GetCommonFileName();
34    
35    outputFileName += ":PWGLFExtractV0";
36    //if (lCollidingSystems) outputFileName += "_AA_";
37    outputFileName += "_PP";
38    if (mgr->GetMCtruthEventHandler()) outputFileName += "_MC";
39    if (lSwitchUseOnTheFly==kTRUE) outputFileName += "_OnTheFly";
40    //if(lMasterJobSessionFlag.Length()) outputFileName += lMasterJobSessionFlag.Data();
41    
42    Printf("Set OutputFileName : \n %s\n", outputFileName.Data() );
43
44    AliAnalysisDataContainer *coutputList = mgr->CreateContainer("clistV0",
45                                                              TList::Class(),
46                                                              AliAnalysisManager::kOutputContainer,
47                                                              outputFileName );
48    AliAnalysisDataContainer *coutputTree = mgr->CreateContainer("cTree",
49                                                              TTree::Class(),
50                                                              AliAnalysisManager::kOutputContainer,
51                                                              outputFileName );
52    
53    //This one you should merge in file-resident ways...
54    coutputTree->SetSpecialOutput();
55
56    mgr->ConnectInput( taskv0extract, 0, mgr->GetCommonInputContainer());
57    mgr->ConnectOutput(taskv0extract, 1, coutputList);
58    mgr->ConnectOutput(taskv0extract, 2, coutputTree);
59    
60    return taskv0extract;
61 }