1 //DEFINITION OF A FEW CONSTANTS
2 //----------------------------------------------------
6 AliAnalysisTaskDStarCorrelations *AddTaskDStarCorrelations(Int_t theMCon =5, Int_t mixing=4, Int_t trackselect =1)
9 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
11 ::Error("AliAnalysisTaskDStarCorrelations", "No analysis manager to connect to.");
15 TFile* filecuts=new TFile("DStartoKpipiCuts_corr.root");
16 if(!filecuts->IsOpen()){
17 cout<<"Input file not found: exit"<<endl;
20 TFile* filecuts2=new TFile("AssocPartCuts.root");
21 if(!filecuts2->IsOpen()){
22 cout<<"Input file2 not found: exit"<<endl;
26 AliRDHFCutsDStartoKpipi* RDHFDStartoKpipi=new AliRDHFCutsDStartoKpipi();
27 RDHFDStartoKpipi = (AliRDHFCutsDStartoKpipi*)filecuts->Get("DStartoKpipiCuts");
28 RDHFDStartoKpipi->SetName("DStartoKpipiCuts");
31 AliHFAssociatedTrackCuts* corrCuts=new AliHFAssociatedTrackCuts();
32 corrCuts = (AliHFAssociatedTrackCuts*)filecuts2->Get("AssociatedCuts");
33 corrCuts->SetName("AssociatedCuts");
36 // mm let's see if everything is ok
37 if(!RDHFDStartoKpipi){
38 cout<<"Specific AliRDHFCuts not found"<<endl;
43 printf("CREATE TASK \n");
45 AliAnalysisTaskDStarCorrelations *task = new AliAnalysisTaskDStarCorrelations("AliAnalysisTaskDStarCorrelations",RDHFDStartoKpipi,corrCuts);
49 task->SetMonteCarlo(theMCon);
50 task->SetUseMixing(mixing);
51 task->SetCorrelator(trackselect) ;
52 //task->SetDebugLevel(0);
55 if(trackselect == 1) Info("AliAnalysisTaskDStarCorrelations","Correlating D* with charged hadrons \n");
56 else if(trackselect == 2) Info("AliAnalysisTaskDStarCorrelations","Correlating D* with charged kaons \n");
57 else if(trackselect == 3) Info("AliAnalysisTaskDStarCorrelations","Correlating D* with reconstructed K0s \n");
58 else Fatal("AliAnalysisTaskDStarCorrelations","Nothing to correlate with!");
59 if(mixing) Info ("AliAnalysisTaskDStarCorrelations","Event Mixing Analysis\n");
60 if(!mixing) Info ("AliAnalysisTaskDStarCorrelations","Single Event Analysis \n");
62 // Create and connect containers for input/output
63 //TString dcavalue = " ";
64 if(!theMCon) TString contname = "Data";
65 if(theMCon) TString contname = "MonteCarlo";
66 if(trackselect ==1) TString particle = "Hadron";
67 if(trackselect ==2) TString particle = "Kaon";
68 if(trackselect ==3) TString particle = "KZero";
70 TString cutname = "cuts" ;
71 TString cutname2 = "hadroncuts" ;
72 TString outputfile = AliAnalysisManager::GetCommonFileName();
73 TString counter = "NormCounter";
74 outputfile += ":PWGHF_D2H_";
89 outputfile += "Dphi_DStar";
90 outputfile += particle;
97 //cout << "Contname = " << contname << endl;
99 // ------ input data ------
100 AliAnalysisDataContainer *cinput0 = mgr->GetCommonInputContainer();
102 // ----- output data -----
104 // output TH1I for event counting
105 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(contname, TList::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data());
106 AliAnalysisDataContainer *coutput2 = mgr->CreateContainer(cutname,AliRDHFCutsDStartoKpipi::Class(),AliAnalysisManager::kOutputContainer, outputfile.Data()); //cuts
107 AliAnalysisDataContainer *coutputDstarNorm = mgr->CreateContainer(counter,AliNormalizationCounter::Class(),AliAnalysisManager::kOutputContainer, outputfile.Data());
108 AliAnalysisDataContainer *coutput4 = mgr->CreateContainer(cutname2,AliHFAssociatedTrackCuts::Class(),AliAnalysisManager::kOutputContainer, outputfile.Data()); //cuts
110 mgr->ConnectInput(task,0,mgr->GetCommonInputContainer());
111 mgr->ConnectOutput(task,1,coutput1);
112 mgr->ConnectOutput(task,2,coutput2);
113 mgr->ConnectOutput(task,3,coutputDstarNorm);
114 mgr->ConnectOutput(task,4,coutput4);