1 AliAnalysisTaskSEHFQA* AddTaskHFQA(AliAnalysisTaskSEHFQA::DecChannel ch,TString filecutsname="D0toKpiCuts.root"){
3 // Test macro for the AliAnalysisTaskSE for HF mesons quality assurance
4 //Author: C.Bianchin chiara.bianchin@pd.infn.it
6 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
8 ::Error("AddTaskHFQA", "No analysis manager to connect to.");
12 Bool_t stdcuts=kFALSE;
13 TFile* filecuts=new TFile(filecutsname.Data());
14 if(!filecuts->IsOpen()){
15 cout<<"Input file not found: using std cut object"<<endl;
19 AliRDHFCuts *analysiscuts=0x0;
21 TString filename="",out1name="nEntriesQA",out2name="outputPid",out3name="outputTrack",out4name="cuts",inname="input",suffix="",cutsobjname="";
22 filename = AliAnalysisManager::GetCommonFileName();
23 filename += ":PWG3_D2H_QA";
27 cutsobjname="AnalysisCuts";
29 analysiscuts = new AliRDHFCutsDplustoKpipi();
30 analysiscuts->SetStandardCutsPP2010();
32 else analysiscuts = (AliRDHFCutsDplustoKpipi*)filecuts->Get(cutsobjname);
36 cutsobjname="D0toKpiCuts";
38 analysiscuts = new AliRDHFCutsD0toKpi();
39 analysiscuts->SetStandardCutsPP2010();
41 else analysiscuts = (AliRDHFCutsD0toKpi*)filecuts->Get(cutsobjname);
45 cutsobjname="DStartoKpipiCuts";
47 analysiscuts = new AliRDHFCutsDStartoKpipi();
48 analysiscuts->SetStandardCutsPP2010();
50 else analysiscuts = (AliRDHFCutsDstartoKpipi*)filecuts->Get(cutsobjname);
54 cutsobjname="DstoKKpiCuts";
56 analysiscuts = new AliRDHFCutsDstoKKpi();
57 analysiscuts->SetStandardCutsPP2010();
59 else analysiscuts = (AliRDHFCutsDstoKKpi*)filecuts->Get(cutsobjname);
63 cutsobjname="D0toKpipipiCuts";
65 analysiscuts = new AliRDHFCutsD0toKpipipi();
66 analysiscuts->SetStandardCutsPP2010();
68 else analysiscuts = (AliRDHFCutsD0toKpipipi*)filecuts->Get(cutsobjname);
72 cutsobjname="LctopKpiAnalysisCuts";
74 analysiscuts = new AliRDHFCutsLctopKpi();
75 analysiscuts->SetStandardCutsPP2010();
77 else analysiscuts = (AliRDHFCutsLctopKpi*)filecuts->Get(cutsobjname);
88 if(!analysiscuts && filecutsname!="none"){
89 cout<<"Specific AliRDHFCuts not found"<<endl;
93 AliAnalysisTaskSEHFQA* taskQA=new AliAnalysisTaskSEHFQA(Form("QA%s",suffix.Data()),ch,analysiscuts);
98 // Create containers for input/output
99 AliAnalysisDataContainer *cinput = mgr->CreateContainer(inname,TChain::Class(), AliAnalysisManager::kInputContainer);
100 mgr->ConnectInput(taskQA,0,mgr->GetCommonInputContainer());
102 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(out1name,TH1F::Class(),AliAnalysisManager::kOutputContainer, filename.Data()); //events analysed
103 mgr->ConnectOutput(taskQA,1,coutput1);
105 AliAnalysisDataContainer *coutput2 = mgr->CreateContainer(out2name,TList::Class(),AliAnalysisManager::kOutputContainer, filename.Data()); //PID
106 mgr->ConnectOutput(taskQA,2,coutput2);
108 AliAnalysisDataContainer *coutput3 = mgr->CreateContainer(out3name,TList::Class(),AliAnalysisManager::kOutputContainer, filename.Data()); //quality of tracks
109 mgr->ConnectOutput(taskQA,3,coutput3);
111 AliAnalysisDataContainer *coutput4 = mgr->CreateContainer(out4name,AliRDHFCuts::Class(),AliAnalysisManager::kOutputContainer, filename.Data()); //cuts
112 mgr->ConnectOutput(taskQA,4,coutput4);