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 TString cutsfile="", TString usercomment = "username",
21 Bool_t theMCon=kFALSE, Bool_t doDStarVsY=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;
46 if( cutsfile.EqualTo("") ) {
49 filecuts=TFile::Open(cutsfile.Data());
50 if(!filecuts ||(filecuts&& !filecuts->IsOpen())){
51 AliFatal("Input file not found : check your cut object");
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);
117 task->SetDoDStarVsY(doDStarVsY);
123 // Create and connect containers for input/output
125 usercomment = "_" + usercomment;
127 TString outputfile = AliAnalysisManager::GetCommonFileName();
129 outputfile += ":PWG3_D2H_DStarSpectra";
130 outputfile += usercomment;
133 // ------ input data ------
134 TString input = "indstar";
135 input += usercomment;
136 TString output1 = "chist1";
137 output1 += usercomment;
138 TString output2 = "DStarAll";
139 output2 += usercomment;
140 TString output3 = "DStarPID";
141 output3 += usercomment;
142 TString output4 = "cuts";
143 output4 += usercomment;
144 TString output5 = "coutputDstarNorm";
145 output5 += usercomment;
147 //AliAnalysisDataContainer *cinput0 = mgr->GetCommonInputContainer();
149 AliAnalysisDataContainer *cinput0 = mgr->CreateContainer(input,TChain::Class(),
151 AliAnalysisManager::kInputContainer);
153 // ----- output data -----
155 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(output1,TList::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data());
157 AliAnalysisDataContainer *coutputDStar1 = mgr->CreateContainer(output2,TList::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data());
159 AliAnalysisDataContainer *coutputDStar2 = mgr->CreateContainer(output3,TList::Class(),AliAnalysisManager::kOutputContainer, outputfile.Data());
161 AliAnalysisDataContainer *coutputDStar3 = mgr->CreateContainer(output4,AliRDHFCutsDStartoKpipi::Class(),AliAnalysisManager::kOutputContainer, outputfile.Data()); //cuts
163 AliAnalysisDataContainer *coutputDstarNorm = mgr->CreateContainer(output5,AliNormalizationCounter::Class(),AliAnalysisManager::kOutputContainer, outputfile.Data());
167 mgr->ConnectInput(task,0,mgr->GetCommonInputContainer());
169 mgr->ConnectOutput(task,1,coutput1);
171 mgr->ConnectOutput(task,2,coutputDStar1);
173 mgr->ConnectOutput(task,3,coutputDStar2);
175 mgr->ConnectOutput(task,4,coutputDStar3);
177 mgr->ConnectOutput(task,5,coutputDstarNorm);