4 #include <TClonesArray.h> 5 #include <TParameter.h> 30 AliESDtrackCuts* esdTrackCuts=
new AliESDtrackCuts();
31 esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
33 esdTrackCuts->SetRequireTPCRefit(kTRUE);
34 esdTrackCuts->SetRequireITSRefit(kTRUE);
36 esdTrackCuts->SetMinNClustersTPC(70);
37 esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
38 AliESDtrackCuts::kAny);
40 esdTrackCuts->SetMinDCAToVertexXY(0.);
41 esdTrackCuts->SetPtRange(0.3,1.e10);
62 anacutsval[0][ipt]=0.35;
63 anacutsval[1][ipt]=0.3;
64 anacutsval[2][ipt]=0.3;
65 anacutsval[3][ipt]=0.;
66 anacutsval[4][ipt]=0.;
67 anacutsval[5][ipt]=0.005;
68 anacutsval[6][ipt]=0.06;
69 anacutsval[7][ipt]=0.0;
70 anacutsval[8][ipt]=0.;
71 anacutsval[9][ipt]=0.9;
72 anacutsval[10][ipt]=0.;
73 anacutsval[11][ipt]=1000.0;
74 anacutsval[12][ipt]=0.015;
75 anacutsval[13][ipt]=0.1;
76 anacutsval[14][ipt]=0.;
77 anacutsval[15][ipt]=1.;
78 anacutsval[16][ipt]=0.;
79 anacutsval[17][ipt]=0.;
80 anacutsval[18][ipt]=0.;
81 anacutsval[19][ipt]=-1.;
112 analysiscuts->SetName(
"AnalysisCuts");
113 analysiscuts->SetTitle(
"Cuts for Ds Analysis and CF");
114 analysiscuts->
SetPtBins(nptbins+1,ptbins);
115 analysiscuts->
SetCuts(nvars,nptbins,anacutsval);
126 cout<<
"This is the odject I'm going to save:"<<nptbins<<endl;
129 TFile*
fout=
new TFile(
"DstoKKpiCuts.root",
"recreate");
131 analysiscuts->Write();
143 AliESDtrackCuts* esdTrackCuts=
new AliESDtrackCuts();
144 esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
146 esdTrackCuts->SetRequireTPCRefit(kTRUE);
147 esdTrackCuts->SetRequireITSRefit(kTRUE);
149 esdTrackCuts->SetMinNClustersTPC(70);
150 esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
151 AliESDtrackCuts::kAny);
153 esdTrackCuts->SetMinDCAToVertexXY(0.);
154 esdTrackCuts->SetPtRange(0.7,1.e10);
167 const Int_t nvars=20;
170 anacutsval=
new Float_t*[nvars];
175 anacutsval[0][ipt]=0.35;
176 anacutsval[1][ipt]=0.3;
177 anacutsval[2][ipt]=0.3;
178 anacutsval[3][ipt]=0.;
179 anacutsval[4][ipt]=0.;
180 anacutsval[5][ipt]=0.005;
181 anacutsval[6][ipt]=0.06;
182 anacutsval[7][ipt]=0.0;
183 anacutsval[8][ipt]=0.;
184 anacutsval[9][ipt]=0.7;
185 anacutsval[10][ipt]=0.;
186 anacutsval[11][ipt]=1000.0;
187 anacutsval[12][ipt]=0.1;
188 anacutsval[13][ipt]=0.1;
189 anacutsval[14][ipt]=0.;
190 anacutsval[15][ipt]=1.;
191 anacutsval[16][ipt]=0.;
192 anacutsval[17][ipt]=0.;
193 anacutsval[18][ipt]=0.;
194 anacutsval[19][ipt]=-1.;
223 analysiscuts->SetName(
"AnalysisCuts");
224 analysiscuts->SetTitle(
"Cuts for Ds Analysis and CF");
225 analysiscuts->
SetPtBins(nptbins+1,ptbins);
226 analysiscuts->
SetCuts(nvars,nptbins,anacutsval);
240 cent=Form(
"%.0f%.0f",mincen,maxcen);
250 cout<<
"This is the odject I'm going to save:"<<nptbins<<endl;
253 TFile*
fout=
new TFile(
"DstoKKpiCuts.root",
"recreate");
255 analysiscuts->Write();
264 AliESDtrackCuts* esdTrackCuts=
new AliESDtrackCuts();
265 esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
267 esdTrackCuts->SetRequireTPCRefit(kTRUE);
268 esdTrackCuts->SetRequireITSRefit(kTRUE);
270 esdTrackCuts->SetMinNClustersTPC(70);
271 esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
272 AliESDtrackCuts::kAny);
274 esdTrackCuts->SetMinDCAToVertexXY(0.);
275 esdTrackCuts->SetPtRange(0.3,1.e10);
280 RDHFDstoKKpi->SetName(
"loosercuts");
281 RDHFDstoKKpi->SetTitle(
"Cuts for significance maximization");
288 const Int_t nvars=20;
299 RDHFDstoKKpi->
SetPtBins(nptbins+1,ptbins);
304 prodcutsval=
new Float_t*[nvars];
308 prodcutsval[0][ipt]=0.35;
309 prodcutsval[1][ipt]=0.3;
310 prodcutsval[2][ipt]=0.3;
311 prodcutsval[3][ipt]=0.;
312 prodcutsval[4][ipt]=0.;
313 prodcutsval[5][ipt]=0.005;
314 prodcutsval[6][ipt]=0.06;
315 prodcutsval[7][ipt]=0.0;
316 prodcutsval[8][ipt]=0.;
317 prodcutsval[9][ipt]=0.9;
318 prodcutsval[10][ipt]=0.;
319 prodcutsval[11][ipt]=1000.0;
320 prodcutsval[12][ipt]=0.015;
321 prodcutsval[13][ipt]=0.1;
322 prodcutsval[14][ipt]=0.;
323 prodcutsval[15][ipt]=1.;
324 prodcutsval[16][ipt]=0.;
325 prodcutsval[17][ipt]=0.;
326 prodcutsval[18][ipt]=0.;
327 prodcutsval[19][ipt]=-1.;
331 RDHFDstoKKpi->
SetCuts(nvars,nptbins,prodcutsval);
337 boolforopt=
new Bool_t[nvars];
339 cout<<
"Number of variables for optimization has probably changed, check and edit accordingly"<<endl;
342 if(dim==nvarsforopt){
350 for(
Int_t i=0;i<nvars;i++){
351 cout<<names[i]<<
" for opt? (y/n)"<<endl;
357 else boolforopt[i]=kFALSE;
359 if (checktrue!=dim) {
360 cout<<
"Error! You set "<<checktrue<<
" kTRUE instead of "<<dim<<endl;
397 tighterval[0][0]=0.0;
398 tighterval[0][1]=0.0;
399 tighterval[0][2]=0.0;
400 tighterval[0][3]=0.0;
404 tighterval[1][0]=0.05;
405 tighterval[1][1]=0.05;
406 tighterval[1][2]=0.05;
407 tighterval[1][3]=0.05;
426 TClonesArray max(
"TParameter<float>",arrdim);
428 for(
Int_t ival=0;ival<dim;ival++){
429 name=Form(
"par%dptbin%d",ival,ipt);
434 TFile*
fout=
new TFile(
"cuts4SignifMaximDs.root",
"recreate");
436 RDHFDstoKKpi->Write();
void SetPidOption(Int_t opt)
void SetUseCentrality(Int_t flag=1)
void makeInputAliAnalysisTaskSEDsPP()
TString * GetVarNames() const
void SetMaxPtCandidate(Double_t ptCand=1000.)
void SetCuts(Int_t nVars, Int_t nPtBins, Float_t **cutsRD)
void SetMinCentrality(Float_t minCentrality=0.)
void makeInputAliAnalysisTaskSESignificanceMaximization()
Bool_t * GetVarsForOpt() const
Int_t GetNVarsForOpt() const
void SetMaxCentrality(Float_t maxCentrality=100.)
void SetVarsForOpt(Int_t nVars, Bool_t *forOpt)
void SetUsePID(Bool_t flag=kTRUE)
virtual void PrintAll() const
void SetRemoveDaughtersFromPrim(Bool_t removeDaughtersPrim)
void SetPtBins(Int_t nPtBinLimits, Float_t *ptBinLimits)
void AddTrackCuts(const AliESDtrackCuts *cuts)
void SetMinPtCandidate(Double_t ptCand=-1.)
void makeInputAliAnalysisTaskSEDsPbPb()
void SetOptPileup(Int_t opt=0)