]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGHF/vertexingHF/macros/AddTaskDStarSpectra.C
update for train (Zaida)
[u/mrichter/AliRoot.git] / PWGHF / vertexingHF / macros / AddTaskDStarSpectra.C
1 //if like define a different number of signal for TPC PID
2
3 //by default the task is anyway computing 1, 2 and 3 sigmas
4
5 const Bool_t theRareOn = kTRUE;
6
7 const Bool_t anaType   = 1;//0 HD; 1 UU;
8
9 const Bool_t doImp   = kFALSE;// imp par studies
10
11 //----------------------------------------------------
12
13
14
15 AliAnalysisTaskSEDStarSpectra *AddTaskDStarSpectra(Int_t system=0/*0=pp,1=PbPb*/,
16
17                                                    Float_t minC=0, Float_t maxC=100,
18
19                                                    const char * cutsfile="DStartoKpipiCuts.root",
20
21                                                    Bool_t theMCon=kFALSE)
22
23 {
24
25
26
27   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
28
29   if (!mgr) {
30
31     ::Error("AddTaskDStarSpectra", "No analysis manager to connect to.");
32
33     return NULL;
34
35   }  
36
37   
38
39   // cuts are stored in a TFile generated by makeTFile4CutsDStartoKpipi.C in ./macros/
40
41   // set there the cuts!!!!!
42
43   Bool_t stdcuts=kFALSE;
44
45   TFile* filecuts=new TFile("DStartoKpipiCuts.root");
46
47   if(!filecuts->IsOpen()){
48
49     cout<<"Input file not found: exit"<<endl;
50
51     stdcuts=kTRUE;
52
53   }
54
55
56
57
58
59   AliRDHFCutsDStartoKpipi* RDHFDStartoKpipi=new AliRDHFCutsDStartoKpipi();
60
61   if(stdcuts) {
62
63     if(system==0) RDHFDStartoKpipi->SetStandardCutsPP2010();
64
65     else if(system==1) {
66
67       RDHFDStartoKpipi->SetStandardCutsPbPb2010();
68
69       RDHFDStartoKpipi->SetMinCentrality(minC);
70
71       RDHFDStartoKpipi->SetMinCentrality(maxC);
72
73       RDHFDStartoKpipi->SetUseAOD049(kTRUE);
74
75       RDHFDStartoKpipi->SetUseCentrality(AliRDHFCuts::kCentV0M);
76
77     }
78
79   }
80
81   else RDHFDStartoKpipi = (AliRDHFCutsDStartoKpipi*)filecuts->Get("DStartoKpipiCuts");
82
83   RDHFDStartoKpipi->SetName("DStartoKpipiCuts");
84
85
86
87   // mm let's see if everything is ok
88
89   if(!RDHFDStartoKpipi){
90
91     cout<<"Specific AliRDHFCuts not found"<<endl;
92
93     return;
94
95   }
96
97  
98
99   //CREATE THE TASK
100
101   printf("CREATE TASK\n");
102
103   // create the task
104
105   AliAnalysisTaskSEDStarSpectra *task = new AliAnalysisTaskSEDStarSpectra("AliAnalysisTaskSEDStarSpectra",RDHFDStartoKpipi);
106
107   task->SetAnalysisType(anaType);
108
109   task->SetMC(theMCon);
110
111   task->SetRareSearch(theRareOn);
112
113   task->SetDoImpactParameterHistos(doImp);
114
115   task->SetDebugLevel(0);
116
117
118
119   mgr->AddTask(task);
120
121
122
123   // Create and connect containers for input/output
124
125   
126
127   TString outputfile = AliAnalysisManager::GetCommonFileName();
128
129   outputfile += ":PWG3_D2H_DStarSpectra";
130
131   
132
133   // ------ input data ------
134
135
136
137   //AliAnalysisDataContainer *cinput0  = mgr->GetCommonInputContainer();
138
139   AliAnalysisDataContainer *cinput0  =  mgr->CreateContainer("indstar",TChain::Class(), 
140
141                                                              AliAnalysisManager::kInputContainer);
142
143
144
145
146
147  // ----- output data -----
148
149   AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(Form("chist1%d%d",minC,maxC),TList::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data());
150
151   AliAnalysisDataContainer *coutputDStar1 = mgr->CreateContainer(Form("DStarAll%d%d",minC,maxC),TList::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data());
152
153   AliAnalysisDataContainer *coutputDStar2 = mgr->CreateContainer(Form("DStarPID%d%d",minC,maxC),TList::Class(),AliAnalysisManager::kOutputContainer, outputfile.Data());
154
155   AliAnalysisDataContainer *coutputDStar3 = mgr->CreateContainer(Form("cuts%d%d",minC,maxC),AliRDHFCutsDStartoKpipi::Class(),AliAnalysisManager::kOutputContainer, outputfile.Data()); //cuts
156
157   AliAnalysisDataContainer *coutputDstarNorm = mgr->CreateContainer(Form("coutputDstarNorm%d%d",minC,maxC),AliNormalizationCounter::Class(),AliAnalysisManager::kOutputContainer, outputfile.Data());
158
159
160
161   mgr->ConnectInput(task,0,mgr->GetCommonInputContainer());
162
163   mgr->ConnectOutput(task,1,coutput1);
164
165   mgr->ConnectOutput(task,2,coutputDStar1);
166
167   mgr->ConnectOutput(task,3,coutputDStar2);
168
169   mgr->ConnectOutput(task,4,coutputDStar3);
170
171   mgr->ConnectOutput(task,5,coutputDstarNorm);
172
173   
174
175   return task;
176
177 }
178
179
180