1 //if like define a different number of signal for TPC PID
3 //by default the task is anyway computing 1, 2 and 3 sigmas
5 const Bool_t theRareOn = kTRUE;
7 const Bool_t anaType = 1;//0 HD; 1 UU;
9 const Bool_t doImp = kFALSE;// imp par studies
11 //----------------------------------------------------
15 AliAnalysisTaskSEDStarSpectra *AddTaskDStarSpectra(Int_t system=0/*0=pp,1=PbPb*/,
17 Float_t minC=0, Float_t maxC=100,
19 const char * cutsfile="DStartoKpipiCuts.root",
21 Bool_t theMCon=kFALSE)
27 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
31 ::Error("AddTaskDStarSpectra", "No analysis manager to connect to.");
39 // cuts are stored in a TFile generated by makeTFile4CutsDStartoKpipi.C in ./macros/
41 // set there the cuts!!!!!
43 Bool_t stdcuts=kFALSE;
45 TFile* filecuts=new TFile("DStartoKpipiCuts.root");
47 if(!filecuts->IsOpen()){
49 cout<<"Input file not found: exit"<<endl;
59 AliRDHFCutsDStartoKpipi* RDHFDStartoKpipi=new AliRDHFCutsDStartoKpipi();
63 if(system==0) RDHFDStartoKpipi->SetStandardCutsPP2010();
67 RDHFDStartoKpipi->SetStandardCutsPbPb2010();
69 RDHFDStartoKpipi->SetMinCentrality(minC);
71 RDHFDStartoKpipi->SetMinCentrality(maxC);
73 RDHFDStartoKpipi->SetUseAOD049(kTRUE);
75 RDHFDStartoKpipi->SetUseCentrality(AliRDHFCuts::kCentV0M);
81 else RDHFDStartoKpipi = (AliRDHFCutsDStartoKpipi*)filecuts->Get("DStartoKpipiCuts");
83 RDHFDStartoKpipi->SetName("DStartoKpipiCuts");
87 // mm let's see if everything is ok
89 if(!RDHFDStartoKpipi){
91 cout<<"Specific AliRDHFCuts not found"<<endl;
101 printf("CREATE TASK\n");
105 AliAnalysisTaskSEDStarSpectra *task = new AliAnalysisTaskSEDStarSpectra("AliAnalysisTaskSEDStarSpectra",RDHFDStartoKpipi);
107 task->SetAnalysisType(anaType);
109 task->SetMC(theMCon);
111 task->SetRareSearch(theRareOn);
113 task->SetDoImpactParameterHistos(doImp);
115 task->SetDebugLevel(0);
123 // Create and connect containers for input/output
127 TString outputfile = AliAnalysisManager::GetCommonFileName();
129 outputfile += ":PWG3_D2H_DStarSpectra";
133 // ------ input data ------
137 //AliAnalysisDataContainer *cinput0 = mgr->GetCommonInputContainer();
139 AliAnalysisDataContainer *cinput0 = mgr->CreateContainer("indstar",TChain::Class(),
141 AliAnalysisManager::kInputContainer);
147 // ----- output data -----
149 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(Form("chist1%d%d",minC,maxC),TList::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data());
151 AliAnalysisDataContainer *coutputDStar1 = mgr->CreateContainer(Form("DStarAll%d%d",minC,maxC),TList::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data());
153 AliAnalysisDataContainer *coutputDStar2 = mgr->CreateContainer(Form("DStarPID%d%d",minC,maxC),TList::Class(),AliAnalysisManager::kOutputContainer, outputfile.Data());
155 AliAnalysisDataContainer *coutputDStar3 = mgr->CreateContainer(Form("cuts%d%d",minC,maxC),AliRDHFCutsDStartoKpipi::Class(),AliAnalysisManager::kOutputContainer, outputfile.Data()); //cuts
157 AliAnalysisDataContainer *coutputDstarNorm = mgr->CreateContainer(Form("coutputDstarNorm%d%d",minC,maxC),AliNormalizationCounter::Class(),AliAnalysisManager::kOutputContainer, outputfile.Data());
161 mgr->ConnectInput(task,0,mgr->GetCommonInputContainer());
163 mgr->ConnectOutput(task,1,coutput1);
165 mgr->ConnectOutput(task,2,coutputDStar1);
167 mgr->ConnectOutput(task,3,coutputDStar2);
169 mgr->ConnectOutput(task,4,coutputDStar3);
171 mgr->ConnectOutput(task,5,coutputDstarNorm);