]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGHF/vertexingHF/macros/AddTaskLambdac.C
Transition PWG3 --> PWGHF
[u/mrichter/AliRoot.git] / PWGHF / vertexingHF / macros / AddTaskLambdac.C
CommitLineData
60eac73d 1AliAnalysisTaskSELambdac *AddTaskLambdac(TString finname,Bool_t storeNtuple,Bool_t readMC,Bool_t MCPid,Bool_t realPid,Bool_t resPid,Bool_t useKF,
2 Bool_t fillVarHists=kFALSE, Bool_t priorsHists=kFALSE, Bool_t multiplicityHists=kFALSE)
95e5b6b5 3{
4 //==============================================================================
5 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
6 if (!mgr) {
7 ::Error("AddTaskLambdac", "No analysis manager to connect to.");
8 return NULL;
9 }
10
95e5b6b5 11
7ad4b782 12 Bool_t stdcuts=kFALSE;
13 TFile* filecuts=new TFile(finname.Data());
14 if(!filecuts->IsOpen()){
15 cout<<"Input file not found: using std cut object"<<endl;
16 stdcuts=kTRUE;
95e5b6b5 17 }
7ad4b782 18 AliRDHFCutsLctopKpi* prodcuts=new AliRDHFCutsLctopKpi();
19 if(stdcuts) prodcuts->SetStandardCutsPP2010();
20 else prodcuts = (AliRDHFCutsLctopKpi*)filecuts->Get("LctopKpiProdCuts");
21 prodcuts->SetName("LctopKpiProdCuts");
47aa3d55 22 prodcuts->SetMinPtCandidate(-1.);
23 prodcuts->SetMaxPtCandidate(10000.);
95e5b6b5 24
95e5b6b5 25 AliRDHFCutsLctopKpi *analysiscuts = new AliRDHFCutsLctopKpi();
7ad4b782 26 if(stdcuts) analysiscuts->SetStandardCutsPP2010();
4fc75076 27 else analysiscuts = (AliRDHFCutsLctopKpi*)filecuts->Get("LctopKpiAnalysisCuts");
28 analysiscuts->SetName("LctopKpiAnalysisCuts");
47aa3d55 29 analysiscuts->SetMinPtCandidate(-1.);
30 analysiscuts->SetMaxPtCandidate(10000.);
7ad4b782 31
95e5b6b5 32 // Aanalysis task
33 AliAnalysisTaskSELambdac *lambdacTask = new AliAnalysisTaskSELambdac("LambdacAnalysis",storeNtuple,analysiscuts,prodcuts);
34 lambdacTask->SetReadMC(readMC);
35 if(MCPid) lambdacTask->SetMCPid();
36 if(resPid) lambdacTask->SetResonantPid();
37 if(realPid) lambdacTask->SetRealPid();
60eac73d 38 lambdacTask->SetFillVarHists(fillVarHists);
39 lambdacTask->SetPriorsHists(priorsHists);
40 lambdacTask->SetMultiplicityHists(multiplicityHists);
41
95e5b6b5 42 lambdacTask->SetDebugLevel(0);
43 if(useKF) {
44 lambdacTask->SetUseKF();
60eac73d 45 Float_t cuts[10]={0.1,0.1,1.5,0.5,0.1,1.5,0.5,0.1,1.5,0.5};
46 lambdacTask->SetCutsKF(cuts);
47 }
95e5b6b5 48 mgr->AddTask(lambdacTask);
49
60eac73d 50 //
51 // Create containers for input/output
95e5b6b5 52 TString outputfile = AliAnalysisManager::GetCommonFileName();
53 outputfile += ":PWG3_D2H_InvMassLambdac";
54 AliAnalysisDataContainer *cinputLambdac = mgr->CreateContainer("cinputLambdac",TChain::Class(),
60eac73d 55 AliAnalysisManager::kInputContainer);
56 mgr->ConnectInput(lambdacTask,0,mgr->GetCommonInputContainer());
57
95e5b6b5 58 AliAnalysisDataContainer *coutputLambdacCuts = mgr->CreateContainer("coutputLambdacCuts",TList::Class(),
60eac73d 59 AliAnalysisManager::kOutputContainer,outputfile.Data());
60 mgr->ConnectOutput(lambdacTask,2,coutputLambdacCuts);
61
95e5b6b5 62 AliAnalysisDataContainer *coutputLambdac = mgr->CreateContainer("coutputLambdac",TList::Class(),
60eac73d 63 AliAnalysisManager::kOutputContainer,outputfile.Data());
64 mgr->ConnectOutput(lambdacTask,1,coutputLambdac);
95e5b6b5 65
60eac73d 66 AliAnalysisDataContainer *coutputLambdacMC = mgr->CreateContainer("coutputLambdacMC",TList::Class(),
67 AliAnalysisManager::kOutputContainer,outputfile.Data());
68 mgr->ConnectOutput(lambdacTask,3,coutputLambdacMC);
69
70 AliAnalysisDataContainer *coutputLambdacNev = mgr->CreateContainer("coutputLambdacNev",TH1F::Class(),
71 AliAnalysisManager::kOutputContainer,outputfile.Data());
72 mgr->ConnectOutput(lambdacTask,4,coutputLambdacNev);
73
74 AliAnalysisDataContainer *coutputAPriori = mgr->CreateContainer("coutputAPriori",TList::Class(),
75 AliAnalysisManager::kOutputContainer,outputfile.Data());
76 mgr->ConnectOutput(lambdacTask,5,coutputAPriori);
77 AliAnalysisDataContainer *coutputMultiplicity = mgr->CreateContainer("coutputMultiplicity",TList::Class(),
78 AliAnalysisManager::kOutputContainer,outputfile.Data());
79 mgr->ConnectOutput(lambdacTask,6,coutputMultiplicity);
80
81 if (storeNtuple) {
82 AliAnalysisDataContainer *coutputLambdac2 = mgr->CreateContainer("coutputLambdac2",TNtuple::Class(),
83 AliAnalysisManager::kOutputContainer,"InvMassLambdac_nt1.root");
95e5b6b5 84 coutputLambdac2->SetSpecialOutput();
60eac73d 85 mgr->ConnectOutput(lambdacTask,7,coutputLambdac2);
95e5b6b5 86 }
87
95e5b6b5 88
95e5b6b5 89 return lambdacTask;
90}