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