1 #include "AliAnalysisNucleiMass.h"
8 #include "AliInputEventHandler.h"
9 #include "AliAODEvent.h"
10 #include "AliESDEvent.h"
11 #include "AliVEvent.h"
12 #include "AliAODTrack.h"
13 #include "AliAODPid.h"
14 #include "AliCentrality.h"
21 #include "AliESDtrackCuts.h"
22 #include "AliAnalysisManager.h"
25 ClassImp(AliAnalysisNucleiMass)
27 //_____________________________________________________________________________
28 AliAnalysisNucleiMass::AliAnalysisNucleiMass():
45 // fPIDResponse(NULL),
53 hNeventSelected(NULL),
55 hEtaDistribution(NULL),
58 // Default constructor (should not be used)
59 fList1[0]=new TList();
60 fList1[0]->SetName("results");
62 fList1[1]=new TList();
63 fList1[1]->SetName("results2");
65 //______________________________________________________________________________
66 AliAnalysisNucleiMass::AliAnalysisNucleiMass(const char *name):
67 AliAnalysisTaskSE(name),
91 hNeventSelected(NULL),
95 fList1[0]=new TList();
96 DefineOutput(1, TList::Class());
97 fList1[0]->SetName("results");
99 fList1[1]=new TList();
100 DefineOutput(2, TList::Class());
101 fList1[1]->SetName("results2");
103 //_____________________________________________________________________________
104 AliAnalysisNucleiMass::~AliAnalysisNucleiMass()
106 if(fList1[0]) delete fList1[0];
107 if(fList1[1]) delete fList1[1];
109 //______________________________________________________________________________
110 void AliAnalysisNucleiMass::UserCreateOutputObjects()
113 fmism = new TFile("$ALICE_ROOT/TOF/data/TOFmismatchDistr.root");
114 hmism = (TH1F *)fmism->Get("TOFmismDistr");
116 fchDist = new TFile("$ALICE_ROOT/TOF/data/TOFchannelDist.root");
117 hChDist = (TH1D *)fchDist->Get("hTOFchanDist");
119 for(Int_t iB=0;iB<2;iB++) {
121 hNevent[iB] = new TH1F("hNevent_Analyzed","Centrality(analyzed)",20,0,100);
123 hNeventSelected[iB] = new TH1F("hNevent_Selected","Centrality(selected)",20,0,100);
125 hZvertex[iB] = new TH1F("hZvertex","Vertex distribution of selected events; z vertex (cm)",240,-30,30);
127 hEtaDistribution[iB][0] = new TH1F("hEtaDistribution_BeforeTRDcut","Eta distribution of the tracks_BeforeTRDcut(if there is); |#eta|",11,-0.1,1.0);
128 hEtaDistribution[iB][1] = new TH1F("hEtaDistribution_TrackAnalyzed","Eta distribution of the tracks_TrackAnalyzed; |#eta|",11,-0.1,1.0);
130 hTOFSignalPion[iB] = new TH1F("hTOFSignalPion","TOF signal 0.9<p_{T}<1.0; t-t_{exp}^{#pi} (ps)",1500,-1500,1500);
132 hNminTPCcl[iB] = new TH1F("hNminTPCcl","hNminTPCcl",300,0,300);
134 hPhi[iB][0] = new TH1F("hPhi_NoTRDCut","hPhi_NoTRDCut;#phi (rad.)",90,0,6.3);//each TRD supermodule is divided for 5 (DeltaPhi(TRD)=0.35 theoretical)
135 hPhi[iB][1] = new TH1F("hPhi_kTRDin","hPhi_kTRDin;#phi (rad.)",90,0,6.3);
136 hPhi[iB][2] = new TH1F("hPhi_kTRDout","hPhi_kTRDout;#phi (rad.)",90,0,6.3);
137 hPhi[iB][3] = new TH1F("hPhi_kTRDin&out","hPhi_kTRDin&out;#phi (rad.)",90,0,6.3);
138 hPhi[iB][4] = new TH1F("hPhi_NoTRD","hPhi_NoTRD;#phi (rad.)",90,0,6.3);
139 hPhi[iB][5] = new TH1F("hPhi_TrackAnalyzed","hPhi_TrackAnalyzed;#phi (rad.)",90,0,6.3);
141 fEtaPhi[iB][0] = new TH2F("fEtaPhi_NoTRDCut","fEtaPhi_NoTRDCut;|#eta|;#phi (rad.)",10,0.0,1.0,90,0,6.3);
142 fEtaPhi[iB][1] = new TH2F("fEtaPhi_kTRDin","fEtaPhi_kTRDin;|#eta|;#phi (rad.)",10,0.0,1.0,90,0,6.3);
143 fEtaPhi[iB][2] = new TH2F("fEtaPhi_kTRDout","fEtaPhi_kTRDout;|#eta|;#phi (rad.)",10,0.0,1.0,90,0,6.3);
144 fEtaPhi[iB][3] = new TH2F("fEtaPhi_kTRDin&out","fEtaPhi_kTRDin&out;|#eta|;#phi (rad.)",10,0.0,1.0,90,0,6.3);
145 fEtaPhi[iB][4] = new TH2F("fEtaPhi_NoTRD","fEtaPhi_NoTRD;|#eta|;#phi (rad.)",10,0.0,1.0,90,0,6.3);
146 fEtaPhi[iB][5] = new TH2F("fEtaPhi_TrackAnalyzed","fEtaPhi_TrackAnalyzed;|#eta|;#phi (rad.)",10,0.0,1.0,90,0,6.3);
148 char namePart[9][30];
149 char namePart_par_TPC[9][40];
150 char namePart_title_TPC[9][120];
152 char namePart_par_TOF[9][40];
153 char namePart_title_TOF[9][120];
155 char namePart_par_ProfileTPC[9][40];
156 char namePart_title_ProfileTPC[9][80];
158 char namePart_par_ProfileTOF[9][40];
159 char namePart_title_ProfileTOF[9][80];
161 snprintf(namePart[0],20,"e");
162 snprintf(namePart[1],20,"#mu");
163 snprintf(namePart[2],20,"#pi");
164 snprintf(namePart[3],20,"K");
165 snprintf(namePart[4],20,"p");
166 snprintf(namePart[5],20,"d");
167 snprintf(namePart[6],20,"t");
168 snprintf(namePart[7],20,"He3");
169 snprintf(namePart[8],20,"He4");
171 for(Int_t i=0;i<9;i++) {
172 snprintf(namePart_par_TPC[i],40,"NsigmaTPC_%s",namePart[i]);
173 snprintf(namePart_title_TPC[i],120,"NsigmaTPC_%s;p_{T} (GeV/c);n_{#sigma_{TPC}}^{%s}",namePart[i],namePart[i]);
175 snprintf(namePart_par_TOF[i],40,"NsigmaTOF_%s",namePart[i]);
176 snprintf(namePart_title_TOF[i],120,"NsigmaTOF_%s;p_{T} (GeV/c);n_{#sigma_{TOF}}^{%s}",namePart[i],namePart[i]);
178 snprintf(namePart_par_ProfileTPC[i],40,"hDeDxExp_%s",namePart[i]);
179 snprintf(namePart_title_ProfileTPC[i],80,"hDeDxExp_%s;p (GeV/c);dE/dx_{TPC} (a.u.)",namePart[i]);
181 snprintf(namePart_par_ProfileTOF[i],40,"hBetaVsP_Exp_%s",namePart[i]);
182 snprintf(namePart_title_ProfileTOF[i],80,"hBetaVsP_Exp%s;p (GeV/c); #beta_{TOF}",namePart[i]);
185 char namePart_par_TPCvsP_kTOFtrue[18][80];
186 char namePart_title_TPCvsP_kTOFtrue[18][120];
190 snprintf(name[0],20,"e^{+}");
191 snprintf(name[1],20,"#mu^{+}");
192 snprintf(name[2],20,"#pi^{+}");
193 snprintf(name[3],20,"K^{+}");
194 snprintf(name[4],20,"p");
195 snprintf(name[5],20,"d");
196 snprintf(name[6],20,"t");
197 snprintf(name[7],20,"He3");
198 snprintf(name[8],20,"He4");
200 snprintf(name[9],20,"e^{-}");
201 snprintf(name[10],20,"#mu^{-}");
202 snprintf(name[11],20,"#pi^{-}");
203 snprintf(name[12],20,"K^{-}");
204 snprintf(name[13],20,"#bar{p}");
205 snprintf(name[14],20,"#bar{d}");
206 snprintf(name[15],20,"#bar{t}");
207 snprintf(name[16],20,"#bar{He3}");
208 snprintf(name[17],20,"#bar{He4}");
210 for(Int_t iS=0;iS<18;iS++) {
211 snprintf(namePart_par_TPCvsP_kTOFtrue[iS],40,"NsigmaTPCvsP_kTOFout&&kTIME_%s",name[iS]);
212 snprintf(namePart_title_TPCvsP_kTOFtrue[iS],120,"NsigmaTPCvsP_kTOFout&&kTIME_%s;p (GeV/c);n_{#sigma_{TPC}}^{%s}",name[iS],name[iS]);
215 char name_par_MvsP[18][60];
216 char name_title_MvsP[18][150];
218 for(Int_t i=0;i<18;i++) {
219 snprintf(name_par_MvsP[i],60,"M2vsP_%s",name[i]);
220 snprintf(name_title_MvsP[i],150,"M_{TOF}^{2}_%s_2#sigma_TPCcut;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4});p/|Z| (GeV/c)",name[i]);
223 char name_par_MvsP_DCAxyCut[18][60];
224 char name_title_MvsP_DCAxyCut[18][150];
226 for(Int_t i=0;i<18;i++) {
227 snprintf(name_par_MvsP_DCAxyCut[i],60,"M2vsP_DCAxyCut_%s",name[i]);
228 snprintf(name_title_MvsP_DCAxyCut[i],150,"M_{TOF}^{2}_%s_2#sigma_TPCcut_DCAxyCut;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4});p/|Z| (GeV/c)",name[i]);
233 fdEdxVSp[iB][0] = new TH2F("fdEdxVSp","dE/dx vs p; p/|Z| (GeV/c); dE/dx_{TPC} (a.u.)",500,0,5,2000,0,1000);
234 fdEdxVSp[iB][1] = new TH2F("fdEdxVSp_pos","dE/dx vs p positive charge; p/|Z| (GeV/c); dE/dx_{TPC} (a.u.)",500,0,5,2000,0,1000);
235 fdEdxVSp[iB][2] = new TH2F("fdEdxVSp_neg","dE/dx vs p negative charge; p/|Z| (GeV/c); dE/dx_{TPC} (a.u.)",500,0,5,2000,0,1000);
237 fBetaTofVSp[iB] = new TH2F("fBetaTofVSp","#beta_{TOF} vs p; p(GeV/c); #beta_{TOF}",1000,0,5,1300,0.4,1.05);
239 fM2vsP_NoTpcCut[iB][0] = new TH2F("fM2vsP_NoTpcCut","M_{TOF}^{2} vs p; M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4}); p/|Z| (GeV/c)",8000,0,10,200,0,10);
240 fM2vsP_NoTpcCut[iB][1] = new TH2F("fM2vsP_NoTpcCut_Positive","M_{TOF}^{2} vs p Pos Part; M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4}); p/|Z| (GeV/c)",8000,0,10,200,0,10);
241 fM2vsP_NoTpcCut[iB][2] = new TH2F("fM2vsP_NoTpcCut_Negative","M_{TOF}^{2} vs p Neg Part; M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4}); p/|Z| (GeV/c)",8000,0,10,200,0,10);
243 fM2vsP_NoTpcCut_DCAxyCut[iB][0] = new TH2F("fM2vsP_NoTpcCut_DCAxycut","M_{TOF}^{2} vs p with DCAxy cut; M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4}); p/|Z| (GeV/c)",8000,0,10,200,0,10);
244 fM2vsP_NoTpcCut_DCAxyCut[iB][1] = new TH2F("fM2vsP_NoTpcCut_Positive_DCAxycut","M_{TOF}^{2} vs p Pos Part with DCAxy cut; M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4}); p/|Z| (GeV/c)",8000,0,10,200,0,10);
245 fM2vsP_NoTpcCut_DCAxyCut[iB][2] = new TH2F("fM2vsP_NoTpcCut_Negative_DCAxycut","M_{TOF}^{2} vs p Neg Part with DCAxy cut; M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4}); p/|Z| (GeV/c)",8000,0,10,200,0,10);
247 fM2vsZ[iB][0] = new TH2F("fM2vsZ","M_{TOF}^{2} vs Z^{2} Integrated p_{T};Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",4000,-4,4,1000,0,10);
248 fM2vsZ[iB][1] = new TH2F("fM2vsZ_0.3pT0.5","M_{TOF}^{2} vs Z^{2} 0.3<pT<0.5;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",4000,-4,4,1000,0,10);
249 fM2vsZ[iB][2] = new TH2F("fM2vsZ_0.5pT1.0","M_{TOF}^{2} vs Z^{2} 0.5<pT<1.0;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",4000,-4,4,1000,0,10);
250 fM2vsZ[iB][3] = new TH2F("fM2vsZ_1.0pT1.5","M_{TOF}^{2} vs Z^{2} 1.0<pT<1.5;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",4000,-4,4,1000,0,10);
251 fM2vsZ[iB][4] = new TH2F("fM2vsZ_1.5pT2.0","M_{TOF}^{2} vs Z^{2} 1.5<pT<2.0;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",4000,-4,4,1000,0,10);
252 fM2vsZ[iB][5] = new TH2F("fM2vsZ_2.0pT2.5","M_{TOF}^{2} vs Z^{2} 2.0<pT<2.5;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",4000,-4,4,1000,0,10);
253 fM2vsZ[iB][6] = new TH2F("fM2vsZ_2.5pT3.0","M_{TOF}^{2} vs Z^{2} 2.5<pT<3.0;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",4000,-4,4,1000,0,10);
254 fM2vsZ[iB][7] = new TH2F("fM2vsZ_3.0pT3.5","M_{TOF}^{2} vs Z^{2} 3.0<pT<3.5;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",4000,-4,4,1000,0,10);
255 fM2vsZ[iB][8] = new TH2F("fM2vsZ_3.5pT4.0","M_{TOF}^{2} vs Z^{2} 3.5<pT<4.0;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",4000,-4,4,1000,0,10);
256 fM2vsZ[iB][9] = new TH2F("fM2vsZ_4.0pT4.5","M_{TOF}^{2} vs Z^{2} 4.0<pT<4.5;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",4000,-4,4,1000,0,10);
257 fM2vsZ[iB][10] = new TH2F("fM2vsZ_0.0pT1.0","M_{TOF}^{2} vs Z^{2} 2.0<pT<2.5;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",4000,-4,4,1000,0,10);
258 fM2vsZ[iB][11] = new TH2F("fM2vsZ_1.0pT2.0","M_{TOF}^{2} vs Z^{2} 2.5<pT<3.0;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",4000,-4,4,1000,0,10);
259 fM2vsZ[iB][12] = new TH2F("fM2vsZ_2.0pT3.0","M_{TOF}^{2} vs Z^{2} 3.0<pT<3.5;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",4000,-4,4,1000,0,10);
260 fM2vsZ[iB][13] = new TH2F("fM2vsZ_3.0pT4.0","M_{TOF}^{2} vs Z^{2} 3.5<pT<4.0;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",4000,-4,4,1000,0,10);
261 fM2vsZ[iB][14] = new TH2F("fM2vsZ_4.0pT4.5","M_{TOF}^{2} vs Z^{2} 4.0<pT<4.5;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",4000,-4,4,1000,0,10);
263 fM2vsZwithTPC[iB][0] = new TH2F("fM2vsZwithTPC","M_{TOF}^{2} vs Z^{2} Integrated p_{T} withTPCcut;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",4000,-4,4,1000,0,10);
264 fM2vsZwithTPC[iB][1] = new TH2F("fM2vsZwithTPC_0.3pT0.5","M_{TOF}^{2} vs Z^{2} 0.3<pT<0.5 withTPCcut;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",4000,-4,4,1000,0,10);
265 fM2vsZwithTPC[iB][2] = new TH2F("fM2vsZwithTPC_0.5pT1.0","M_{TOF}^{2} vs Z^{2} 0.5<pT<1.0 withTPCcut;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",4000,-4,4,1000,0,10);
266 fM2vsZwithTPC[iB][3] = new TH2F("fM2vsZwithTPC_1.0pT1.5","M_{TOF}^{2} vs Z^{2} 1.0<pT<1.5 withTPCcut;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",4000,-4,4,1000,0,10);
267 fM2vsZwithTPC[iB][4] = new TH2F("fM2vsZwithTPC_1.5pT2.0","M_{TOF}^{2} vs Z^{2} 1.5<pT<2.0 withTPCcut;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",4000,-4,4,1000,0,10);
268 fM2vsZwithTPC[iB][5] = new TH2F("fM2vsZwithTPC_2.0pT2.5","M_{TOF}^{2} vs Z^{2} 2.0<pT<2.5 withTPCcut;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",4000,-4,4,1000,0,10);
269 fM2vsZwithTPC[iB][6] = new TH2F("fM2vsZwithTPC_2.5pT3.0","M_{TOF}^{2} vs Z^{2} 2.5<pT<3.0 withTPCcut;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",4000,-4,4,1000,0,10);
270 fM2vsZwithTPC[iB][7] = new TH2F("fM2vsZwithTPC_3.0pT3.5","M_{TOF}^{2} vs Z^{2} 3.0<pT<3.5 withTPCcut;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",4000,-4,4,1000,0,10);
271 fM2vsZwithTPC[iB][8] = new TH2F("fM2vsZwithTPC_3.5pT4.0","M_{TOF}^{2} vs Z^{2} 3.5<pT<4.0 withTPCcut;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",4000,-4,4,1000,0,10);
272 fM2vsZwithTPC[iB][9] = new TH2F("fM2vsZwithTPC_4.0pT4.5","M_{TOF}^{2} vs Z^{2} 4.0<pT<4.5 withTPCcut;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",4000,-4,4,1000,0,10);
273 fM2vsZwithTPC[iB][10] = new TH2F("fM2vsZwithTPC_0.0pT1.0","M_{TOF}^{2} vs Z^{2} 2.0<pT<2.5 withTPCcut;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",4000,-4,4,1000,0,10);
274 fM2vsZwithTPC[iB][11] = new TH2F("fM2vsZwithTPC_1.0pT2.0","M_{TOF}^{2} vs Z^{2} 2.5<pT<3.0 withTPCcut;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",4000,-4,4,1000,0,10);
275 fM2vsZwithTPC[iB][12] = new TH2F("fM2vsZwithTPC_2.0pT3.0","M_{TOF}^{2} vs Z^{2} 3.0<pT<3.5 withTPCcut;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",4000,-4,4,1000,0,10);
276 fM2vsZwithTPC[iB][13] = new TH2F("fM2vsZwithTPC_3.0pT4.0","M_{TOF}^{2} vs Z^{2} 3.5<pT<4.0 withTPCcut;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",4000,-4,4,1000,0,10);
277 fM2vsZwithTPC[iB][14] = new TH2F("fM2vsZwithTPC_4.0pT4.5","M_{TOF}^{2} vs Z^{2} 4.0<pT<4.5 withTPCcut;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",4000,-4,4,1000,0,10);
279 for(Int_t i=0;i<9;i++) {
280 fNsigmaTPC[iB][i] = new TH2F(namePart_par_TPC[i],namePart_title_TPC[i],125,0,5,100,-5,5);
281 fNsigmaTPC[iB][i]->GetYaxis()->CenterTitle();
282 fNsigmaTOF[iB][i] = new TH2F(namePart_par_TOF[i],namePart_title_TOF[i],125,0,5,100,-5,5);
283 fNsigmaTOF[iB][i]->GetYaxis()->CenterTitle();
284 hDeDxExp[iB][i] = new TProfile(namePart_par_ProfileTPC[i],namePart_title_ProfileTPC[i],500,0,5,0,1000,"");
285 hBetaExp[iB][i] = new TProfile(namePart_par_ProfileTOF[i],namePart_title_ProfileTOF[i],400,0,5,0.4,1.05,"");
288 for(Int_t iS=0;iS<18;iS++) {
289 fNsigmaTPCvsP_kTOFtrue[iB][iS] = new TH2F(namePart_par_TPCvsP_kTOFtrue[iS],namePart_title_TPCvsP_kTOFtrue[iS],125,0,5,100,-5,5);
290 fNsigmaTPCvsP_kTOFtrue[iB][iS]->GetYaxis()->CenterTitle();
293 for (Int_t i=0;i<18;i++) fM2vsP[iB][i] = new TH2F(name_par_MvsP[i],name_title_MvsP[i],8000,0,10,200,0,10);
295 for (Int_t i=0;i<18;i++) fM2vsP_DCAxyCut[iB][i] = new TH2F(name_par_MvsP_DCAxyCut[i],name_title_MvsP_DCAxyCut[i],8000,0,10,200,0,10);
299 else{//IsSignalCheck is kFALSE
301 fdEdxVSp[iB][0] = new TH2F("fdEdxVSp","dE/dx vs p; p/|Z| (GeV/c); dE/dx_{TPC} (a.u.)",1,0,5,1,0,1000);
302 fdEdxVSp[iB][1] = new TH2F("fdEdxVSp_pos","dE/dx vs p positive charge; p/|Z| (GeV/c); dE/dx_{TPC} (a.u.)",1,0,5,1,0,1000);
303 fdEdxVSp[iB][2] = new TH2F("fdEdxVSp_neg","dE/dx vs p negative charge; p/|Z| (GeV/c); dE/dx_{TPC} (a.u.)",1,0,5,1,0,1000);
305 fBetaTofVSp[iB] = new TH2F("fBetaTofVSp","#beta_{TOF} vs p; p(GeV/c); #beta_{TOF}",1,0,5,1,0.4,1.05);
307 fM2vsP_NoTpcCut[iB][0] = new TH2F("fM2vsP_NoTpcCut","M_{TOF}^{2} vs p; M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4}); p/|Z| (GeV/c)",1,0,10,1,0,8);//1250,...,80
308 fM2vsP_NoTpcCut[iB][1] = new TH2F("fM2vsP_NoTpcCut_Positive","M_{TOF}^{2} vs p Pos Part; M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4}); p/|Z| (GeV/c)",1,0,10,1,0,8);
309 fM2vsP_NoTpcCut[iB][2] = new TH2F("fM2vsP_NoTpcCut_Negative","M_{TOF}^{2} vs p Neg Part; M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4}); p/|Z| (GeV/c)",1,0,10,1,0,8);
311 fM2vsP_NoTpcCut_DCAxyCut[iB][0] = new TH2F("fM2vsP_NoTpcCut_DCAxycut","M_{TOF}^{2} vs p with DCAxy cut; M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4}); p/|Z| (GeV/c)",1,0,10,1,0,8);
312 fM2vsP_NoTpcCut_DCAxyCut[iB][1] = new TH2F("fM2vsP_NoTpcCut_Positive_DCAxycut","M_{TOF}^{2} vs p Pos Part with DCAxy cut; M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4}); p/|Z| (GeV/c)",1,0,10,1,0,8);
313 fM2vsP_NoTpcCut_DCAxyCut[iB][2] = new TH2F("fM2vsP_NoTpcCut_Negative_DCAxycut","M_{TOF}^{2} vs p Neg Part with DCAxy cut; M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4}); p/|Z| (GeV/c)",1,0,10,1,0,8);
315 /*fM2vsP_NoTpcCut[iB][0] = new TH2F("fM2vsP_NoTpcCut","M_{TOF}^{2} vs p; M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4}); p/|Z| (GeV/c)",1,0,10,1,0,10);
316 fM2vsP_NoTpcCut[iB][1] = new TH2F("fM2vsP_NoTpcCut_Positive","M_{TOF}^{2} vs p Pos Part; M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4}); p/|Z| (GeV/c)",1,0,10,1,0,10);
317 fM2vsP_NoTpcCut[iB][2] = new TH2F("fM2vsP_NoTpcCut_Negative","M_{TOF}^{2} vs p Neg Part; M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4}); p/|Z| (GeV/c)",1,0,10,1,0,10);
319 fM2vsP_NoTpcCut_DCAxyCut[iB][0] = new TH2F("fM2vsP_NoTpcCut_DCAxycut","M_{TOF}^{2} vs p with DCAxy cut; M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4}); p/|Z| (GeV/c)",1,0,10,1,0,10);
320 fM2vsP_NoTpcCut_DCAxyCut[iB][1] = new TH2F("fM2vsP_NoTpcCut_Positive_DCAxycut","M_{TOF}^{2} vs p Pos Part with DCAxy cut; M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4}); p/|Z| (GeV/c)",1,0,10,1,0,10);
321 fM2vsP_NoTpcCut_DCAxyCut[iB][2] = new TH2F("fM2vsP_NoTpcCut_Negative_DCAxycut","M_{TOF}^{2} vs p Neg Part with DCAxy cut; M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4}); p/|Z| (GeV/c)",1,0,10,1,0,10);*/
323 fM2vsZ[iB][0] = new TH2F("fM2vsZ","M_{TOF}^{2} vs Z^{2} Integrated p_{T};Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",1,-4,4,1,0,10);
324 fM2vsZ[iB][1] = new TH2F("fM2vsZ_0.3pT0.5","M_{TOF}^{2} vs Z^{2} 0.3<pT<0.5;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",1,-4,4,1,0,10);
325 fM2vsZ[iB][2] = new TH2F("fM2vsZ_0.5pT1.0","M_{TOF}^{2} vs Z^{2} 0.5<pT<1.0;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",1,-4,4,1,0,10);
326 fM2vsZ[iB][3] = new TH2F("fM2vsZ_1.0pT1.5","M_{TOF}^{2} vs Z^{2} 1.0<pT<1.5;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",1,-4,4,1,0,10);
327 fM2vsZ[iB][4] = new TH2F("fM2vsZ_1.5pT2.0","M_{TOF}^{2} vs Z^{2} 1.5<pT<2.0;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",1,-4,4,1,0,10);
328 fM2vsZ[iB][5] = new TH2F("fM2vsZ_2.0pT2.5","M_{TOF}^{2} vs Z^{2} 2.0<pT<2.5;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",1,-4,4,1,0,10);
329 fM2vsZ[iB][6] = new TH2F("fM2vsZ_2.5pT3.0","M_{TOF}^{2} vs Z^{2} 2.5<pT<3.0;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",1,-4,4,1,0,10);
330 fM2vsZ[iB][7] = new TH2F("fM2vsZ_3.0pT3.5","M_{TOF}^{2} vs Z^{2} 3.0<pT<3.5;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",1,-4,4,1,0,10);
331 fM2vsZ[iB][8] = new TH2F("fM2vsZ_3.5pT4.0","M_{TOF}^{2} vs Z^{2} 3.5<pT<4.0;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",1,-4,4,1,0,10);
332 fM2vsZ[iB][9] = new TH2F("fM2vsZ_4.0pT4.5","M_{TOF}^{2} vs Z^{2} 4.0<pT<4.5;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",1,-4,4,1,0,10);
333 fM2vsZ[iB][10] = new TH2F("fM2vsZ_0.0pT1.0","M_{TOF}^{2} vs Z^{2} 2.0<pT<2.5;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",1,-4,4,1,0,10);
334 fM2vsZ[iB][11] = new TH2F("fM2vsZ_1.0pT2.0","M_{TOF}^{2} vs Z^{2} 2.5<pT<3.0;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",1,-4,4,1,0,10);
335 fM2vsZ[iB][12] = new TH2F("fM2vsZ_2.0pT3.0","M_{TOF}^{2} vs Z^{2} 3.0<pT<3.5;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",1,-4,4,1,0,10);
336 fM2vsZ[iB][13] = new TH2F("fM2vsZ_3.0pT4.0","M_{TOF}^{2} vs Z^{2} 3.5<pT<4.0;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",1,-4,4,1,0,10);
337 fM2vsZ[iB][14] = new TH2F("fM2vsZ_4.0pT4.5","M_{TOF}^{2} vs Z^{2} 4.0<pT<4.5;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",1,-4,4,1,0,10);
339 fM2vsZwithTPC[iB][0] = new TH2F("fM2vsZwithTPC","M_{TOF}^{2} vs Z^{2} Integrated p_{T} withTPCcut;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",1,-4,4,1,0,10);
340 fM2vsZwithTPC[iB][1] = new TH2F("fM2vsZwithTPC_0.3pT0.5","M_{TOF}^{2} vs Z^{2} 0.3<pT<0.5 withTPCcut;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",1,-4,4,1,0,10);
341 fM2vsZwithTPC[iB][2] = new TH2F("fM2vsZwithTPC_0.5pT1.0","M_{TOF}^{2} vs Z^{2} 0.5<pT<1.0 withTPCcut;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",1,-4,4,1,0,10);
342 fM2vsZwithTPC[iB][3] = new TH2F("fM2vsZwithTPC_1.0pT1.5","M_{TOF}^{2} vs Z^{2} 1.0<pT<1.5 withTPCcut;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",1,-4,4,1,0,10);
343 fM2vsZwithTPC[iB][4] = new TH2F("fM2vsZwithTPC_1.5pT2.0","M_{TOF}^{2} vs Z^{2} 1.5<pT<2.0 withTPCcut;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",1,-4,4,1,0,10);
344 fM2vsZwithTPC[iB][5] = new TH2F("fM2vsZwithTPC_2.0pT2.5","M_{TOF}^{2} vs Z^{2} 2.0<pT<2.5 withTPCcut;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",1,-4,4,1,0,10);
345 fM2vsZwithTPC[iB][6] = new TH2F("fM2vsZwithTPC_2.5pT3.0","M_{TOF}^{2} vs Z^{2} 2.5<pT<3.0 withTPCcut;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",1,-4,4,1,0,10);
346 fM2vsZwithTPC[iB][7] = new TH2F("fM2vsZwithTPC_3.0pT3.5","M_{TOF}^{2} vs Z^{2} 3.0<pT<3.5 withTPCcut;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",1,-4,4,1,0,10);
347 fM2vsZwithTPC[iB][8] = new TH2F("fM2vsZwithTPC_3.5pT4.0","M_{TOF}^{2} vs Z^{2} 3.5<pT<4.0 withTPCcut;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",1,-4,4,1,0,10);
348 fM2vsZwithTPC[iB][9] = new TH2F("fM2vsZwithTPC_4.0pT4.5","M_{TOF}^{2} vs Z^{2} 4.0<pT<4.5 withTPCcut;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",1,-4,4,1,0,10);
349 fM2vsZwithTPC[iB][10] = new TH2F("fM2vsZwithTPC_0.0pT1.0","M_{TOF}^{2} vs Z^{2} 2.0<pT<2.5 withTPCcut;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",1,-4,4,1,0,10);
350 fM2vsZwithTPC[iB][11] = new TH2F("fM2vsZwithTPC_1.0pT2.0","M_{TOF}^{2} vs Z^{2} 2.5<pT<3.0 withTPCcut;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",1,-4,4,1,0,10);
351 fM2vsZwithTPC[iB][12] = new TH2F("fM2vsZwithTPC_2.0pT3.0","M_{TOF}^{2} vs Z^{2} 3.0<pT<3.5 withTPCcut;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",1,-4,4,1,0,10);
352 fM2vsZwithTPC[iB][13] = new TH2F("fM2vsZwithTPC_3.0pT4.0","M_{TOF}^{2} vs Z^{2} 3.5<pT<4.0 withTPCcut;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",1,-4,4,1,0,10);
353 fM2vsZwithTPC[iB][14] = new TH2F("fM2vsZwithTPC_4.0pT4.5","M_{TOF}^{2} vs Z^{2} 4.0<pT<4.5 withTPCcut;Z;M_{TOF}^{2}/Z^{2} (GeV^{2}/c^{4})",1,-4,4,1,0,10);
355 for(Int_t i=0;i<9;i++) {
356 fNsigmaTPC[iB][i] = new TH2F(namePart_par_TPC[i],namePart_title_TPC[i],1,0,5,1,-5,5);
357 fNsigmaTPC[iB][i]->GetYaxis()->CenterTitle();
358 fNsigmaTOF[iB][i] = new TH2F(namePart_par_TOF[i],namePart_title_TOF[i],1,0,5,1,-5,5);
359 fNsigmaTOF[iB][i]->GetYaxis()->CenterTitle();
360 hDeDxExp[iB][i] = new TProfile(namePart_par_ProfileTPC[i],namePart_title_ProfileTPC[i],1,0,5,0,1000,"");
361 hBetaExp[iB][i] = new TProfile(namePart_par_ProfileTOF[i],namePart_title_ProfileTOF[i],1,0,5,0.4,1.05,"");
364 for(Int_t iS=0;iS<18;iS++) {
365 fNsigmaTPCvsP_kTOFtrue[iB][iS] = new TH2F(namePart_par_TPCvsP_kTOFtrue[iS],namePart_title_TPCvsP_kTOFtrue[iS],1,0,5,1,-5,5);
366 fNsigmaTPCvsP_kTOFtrue[iB][iS]->GetYaxis()->CenterTitle();
369 /*for (Int_t i=0;i<18;i++) fM2vsP[iB][i] = new TH2F(name_par_MvsP[i],name_title_MvsP[i],1,0,10,1,0,10);
371 for (Int_t i=0;i<18;i++) fM2vsP_DCAxyCut[iB][i] = new TH2F(name_par_MvsP_DCAxyCut[i],name_title_MvsP_DCAxyCut[i],1,0,10,1,0,10);*/
373 for (Int_t i=0;i<18;i++) fM2vsP[iB][i] = new TH2F(name_par_MvsP[i],name_title_MvsP[i],1000,0,6,60,0,6);//1250,0,10,80,0,8
375 for (Int_t i=0;i<18;i++) fM2vsP_DCAxyCut[iB][i] = new TH2F(name_par_MvsP_DCAxyCut[i],name_title_MvsP_DCAxyCut[i],1000,0,6,60,0,6);//1250,0,10,80,0,8
379 Char_t namefEtaSpecies[18][300];
380 Char_t titlefEtaSpecies[18][300];
382 for(Int_t iS=0;iS<18;iS++) {
383 sprintf(namefEtaSpecies[iS],"fEtaSpecies_kTOF_%s",name[iS]);
384 sprintf(titlefEtaSpecies[iS],"fEtaSpecies_kTOF_%s;|#eta|;p_{T} GeV/c",name[iS]);
387 for(Int_t iS=0;iS<18;iS++) {
388 fEtaSpecies[iB][iS] = new TH2F(namefEtaSpecies[iS],titlefEtaSpecies[iS],10,0,1,200,0,10);
391 Char_t namefPhiSpecies[18][300];
392 Char_t titlefPhiSpecies[18][300];
394 for(Int_t iS=0;iS<18;iS++) {
395 sprintf(namefPhiSpecies[iS],"fPhiSpecies_kTOF_%s",name[iS]);
396 sprintf(titlefPhiSpecies[iS],"fPhiSpecies_kTOF_%s;#phi (rad.);p_{T} GeV/c",name[iS]);
399 for(Int_t iS=0;iS<18;iS++) {
400 fPhiSpecies[iB][iS] = new TH2F(namefPhiSpecies[iS],titlefPhiSpecies[iS],90,0,6.3,200,0,10);
403 Float_t binPt[nbin+1];
404 for(Int_t i=0;i<nbin+1;i++) {
408 Char_t par_name_nbin[nbin][30];
410 for(Int_t j=0;j<nbin;j++) {
411 snprintf(par_name_nbin[j],30,"%.1f<Pt<%.1f",binPt[j],binPt[j+1]);
414 Char_t par_name_nbin_pbin[nbin][30];
416 for(Int_t j=0;j<nbin;j++) {
417 snprintf(par_name_nbin_pbin[j],30,"%.1f<P<%.1f",binPt[j],binPt[j+1]);
420 Char_t par_name_nbin_pTpcbin[nbin][30];
422 for(Int_t j=0;j<nbin;j++) {
423 snprintf(par_name_nbin_pTpcbin[j],30,"%.1f<PTpc<%.1f",binPt[j],binPt[j+1]);
426 Char_t nameDCAxy[3][18][nbin][120];
427 Char_t titleDCAxy[3][18][nbin][120];
429 Char_t nameDCAz[3][18][nbin][120];
430 Char_t titleDCAz[3][18][nbin][120];
432 Char_t nameM2CutDCAxy[3][18][nbin][120];
433 Char_t titleM2CutDCAxy[3][18][nbin][120];
435 Char_t nameM2CutGroundDCAxy[3][18][nbin][120];
436 Char_t titleM2CutGroundDCAxy[3][18][nbin][120];
438 Char_t nameM2BkgMism[3][nbin][120];
439 Char_t titleM2BkgMism[3][nbin][120];
441 for(Int_t iS=0;iS<18;iS++) {
442 for(Int_t j=0;j<nbin;j++) {
443 snprintf(nameDCAxy[0][iS][j],120,"hDCAxy_%s_%s",name[iS],par_name_nbin[j]);
444 snprintf(titleDCAxy[0][iS][j],120,"hDCAxy_%s_%s;DCA_{xy} (cm)",name[iS],par_name_nbin[j]);
446 snprintf(nameDCAz[0][iS][j],120,"hDCAz_%s_%s",name[iS],par_name_nbin[j]);
447 snprintf(titleDCAz[0][iS][j],120,"hDCAz_%s_%s;DCA_{z} (cm)",name[iS],par_name_nbin[j]);
449 snprintf(nameM2CutDCAxy[0][iS][j],120,"hM2_CutDCAxy_%s_%s",name[iS],par_name_nbin[j]);
450 snprintf(titleM2CutDCAxy[0][iS][j],120,"hM2_CutDCAxy_%s_%s;M^{2}_{TOF} (GeV^{2}/c^{4})",name[iS],par_name_nbin[j]);
452 snprintf(nameM2CutGroundDCAxy[0][iS][j],120,"hM2_GroundCatDCAxy_%s_%s",name[iS],par_name_nbin[j]);
453 snprintf(titleM2CutGroundDCAxy[0][iS][j],120,"hM2_GroundCatDCAxy_%s_%s;M^{2}_{TOF} (GeV^{2}/c^{4})",name[iS],par_name_nbin[j]);
456 snprintf(nameDCAxy[1][iS][j],120,"hDCAxy_pbin_%s_%s",name[iS],par_name_nbin_pbin[j]);
457 snprintf(titleDCAxy[1][iS][j],120,"hDCAxy_pbin_%s_%s;DCA_{xy} (cm)",name[iS],par_name_nbin_pbin[j]);
459 snprintf(nameDCAz[1][iS][j],120,"hDCAz_pbin_%s_%s",name[iS],par_name_nbin_pbin[j]);
460 snprintf(titleDCAz[1][iS][j],120,"hDCAz_pbin_%s_%s;DCA_{z} (cm)",name[iS],par_name_nbin_pbin[j]);
462 snprintf(nameM2CutDCAxy[1][iS][j],120,"hM2_pbin_CutDCAxy_%s_%s",name[iS],par_name_nbin_pbin[j]);
463 snprintf(titleM2CutDCAxy[1][iS][j],120,"hM2_pbin_CutDCAxy_%s_%s;M^{2}_{TOF} (GeV^{2}/c^{4})",name[iS],par_name_nbin_pbin[j]);
465 snprintf(nameM2CutGroundDCAxy[1][iS][j],120,"hM2_pbin_GroundCatDCAxy_%s_%s",name[iS],par_name_nbin_pbin[j]);
466 snprintf(titleM2CutGroundDCAxy[1][iS][j],120,"hM2_pbin_GroundCatDCAxy_%s_%s;M^{2}_{TOF} (GeV^{2}/c^{4})",name[iS],par_name_nbin_pbin[j]);
469 snprintf(nameDCAxy[2][iS][j],120,"hDCAxy_pTpcbin_%s_%s",name[iS],par_name_nbin_pTpcbin[j]);
470 snprintf(titleDCAxy[2][iS][j],120,"hDCAxy_pbin_%s_%s;DCA_{xy} (cm)",name[iS],par_name_nbin_pTpcbin[j]);
472 snprintf(nameDCAz[2][iS][j],120,"hDCAz_pTpcbin_%s_%s",name[iS],par_name_nbin_pTpcbin[j]);
473 snprintf(titleDCAz[2][iS][j],120,"hDCAz_pTpcbin_%s_%s;DCA_{z} (cm)",name[iS],par_name_nbin_pTpcbin[j]);
475 snprintf(nameM2CutDCAxy[2][iS][j],120,"hM2_pTpcbin_CutDCAxy_%s_%s",name[iS],par_name_nbin_pTpcbin[j]);
476 snprintf(titleM2CutDCAxy[2][iS][j],120,"hM2_pTpcbin_CutDCAxy_%s_%s;M^{2}_{TOF} (GeV^{2}/c^{4})",name[iS],par_name_nbin_pTpcbin[j]);
478 snprintf(nameM2CutGroundDCAxy[2][iS][j],120,"hM2_pTpcbin_GroundCatDCAxy_%s_%s",name[iS],par_name_nbin_pTpcbin[j]);
479 snprintf(titleM2CutGroundDCAxy[2][iS][j],120,"hM2_pTpcbin_GroundCatDCAxy_%s_%s;M^{2}_{TOF} (GeV^{2}/c^{4})",name[iS],par_name_nbin_pTpcbin[j]);
483 for(Int_t j=0;j<nbin;j++) {
484 snprintf(nameM2BkgMism[0][j],120,"hM2_BkgMism_%s",par_name_nbin[j]);
485 snprintf(titleM2BkgMism[0][j],120,"hM2_BkgMism_%s;M^{2}_{TOF} (GeV^{2}/c^{4})",par_name_nbin[j]);
487 snprintf(nameM2BkgMism[1][j],120,"hM2_pbin_BkgMism_%s",par_name_nbin_pbin[j]);
488 snprintf(titleM2BkgMism[1][j],120,"hM2_pbin_BkgMism_%s;M^{2}_{TOF} (GeV^{2}/c^{4})",par_name_nbin_pbin[j]);
490 snprintf(nameM2BkgMism[2][j],120,"hM2_pTpcbin_BkgMism_%s",par_name_nbin_pTpcbin[j]);
491 snprintf(titleM2BkgMism[2][j],120,"hM2_pTpcbin_BkgMism_%s;M^{2}_{TOF} (GeV^{2}/c^{4})",par_name_nbin_pTpcbin[j]);
494 for(Int_t iS=0;iS<18;iS++) {
495 for(Int_t j=0;j<nbin;j++) {
496 hDCAxy[iB][iS][j] = new TH1D(nameDCAxy[0][iS][j],titleDCAxy[0][iS][j],875,-3.5,3.5);//125 bins
497 hDCAxy[iB][iS][j]->GetXaxis()->CenterTitle();
498 hDCAz[iB][iS][j] = new TH1D(nameDCAz[0][iS][j],titleDCAz[0][iS][j],875,-3.5,3.5);//125 bins
499 hDCAz[iB][iS][j]->GetXaxis()->CenterTitle();
501 hDCAxy_pbin[iB][iS][j] = new TH1D(nameDCAxy[1][iS][j],titleDCAxy[1][iS][j],875,-3.5,3.5);//125 bins
502 hDCAxy_pbin[iB][iS][j]->GetXaxis()->CenterTitle();
503 hDCAz_pbin[iB][iS][j] = new TH1D(nameDCAz[1][iS][j],titleDCAz[1][iS][j],875,-3.5,3.5);//125 bins
504 hDCAz_pbin[iB][iS][j]->GetXaxis()->CenterTitle();
506 hDCAxy_pTpcbin[iB][iS][j] = new TH1D(nameDCAxy[2][iS][j],titleDCAxy[2][iS][j],875,-3.5,3.5);//125 bins
507 hDCAxy_pTpcbin[iB][iS][j]->GetXaxis()->CenterTitle();
508 hDCAz_pTpcbin[iB][iS][j] = new TH1D(nameDCAz[2][iS][j],titleDCAz[2][iS][j],875,-3.5,3.5);//125 bins
509 hDCAz_pTpcbin[iB][iS][j]->GetXaxis()->CenterTitle();
513 for(Int_t iBinMom=0;iBinMom<3;iBinMom++) {
514 for(Int_t j=0;j<nbin;j++) {
515 hM2BkgMism[iB][iBinMom][j]=new TH1D(nameM2BkgMism[iBinMom][j],titleM2BkgMism[iBinMom][j],500,0,6);//125 bins
516 hM2BkgMism[iB][iBinMom][j]->GetXaxis()->CenterTitle();
520 const Int_t BinM2pT[9]={1,1,600,250,500,500,1000,400,600};
521 const Float_t RangeM2min[9]={0.0,0.0,-0.1,0.0,0.0,0.0,0.0,0.0,0.0};
522 const Float_t RangeM2max[9]={1.0,1.0,0.5,2.0,4.0,6.0,12.0,4.0,6.0};
526 for(Int_t iSp=0;iSp<9;iSp++) {
527 for(Int_t j=0;j<nbin;j++) {
528 hM2CutDCAxy[iB][iSp][j] = new TH1D(nameM2CutDCAxy[0][iSp][j],titleM2CutDCAxy[0][iSp][j],BinM2pT[iSp],RangeM2min[iSp],RangeM2max[iSp]);
529 hM2CutGroundDCAxy[iB][iSp][j] = new TH1D(nameM2CutGroundDCAxy[0][iSp][j],titleM2CutGroundDCAxy[0][iSp][j],BinM2pT[iSp],RangeM2min[iSp],RangeM2max[iSp]);
530 hM2CutDCAxy[iB][iSp+9][j] = new TH1D(nameM2CutDCAxy[0][iSp+9][j],titleM2CutDCAxy[0][iSp+9][j],BinM2pT[iSp],RangeM2min[iSp],RangeM2max[iSp]);
531 hM2CutGroundDCAxy[iB][iSp+9][j] = new TH1D(nameM2CutGroundDCAxy[0][iSp+9][j],titleM2CutGroundDCAxy[0][iSp+9][j],BinM2pT[iSp],RangeM2min[iSp],RangeM2max[iSp]);
533 hM2CutDCAxy_pbin[iB][iSp][j] = new TH1D(nameM2CutDCAxy[1][iSp][j],titleM2CutDCAxy[1][iSp][j],BinM2pT[iSp],RangeM2min[iSp],RangeM2max[iSp]);
534 hM2CutGroundDCAxy_pbin[iB][iSp][j] = new TH1D(nameM2CutGroundDCAxy[1][iSp][j],titleM2CutGroundDCAxy[1][iSp][j],BinM2pT[iSp],RangeM2min[iSp],RangeM2max[iSp]);
535 hM2CutDCAxy_pbin[iB][iSp+9][j] = new TH1D(nameM2CutDCAxy[1][iSp+9][j],titleM2CutDCAxy[1][iSp+9][j],BinM2pT[iSp],RangeM2min[iSp],RangeM2max[iSp]);
536 hM2CutGroundDCAxy_pbin[iB][iSp+9][j] = new TH1D(nameM2CutGroundDCAxy[1][iSp+9][j],titleM2CutGroundDCAxy[1][iSp+9][j],BinM2pT[iSp],RangeM2min[iSp],RangeM2max[iSp]);
538 hM2CutDCAxy_pTpcbin[iB][iSp][j] = new TH1D(nameM2CutDCAxy[2][iSp][j],titleM2CutDCAxy[2][iSp][j],BinM2pT[iSp],RangeM2min[iSp],RangeM2max[iSp]);
539 hM2CutGroundDCAxy_pTpcbin[iB][iSp][j] = new TH1D(nameM2CutGroundDCAxy[2][iSp][j],titleM2CutGroundDCAxy[2][iSp][j],BinM2pT[iSp],RangeM2min[iSp],RangeM2max[iSp]);
540 hM2CutDCAxy_pTpcbin[iB][iSp+9][j] = new TH1D(nameM2CutDCAxy[2][iSp+9][j],titleM2CutDCAxy[2][iSp+9][j],BinM2pT[iSp],RangeM2min[iSp],RangeM2max[iSp]);
541 hM2CutGroundDCAxy_pTpcbin[iB][iSp+9][j] = new TH1D(nameM2CutGroundDCAxy[2][iSp+9][j],titleM2CutGroundDCAxy[2][iSp+9][j],BinM2pT[iSp],RangeM2min[iSp],RangeM2max[iSp]);
545 fList1[iB]->Add(hNeventSelected[iB]);
546 fList1[iB]->Add(hNevent[iB]);
547 fList1[iB]->Add(hZvertex[iB]);
548 fList1[iB]->Add(hNminTPCcl[iB]);
549 fList1[iB]->Add(hTOFSignalPion[iB]);
550 for(Int_t i=0;i<2;i++)fList1[iB]->Add(hEtaDistribution[iB][i]);
551 for(Int_t i=0;i<6;i++) fList1[iB]->Add(hPhi[iB][i]);
552 for(Int_t i=0;i<6;i++) fList1[iB]->Add(fEtaPhi[iB][i]);
553 for(Int_t iS=0;iS<18;iS++) fList1[iB]->Add(fEtaSpecies[iB][iS]);
554 for(Int_t iS=0;iS<18;iS++) fList1[iB]->Add(fPhiSpecies[iB][iS]);
556 for(Int_t iS=0;iS<18;iS++) fList1[iB]->Add(fNsigmaTPCvsP_kTOFtrue[iB][iS]);
558 for(Int_t i=0;i<3;i++) fList1[iB]->Add(fdEdxVSp[iB][i]);
559 for(Int_t i=0;i<9;i++) fList1[iB]->Add(hDeDxExp[iB][i]);
560 fList1[iB]->Add(fBetaTofVSp[iB]);
561 for(Int_t i=0;i<9;i++) fList1[iB]->Add(hBetaExp[iB][i]);
562 for(Int_t i=0;i<9;i++) fList1[iB]->Add(fNsigmaTPC[iB][i]);
563 for(Int_t i=0;i<9;i++) fList1[iB]->Add(fNsigmaTOF[iB][i]);
565 for(Int_t i=0;i<15;i++) fList1[iB]->Add(fM2vsZ[iB][i]);
566 for(Int_t i=0;i<15;i++) fList1[iB]->Add(fM2vsZwithTPC[iB][i]);
568 for(Int_t i=0;i<3;i++) fList1[iB]->Add(fM2vsP_NoTpcCut[iB][i]);
569 for(Int_t i=3;i<6;i++) {//for(Int_t i=0;i<18;i++)
570 fList1[iB]->Add(fM2vsP[iB][i]);
571 fList1[iB]->Add(fM2vsP[iB][i+9]);//via-^
574 for(Int_t i=0;i<3;i++) fList1[iB]->Add(fM2vsP_NoTpcCut_DCAxyCut[iB][i]);
575 for(Int_t i=3;i<6;i++) {//for(Int_t i=0;i<18;i++)
576 fList1[iB]->Add(fM2vsP_DCAxyCut[iB][i]);
577 fList1[iB]->Add(fM2vsP_DCAxyCut[iB][i+9]);//via-^
581 for(Int_t iSp=3;iSp<6;iSp++) {//for(Int_t iSp=2;iSp<9;iSp++)
582 for(Int_t j=0;j<nbin;j++) {
583 fList1[iB]->Add(hDCAxy[iB][iSp][j]);
584 fList1[iB]->Add(hDCAz[iB][iSp][j]);
585 fList1[iB]->Add(hM2CutDCAxy[iB][iSp][j]);
586 fList1[iB]->Add(hM2CutGroundDCAxy[iB][iSp][j]);
587 fList1[iB]->Add(hDCAxy[iB][iSp+9][j]);
588 fList1[iB]->Add(hDCAz[iB][iSp+9][j]);
589 fList1[iB]->Add(hM2CutDCAxy[iB][iSp+9][j]);
590 fList1[iB]->Add(hM2CutGroundDCAxy[iB][iSp+9][j]);
593 for(Int_t j=0;j<nbin;j++) {//3he
595 fList1[iB]->Add(hDCAxy[iB][7][j]);
596 fList1[iB]->Add(hDCAz[iB][7][j]);
597 fList1[iB]->Add(hM2CutDCAxy[iB][7][j]);
598 fList1[iB]->Add(hM2CutGroundDCAxy[iB][7][j]);
599 fList1[iB]->Add(hDCAxy[iB][7+9][j]);
600 fList1[iB]->Add(hDCAz[iB][7+9][j]);
601 fList1[iB]->Add(hM2CutDCAxy[iB][7+9][j]);
602 fList1[iB]->Add(hM2CutGroundDCAxy[iB][7+9][j]);
607 for(Int_t iSp=3;iSp<6;iSp++) {//for(Int_t iSp=2;iSp<9;iSp++)
608 for(Int_t j=0;j<nbin;j++) {
609 fList1[iB]->Add(hDCAxy_pbin[iB][iSp][j]);
610 fList1[iB]->Add(hDCAz_pbin[iB][iSp][j]);
611 fList1[iB]->Add(hM2CutDCAxy_pbin[iB][iSp][j]);
612 fList1[iB]->Add(hM2CutGroundDCAxy_pbin[iB][iSp][j]);
613 fList1[iB]->Add(hDCAxy_pbin[iB][iSp+9][j]);
614 fList1[iB]->Add(hDCAz_pbin[iB][iSp+9][j]);
615 fList1[iB]->Add(hM2CutDCAxy_pbin[iB][iSp+9][j]);
616 fList1[iB]->Add(hM2CutGroundDCAxy_pbin[iB][iSp+9][j]);
619 for(Int_t j=0;j<nbin;j++) {//3he
620 fList1[iB]->Add(hDCAxy_pbin[iB][7][j]);
621 fList1[iB]->Add(hDCAz_pbin[iB][7][j]);
622 fList1[iB]->Add(hM2CutDCAxy_pbin[iB][7][j]);
623 fList1[iB]->Add(hM2CutGroundDCAxy_pbin[iB][7][j]);
624 fList1[iB]->Add(hDCAxy_pbin[iB][7+9][j]);
625 fList1[iB]->Add(hDCAz_pbin[iB][7+9][j]);
626 fList1[iB]->Add(hM2CutDCAxy_pbin[iB][7+9][j]);
627 fList1[iB]->Add(hM2CutGroundDCAxy_pbin[iB][7+9][j]);
631 for(Int_t iSp=3;iSp<6;iSp++) {//for(Int_t iSp=2;iSp<9;iSp++)
632 for(Int_t j=0;j<nbin;j++) {
633 fList1[iB]->Add(hDCAxy_pTpcbin[iB][iSp][j]);
634 fList1[iB]->Add(hDCAz_pTpcbin[iB][iSp][j]);
635 fList1[iB]->Add(hM2CutDCAxy_pTpcbin[iB][iSp][j]);
636 fList1[iB]->Add(hM2CutGroundDCAxy_pTpcbin[iB][iSp][j]);
637 fList1[iB]->Add(hDCAxy_pTpcbin[iB][iSp+9][j]);
638 fList1[iB]->Add(hDCAz_pTpcbin[iB][iSp+9][j]);
639 fList1[iB]->Add(hM2CutDCAxy_pTpcbin[iB][iSp+9][j]);
640 fList1[iB]->Add(hM2CutGroundDCAxy_pTpcbin[iB][iSp+9][j]);
643 for(Int_t j=0;j<nbin;j++) {//3he
644 fList1[iB]->Add(hDCAxy_pTpcbin[iB][7][j]);
645 fList1[iB]->Add(hDCAz_pTpcbin[iB][7][j]);
646 fList1[iB]->Add(hM2CutDCAxy_pTpcbin[iB][7][j]);
647 fList1[iB]->Add(hM2CutGroundDCAxy_pTpcbin[iB][7][j]);
648 fList1[iB]->Add(hDCAxy_pTpcbin[iB][7+9][j]);
649 fList1[iB]->Add(hDCAz_pTpcbin[iB][7+9][j]);
650 fList1[iB]->Add(hM2CutDCAxy_pTpcbin[iB][7+9][j]);
651 fList1[iB]->Add(hM2CutGroundDCAxy_pTpcbin[iB][7+9][j]);
656 for(Int_t j=0;j<nbin;j++) {
657 fList1[iB]->Add(hM2BkgMism[iB][0][j]);
661 for(Int_t j=0;j<nbin;j++) {
662 fList1[iB]->Add(hM2BkgMism[iB][1][j]);
666 for(Int_t j=0;j<nbin;j++) {
667 fList1[iB]->Add(hM2BkgMism[iB][2][j]);
672 PostData(1, fList1[0]);
673 PostData(2, fList1[1]);
676 //______________________________________________________________________________
677 void AliAnalysisNucleiMass::UserExec(Option_t *)
680 // Called for each event
682 fAOD = dynamic_cast<AliAODEvent*>(InputEvent());
683 fESD = dynamic_cast<AliESDEvent*>(InputEvent());
685 Printf("%s:%d AODEvent and ESDEvent not found in Input Manager",(char*)__FILE__,__LINE__);
689 if(fESD) fEvent = fESD;
692 AliAnalysisManager *man=AliAnalysisManager::GetAnalysisManager();
693 AliInputEventHandler* inputHandler = (AliInputEventHandler*) (man->GetInputEventHandler());
694 fPIDResponse=inputHandler->GetPIDResponse(); // data member di tipo "const AliPIDResponse *fPIDResponse;"
697 Float_t v0Centr = -10.;
698 //Float_t trkCentr = -10.;
699 AliCentrality *centrality = fEvent->GetCentrality();
701 v0Centr = centrality->GetCentralityPercentile("V0M"); // VZERO
702 //trkCentr = centrality->GetCentralityPercentile("TRK"); // TPC
705 Double_t fBfield=fEvent->GetMagneticField();
706 if(fBfield<0.0) iBconf=0;//B--
709 hNeventSelected[iBconf]->Fill(v0Centr);//selected events
711 //const AliAODVertex* vtxEVENT = (AliAODVertex*) fEvent->GetPrimaryVertex();
713 const AliVVertex* vtxEVENT = fEvent->GetPrimaryVertex();
715 Float_t zvtx = 10000.0;
717 if(vtxEVENT->GetNContributors()>0)
718 zvtx = vtxEVENT->GetZ();
720 hZvertex[iBconf]->Fill(zvtx);
722 if(TMath::Abs(zvtx) < 10.0){ // consistency cut on centrality selection AND d(zPrimaryVertez;NominalPointInteraction)<10cm
726 Int_t nTracks = fEvent->GetNumberOfTracks();
728 if(v0Centr>=fCentrality[0] && v0Centr<=fCentrality[1]) {//window cut centrality open
730 hNevent[iBconf]->Fill(v0Centr);//analyzed events
732 for(Int_t iT = 0; iT < nTracks; iT++) { // loop on the tracks
733 AliVTrack* track = (AliVTrack *) fEvent->GetTrack(iT);
740 trkFlag = ((AliAODTrack *) track)->TestFilterBit(FilterBit);
741 //TestFilterBit(16) -- Standard Cuts with very loose DCA: GetStandardITSTPCTrackCuts2011(kFALSE) && SetMaxDCAToVertexXY(2.4) && SetMaxDCAToVertexZ(3.2) && SetDCaToVertex2D(kTRUE)
742 //TestFilterBit(32) (STARDARD) -- Standard Cuts with very tight DCA cut ( 7sigma^primaries: 7*(0.0015+0.0050/pt^1.1) ) : GetStandardITSTPCTrackCuts2011().
744 Int_t NTpcCls=track->GetTPCNcls();
745 if(NTpcCls>NminTPCcluster) kTPC=kTRUE;
748 Float_t etaAbs = TMath::Abs(track->Eta());
750 //if(etaAbs<EtaLimit[0] && etaAbs>EtaLimit[1]) continue;
752 if(etaAbs<EtaLimit[0]) continue;
753 if(etaAbs>EtaLimit[1]) continue;
755 if ((track->Pt() < 0.2) || !trkFlag || !kTPC){
759 Float_t phi= track->Phi();
760 hPhi[iBconf][0]->Fill(phi);
761 fEtaPhi[iBconf][0]->Fill(etaAbs,phi);
764 if(kTRDana) {//TRD analysis
765 if((track->GetStatus() & AliVTrack::kTRDin) && (track->GetStatus() & AliVTrack::kTRDout)) {
768 else if (!(track->GetStatus() & AliVTrack::kTRDin) && !(track->GetStatus() & AliVTrack::kTRDout)){
772 else {//NO TRD analysis
776 if(track->GetStatus() & AliVTrack::kTRDin) {
777 hPhi[iBconf][1]->Fill(phi);
778 fEtaPhi[iBconf][1]->Fill(etaAbs,phi);
781 if(track->GetStatus() & AliVTrack::kTRDout) {
782 hPhi[iBconf][2]->Fill(phi);
783 fEtaPhi[iBconf][2]->Fill(etaAbs,phi);
785 if((track->GetStatus() & AliVTrack::kTRDin) && (track->GetStatus() & AliVTrack::kTRDout)) {
787 hPhi[iBconf][3]->Fill(phi);
788 fEtaPhi[iBconf][3]->Fill(etaAbs,phi);
790 else if (!(track->GetStatus() & AliVTrack::kTRDin) && !(track->GetStatus() & AliVTrack::kTRDout)){
792 hPhi[iBconf][4]->Fill(phi);
793 fEtaPhi[iBconf][4]->Fill(etaAbs,phi);
796 hEtaDistribution[iBconf][0]->Fill(etaAbs);
798 if(!(iTRDtemp & iTRD)) {
802 hNminTPCcl[iBconf]->Fill(NTpcCls);
804 Double_t b[2] = {-99., -99.};
805 Double_t bCov[3] = {-99., -99., -99.};
806 if (!track->PropagateToDCA(fEvent->GetPrimaryVertex(), fEvent->GetMagneticField(), 100., b, bCov))
809 //Float_t etaAbs = TMath::Abs(track->Eta());
810 Float_t charge = (Float_t)track->Charge();
811 Float_t p = track->P();
812 Float_t pt = track->Pt();
813 Float_t dedx = track->GetTPCsignal();
814 Float_t tof = track->GetTOFsignal()-fPIDResponse->GetTOFResponse().GetStartTime(p);
815 Float_t pTPC = track->GetTPCmomentum();
820 Float_t DCAxy = b[0];
823 hEtaDistribution[iBconf][1]->Fill(etaAbs);
825 hPhi[iBconf][5]->Fill(phi);
826 fEtaPhi[iBconf][5]->Fill(etaAbs,phi);
828 if(TMath::Abs(DCAz)>DCAzCUT)//CUT ON DCAz
832 kTpcPure = track->GetTPCsignal()>10;
833 if(kTpcPure==kFALSE) continue;
835 kTOF = (track->GetStatus() & AliVTrack::kTOFout) && (track->GetStatus() & AliVTrack::kTIME);
837 Float_t nsigmaTPC[9];
838 Float_t nsigmaTOF[9];
842 for(Int_t iS=0;iS < 9;iS++){ //TPC expected signal
843 expdedx[iS] = fPIDResponse->GetTPCResponse().GetExpectedSignal(track, (AliPID::EParticleType) iS, AliTPCPIDResponse::kdEdxDefault, kTRUE);
846 for(Int_t iS=0;iS < 9;iS++){
847 nsigmaTPC[iS] = fPIDResponse->NumberOfSigmasTPC(track,(AliPID::EParticleType) iS);
848 fNsigmaTPC[iBconf][iS]->Fill(pt,nsigmaTPC[iS]);
849 hDeDxExp[iBconf][iS]->Fill(pTPC,expdedx[iS]);
851 fdEdxVSp[iBconf][0]->Fill(pTPC,dedx);
852 if(charge>0) fdEdxVSp[iBconf][1]->Fill(pTPC,dedx);
853 else fdEdxVSp[iBconf][2]->Fill(pTPC,dedx);
855 Float_t massOverZ[9] = {0.000511,0.105658,0.139570,0.493677,0.938272,1.877837,2.817402,1.408701,1.877837};
857 Double_t exptimes[9]; // TOF expected times
858 track->GetIntegratedTimes(exptimes);
859 exptimes[5] = exptimes[0] / p * massOverZ[5] * TMath::Sqrt(1+p*p/massOverZ[5]/massOverZ[5]);
860 exptimes[6] = exptimes[0] / p * massOverZ[6] * TMath::Sqrt(1+p*p/massOverZ[6]/massOverZ[6]);
861 exptimes[7] = exptimes[0] / p * massOverZ[7] * TMath::Sqrt(1+p*p/massOverZ[7]/massOverZ[7]);
862 exptimes[8] = exptimes[0] / p * massOverZ[8] * TMath::Sqrt(1+p*p/massOverZ[8]/massOverZ[8]);
864 beta=exptimes[0];//expected times of the electron (it will be diveded for the T.o.f.)
867 for(Int_t iS=0;iS < 9;iS++){
868 nsigmaTOF[iS] = fPIDResponse->NumberOfSigmasTOF(track,(AliPID::EParticleType) iS);
869 fNsigmaTOF[iBconf][iS]->Fill(pt,nsigmaTOF[iS]);
870 hBetaExp[iBconf][iS]->Fill(p,beta/exptimes[iS]);
872 if(pt>0.9 && pt<1.0) hTOFSignalPion[iBconf]->Fill(tof-exptimes[2]);
874 fBetaTofVSp[iBconf]->Fill(p,beta);
877 Int_t stdFlagPid[9] = {1,2,4,8,16,32,64,128,256};//e,#mu,#pi,K,p,d,t,3He,4He
880 Float_t binPt[nbin+1];
881 for(Int_t i=0;i<nbin+1;i++) {
885 //M2 background distribution from mismatch (START):
887 //Hit channel in the TOF:
888 Int_t channel = (Int_t)(4334.09-4758.36*etaAbs-1989.71*etaAbs*etaAbs+1957.62*etaAbs*etaAbs*etaAbs);
891 channel = channel % 8736;
892 Float_t distIP = hChDist->GetBinContent(channel);
894 // generate random time
895 Float_t timeRandom = hmism->GetRandom() + distIP*3.35655419905265973e+00;
896 Float_t betaRandom = 1.0;
897 Float_t M2Random = 1000.0;
900 betaRandom=exptimes[0];
901 if(timeRandom!=0.0)betaRandom=betaRandom/timeRandom;
902 M2Random = (p*p*(1-betaRandom*betaRandom))/(betaRandom*betaRandom);
904 for(Int_t j=0;j<nbin;j++) {
905 if(pt>binPt[j] && pt<binPt[j+1]) {
906 hM2BkgMism[iBconf][0][j]->Fill(M2Random);
912 for(Int_t j=0;j<nbin;j++) {
913 if(p>binPt[j] && p<binPt[j+1]) {
914 hM2BkgMism[iBconf][1][j]->Fill(M2Random);
920 for(Int_t j=0;j<nbin;j++) {
921 if(pTPC>binPt[j] && pTPC<binPt[j+1]) {
922 hM2BkgMism[iBconf][2][j]->Fill(M2Random);
928 //M2 background distribution from mismatch (FINISH).
930 Float_t binCutPt[10] = {0.3,0.5,1.0,1.5,2.0,2.5,3.0,3.5,4.0,4.5};
932 Float_t binCutLargePt[6] = {0.0,1.0,2.0,3.0,4.0,5.0};
936 M2 = (p*p*(1-beta*beta))/(beta*beta);
938 fM2vsP_NoTpcCut[iBconf][0]->Fill(M2,p);
939 if(TMath::Abs(DCAxy)<DCAxyCUT) fM2vsP_NoTpcCut_DCAxyCut[iBconf][0]->Fill(M2,p);
943 Z2 = TMath::Power(dedx/fPIDResponse->GetTPCResponse().GetExpectedSignal(pTPC*massOverZ[4]/M, AliPID::kProton),0.862);
944 fM2vsZ[iBconf][0]->Fill(charge*TMath::Sqrt(Z2),M2);
946 for(Int_t i=0;i<9;i++) {
947 if(pt>binCutPt[i] && pt<binCutPt[i+1]){
948 fM2vsZ[iBconf][i+1]->Fill(charge*TMath::Sqrt(Z2),M2);
952 for(Int_t i=0;i<5;i++) {
953 if(pt>binCutLargePt[i] && pt<binCutLargePt[i+1]){
954 fM2vsZ[iBconf][10+i]->Fill(charge*TMath::Sqrt(Z2),M2);
961 fM2vsP_NoTpcCut[iBconf][1]->Fill(M2,p);
962 if(TMath::Abs(DCAxy)<DCAxyCUT) fM2vsP_NoTpcCut_DCAxyCut[iBconf][1]->Fill(M2,p);
963 for(Int_t iS=0;iS<9;iS++){
964 fNsigmaTPCvsP_kTOFtrue[iBconf][iS]->Fill(p,nsigmaTPC[iS]);
967 else {//else charge<0
968 fM2vsP_NoTpcCut[iBconf][2]->Fill(M2,p);
969 if(TMath::Abs(DCAxy)<DCAxyCUT) fM2vsP_NoTpcCut_DCAxyCut[iBconf][2]->Fill(M2,p);
971 for(Int_t iS=0;iS < 9;iS++){
972 fNsigmaTPCvsP_kTOFtrue[iBconf][iS+9]->Fill(p,nsigmaTPC[iS]);
976 for(Int_t iS=0;iS<9;iS++) {
977 if(TMath::Abs(nsigmaTPC[iS])<NsigmaTPCCut) {
978 FlagPid += ((Int_t)TMath::Power(2,iS));
983 for(Int_t iS=0;iS<9;iS++) {
984 if(FlagPid & stdFlagPid[iS]) {
985 fM2vsZwithTPC[iBconf][0]->Fill(charge*TMath::Sqrt(Z2),M2);
986 for(Int_t i=0;i<9;i++) {
987 if(pt>binCutPt[i] && pt<binCutPt[i+1]) {
988 fM2vsZwithTPC[iBconf][i+1]->Fill(charge*TMath::Sqrt(Z2),M2);
992 for(Int_t i=0;i<5;i++) {
993 if(pt>binCutLargePt[i] && pt<binCutLargePt[i+1]){
994 fM2vsZwithTPC[iBconf][10+i]->Fill(charge*TMath::Sqrt(Z2),M2);
1002 for(Int_t iS=0;iS<9;iS++) {
1003 if(FlagPid & stdFlagPid[iS] || !kTPCcut) {
1005 fEtaSpecies[iBconf][iS]->Fill(etaAbs,pt);
1006 fPhiSpecies[iBconf][iS]->Fill(phi,pt);
1007 fM2vsP[iBconf][iS]->Fill(M2,p);
1008 if(TMath::Abs(DCAxy)<DCAxyCUT) {
1009 fM2vsP_DCAxyCut[iBconf][iS]->Fill(M2,p);
1012 for(Int_t j=0;j<nbin;j++) {
1013 if(pt>binPt[j] && pt<binPt[j+1]) {
1014 hDCAxy[iBconf][iS][j]->Fill(DCAxy);
1015 hDCAxy[iBconf][iS][j]->Fill(-DCAxy);
1016 hDCAz[iBconf][iS][j]->Fill(DCAz);
1017 hDCAz[iBconf][iS][j]->Fill(-DCAz);
1018 if(TMath::Abs(DCAxy)<DCAxyCUT) {
1019 hM2CutDCAxy[iBconf][iS][j]->Fill(M2);
1021 if(TMath::Abs(DCAxy+0.5)<DCAxyCUT) hM2CutGroundDCAxy[iBconf][iS][j]->Fill(M2);
1027 for(Int_t j=0;j<nbin;j++) {
1028 if(p>binPt[j] && p<binPt[j+1]) {
1029 hDCAxy_pbin[iBconf][iS][j]->Fill(DCAxy);
1030 hDCAxy_pbin[iBconf][iS][j]->Fill(-DCAxy);
1031 hDCAz_pbin[iBconf][iS][j]->Fill(DCAz);
1032 hDCAz_pbin[iBconf][iS][j]->Fill(-DCAz);
1033 if(TMath::Abs(DCAxy)<DCAxyCUT) {
1034 hM2CutDCAxy_pbin[iBconf][iS][j]->Fill(M2);
1036 if(TMath::Abs(DCAxy+0.5)<DCAxyCUT) hM2CutGroundDCAxy_pbin[iBconf][iS][j]->Fill(M2);
1042 for(Int_t j=0;j<nbin;j++) {
1043 if(pTPC>binPt[j] && pTPC<binPt[j+1]) {
1044 hDCAxy_pTpcbin[iBconf][iS][j]->Fill(DCAxy);
1045 hDCAxy_pTpcbin[iBconf][iS][j]->Fill(-DCAxy);
1046 hDCAz_pTpcbin[iBconf][iS][j]->Fill(DCAz);
1047 hDCAz_pTpcbin[iBconf][iS][j]->Fill(-DCAz);
1048 if(TMath::Abs(DCAxy)<DCAxyCUT) {
1049 hM2CutDCAxy_pTpcbin[iBconf][iS][j]->Fill(M2);
1051 if(TMath::Abs(DCAxy+0.5)<DCAxyCUT) hM2CutGroundDCAxy_pTpcbin[iBconf][iS][j]->Fill(M2);
1057 else {//if(charge<0)
1058 fM2vsP[iBconf][iS+9]->Fill(M2,p);
1059 fEtaSpecies[iBconf][iS+9]->Fill(etaAbs,pt);
1060 fPhiSpecies[iBconf][iS+9]->Fill(phi,pt);
1061 if(TMath::Abs(DCAxy)<DCAxyCUT) {
1062 fM2vsP_DCAxyCut[iBconf][iS+9]->Fill(M2,p);
1065 for(Int_t j=0;j<nbin;j++) {
1066 if(pt>binPt[j] && pt<binPt[j+1]) {
1067 hDCAxy[iBconf][iS+9][j]->Fill(DCAxy);
1068 hDCAxy[iBconf][iS+9][j]->Fill(-DCAxy);
1069 hDCAz[iBconf][iS+9][j]->Fill(DCAz);
1070 hDCAz[iBconf][iS+9][j]->Fill(-DCAz);
1071 if(TMath::Abs(DCAxy)<DCAxyCUT) {
1072 hM2CutDCAxy[iBconf][iS+9][j]->Fill(M2);
1074 if(TMath::Abs(DCAxy+0.5)<DCAxyCUT) hM2CutGroundDCAxy[iBconf][iS+9][j]->Fill(M2);
1080 for(Int_t j=0;j<nbin;j++) {
1081 if(p>binPt[j] && p<binPt[j+1]) {
1082 hDCAxy_pbin[iBconf][iS+9][j]->Fill(DCAxy);
1083 hDCAxy_pbin[iBconf][iS+9][j]->Fill(-DCAxy);
1084 hDCAz_pbin[iBconf][iS+9][j]->Fill(DCAz);
1085 hDCAz_pbin[iBconf][iS+9][j]->Fill(-DCAz);
1086 if(TMath::Abs(DCAxy)<DCAxyCUT) {
1087 hM2CutDCAxy_pbin[iBconf][iS+9][j]->Fill(M2);
1089 if(TMath::Abs(DCAxy+0.5)<DCAxyCUT) hM2CutGroundDCAxy_pbin[iBconf][iS+9][j]->Fill(M2);
1095 for(Int_t j=0;j<nbin;j++) {
1096 if(pTPC>binPt[j] && pTPC<binPt[j+1]) {
1097 hDCAxy_pTpcbin[iBconf][iS+9][j]->Fill(DCAxy);
1098 hDCAxy_pTpcbin[iBconf][iS+9][j]->Fill(-DCAxy);
1099 hDCAz_pTpcbin[iBconf][iS+9][j]->Fill(DCAz);
1100 hDCAz_pTpcbin[iBconf][iS+9][j]->Fill(-DCAz);
1101 if(TMath::Abs(DCAxy)<DCAxyCUT) {
1102 hM2CutDCAxy_pTpcbin[iBconf][iS+9][j]->Fill(M2);
1104 if(TMath::Abs(DCAxy+0.5)<DCAxyCUT) hM2CutGroundDCAxy_pTpcbin[iBconf][iS+9][j]->Fill(M2);
1112 }// close (KTOF request)
1117 } //window cut centrality close
1123 //_____________________________________________________________________________
1124 void AliAnalysisNucleiMass::Terminate(Option_t *)
1127 Printf("Terminate()");