]>
Commit | Line | Data |
---|---|---|
3150c932 | 1 | AliAnalysisTaskSEDmesonsFilterCJ *AddTaskSEDmesonsFilterCJ( |
a429c767 | 2 | AliAnalysisTaskSEDmesonsFilterCJ::ECandidateType cand = AliAnalysisTaskSEDmesonsFilterCJ::kDstartoKpipi, |
3150c932 | 3 | TString filename = "DStartoKpipiCuts.root", |
4 | Bool_t theMCon = kFALSE, | |
5 | TString suffix = "") | |
6 | { | |
7 | AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager(); | |
8 | if (!mgr) { | |
9 | ::Error("AddTaskSEDmesonsFilterCJ", "No analysis manager to connect to."); | |
10 | return NULL; | |
11 | } | |
12 | ||
13 | Bool_t useStdC = kFALSE; | |
14 | TFile* filecuts=TFile::Open(filename); | |
15 | if(!filecuts || (filecuts && !filecuts->IsOpen())) { | |
16 | cout<<"Input file not found: use std cuts"<<endl; | |
17 | useStdC = kTRUE; | |
18 | } | |
19 | ||
20 | AliRDHFCuts *analysiscuts=0x0; | |
21 | switch (cand) { | |
22 | case 0 : | |
23 | if(useStdC) { | |
24 | analysiscuts = new AliRDHFCutsD0toKpi(); | |
25 | analysiscuts->SetStandardCutsPP2010(); | |
26 | } else | |
27 | analysiscuts = (AliRDHFCutsD0toKpi*)filecuts->Get("D0toKpiCuts"); | |
28 | break; | |
29 | case 1 : | |
30 | if(useStdC) { | |
31 | analysiscuts = new AliRDHFCutsDStartoKpipi(); | |
32 | analysiscuts->SetStandardCutsPP2010(); | |
33 | } else | |
34 | analysiscuts = (AliRDHFCutsDStartoKpipi*)filecuts->Get("DStartoKpipiCuts"); | |
35 | analysiscuts->SetName("DStartoKpipiCuts"); | |
36 | break; | |
37 | } | |
38 | ||
39 | if (!analysiscuts) { // mm let's see if everything is ok | |
40 | AliFatal("Specific AliRDHFCuts not found"); | |
41 | return; | |
42 | } | |
43 | ||
44 | printf("CREATE TASK\n"); //CREATE THE TASK | |
45 | ||
46 | // create the task | |
47 | AliAnalysisTaskSEDmesonsFilterCJ *task = new AliAnalysisTaskSEDmesonsFilterCJ("AnaTaskSEDmesonsFilterCJ",analysiscuts,cand); | |
48 | task->SetMC(theMCon); //D meson settings | |
49 | mgr->AddTask(task); | |
50 | ||
a429c767 | 51 | TString candname="DStar"; |
52 | if(cand==0) candname="D0"; | |
53 | ||
3150c932 | 54 | // Create and connect containers for input/output |
55 | TString outputfile = AliAnalysisManager::GetCommonFileName(); | |
56 | outputfile += ":PWG3_D2H_DmesonsForJetCorrelations"; | |
57 | outputfile += suffix; | |
58 | ||
59 | TString nameContainer0="histograms"; | |
60 | TString nameContainer1="cuts"; | |
a429c767 | 61 | //TString nameContainer2="DcandidatesSel"; |
3150c932 | 62 | |
a429c767 | 63 | nameContainer0 += candname; |
64 | nameContainer1 += candname; | |
65 | ||
3150c932 | 66 | nameContainer0 += suffix; |
67 | nameContainer1 += suffix; | |
68 | //nameContainer2 += suffix; | |
69 | ||
70 | // ------ input data ------ | |
71 | AliAnalysisDataContainer *cinput0 = mgr->GetCommonInputContainer(); | |
72 | ||
73 | // ----- output data ----- | |
74 | ||
3150c932 | 75 | AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(nameContainer0, TList::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data()); |
76 | AliAnalysisDataContainer *coutput2 = mgr->CreateContainer(nameContainer1, AliRDHFCuts::Class(),AliAnalysisManager::kOutputContainer, outputfile.Data()); | |
77 | //AliAnalysisDataContainer *coutput3 = mgr->CreateContainer(nameContainer2, TList::Class(),AliAnalysisManager::kExchangeContainer, outputfile.Data()); | |
78 | ||
79 | mgr->ConnectInput(task,0,mgr->GetCommonInputContainer()); | |
80 | mgr->ConnectOutput(task,1,coutput1); | |
81 | mgr->ConnectOutput(task,2,coutput2); | |
82 | //mgr->ConnectOutput(task,3,coutput3); | |
83 | ||
84 | Printf("Input and Output connected to the manager"); | |
85 | return task ; | |
86 | } | |
87 |