]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGHF/vertexingHF/macros/AddTaskDStarSpectra.C
Merge branch 'TPCdev' of https://git.cern.ch/reps/AliRoot into TPCdev
[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                                                    TString cutsfile="", TString usercomment = "username",
20
21                                                    Bool_t theMCon=kFALSE, Bool_t doDStarVsY=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;
46   if( cutsfile.EqualTo("") ) {
47     stdcuts=kTRUE; 
48   } else {
49       filecuts=TFile::Open(cutsfile.Data());
50       if(!filecuts ||(filecuts&& !filecuts->IsOpen())){
51         AliFatal("Input file not found : check your cut object");
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   task->SetDoDStarVsY(doDStarVsY);
118
119   mgr->AddTask(task);
120
121
122
123   // Create and connect containers for input/output
124
125   usercomment = "_" + usercomment;  
126
127   TString outputfile = AliAnalysisManager::GetCommonFileName();
128
129   outputfile += ":PWG3_D2H_DStarSpectra";
130   outputfile += usercomment;
131   
132
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;
146
147   //AliAnalysisDataContainer *cinput0  = mgr->GetCommonInputContainer();
148
149   AliAnalysisDataContainer *cinput0  =  mgr->CreateContainer(input,TChain::Class(), 
150
151                                                              AliAnalysisManager::kInputContainer);
152
153  // ----- output data -----
154
155   AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(output1,TList::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data());
156
157   AliAnalysisDataContainer *coutputDStar1 = mgr->CreateContainer(output2,TList::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data());
158
159   AliAnalysisDataContainer *coutputDStar2 = mgr->CreateContainer(output3,TList::Class(),AliAnalysisManager::kOutputContainer, outputfile.Data());
160
161   AliAnalysisDataContainer *coutputDStar3 = mgr->CreateContainer(output4,AliRDHFCutsDStartoKpipi::Class(),AliAnalysisManager::kOutputContainer, outputfile.Data()); //cuts
162
163   AliAnalysisDataContainer *coutputDstarNorm = mgr->CreateContainer(output5,AliNormalizationCounter::Class(),AliAnalysisManager::kOutputContainer, outputfile.Data());
164
165
166
167   mgr->ConnectInput(task,0,mgr->GetCommonInputContainer());
168
169   mgr->ConnectOutput(task,1,coutput1);
170
171   mgr->ConnectOutput(task,2,coutputDStar1);
172
173   mgr->ConnectOutput(task,3,coutputDStar2);
174
175   mgr->ConnectOutput(task,4,coutputDStar3);
176
177   mgr->ConnectOutput(task,5,coutputDstarNorm);
178
179   
180
181   return task;
182
183 }
184
185
186