]>
Commit | Line | Data |
---|---|---|
60eac73d | 1 | AliAnalysisTaskSELambdac *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 | } |