1 AliAnalysisTaskFlavourJetCorrelations *AddTaskFlavourJetCorrelations(
\r
2 AliAnalysisTaskFlavourJetCorrelations::ECandidateType cand = AliAnalysisTaskFlavourJetCorrelations::kDstartoKpipi,
\r
3 TString filename = "DStartoKpipiCuts.root",
\r
4 Bool_t theMCon = kFALSE,
\r
5 Bool_t reco = kTRUE /*must be true if theMCon is false*/,
\r
6 TString jetArrname = "",
\r
8 Bool_t triggerOnLeadingJet = kFALSE,
\r
9 Int_t leadingHadType = 0 /*0 = charged, 1 = neutral, 2 = both*/,
\r
11 Float_t jptcut = 10.,
\r
12 const char *cutType = "TPC",
\r
13 Double_t percjetareacut = 1.)
\r
15 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
\r
17 ::Error("AddTaskFlavourJetCorrelations::AddTaskFlavourJetCorrelations", "No analysis manager to connect to.");
\r
21 Bool_t useStdC = kFALSE;
\r
22 TFile* filecuts=TFile::Open(filename);
\r
23 if (!filecuts || (filecuts && !filecuts->IsOpen())) {
\r
24 cout<<"Input file not found: use std cuts"<<endl;
\r
28 AliRDHFCuts *analysiscuts = 0x0;
\r
32 analysiscuts = new AliRDHFCutsD0toKpi();
\r
33 analysiscuts->SetStandardCutsPP2010();
\r
35 analysiscuts = (AliRDHFCutsD0toKpi*)filecuts->Get("D0toKpiCuts");
\r
39 analysiscuts = new AliRDHFCutsDStartoKpipi();
\r
40 analysiscuts->SetStandardCutsPP2010();
\r
42 analysiscuts = (AliRDHFCutsDStartoKpipi*)filecuts->Get("DStartoKpipiCuts");
\r
43 analysiscuts->SetName("DStartoKpipiCuts");
\r
47 if (!analysiscuts) { // mm let's see if everything is ok
\r
48 AliFatal("Specific AliRDHFCuts not found");
\r
52 printf("CREATE TASK\n"); //CREATE THE TASK
\r
55 AliAnalysisTaskFlavourJetCorrelations *task = new AliAnalysisTaskFlavourJetCorrelations("AnaTaskFlavourJetCorrelations",
\r
56 analysiscuts, cand);
\r
57 task->SetJetsName(jetArrname);
\r
58 task->SetMC(theMCon);
\r
59 task->SetUseReco(reco);
\r
60 task->SetTriggerOnLeadingJet(triggerOnLeadingJet);
\r
61 task->SetJetAcceptanceType(cutType);
\r
67 if(reco) suffix+="rec";
\r
70 // Create and connect containers for input/output
\r
71 TString outputfile = AliAnalysisManager::GetCommonFileName();
\r
72 outputfile += ":PWG3_D2H_DEmcalJet";
\r
73 outputfile += suffix;
\r
75 TString candname="DStar";
\r
76 if(cand==0) candname="D0";
\r
78 TString nameContainer1="hCor";
\r
79 TString nameContainer2="cutsJ";
\r
81 nameContainer1 += candname;
\r
82 nameContainer2 += candname;
\r
84 nameContainer1 += suffix;
\r
85 nameContainer2 += suffix;
\r
86 // ------ input data ------
\r
87 AliAnalysisDataContainer *cinput0 = mgr->GetCommonInputContainer();
\r
89 // ----- output data -----
\r
90 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(nameContainer1, TList::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data());
\r
91 AliAnalysisDataContainer *coutput2 = mgr->CreateContainer(nameContainer2, AliRDHFCuts::Class(),AliAnalysisManager::kOutputContainer, outputfile.Data());
\r
93 mgr->ConnectInput(task,0,mgr->GetCommonInputContainer());
\r
94 mgr->ConnectOutput(task,1,coutput1);
\r
95 mgr->ConnectOutput(task,2,coutput2);
\r
98 Printf("Input and Output connected to the manager");
\r