4 #include <TClonesArray.h>
5 #include <TParameter.h>
46 RDHFD0toKpi->SetName(
"D0toKpiCuts");
47 RDHFD0toKpi->SetTitle(
"Cuts for D0 analysis");
65 cout<<
"This is the odject I'm going to save:"<<endl;
79 RDHFD0toKpi->SetName(
"D0toKpiCuts");
80 RDHFD0toKpi->SetTitle(
"Cuts for D0 analysis");
82 AliESDtrackCuts* esdTrackCuts=
new AliESDtrackCuts();
83 esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
85 esdTrackCuts->SetRequireTPCRefit(kTRUE);
86 esdTrackCuts->SetRequireITSRefit(kTRUE);
87 esdTrackCuts->SetEtaRange(-0.8,0.8);
90 esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
91 AliESDtrackCuts::kAny);
93 esdTrackCuts->SetMinDCAToVertexXY(0.);
94 esdTrackCuts->SetPtRange(0.8,1.e10);
119 RDHFD0toKpi->
SetPtBins(nptbins+1,ptbins);
123 rdcutsvalmine=
new Float_t*[nvars];
124 for(
Int_t iv=0;iv<nvars;iv++){
143 Double_t arrcuts[11]={0.3,0.03,0.8,0.8,0.8,0.1,0.1,-0.0004,0.9,0.998,5.};
147 for(
Int_t ic=0;ic<nvars;ic++) rdcutsvalmine[ic][0]=arrcuts[ic];
150 for(
Int_t ic=0;ic<nvars;ic++) rdcutsvalmine[ic][1]=arrcuts[ic];
153 arrcuts[1]=0.025; arrcuts[7]=-0.0003;
154 for(
Int_t ic=0;ic<nvars;ic++) rdcutsvalmine[ic][2]=arrcuts[ic];
159 for(
Int_t ic=0;ic<nvars;ic++) rdcutsvalmine[ic][3]=arrcuts[ic];
162 arrcuts[7]=-0.00015; arrcuts[8]=0.85;
163 for(
Int_t ic=0;ic<nvars;ic++) rdcutsvalmine[ic][4]=arrcuts[ic];
166 for(
Int_t ic=0;ic<nvars;ic++) rdcutsvalmine[ic][5]=arrcuts[ic];
169 arrcuts[7]=-0.0001; arrcuts[8]=0.85;
170 for(
Int_t ic=0;ic<nvars;ic++) rdcutsvalmine[ic][6]=arrcuts[ic];
174 for(
Int_t ic=0;ic<nvars;ic++) rdcutsvalmine[ic][7]=arrcuts[ic];
178 for(
Int_t ic=0;ic<nvars;ic++) rdcutsvalmine[ic][8]=arrcuts[ic];
182 for(
Int_t ic=0;ic<nvars;ic++) rdcutsvalmine[ic][9]=arrcuts[ic];
186 for(
Int_t ic=0;ic<nvars;ic++) rdcutsvalmine[ic][10]=arrcuts[ic];
189 for(
Int_t ic=0;ic<nvars;ic++) rdcutsvalmine[ic][11]=arrcuts[ic];
192 for(
Int_t ic=0;ic<nvars;ic++) rdcutsvalmine[ic][12]=arrcuts[ic];
194 RDHFD0toKpi->
SetCuts(nvars,nptbins,rdcutsvalmine);
198 if(pidflag) cout<<
"PID is used"<<endl;
199 else cout<<
"PID is not used"<<endl;
232 cent=Form(
"%.0f%.0f",minc,maxc);
238 cout<<
"This is the odject I'm going to save:"<<endl;
243 RDHFD0toKpi->Write();
253 RDHFD0toKpi->SetName(
"loosercuts");
254 RDHFD0toKpi->SetTitle(
"Cuts for significance maximization");
256 AliESDtrackCuts* esdTrackCuts=
new AliESDtrackCuts();
257 esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
259 esdTrackCuts->SetRequireTPCRefit(kTRUE);
260 esdTrackCuts->SetRequireITSRefit(kTRUE);
264 esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kAny);
265 esdTrackCuts->SetMinDCAToVertexXY(0.);
266 esdTrackCuts->SetEtaRange(-0.8,0.8);
267 esdTrackCuts->SetPtRange(0.8,1.e10);
271 const Int_t nvars=11;
291 RDHFD0toKpi->
SetPtBins(nptbins+1,ptbins);
294 rdcutsvalmine=
new Float_t*[nvars];
295 for(
Int_t iv=0;iv<nvars;iv++){
314 Float_t cutsMatrixD0toKpiStand[
nptbins][nvars]={{0.400,400.*1E-4,0.8,0.3,0.3,1000.*1E-4,1000.*1E-4,-40000.*1E-8,0.75,0.,2.},
315 {0.400,400.*1E-4,0.8,0.3,0.3,1000.*1E-4,1000.*1E-4,-40000.*1E-8,0.75,0.,2.},
316 {0.400,400.*1E-4,0.8,0.4,0.4,1000.*1E-4,1000.*1E-4,-33000.*1E-8,0.75,0.,2.},
317 {0.400,250.*1E-4,0.8,0.7,0.7,1000.*1E-4,1000.*1E-4,-30000.*1E-8,0.85,0.994,2.},
318 {0.400,250.*1E-4,0.8,0.7,0.7,1000.*1E-4,1000.*1E-4,-26000.*1E-8,0.85,0.994,2.},
319 {0.400,250.*1E-4,0.8,0.7,0.7,1000.*1E-4,1000.*1E-4,-15000.*1E-8,0.85,0.994,2.},
320 {0.400,250.*1E-4,0.8,0.7,0.7,1000.*1E-4,1000.*1E-4,-11000.*1E-8,0.82,0.994,2.},
321 {0.400,270.*1E-4,0.8,0.7,0.7,1000.*1E-4,1000.*1E-4,-10000.*1E-8,0.78,0.994,2.},
322 {0.400,300.*1E-4,0.8,0.7,0.7,1000.*1E-4,1000.*1E-4,-1000.*1E-8,0.7,0.994,2.},
323 {0.400,300.*1E-4,0.8,0.7,0.7,1000.*1E-4,1000.*1E-4,-1000.*1E-8,0.7,0.994,2.},
324 {0.400,350.*1E-4,1.0,0.7,0.7,1000.*1E-4,1000.*1E-4,-500.*1E-8,0.7,0.994,2.},
325 {0.400,400.*1E-4,1.0,0.7,0.7,1000.*1E-4,1000.*1E-4,-500.*1E-8,0.7,0.994,2.},
326 {0.400,400.*1E-4,1.0,0.7,0.7,1000.*1E-4,1000.*1E-4,-500.*1E-8,0.7,0.994,2.},
327 {0.400,400.*1E-4,1.0,0.7,0.7,1000.*1E-4,1000.*1E-4,-500.*1E-8,0.7,0.994,2.}};
331 for(
Int_t iv=0;iv<nvars;iv++)cutsMatrixTransposeStand[iv]=
new Float_t[nptbins];
333 for (
Int_t ivar = 0; ivar<nvars; ivar++){
334 cutsMatrixTransposeStand[ivar][ibin]=cutsMatrixD0toKpiStand[ibin][ivar];
337 RDHFD0toKpi->
SetCuts(nvars,nptbins,cutsMatrixTransposeStand);
343 boolforopt=
new Bool_t[nvars];
352 for(
Int_t i=0;i<nvars;i++){
353 cout<<names[i]<<
" for opt? (y/n)"<<endl;
359 else boolforopt[i]=kFALSE;
361 if (checktrue!=dim) {
362 cout<<
"Error! You set "<<checktrue<<
" kTRUE instead of "<<dim<<endl;
380 tighterval[0][0]=-0.00065;
382 tighterval[2][0]=0.4;
386 tighterval[0][1]=-0.00065;
388 tighterval[2][1]=0.4;
392 tighterval[0][2]=-0.00065;
394 tighterval[2][2]=0.4;
398 tighterval[0][3]=-0.0006;
404 tighterval[0][4]=-0.00046;
410 tighterval[0][5]=-0.00045;
416 tighterval[0][6]=-0.00031;
422 tighterval[0][7]=-0.00021;
423 tighterval[1][7]=0.98;
428 tighterval[0][8]=-0.0001;
429 tighterval[1][8]=0.98;
434 tighterval[0][9]=-0.0001;
435 tighterval[1][9]=0.9;
440 tighterval[0][10]=-0.00005;
441 tighterval[1][10]=0.9;
442 tighterval[2][10]=1.;
443 tighterval[3][10]=6.;
446 tighterval[0][11]=-0.00005;
447 tighterval[1][11]=0.9;
448 tighterval[2][11]=1.;
449 tighterval[3][11]=6.;
452 tighterval[0][12]=-0.00005;
453 tighterval[1][12]=0.9;
454 tighterval[2][12]=1.;
455 tighterval[3][12]=6.;
458 tighterval[0][13]=-0.00005;
459 tighterval[1][13]=0.9;
460 tighterval[2][13]=1.;
461 tighterval[3][13]=6.;
466 cout<<
"Will save "<<arrdim<<
" TParameter<float>"<<endl;
467 TClonesArray max(
"TParameter<float>",arrdim);
468 for(
Int_t ival=0;ival<dim;ival++){
470 name=Form(
"par%dptbin%d",ival,jpt);
471 cout<<
"Setting "<<name.Data()<<
" to "<<tighterval[ival][jpt]<<endl;
480 printf(
"Use PID? %s\n",flagPID ?
"yes" :
"no");
513 cent=Form(
"%.0f%.0f",minc,maxc);
522 RDHFD0toKpi->Write();
Float_t GetMaxCentrality() const
void SetAsym(Bool_t asym)
void SetUseDefaultPID(Bool_t defPID)
void SetFixRefs(Bool_t fix=kTRUE)
Bool_t GetOptPileUp() const
void SetUseCentrality(Int_t flag=1)
virtual void PrintAll() const
virtual void SetStandardCutsPP2011_276TeV()
virtual void SetStandardCutsPP2010()
TString * GetVarNames() const
Float_t GetMinCentrality() const
void SetUsePhysicsSelection(Bool_t use=kTRUE)
void SetPidHF(AliAODPidHF *pidObj)
see enum below
void SetCuts(Int_t nVars, Int_t nPtBins, Float_t **cutsRD)
void SetMinCentrality(Float_t minCentrality=0.)
Bool_t * GetVarsForOpt() const
void makeInputAliAnalysisTaskSED0Mass()
void SetSigma(Double_t *sigma)
void ModifyFromStandardCuts(Int_t system=1)
void SetMaxCentrality(Float_t maxCentrality=100.)
void SetVarsForOpt(Int_t nVars, Bool_t *forOpt)
Bool_t GetIsPrimaryWithoutDaughters() const
void SetUsePID(Bool_t flag=kTRUE)
void SetRemoveDaughtersFromPrim(Bool_t removeDaughtersPrim)
void SetPtBins(Int_t nPtBinLimits, Float_t *ptBinLimits)
void SetMatch(Int_t match)
void AddTrackCuts(const AliESDtrackCuts *cuts)
void SetPLimit(Double_t *plim, Int_t npLim)
TFile * fout
input train file
void SetCompat(Bool_t comp)
void makeInputAliAnalysisTaskSESignificanceMaximization()
Int_t GetUseCentrality() const
virtual void SetStandardCutsPbPb2010()