1 AliAnalysisTaskSEDplusCorrelations *AddTaskDplusCorr(Bool_t system=kFALSE, Bool_t storeNtuple=kFALSE,
6 TString finDirname="Loose",
8 TString finAnObjname="AnalysisCuts")
12 // Test macro for the AliAnalysisTaskSE for D+ candidates
14 //Invariant mass histogram and
15 // association with MC truth (using MC info in AOD)
17 // Get the pointer to the existing analysis manager via the static access method.
18 //==============================================================================
19 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
21 ::Error("AddTaskDplusCorr", "No analysis manager to connect to.");
24 Bool_t stdcuts=kFALSE;
26 if( filename.EqualTo("") ) {
29 filecuts=TFile::Open(filename.Data());
30 if(!filecuts ||(filecuts&& !filecuts->IsOpen())){
31 AliFatal("Input file not found : check your cut object");
35 TFile* filecuts1=new TFile("AssocPartCuts.root");
36 if(!filecuts1->IsOpen()){
37 cout<<"Input file1 not found: exit"<<endl;
45 AliRDHFCutsDplustoKpipi* analysiscuts=new AliRDHFCutsDplustoKpipi();
47 if(system==0) analysiscuts->SetStandardCutsPP2010();
49 analysiscuts->SetStandardCutsPbPb2011();
50 analysiscuts->SetMinCentrality(minC);
51 analysiscuts->SetMaxCentrality(maxC);
52 // analysiscuts->SetUseAOD049(kTRUE);
53 analysiscuts->SetUseCentrality(AliRDHFCuts::kCentV0M);
56 else analysiscuts = (AliRDHFCutsDplustoKpipi*)filecuts->Get(finAnObjname);
60 AliHFAssociatedTrackCuts* corrCuts=new AliHFAssociatedTrackCuts();
61 corrCuts = (AliHFAssociatedTrackCuts*)filecuts1->Get("AssociatedCuts");
62 corrCuts->SetName("AssociatedCuts");
66 AliAnalysisTaskSEDplusCorrelations *dplusTask = new AliAnalysisTaskSEDplusCorrelations("DplusAnalysis",analysiscuts,corrCuts);
67 dplusTask->SetReadMC(readMC);
68 dplusTask->SetEventMix(mixing);
69 dplusTask->SetCorrelator(select);
70 dplusTask->SetUseDisplacement(usedisp);
71 dplusTask->SetDebugLevel(0);
72 dplusTask->SetMassLimits(0.2);
73 dplusTask->SetUseBit(kTRUE);
74 dplusTask->SetSystem(kFALSE);
77 // if (system==0) dplusTask->SetDoImpactParameterHistos(kTRUE);
79 mgr->AddTask(dplusTask);
81 // Create containers for input/output
83 TString inname = "cinputDplus";
84 TString outname = "coutputDplus";
85 TString cutsname = "coutputDplusCuts";
86 TString normname = "coutputDplusNorm";
87 TString ntuplename = "coutputDplus2";
88 inname += finDirname.Data();
89 outname += finDirname.Data();
90 cutsname += finDirname.Data();
91 normname += finDirname.Data();
92 ntuplename += finDirname.Data();
93 TString centr=Form("%.0f%.0f",analysiscuts->GetMinCentrality(),analysiscuts->GetMaxCentrality());
101 AliAnalysisDataContainer *cinputDplus = mgr->CreateContainer(inname,TChain::Class(),
102 AliAnalysisManager::kInputContainer);
103 TString outputfile = AliAnalysisManager::GetCommonFileName();
104 outputfile += ":PWG3_D2H_InvMassDplus";
106 AliAnalysisDataContainer *coutputDplusCuts = mgr->CreateContainer(cutsname,TList::Class(),
107 AliAnalysisManager::kOutputContainer,
110 AliAnalysisDataContainer *coutputDplus = mgr->CreateContainer(outname,TList::Class(),
111 AliAnalysisManager::kOutputContainer,
113 AliAnalysisDataContainer *coutputDplusNorm = mgr->CreateContainer(normname,AliNormalizationCounter::Class(),
114 AliAnalysisManager::kOutputContainer,
118 AliAnalysisDataContainer *coutputDplus2 = mgr->CreateContainer(ntuplename,TNtuple::Class(),
119 AliAnalysisManager::kOutputContainer,
122 coutputDplus2->SetSpecialOutput();
124 mgr->ConnectInput(dplusTask,0,mgr->GetCommonInputContainer());
126 mgr->ConnectOutput(dplusTask,1,coutputDplus);
128 mgr->ConnectOutput(dplusTask,2,coutputDplusCuts);
130 mgr->ConnectOutput(dplusTask,3,coutputDplusNorm);
132 mgr->ConnectOutput(dplusTask,4,coutputDplus2);