3 #include <AliRDHFCutsLctopKpi.h>
4 #include <AliAODPidHF.h>
5 #include <TClonesArray.h>
6 #include <TParameter.h>
10 //Set hard coded commentet with //set this!!
11 // root[] .L makeInput...C++
12 // root[] makeInputAliAnalysisTaskSE...()
13 //similar macros for the other D mesons
15 //Author: Rosa Romita, r.romita@gsi.de
18 //macro to make a .root file which contains an AliRDHFCutsLctopKpi for AliAnalysisTaskSELambdac task
20 void makeInputAliAnalysisTaskSELctopKpi(){
22 AliRDHFCutsLctopKpi* RDHFLctopKpiProd=new AliRDHFCutsLctopKpi();
23 RDHFLctopKpiProd->SetName("LctopKpiProdCuts");
24 RDHFLctopKpiProd->SetTitle("Production cuts for Lc analysis");
26 AliRDHFCutsLctopKpi* RDHFLctopKpiAn=new AliRDHFCutsLctopKpi();
27 RDHFLctopKpiAn->SetName("LctopKpiAnalysisCuts");
28 RDHFLctopKpiAn->SetTitle("Analysis cuts for Lc analysis");
30 AliESDtrackCuts* esdTrackCuts=new AliESDtrackCuts();
31 esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
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);
44 RDHFLctopKpiProd->AddTrackCuts(esdTrackCuts);
45 RDHFLctopKpiAn->AddTrackCuts(esdTrackCuts);
49 const Int_t nptbins=4;
51 ptbins=new Float_t[nptbins+1];
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];
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;
80 RDHFLctopKpiProd->SetPtBins(nptbins+1,ptbins);
81 RDHFLctopKpiProd->SetCuts(nvars,nptbins,prodcutsval);
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;
101 anacutsval[2][3]=1.2;
103 anacutsval[7][0]=0.005;
104 anacutsval[7][1]=0.015;
105 anacutsval[7][2]=0.018;
106 anacutsval[7][3]=0.018;
108 anacutsval[8][0]=0.6;
109 anacutsval[8][1]=0.8;
111 anacutsval[8][3]=1.2;
113 anacutsval[11][0]=0.04;
114 anacutsval[11][1]=0.04;
115 anacutsval[11][2]=0.03;
116 anacutsval[11][3]=0.03;
119 RDHFLctopKpiAn->SetPtBins(nptbins+1,ptbins);
120 RDHFLctopKpiAn->SetCuts(nvars,nptbins,anacutsval);
122 // RDHFLc->SetRecoKF(); //set this if you want to recompute the secondary vertex with the KF package
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);
136 RDHFLctopKpiProd->SetPidHF(pidObjK);
137 RDHFLctopKpiAn->SetPidHF(pidObjK);
140 AliAODPidHF* pidObjpi=new AliAODPidHF();
141 pidObjpi->SetTPC(kTRUE);
142 Double_t sigmaspi[5]={3.,0.,0.,0.,0.};
143 pidObjpi->SetSigma(sigmaspi);
145 RDHFLctopKpiProd->SetPidpion(pidObjpi);
146 RDHFLctopKpiAn->SetPidpion(pidObjpi);
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);
160 RDHFLctopKpiProd->SetPidprot(pidObjp);
161 RDHFLctopKpiAn->SetPidprot(pidObjp);
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;
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");
174 RDHFLctopKpiProd->Write();
175 RDHFLctopKpiAn->Write();
181 delete RDHFLctopKpiProd;
182 delete RDHFLctopKpiAn;