]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/FlavourJetTasks/macros/AddTaskSEDmesonsFilterCJ.C
Updates from Chiara
[u/mrichter/AliRoot.git] / PWGJE / FlavourJetTasks / macros / AddTaskSEDmesonsFilterCJ.C
CommitLineData
3150c932 1AliAnalysisTaskSEDmesonsFilterCJ *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