]>
Commit | Line | Data |
---|---|---|
504df8ba | 1 | AliAnalysisTaskSEDplus *AddTaskDplus(Bool_t storeNtuple=kFALSE, |
2 | Bool_t readMC=kFALSE, | |
ae39ad32 | 3 | TString filename="DplustoKpipiCuts.root") |
95e5b6b5 | 4 | { |
5 | // | |
6 | // Test macro for the AliAnalysisTaskSE for D+ candidates | |
7 | ||
8 | //Invariant mass histogram and | |
9 | // association with MC truth (using MC info in AOD) | |
10 | // R. Bala, bala@to.infn.it | |
11 | // Get the pointer to the existing analysis manager via the static access method. | |
12 | //============================================================================== | |
13 | AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager(); | |
14 | if (!mgr) { | |
15 | ::Error("AddTaskDplus", "No analysis manager to connect to."); | |
95e5b6b5 | 16 | } |
17 | ||
ae39ad32 | 18 | Bool_t stdcuts=kFALSE; |
fad29dfd | 19 | TFile* filecuts=new TFile(filename.Data()); |
20 | if(!filecuts->IsOpen()){ | |
ae39ad32 | 21 | cout<<"Input file not found: using standard cuts"<<endl; |
22 | stdcuts=kTRUE; | |
95e5b6b5 | 23 | } |
fad29dfd | 24 | |
25 | ||
26 | //Analysis Task | |
95e5b6b5 | 27 | |
fad29dfd | 28 | |
ae39ad32 | 29 | AliRDHFCutsDplustoKpipi* analysiscuts=new AliRDHFCutsDplustoKpipi(); |
30 | if(stdcuts) analysiscuts->SetStandardCutsPP2010(); | |
31 | else analysiscuts = (AliRDHFCutsDplustoKpipi*)filecuts->Get("AnalysisCuts"); | |
95e5b6b5 | 32 | |
fad29dfd | 33 | AliRDHFCutsDplustoKpipi* prodcuts=new AliRDHFCutsDplustoKpipi(); |
ae39ad32 | 34 | if(stdcuts) prodcuts->SetStandardCutsPP2010(); |
3eea9b98 | 35 | else prodcuts = (AliRDHFCutsDplustoKpipi*)filecuts->Get("ProdCuts"); |
73173a6a | 36 | |
fad29dfd | 37 | //AliRDHFCutsDplustoKpipi *prodcuts = (AliRDHFCutsDplustoKpipi*)fileCuts->Get("ProdCuts"); |
38 | //AliRDHFCutsDplustoKpipi *analysiscuts = (AliRDHFCutsDplustoKpipi*)fileCuts->Get("AnalysisCuts"); | |
95e5b6b5 | 39 | |
fad29dfd | 40 | |
95e5b6b5 | 41 | AliAnalysisTaskSEDplus *dplusTask = new AliAnalysisTaskSEDplus("DplusAnalysis",analysiscuts,prodcuts,storeNtuple); |
42 | dplusTask->SetReadMC(readMC); | |
43 | dplusTask->SetDoLikeSign(kTRUE); | |
73173a6a | 44 | // dplusTask->SetUseTPCpid(kTRUE); |
45 | //dplusTask->SetUseTOFpid(kTRUE); | |
95e5b6b5 | 46 | dplusTask->SetDebugLevel(0); |
fad29dfd | 47 | dplusTask->SetMassLimits(0.2); |
95e5b6b5 | 48 | mgr->AddTask(dplusTask); |
fad29dfd | 49 | |
50 | // Create containers for input/output | |
51 | ||
95e5b6b5 | 52 | AliAnalysisDataContainer *cinputDplus = mgr->CreateContainer("cinputDplus",TChain::Class(), |
fad29dfd | 53 | AliAnalysisManager::kInputContainer); |
95e5b6b5 | 54 | TString outputfile = AliAnalysisManager::GetCommonFileName(); |
55 | outputfile += ":PWG3_D2H_InvMassDplus"; | |
fad29dfd | 56 | |
57 | AliAnalysisDataContainer *coutputDplusCuts = mgr->CreateContainer("coutputDplusCuts",TList::Class(), | |
58 | AliAnalysisManager::kOutputContainer, | |
59 | outputfile.Data()); | |
60 | ||
95e5b6b5 | 61 | AliAnalysisDataContainer *coutputDplus = mgr->CreateContainer("coutputDplus",TList::Class(), |
fad29dfd | 62 | AliAnalysisManager::kOutputContainer, |
95e5b6b5 | 63 | outputfile.Data()); |
a96083b9 | 64 | AliAnalysisDataContainer *coutputDplusNorm = mgr->CreateContainer("coutputDplusNorm",AliNormalizationCounter::Class(), |
65 | AliAnalysisManager::kOutputContainer, | |
66 | outputfile.Data()); | |
fad29dfd | 67 | |
95e5b6b5 | 68 | if(storeNtuple){ |
69 | AliAnalysisDataContainer *coutputDplus2 = mgr->CreateContainer("coutputDplus2",TNtuple::Class(), | |
fad29dfd | 70 | AliAnalysisManager::kOutputContainer, |
71 | "InvMassDplus_nt1.root"); | |
72 | ||
95e5b6b5 | 73 | coutputDplus2->SetSpecialOutput(); |
74 | } | |
75 | mgr->ConnectInput(dplusTask,0,mgr->GetCommonInputContainer()); | |
fad29dfd | 76 | |
95e5b6b5 | 77 | mgr->ConnectOutput(dplusTask,1,coutputDplus); |
fad29dfd | 78 | |
95e5b6b5 | 79 | mgr->ConnectOutput(dplusTask,2,coutputDplusCuts); |
a96083b9 | 80 | |
81 | mgr->ConnectOutput(dplusTask,3,coutputDplusNorm); | |
95e5b6b5 | 82 | if(storeNtuple){ |
a96083b9 | 83 | mgr->ConnectOutput(dplusTask,4,coutputDplus2); |
95e5b6b5 | 84 | } |
85 | return dplusTask; | |
86 | } |