]>
Commit | Line | Data |
---|---|---|
6ad0ece9 | 1 | AliAnalysisTaskSE *AddTaskLambdac(TString finname,Bool_t storeNtuple,Bool_t readMC,Bool_t MCPid,Bool_t realPid,Bool_t resPid,Bool_t useKF, |
7d020878 | 2 | Bool_t fillVarHists=kFALSE, Bool_t priorsHists=kFALSE, Bool_t multiplicityHists=kFALSE, Int_t syst=0, TString postname="") |
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; |
0c22e2ac | 13 | TFile* filecuts; |
14 | if( finname.EqualTo("") ) { | |
15 | stdcuts=kTRUE; | |
16 | } else { | |
17 | filecuts=TFile::Open(finname.Data()); | |
18 | if(!filecuts ||(filecuts&& !filecuts->IsOpen())){ | |
19 | AliFatal("Input file not found : check your cut object"); | |
20 | } | |
95e5b6b5 | 21 | } |
7ad4b782 | 22 | AliRDHFCutsLctopKpi* prodcuts=new AliRDHFCutsLctopKpi(); |
7d020878 | 23 | // syst = 0 : pp, syst = 1: PbPb, syst = 2 : pPb |
24 | if(stdcuts) { | |
25 | if(syst==0) prodcuts->SetStandardCutsPP2010(); | |
26 | if(syst==1) prodcuts->SetStandardCutsPbPb2011(); | |
27 | if(syst==2) prodcuts->SetStandardCutsPPb2013(); | |
28 | } | |
7ad4b782 | 29 | else prodcuts = (AliRDHFCutsLctopKpi*)filecuts->Get("LctopKpiProdCuts"); |
30 | prodcuts->SetName("LctopKpiProdCuts"); | |
47aa3d55 | 31 | prodcuts->SetMinPtCandidate(-1.); |
32 | prodcuts->SetMaxPtCandidate(10000.); | |
95e5b6b5 | 33 | |
95e5b6b5 | 34 | AliRDHFCutsLctopKpi *analysiscuts = new AliRDHFCutsLctopKpi(); |
7d020878 | 35 | if(stdcuts) { |
36 | if(syst==0) analysiscuts->SetStandardCutsPP2010(); | |
37 | if(syst==1) analysiscuts->SetStandardCutsPbPb2011(); | |
38 | if(syst==2) analysiscuts->SetStandardCutsPPb2013(); | |
39 | } | |
4fc75076 | 40 | else analysiscuts = (AliRDHFCutsLctopKpi*)filecuts->Get("LctopKpiAnalysisCuts"); |
41 | analysiscuts->SetName("LctopKpiAnalysisCuts"); | |
47aa3d55 | 42 | analysiscuts->SetMinPtCandidate(-1.); |
43 | analysiscuts->SetMaxPtCandidate(10000.); | |
7ad4b782 | 44 | |
95e5b6b5 | 45 | // Aanalysis task |
46 | AliAnalysisTaskSELambdac *lambdacTask = new AliAnalysisTaskSELambdac("LambdacAnalysis",storeNtuple,analysiscuts,prodcuts); | |
47 | lambdacTask->SetReadMC(readMC); | |
48 | if(MCPid) lambdacTask->SetMCPid(); | |
49 | if(resPid) lambdacTask->SetResonantPid(); | |
50 | if(realPid) lambdacTask->SetRealPid(); | |
60eac73d | 51 | lambdacTask->SetFillVarHists(fillVarHists); |
52 | lambdacTask->SetPriorsHists(priorsHists); | |
53 | lambdacTask->SetMultiplicityHists(multiplicityHists); | |
e49041ef | 54 | lambdacTask->SetAnalysis(kTRUE); |
60eac73d | 55 | |
95e5b6b5 | 56 | lambdacTask->SetDebugLevel(0); |
57 | if(useKF) { | |
58 | lambdacTask->SetUseKF(); | |
60eac73d | 59 | Float_t cuts[10]={0.1,0.1,1.5,0.5,0.1,1.5,0.5,0.1,1.5,0.5}; |
60 | lambdacTask->SetCutsKF(cuts); | |
61 | } | |
95e5b6b5 | 62 | mgr->AddTask(lambdacTask); |
63 | ||
60eac73d | 64 | // |
65 | // Create containers for input/output | |
95e5b6b5 | 66 | TString outputfile = AliAnalysisManager::GetCommonFileName(); |
67 | outputfile += ":PWG3_D2H_InvMassLambdac"; | |
6ad0ece9 | 68 | |
ca694cd7 | 69 | TString finDirname="pp"; |
6ad0ece9 | 70 | TString inname = "cinputLc"; |
71 | TString outname = "coutputLc"; | |
72 | TString cutsname = "coutputLcCuts"; | |
73 | TString normname = "coutputLcNorm"; | |
74 | TString ntuplename = "coutputLc2"; | |
75 | TString nev2 = "coutputNev"; | |
76 | TString outname2 = "coutputLambdacMC"; | |
77 | TString aPrioriname = "coutputAPriori"; | |
78 | TString multiplicityname = "coutputMultiplicity"; | |
79 | inname += finDirname.Data(); | |
80 | outname += finDirname.Data(); | |
81 | cutsname += finDirname.Data(); | |
82 | normname += finDirname.Data(); | |
83 | ntuplename += finDirname.Data(); | |
84 | nev2 += finDirname.Data(); | |
85 | outname2 += finDirname.Data(); | |
86 | aPrioriname += finDirname.Data(); | |
87 | multiplicityname += finDirname.Data(); | |
88 | ||
ca694cd7 | 89 | inname += postname.Data(); |
90 | outname += postname.Data(); | |
91 | cutsname += postname.Data(); | |
92 | normname += postname.Data(); | |
93 | ntuplename += postname.Data(); | |
94 | nev2 += postname.Data(); | |
95 | outname2 += postname.Data(); | |
96 | aPrioriname += postname.Data(); | |
97 | multiplicityname += postname.Data(); | |
6ad0ece9 | 98 | |
99 | ||
100 | AliAnalysisDataContainer *cinputLambdac = mgr->CreateContainer(inname,TChain::Class(), | |
60eac73d | 101 | AliAnalysisManager::kInputContainer); |
102 | mgr->ConnectInput(lambdacTask,0,mgr->GetCommonInputContainer()); | |
103 | ||
6ad0ece9 | 104 | AliAnalysisDataContainer *coutputLambdacCuts = mgr->CreateContainer(cutsname,TList::Class(), |
60eac73d | 105 | AliAnalysisManager::kOutputContainer,outputfile.Data()); |
106 | mgr->ConnectOutput(lambdacTask,2,coutputLambdacCuts); | |
107 | ||
6ad0ece9 | 108 | AliAnalysisDataContainer *coutputLambdac = mgr->CreateContainer(outname,TList::Class(), |
60eac73d | 109 | AliAnalysisManager::kOutputContainer,outputfile.Data()); |
110 | mgr->ConnectOutput(lambdacTask,1,coutputLambdac); | |
95e5b6b5 | 111 | |
6ad0ece9 | 112 | AliAnalysisDataContainer *coutputLambdacMC = mgr->CreateContainer(outname2,TList::Class(), |
60eac73d | 113 | AliAnalysisManager::kOutputContainer,outputfile.Data()); |
114 | mgr->ConnectOutput(lambdacTask,3,coutputLambdacMC); | |
115 | ||
6ad0ece9 | 116 | AliAnalysisDataContainer *coutputLambdacNev = mgr->CreateContainer(nev2,TH1F::Class(), |
60eac73d | 117 | AliAnalysisManager::kOutputContainer,outputfile.Data()); |
118 | mgr->ConnectOutput(lambdacTask,4,coutputLambdacNev); | |
119 | ||
6ad0ece9 | 120 | AliAnalysisDataContainer *coutputAPriori = mgr->CreateContainer(aPrioriname,TList::Class(), |
60eac73d | 121 | AliAnalysisManager::kOutputContainer,outputfile.Data()); |
122 | mgr->ConnectOutput(lambdacTask,5,coutputAPriori); | |
6ad0ece9 | 123 | AliAnalysisDataContainer *coutputMultiplicity = mgr->CreateContainer(multiplicityname,TList::Class(), |
60eac73d | 124 | AliAnalysisManager::kOutputContainer,outputfile.Data()); |
125 | mgr->ConnectOutput(lambdacTask,6,coutputMultiplicity); | |
126 | ||
6ad0ece9 | 127 | AliAnalysisDataContainer *coutputLambdacNorm = mgr->CreateContainer(normname,AliNormalizationCounter::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data()); |
128 | ||
129 | mgr->ConnectOutput(lambdacTask,7,coutputLambdacNorm); | |
130 | ||
60eac73d | 131 | if (storeNtuple) { |
6ad0ece9 | 132 | AliAnalysisDataContainer *coutputLambdac2 = mgr->CreateContainer(ntuplename,TNtuple::Class(), |
60eac73d | 133 | AliAnalysisManager::kOutputContainer,"InvMassLambdac_nt1.root"); |
95e5b6b5 | 134 | coutputLambdac2->SetSpecialOutput(); |
60eac73d | 135 | mgr->ConnectOutput(lambdacTask,7,coutputLambdac2); |
95e5b6b5 | 136 | } |
137 | ||
95e5b6b5 | 138 | |
95e5b6b5 | 139 | return lambdacTask; |
140 | } |