]>
Commit | Line | Data |
---|---|---|
7ad4b782 | 1 | #include <Riostream.h> |
2 | #include <TFile.h> | |
3 | #include <AliRDHFCutsLctopKpi.h> | |
4 | #include <AliAODPidHF.h> | |
5 | #include <TClonesArray.h> | |
6 | #include <TParameter.h> | |
7 | ||
8 | ||
9 | //Use: | |
10 | //Set hard coded commentet with //set this!! | |
11 | // root[] .L makeInput...C++ | |
12 | // root[] makeInputAliAnalysisTaskSE...() | |
13 | //similar macros for the other D mesons | |
14 | ||
15 | //Author: Rosa Romita, r.romita@gsi.de | |
16 | ||
17 | ||
18 | //macro to make a .root file which contains an AliRDHFCutsLctopKpi for AliAnalysisTaskSELambdac task | |
19 | ||
20 | void makeInputAliAnalysisTaskSELctopKpi(){ | |
21 | ||
22 | AliRDHFCutsLctopKpi* RDHFLctopKpiProd=new AliRDHFCutsLctopKpi(); | |
23 | RDHFLctopKpiProd->SetName("LctopKpiProdCuts"); | |
24 | RDHFLctopKpiProd->SetTitle("Production cuts for Lc analysis"); | |
25 | ||
26 | AliRDHFCutsLctopKpi* RDHFLctopKpiAn=new AliRDHFCutsLctopKpi(); | |
27 | RDHFLctopKpiAn->SetName("LctopKpiAnalysisCuts"); | |
28 | RDHFLctopKpiAn->SetTitle("Analysis cuts for Lc analysis"); | |
29 | ||
30 | AliESDtrackCuts* esdTrackCuts=new AliESDtrackCuts(); | |
31 | esdTrackCuts->SetRequireSigmaToVertex(kFALSE); | |
32 | //default | |
33 | esdTrackCuts->SetRequireTPCRefit(kTRUE); | |
34 | esdTrackCuts->SetRequireITSRefit(kTRUE); | |
35 | esdTrackCuts->SetMinNClustersITS(4); // default is 5 | |
36 | esdTrackCuts->SetMinNClustersTPC(70); | |
37 | esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD, | |
38 | AliESDtrackCuts::kAny); | |
39 | // default is kBoth, otherwise kAny | |
40 | esdTrackCuts->SetMinDCAToVertexXY(0.); | |
41 | esdTrackCuts->SetPtRange(0.3,1.e10); | |
42 | ||
43 | ||
44 | RDHFLctopKpiProd->AddTrackCuts(esdTrackCuts); | |
45 | RDHFLctopKpiAn->AddTrackCuts(esdTrackCuts); | |
46 | ||
47 | const Int_t nvars=12; | |
48 | ||
49 | const Int_t nptbins=4; | |
50 | Float_t* ptbins; | |
51 | ptbins=new Float_t[nptbins+1]; | |
52 | ptbins[0]=0.; | |
53 | ptbins[1]=2.; | |
54 | ptbins[2]=3.; | |
55 | ptbins[3]=4.; | |
56 | ptbins[4]=9999.; | |
57 | ||
58 | ||
59 | Float_t** prodcutsval; | |
60 | prodcutsval=new Float_t*[nvars]; | |
61 | for(Int_t iv=0;iv<nvars;iv++){ | |
62 | prodcutsval[iv]=new Float_t[nptbins]; | |
63 | } | |
64 | ||
65 | for(Int_t ipt=0;ipt<nptbins;ipt++){ | |
66 | prodcutsval[0][ipt]=0.18; | |
67 | prodcutsval[1][ipt]=0.4; | |
68 | prodcutsval[2][ipt]=0.5; | |
69 | prodcutsval[3][ipt]=0.; | |
70 | prodcutsval[4][ipt]=0.; | |
71 | prodcutsval[5][ipt]=0.01; | |
72 | prodcutsval[6][ipt]=0.06; | |
73 | prodcutsval[7][ipt]=0.005; | |
74 | prodcutsval[8][ipt]=0.; | |
75 | prodcutsval[9][ipt]=0.; | |
76 | prodcutsval[10][ipt]=0.; | |
77 | prodcutsval[11][ipt]=0.05; | |
78 | } | |
79 | ||
80 | RDHFLctopKpiProd->SetPtBins(nptbins+1,ptbins); | |
81 | RDHFLctopKpiProd->SetCuts(nvars,nptbins,prodcutsval); | |
82 | ||
83 | Float_t** anacutsval; | |
84 | anacutsval=new Float_t*[nvars]; | |
85 | for(Int_t ic=0;ic<nvars;ic++){anacutsval[ic]=new Float_t[nptbins];} | |
86 | for(Int_t ipt2=0;ipt2<nptbins;ipt2++){ | |
87 | anacutsval[0][ipt2]=0.18; | |
88 | anacutsval[1][ipt2]=0.6; | |
89 | anacutsval[3][ipt2]=0.; | |
90 | anacutsval[4][ipt2]=0.; | |
91 | anacutsval[5][ipt2]=0.01; | |
92 | anacutsval[6][ipt2]=0.03; | |
93 | anacutsval[9][ipt2]=0.; | |
94 | anacutsval[10][ipt2]=0.; | |
95 | anacutsval[11][ipt2]=0.05; | |
96 | } | |
97 | ||
98 | anacutsval[2][0]=0.6; | |
99 | anacutsval[2][1]=0.8; | |
100 | anacutsval[2][2]=1.; | |
101 | anacutsval[2][3]=1.2; | |
102 | ||
103 | anacutsval[7][0]=0.005; | |
104 | anacutsval[7][1]=0.015; | |
105 | anacutsval[7][2]=0.018; | |
106 | anacutsval[7][3]=0.018; | |
107 | ||
108 | anacutsval[8][0]=0.6; | |
109 | anacutsval[8][1]=0.8; | |
110 | anacutsval[8][2]=1.; | |
111 | anacutsval[8][3]=1.2; | |
112 | ||
113 | anacutsval[11][0]=0.04; | |
114 | anacutsval[11][1]=0.04; | |
115 | anacutsval[11][2]=0.03; | |
116 | anacutsval[11][3]=0.03; | |
117 | ||
118 | ||
119 | RDHFLctopKpiAn->SetPtBins(nptbins+1,ptbins); | |
120 | RDHFLctopKpiAn->SetCuts(nvars,nptbins,anacutsval); | |
121 | ||
122 | // RDHFLc->SetRecoKF(); //set this if you want to recompute the secondary vertex with the KF package | |
123 | //pid settings | |
124 | //1. kaon: default one | |
125 | AliAODPidHF* pidObjK=new AliAODPidHF(); | |
126 | Double_t sigmasK[5]={3.,1.,1.,3.,2.}; | |
127 | pidObjK->SetSigma(sigmasK); | |
128 | pidObjK->SetAsym(kTRUE); | |
129 | pidObjK->SetMatch(1); | |
130 | pidObjK->SetTPC(kTRUE); | |
131 | pidObjK->SetTOF(kTRUE); | |
132 | pidObjK->SetITS(kTRUE); | |
133 | Double_t plimK[2]={0.5,0.8}; | |
134 | pidObjK->SetPLimit(plimK,2); | |
135 | ||
136 | RDHFLctopKpiProd->SetPidHF(pidObjK); | |
137 | RDHFLctopKpiAn->SetPidHF(pidObjK); | |
138 | ||
139 | //2. pion | |
140 | AliAODPidHF* pidObjpi=new AliAODPidHF(); | |
141 | pidObjpi->SetTPC(kTRUE); | |
142 | Double_t sigmaspi[5]={3.,0.,0.,0.,0.}; | |
143 | pidObjpi->SetSigma(sigmaspi); | |
144 | ||
145 | RDHFLctopKpiProd->SetPidpion(pidObjpi); | |
146 | RDHFLctopKpiAn->SetPidpion(pidObjpi); | |
147 | ||
148 | // 3. proton | |
149 | AliAODPidHF* pidObjp=new AliAODPidHF(); | |
150 | Double_t sigmasp[5]={3.,1.,1.,3.,2.}; | |
151 | pidObjp->SetSigma(sigmasp); | |
152 | pidObjp->SetAsym(kTRUE); | |
153 | pidObjp->SetMatch(1); | |
154 | pidObjp->SetTPC(kTRUE); | |
155 | pidObjp->SetTOF(kTRUE); | |
156 | pidObjp->SetITS(kTRUE); | |
157 | Double_t plimp[2]={1.,2.}; | |
158 | pidObjp->SetPLimit(plimp,2); | |
159 | ||
160 | RDHFLctopKpiProd->SetPidprot(pidObjp); | |
161 | RDHFLctopKpiAn->SetPidprot(pidObjp); | |
162 | ||
163 | Bool_t pidflag=kTRUE; | |
164 | RDHFLctopKpiAn->SetUsePID(pidflag); | |
165 | RDHFLctopKpiProd->SetUsePID(pidflag); | |
166 | if(pidflag) cout<<"PID is used"<<endl; | |
167 | else cout<<"PID is not used"<<endl; | |
168 | ||
169 | cout<<"This is the object I'm going to save:"<<endl; | |
170 | RDHFLctopKpiProd->PrintAll(); | |
171 | RDHFLctopKpiAn->PrintAll(); | |
172 | TFile* fout=new TFile("cuts4LctopKpi.root","RECREATE"); | |
173 | fout->cd(); | |
174 | RDHFLctopKpiProd->Write(); | |
175 | RDHFLctopKpiAn->Write(); | |
176 | fout->Close(); | |
177 | delete fout; | |
178 | delete pidObjp; | |
179 | delete pidObjpi; | |
180 | delete pidObjK; | |
181 | delete RDHFLctopKpiProd; | |
182 | delete RDHFLctopKpiAn; | |
183 | ||
184 | } |