]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/SPECTRA/AliProtonQAAnalysis.cxx
2D correlation plots for the PID efficiency
[u/mrichter/AliRoot.git] / PWG2 / SPECTRA / AliProtonQAAnalysis.cxx
CommitLineData
3e6c06f4 1/**************************************************************************
2 * Author: Panos Christakoglou. *
3 * Contributors are mentioned in the code where appropriate. *
4 * *
5 * Permission to use, copy, modify and distribute this software and its *
6 * documentation strictly for non-commercial purposes is hereby granted *
7 * without fee, provided that the above copyright notice appears in all *
8 * copies and that both the copyright notice and this permission notice *
9 * appear in the supporting documentation. The authors make no claims *
10 * about the suitability of this software for any purpose. It is *
11 * provided "as is" without express or implied warranty. *
12 **************************************************************************/
13
14/* $Id: AliProtonQAAnalysis.cxx 29114 2008-10-03 16:49:02Z pchrist $ */
15
16//-----------------------------------------------------------------
17// AliProtonQAAnalysis class
18// This is the class to deal with the proton analysis
dd3fa486 19// Origin: Panos Christakoglou | Panos.Christakoglou@cern.ch
3e6c06f4 20//-----------------------------------------------------------------
21#include <Riostream.h>
3e6c06f4 22#include <TSystem.h>
23#include <TF1.h>
24#include <TH2D.h>
d4733690 25#include <TH3F.h>
3e6c06f4 26#include <TH1D.h>
9c0b9f24 27#include <TArrayI.h>
3e6c06f4 28#include <TParticle.h>
29
30#include "AliProtonQAAnalysis.h"
e7df5638 31#include "AliProtonAnalysisBase.h"
3e6c06f4 32
33#include <AliExternalTrackParam.h>
34#include <AliESDEvent.h>
35#include <AliLog.h>
36#include <AliPID.h>
37#include <AliStack.h>
6667f3a7 38#include <AliESDVertex.h>
75decd62 39#include <AliGenEventHeader.h>
4042c3a2 40#include <AliMCEvent.h>
3e6c06f4 41
42ClassImp(AliProtonQAAnalysis)
43
44//____________________________________________________________________//
45AliProtonQAAnalysis::AliProtonQAAnalysis() :
e7df5638 46 TObject(), fProtonAnalysisBase(0),
3e6c06f4 47 fNBinsY(0), fMinY(0), fMaxY(0),
48 fNBinsPt(0), fMinPt(0), fMaxPt(0),
75decd62 49 fGlobalQAList(0), fQAVertexList(0), fQA2DList(0),
3e6c06f4 50 fQAPrimaryProtonsAcceptedList(0),
51 fQAPrimaryProtonsRejectedList(0),
52 fQASecondaryProtonsAcceptedList(0),
53 fQASecondaryProtonsRejectedList(0),
54 fQAPrimaryAntiProtonsAcceptedList(0),
55 fQAPrimaryAntiProtonsRejectedList(0),
56 fQASecondaryAntiProtonsAcceptedList(0),
57 fQASecondaryAntiProtonsRejectedList(0),
d4733690 58 fPDGList(0), fMCProcessesList(0),
5b8133c7 59 fRunMCAnalysis(kFALSE),
60 fMCProcessIdFlag(kFALSE), fMCProcessId(0),
61 fMotherParticlePDGCodeFlag(kFALSE), fMotherParticlePDGCode(0),
62 fAcceptedCutList(0), fRejectedCutList(0),
9c0b9f24 63 fAcceptedDCAList(0), fRejectedDCAList(0),
dd3fa486 64 fRunEfficiencyAnalysis(kFALSE),
e13bbda6 65 fUseCutsInEfficiency(kFALSE),
66 fEfficiencyList(0) {
3e6c06f4 67 //Default constructor
3e6c06f4 68}
69
70//____________________________________________________________________//
71AliProtonQAAnalysis::~AliProtonQAAnalysis() {
72 //Default destructor
e7df5638 73 if(fProtonAnalysisBase) delete fProtonAnalysisBase;
3e6c06f4 74 if(fGlobalQAList) delete fGlobalQAList;
75decd62 75 if(fQAVertexList) delete fQAVertexList;
3e6c06f4 76 if(fQA2DList) delete fQA2DList;
77 if(fQAPrimaryProtonsAcceptedList) delete fQAPrimaryProtonsAcceptedList;
78 if(fQAPrimaryProtonsRejectedList) delete fQAPrimaryProtonsRejectedList;
79 if(fQASecondaryProtonsAcceptedList) delete fQASecondaryProtonsAcceptedList;
80 if(fQASecondaryProtonsRejectedList) delete fQASecondaryProtonsRejectedList;
81 if(fQAPrimaryAntiProtonsAcceptedList)
82 delete fQAPrimaryAntiProtonsAcceptedList;
83 if(fQAPrimaryAntiProtonsRejectedList)
84 delete fQAPrimaryAntiProtonsRejectedList;
85 if(fQASecondaryAntiProtonsAcceptedList)
86 delete fQASecondaryAntiProtonsAcceptedList;
87 if(fQASecondaryAntiProtonsRejectedList)
88 delete fQASecondaryAntiProtonsRejectedList;
d4733690 89
90 if(fPDGList) delete fPDGList;
91 if(fMCProcessesList) delete fMCProcessesList;
5b8133c7 92
93 if(fAcceptedCutList) delete fAcceptedCutList;
94 if(fRejectedCutList) delete fRejectedCutList;
95 if(fAcceptedDCAList) delete fAcceptedDCAList;
96 if(fRejectedDCAList) delete fRejectedDCAList;
9c0b9f24 97
98 if(fEfficiencyList) delete fEfficiencyList;
3e6c06f4 99}
100
3e6c06f4 101//____________________________________________________________________//
73aba974 102void AliProtonQAAnalysis::FillQA(AliStack *const stack,
3e23254a 103 AliESDEvent *esd,
104 const AliESDVertex *vertex,
105 AliESDtrack* track) {
3e6c06f4 106 // Checks if the track is excluded from the cuts
107 Int_t nPrimaries = stack->GetNprimary();
108 Int_t label = TMath::Abs(track->GetLabel());
109
73aba974 110 Double_t gPt = 0.0, gPx = 0.0, gPy = 0.0, gPz = 0.0;
3e23254a 111 Double_t dca[2] = {0.0,0.0}, cov[3] = {0.0,0.0,0.0}; //The impact parameters and their covariance.
112
e7df5638 113 if((fProtonAnalysisBase->GetAnalysisMode()==AliProtonAnalysisBase::kTPC)||(fProtonAnalysisBase->GetAnalysisMode()==AliProtonAnalysisBase::kHybrid)) {
3e6c06f4 114 AliExternalTrackParam *tpcTrack = (AliExternalTrackParam *)track->GetTPCInnerParam();
115 if(!tpcTrack) {
73aba974 116 gPt = 0.0; gPx = 0.0; gPy = 0.0; gPz = 0.0;
3e23254a 117 dca[0] = -100.; dca[1] = -100.;
118 cov[0] = -100.; cov[1] = -100.; cov[2] = -100.;
3e6c06f4 119 }
120 else {
73aba974 121 gPt = tpcTrack->Pt();
122 gPx = tpcTrack->Px();
123 gPy = tpcTrack->Py();
124 gPz = tpcTrack->Pz();
3e23254a 125 tpcTrack->PropagateToDCA(vertex,
126 esd->GetMagneticField(),
127 100.,dca,cov);
3e6c06f4 128 }
129 }
130 else{
73aba974 131 gPt = track->Pt();
132 gPx = track->Px();
133 gPy = track->Py();
134 gPz = track->Pz();
3e23254a 135 track->PropagateToDCA(vertex,
136 esd->GetMagneticField(),
137 100.,dca,cov);
3e6c06f4 138 }
3e23254a 139
3e6c06f4 140 Int_t fIdxInt[200];
141 Int_t nClustersITS = track->GetITSclusters(fIdxInt);
142 Int_t nClustersTPC = track->GetTPCclusters(fIdxInt);
143
144 Float_t chi2PerClusterITS = -1;
145 if (nClustersITS!=0)
146 chi2PerClusterITS = track->GetITSchi2()/Float_t(nClustersITS);
147 Float_t chi2PerClusterTPC = -1;
148 if (nClustersTPC!=0)
149 chi2PerClusterTPC = track->GetTPCchi2()/Float_t(nClustersTPC);
150
151 Double_t extCov[15];
152 track->GetExternalCovariance(extCov);
153
3e6c06f4 154 //protons
155 if(track->Charge() > 0) {
156 //Primaries
157 if(label <= nPrimaries) {
e7df5638 158 if(fProtonAnalysisBase->IsUsedMinITSClusters()) {
159 if(nClustersITS < fProtonAnalysisBase->GetMinITSClusters()) {
3e6c06f4 160 ((TH1F *)(fQAPrimaryProtonsRejectedList->At(0)))->Fill(nClustersITS);
3e6c06f4 161 }
e7df5638 162 else if(nClustersITS >= fProtonAnalysisBase->GetMinITSClusters())
3e6c06f4 163 ((TH1F *)(fQAPrimaryProtonsAcceptedList->At(0)))->Fill(nClustersITS);
164 }//ITS clusters
e7df5638 165 if(fProtonAnalysisBase->IsUsedMaxChi2PerITSCluster()) {
166 if(chi2PerClusterITS > fProtonAnalysisBase->GetMaxChi2PerITSCluster()) {
3e6c06f4 167 ((TH1F *)(fQAPrimaryProtonsRejectedList->At(1)))->Fill(chi2PerClusterITS);
3e6c06f4 168 }
e7df5638 169 else if(chi2PerClusterITS <= fProtonAnalysisBase->GetMaxChi2PerITSCluster())
3e6c06f4 170 ((TH1F *)(fQAPrimaryProtonsAcceptedList->At(1)))->Fill(chi2PerClusterITS);
171 }//chi2 per ITS cluster
e7df5638 172 if(fProtonAnalysisBase->IsUsedMinTPCClusters()) {
173 if(nClustersTPC < fProtonAnalysisBase->GetMinTPCClusters()) {
3e6c06f4 174 ((TH1F *)(fQAPrimaryProtonsRejectedList->At(2)))->Fill(nClustersTPC);
3e6c06f4 175 }
e7df5638 176 else if(nClustersTPC >= fProtonAnalysisBase->GetMinTPCClusters()) {
3e6c06f4 177 ((TH1F *)(fQAPrimaryProtonsAcceptedList->At(2)))->Fill(nClustersTPC);
178 }
179 }//TPC clusters
e7df5638 180 if(fProtonAnalysisBase->IsUsedMaxChi2PerTPCCluster()) {
181 if(chi2PerClusterTPC > fProtonAnalysisBase->GetMaxChi2PerTPCCluster()) {
3e6c06f4 182 ((TH1F *)(fQAPrimaryProtonsRejectedList->At(3)))->Fill(chi2PerClusterTPC);
3e6c06f4 183 }
e7df5638 184 else if(chi2PerClusterTPC <= fProtonAnalysisBase->GetMaxChi2PerTPCCluster())
3e6c06f4 185 ((TH1F *)(fQAPrimaryProtonsAcceptedList->At(3)))->Fill(chi2PerClusterTPC);
186 }//chi2 per TPC cluster
e7df5638 187 if(fProtonAnalysisBase->IsUsedMaxCov11()) {
188 if(extCov[0] > fProtonAnalysisBase->GetMaxCov11()) {
3e6c06f4 189 ((TH1F *)(fQAPrimaryProtonsRejectedList->At(4)))->Fill(extCov[0]);
3e6c06f4 190 }
e7df5638 191 else if(extCov[0] <= fProtonAnalysisBase->GetMaxCov11())
3e6c06f4 192 ((TH1F *)(fQAPrimaryProtonsAcceptedList->At(4)))->Fill(extCov[0]);
193 }//cov11
e7df5638 194 if(fProtonAnalysisBase->IsUsedMaxCov22()) {
195 if(extCov[2] > fProtonAnalysisBase->GetMaxCov22()) {
3e6c06f4 196 ((TH1F *)(fQAPrimaryProtonsRejectedList->At(5)))->Fill(extCov[2]);
3e6c06f4 197 }
e7df5638 198 else if(extCov[2] <= fProtonAnalysisBase->GetMaxCov22())
3e6c06f4 199 ((TH1F *)(fQAPrimaryProtonsAcceptedList->At(5)))->Fill(extCov[2]);
200 }//cov11
e7df5638 201 if(fProtonAnalysisBase->IsUsedMaxCov33()) {
202 if(extCov[5] > fProtonAnalysisBase->GetMaxCov33()) {
3e6c06f4 203 ((TH1F *)(fQAPrimaryProtonsRejectedList->At(6)))->Fill(extCov[5]);
3e6c06f4 204 }
e7df5638 205 else if(extCov[5] <= fProtonAnalysisBase->GetMaxCov33())
3e6c06f4 206 ((TH1F *)(fQAPrimaryProtonsAcceptedList->At(6)))->Fill(extCov[5]);
207 }//cov11
e7df5638 208 if(fProtonAnalysisBase->IsUsedMaxCov44()) {
209 if(extCov[9] > fProtonAnalysisBase->GetMaxCov44()) {
3e6c06f4 210 ((TH1F *)(fQAPrimaryProtonsRejectedList->At(7)))->Fill(extCov[9]);
3e6c06f4 211 }
e7df5638 212 else if(extCov[9] <= fProtonAnalysisBase->GetMaxCov44())
3e6c06f4 213 ((TH1F *)(fQAPrimaryProtonsAcceptedList->At(7)))->Fill(extCov[9]);
214 }//cov11
e7df5638 215 if(fProtonAnalysisBase->IsUsedMaxCov55()) {
216 if(extCov[14] > fProtonAnalysisBase->GetMaxCov55()) {
3e6c06f4 217 ((TH1F *)(fQAPrimaryProtonsRejectedList->At(8)))->Fill(extCov[14]);
3e6c06f4 218 }
e7df5638 219 else if(extCov[14] <= fProtonAnalysisBase->GetMaxCov55())
3e6c06f4 220 ((TH1F *)(fQAPrimaryProtonsAcceptedList->At(8)))->Fill(extCov[14]);
221 }//cov55
e7df5638 222 if(fProtonAnalysisBase->IsUsedMaxSigmaToVertex()) {
223 if(fProtonAnalysisBase->GetSigmaToVertex(track) > fProtonAnalysisBase->GetMaxSigmaToVertex()) {
224 ((TH1F *)(fQAPrimaryProtonsRejectedList->At(9)))->Fill(fProtonAnalysisBase->GetSigmaToVertex(track));
3e6c06f4 225 }
e7df5638 226 else if(fProtonAnalysisBase->GetSigmaToVertex(track) <= fProtonAnalysisBase->GetMaxSigmaToVertex())
227 ((TH1F *)(fQAPrimaryProtonsAcceptedList->At(9)))->Fill(fProtonAnalysisBase->GetSigmaToVertex(track));
3e6c06f4 228 }//sigma to vertex
e7df5638 229 if(fProtonAnalysisBase->IsUsedMaxSigmaToVertexTPC()) {
230 if(fProtonAnalysisBase->GetSigmaToVertex(track) > fProtonAnalysisBase->GetMaxSigmaToVertexTPC()) {
231 ((TH1F *)(fQAPrimaryProtonsRejectedList->At(10)))->Fill(fProtonAnalysisBase->GetSigmaToVertex(track));
3e6c06f4 232 }
e7df5638 233 else if(fProtonAnalysisBase->GetSigmaToVertex(track) <= fProtonAnalysisBase->GetMaxSigmaToVertexTPC())
234 ((TH1F *)(fQAPrimaryProtonsAcceptedList->At(10)))->Fill(fProtonAnalysisBase->GetSigmaToVertex(track));
3e6c06f4 235 }//sigma to vertex TPC
e7df5638 236 if(fProtonAnalysisBase->IsUsedMaxDCAXY()) {
237 if(TMath::Abs(dca[0]) > fProtonAnalysisBase->GetMaxDCAXY()) {
3e23254a 238 ((TH1F *)(fQAPrimaryProtonsRejectedList->At(11)))->Fill(TMath::Abs(dca[0]));
3e6c06f4 239 }
e7df5638 240 else if(TMath::Abs(dca[0]) <= fProtonAnalysisBase->GetMaxDCAXY())
3e23254a 241 ((TH1F *)(fQAPrimaryProtonsAcceptedList->At(11)))->Fill(TMath::Abs(dca[0]));
3e6c06f4 242 }//DCA xy global tracking
e7df5638 243 if(fProtonAnalysisBase->IsUsedMaxDCAXYTPC()) {
244 if(TMath::Abs(dca[0]) > fProtonAnalysisBase->GetMaxDCAXYTPC()) {
3e23254a 245 ((TH1F *)(fQAPrimaryProtonsRejectedList->At(12)))->Fill(TMath::Abs(dca[0]));
3e6c06f4 246 }
e7df5638 247 else if(TMath::Abs(dca[0]) <= fProtonAnalysisBase->GetMaxDCAXYTPC())
3e23254a 248 ((TH1F *)(fQAPrimaryProtonsAcceptedList->At(12)))->Fill(TMath::Abs(dca[0]));
3e6c06f4 249 }//DCA xy TPC tracking
e7df5638 250 if(fProtonAnalysisBase->IsUsedMaxDCAZ()) {
251 if(TMath::Abs(dca[1]) > fProtonAnalysisBase->GetMaxDCAZ()) {
3e23254a 252 ((TH1F *)(fQAPrimaryProtonsRejectedList->At(13)))->Fill(TMath::Abs(dca[1]));
3e6c06f4 253 }
e7df5638 254 else if(TMath::Abs(dca[1]) <= fProtonAnalysisBase->GetMaxDCAZ())
3e23254a 255 ((TH1F *)(fQAPrimaryProtonsAcceptedList->At(13)))->Fill(TMath::Abs(dca[1]));
3e6c06f4 256 }//DCA z global tracking
e7df5638 257 if(fProtonAnalysisBase->IsUsedMaxDCAZTPC()) {
258 if(TMath::Abs(dca[1]) > fProtonAnalysisBase->GetMaxDCAZTPC()) {
3e23254a 259 ((TH1F *)(fQAPrimaryProtonsRejectedList->At(14)))->Fill(TMath::Abs(dca[1]));
3e6c06f4 260 }
e7df5638 261 else if(TMath::Abs(dca[1]) <= fProtonAnalysisBase->GetMaxDCAZTPC())
3e23254a 262 ((TH1F *)(fQAPrimaryProtonsAcceptedList->At(14)))->Fill(TMath::Abs(dca[1]));
3e6c06f4 263 }//DCA z TPC tracking
e7df5638 264 if(fProtonAnalysisBase->IsUsedMaxConstrainChi2()) {
3e6c06f4 265 if(track->GetConstrainedChi2() > 0) {
e7df5638 266 if(TMath::Log(track->GetConstrainedChi2()) > fProtonAnalysisBase->GetMaxConstrainChi2()) {
3e6c06f4 267 ((TH1F *)(fQAPrimaryProtonsRejectedList->At(15)))->Fill(TMath::Log(track->GetConstrainedChi2()));
3e6c06f4 268 }
e7df5638 269 else if(TMath::Log(track->GetConstrainedChi2()) <= fProtonAnalysisBase->GetMaxConstrainChi2())
3e6c06f4 270 ((TH1F *)(fQAPrimaryProtonsAcceptedList->At(15)))->Fill(TMath::Log(track->GetConstrainedChi2()));
271 }
272 }//constrain chi2 - vertex
e7df5638 273 if(fProtonAnalysisBase->IsUsedITSRefit()) {
3e6c06f4 274 if ((track->GetStatus() & AliESDtrack::kITSrefit) == 0) {
275 ((TH1F *)(fQAPrimaryProtonsRejectedList->At(16)))->Fill(0);
3e6c06f4 276 }
277 else if((track->GetStatus() & AliESDtrack::kITSrefit) != 0)
278 ((TH1F *)(fQAPrimaryProtonsAcceptedList->At(16)))->Fill(0);
279 }//ITS refit
e7df5638 280 if(fProtonAnalysisBase->IsUsedTPCRefit()) {
3e6c06f4 281 if ((track->GetStatus() & AliESDtrack::kTPCrefit) == 0) {
282 ((TH1F *)(fQAPrimaryProtonsRejectedList->At(17)))->Fill(0);
3e6c06f4 283 }
284 else if((track->GetStatus() & AliESDtrack::kTPCrefit) != 0)
285 ((TH1F *)(fQAPrimaryProtonsAcceptedList->At(17)))->Fill(0);
286 }//TPC refit
e7df5638 287 if(fProtonAnalysisBase->IsUsedESDpid()) {
3e6c06f4 288 if ((track->GetStatus() & AliESDtrack::kESDpid) == 0) {
289 ((TH1F *)(fQAPrimaryProtonsRejectedList->At(18)))->Fill(0);
3e6c06f4 290 }
291 else if((track->GetStatus() & AliESDtrack::kESDpid) != 0)
292 ((TH1F *)(fQAPrimaryProtonsAcceptedList->At(18)))->Fill(0);
293 }//ESD pid
e7df5638 294 if(fProtonAnalysisBase->IsUsedTPCpid()) {
3e6c06f4 295 if ((track->GetStatus() & AliESDtrack::kTPCpid) == 0) {
296 ((TH1F *)(fQAPrimaryProtonsRejectedList->At(19)))->Fill(0);
3e6c06f4 297 }
298 else if((track->GetStatus() & AliESDtrack::kTPCpid) != 0)
299 ((TH1F *)(fQAPrimaryProtonsAcceptedList->At(19)))->Fill(0);
300 }//TPC pid
57e749bb 301 if(fProtonAnalysisBase->IsUsedMinTPCdEdxPoints()) {
302 if(track->GetTPCsignalN() < fProtonAnalysisBase->GetMinTPCdEdxPoints()) {
303 ((TH1F *)(fQAPrimaryProtonsRejectedList->At(20)))->Fill(track->GetTPCsignalN());
304 }
305 if(track->GetTPCsignalN() >= fProtonAnalysisBase->GetMinTPCdEdxPoints())
306 ((TH1F *)(fQAPrimaryProtonsAcceptedList->At(20)))->Fill(track->GetTPCsignalN());
307 }//number of TPC points for the dE/dx
e7df5638 308 if(fProtonAnalysisBase->IsUsedPointOnITSLayer1()) {
0008a5a6 309 if(!track->HasPointOnITSLayer(0)) {
57e749bb 310 ((TH1F *)(fQAPrimaryProtonsRejectedList->At(21)))->Fill(0);
0008a5a6 311 }
312 else if(track->HasPointOnITSLayer(0))
57e749bb 313 ((TH1F *)(fQAPrimaryProtonsAcceptedList->At(21)))->Fill(0);
0008a5a6 314 }//point on SPD1
e7df5638 315 if(fProtonAnalysisBase->IsUsedPointOnITSLayer2()) {
0008a5a6 316 if(!track->HasPointOnITSLayer(1)) {
57e749bb 317 ((TH1F *)(fQAPrimaryProtonsRejectedList->At(22)))->Fill(0);
0008a5a6 318 }
319 else if(track->HasPointOnITSLayer(1))
57e749bb 320 ((TH1F *)(fQAPrimaryProtonsAcceptedList->At(22)))->Fill(0);
0008a5a6 321 }//point on SPD2
e7df5638 322 if(fProtonAnalysisBase->IsUsedPointOnITSLayer3()) {
0008a5a6 323 if(!track->HasPointOnITSLayer(2)) {
57e749bb 324 ((TH1F *)(fQAPrimaryProtonsRejectedList->At(23)))->Fill(0);
0008a5a6 325 }
326 else if(track->HasPointOnITSLayer(2))
57e749bb 327 ((TH1F *)(fQAPrimaryProtonsAcceptedList->At(23)))->Fill(0);
0008a5a6 328 }//point on SDD1
e7df5638 329 if(fProtonAnalysisBase->IsUsedPointOnITSLayer4()) {
0008a5a6 330 if(!track->HasPointOnITSLayer(3)) {
57e749bb 331 ((TH1F *)(fQAPrimaryProtonsRejectedList->At(24)))->Fill(0);
0008a5a6 332 }
333 else if(track->HasPointOnITSLayer(3))
57e749bb 334 ((TH1F *)(fQAPrimaryProtonsAcceptedList->At(24)))->Fill(0);
0008a5a6 335 }//point on SDD2
e7df5638 336 if(fProtonAnalysisBase->IsUsedPointOnITSLayer5()) {
0008a5a6 337 if(!track->HasPointOnITSLayer(4)) {
57e749bb 338 ((TH1F *)(fQAPrimaryProtonsRejectedList->At(25)))->Fill(0);
0008a5a6 339 }
340 else if(track->HasPointOnITSLayer(4))
57e749bb 341 ((TH1F *)(fQAPrimaryProtonsAcceptedList->At(25)))->Fill(0);
0008a5a6 342 }//point on SSD1
e7df5638 343 if(fProtonAnalysisBase->IsUsedPointOnITSLayer6()) {
0008a5a6 344 if(!track->HasPointOnITSLayer(5)) {
57e749bb 345 ((TH1F *)(fQAPrimaryProtonsRejectedList->At(26)))->Fill(0);
0008a5a6 346 }
347 else if(track->HasPointOnITSLayer(5))
57e749bb 348 ((TH1F *)(fQAPrimaryProtonsAcceptedList->At(26)))->Fill(0);
0008a5a6 349 }//point on SSD2
3e6c06f4 350 }//primary particle cut
351
352 //Secondaries
353 if(label > nPrimaries) {
e7df5638 354 if(fProtonAnalysisBase->IsUsedMinITSClusters()) {
355 if(nClustersITS < fProtonAnalysisBase->GetMinITSClusters()) {
3e6c06f4 356 ((TH1F *)(fQASecondaryProtonsRejectedList->At(0)))->Fill(nClustersITS);
3e6c06f4 357 }
e7df5638 358 else if(nClustersITS >= fProtonAnalysisBase->GetMinITSClusters())
3e6c06f4 359 ((TH1F *)(fQASecondaryProtonsAcceptedList->At(0)))->Fill(nClustersITS);
360 }//ITS clusters
e7df5638 361 if(fProtonAnalysisBase->IsUsedMaxChi2PerITSCluster()) {
362 if(chi2PerClusterITS > fProtonAnalysisBase->GetMaxChi2PerITSCluster()) {
3e6c06f4 363 ((TH1F *)(fQASecondaryProtonsRejectedList->At(1)))->Fill(chi2PerClusterITS);
3e6c06f4 364 }
e7df5638 365 else if(chi2PerClusterITS <= fProtonAnalysisBase->GetMaxChi2PerITSCluster())
3e6c06f4 366 ((TH1F *)(fQASecondaryProtonsAcceptedList->At(1)))->Fill(chi2PerClusterITS);
367 }//chi2 per ITS cluster
e7df5638 368 if(fProtonAnalysisBase->IsUsedMinTPCClusters()) {
369 if(nClustersTPC < fProtonAnalysisBase->GetMinTPCClusters()) {
3e6c06f4 370 //cout<<"Secondary proton rejected"<<endl;
371 ((TH1F *)(fQASecondaryProtonsRejectedList->At(2)))->Fill(nClustersTPC);
3e6c06f4 372 }
e7df5638 373 else if(nClustersTPC >= fProtonAnalysisBase->GetMinTPCClusters()) {
3e6c06f4 374 //cout<<"Secondary proton accepted"<<endl;
375 ((TH1F *)(fQASecondaryProtonsAcceptedList->At(2)))->Fill(nClustersTPC);
376 }
377 }//TPC clusters
e7df5638 378 if(fProtonAnalysisBase->IsUsedMaxChi2PerTPCCluster()) {
379 if(chi2PerClusterTPC > fProtonAnalysisBase->GetMaxChi2PerTPCCluster()) {
3e6c06f4 380 ((TH1F *)(fQASecondaryProtonsRejectedList->At(3)))->Fill(chi2PerClusterTPC);
3e6c06f4 381 }
e7df5638 382 else if(chi2PerClusterTPC <= fProtonAnalysisBase->GetMaxChi2PerTPCCluster())
3e6c06f4 383 ((TH1F *)(fQASecondaryProtonsAcceptedList->At(3)))->Fill(chi2PerClusterTPC);
384 }//chi2 per TPC cluster
e7df5638 385 if(fProtonAnalysisBase->IsUsedMaxCov11()) {
386 if(extCov[0] > fProtonAnalysisBase->GetMaxCov11()) {
3e6c06f4 387 ((TH1F *)(fQASecondaryProtonsRejectedList->At(4)))->Fill(extCov[0]);
3e6c06f4 388 }
e7df5638 389 else if(extCov[0] <= fProtonAnalysisBase->GetMaxCov11())
3e6c06f4 390 ((TH1F *)(fQASecondaryProtonsAcceptedList->At(4)))->Fill(extCov[0]);
391 }//cov11
e7df5638 392 if(fProtonAnalysisBase->IsUsedMaxCov22()) {
393 if(extCov[2] > fProtonAnalysisBase->GetMaxCov22()) {
3e6c06f4 394 ((TH1F *)(fQASecondaryProtonsRejectedList->At(5)))->Fill(extCov[2]);
3e6c06f4 395 }
e7df5638 396 else if(extCov[2] <= fProtonAnalysisBase->GetMaxCov22())
3e6c06f4 397 ((TH1F *)(fQASecondaryProtonsAcceptedList->At(5)))->Fill(extCov[2]);
398 }//cov11
e7df5638 399 if(fProtonAnalysisBase->IsUsedMaxCov33()) {
400 if(extCov[5] > fProtonAnalysisBase->GetMaxCov33()) {
3e6c06f4 401 ((TH1F *)(fQASecondaryProtonsRejectedList->At(6)))->Fill(extCov[5]);
3e6c06f4 402 }
e7df5638 403 else if(extCov[5] <= fProtonAnalysisBase->GetMaxCov33())
3e6c06f4 404 ((TH1F *)(fQASecondaryProtonsAcceptedList->At(6)))->Fill(extCov[5]);
405 }//cov11
e7df5638 406 if(fProtonAnalysisBase->IsUsedMaxCov44()) {
407 if(extCov[9] > fProtonAnalysisBase->GetMaxCov44()) {
3e6c06f4 408 ((TH1F *)(fQASecondaryProtonsRejectedList->At(7)))->Fill(extCov[9]);
3e6c06f4 409 }
e7df5638 410 else if(extCov[9] <= fProtonAnalysisBase->GetMaxCov44())
3e6c06f4 411 ((TH1F *)(fQASecondaryProtonsAcceptedList->At(7)))->Fill(extCov[9]);
412 }//cov11
e7df5638 413 if(fProtonAnalysisBase->IsUsedMaxCov55()) {
414 if(extCov[14] > fProtonAnalysisBase->GetMaxCov55()) {
3e6c06f4 415 ((TH1F *)(fQASecondaryProtonsRejectedList->At(8)))->Fill(extCov[14]);
3e6c06f4 416 }
e7df5638 417 else if(extCov[14] <= fProtonAnalysisBase->GetMaxCov55())
3e6c06f4 418 ((TH1F *)(fQASecondaryProtonsAcceptedList->At(8)))->Fill(extCov[14]);
419 }//cov55
e7df5638 420 if(fProtonAnalysisBase->IsUsedMaxSigmaToVertex()) {
421 if(fProtonAnalysisBase->GetSigmaToVertex(track) > fProtonAnalysisBase->GetMaxSigmaToVertex()) {
422 ((TH1F *)(fQASecondaryProtonsRejectedList->At(9)))->Fill(fProtonAnalysisBase->GetSigmaToVertex(track));
3e6c06f4 423 }
e7df5638 424 else if(fProtonAnalysisBase->GetSigmaToVertex(track) <= fProtonAnalysisBase->GetMaxSigmaToVertex())
425 ((TH1F *)(fQASecondaryProtonsAcceptedList->At(9)))->Fill(fProtonAnalysisBase->GetSigmaToVertex(track));
3e6c06f4 426 }//sigma to vertex
e7df5638 427 if(fProtonAnalysisBase->IsUsedMaxSigmaToVertexTPC()) {
428 if(fProtonAnalysisBase->GetSigmaToVertex(track) > fProtonAnalysisBase->GetMaxSigmaToVertexTPC()) {
429 ((TH1F *)(fQASecondaryProtonsRejectedList->At(10)))->Fill(fProtonAnalysisBase->GetSigmaToVertex(track));
3e6c06f4 430 }
e7df5638 431 else if(fProtonAnalysisBase->GetSigmaToVertex(track) <= fProtonAnalysisBase->GetMaxSigmaToVertexTPC())
432 ((TH1F *)(fQASecondaryProtonsAcceptedList->At(10)))->Fill(fProtonAnalysisBase->GetSigmaToVertex(track));
3e6c06f4 433 }//sigma to vertex TPC
e7df5638 434 if(fProtonAnalysisBase->IsUsedMaxDCAXY()) {
435 if(TMath::Abs(dca[0]) > fProtonAnalysisBase->GetMaxDCAXY()) {
3e23254a 436 ((TH1F *)(fQASecondaryProtonsRejectedList->At(11)))->Fill(TMath::Abs(dca[0]));
3e6c06f4 437 }
e7df5638 438 else if(TMath::Abs(dca[0]) <= fProtonAnalysisBase->GetMaxDCAXY())
3e23254a 439 ((TH1F *)(fQASecondaryProtonsAcceptedList->At(11)))->Fill(TMath::Abs(dca[0]));
3e6c06f4 440 }//DCA xy global tracking
e7df5638 441 if(fProtonAnalysisBase->IsUsedMaxDCAXYTPC()) {
442 if(TMath::Abs(dca[0]) > fProtonAnalysisBase->GetMaxDCAXYTPC()) {
3e23254a 443 ((TH1F *)(fQASecondaryProtonsRejectedList->At(12)))->Fill(TMath::Abs(dca[0]));
3e6c06f4 444 }
e7df5638 445 else if(TMath::Abs(dca[0]) <= fProtonAnalysisBase->GetMaxDCAXYTPC())
3e23254a 446 ((TH1F *)(fQASecondaryProtonsAcceptedList->At(12)))->Fill(TMath::Abs(dca[0]));
3e6c06f4 447 }//DCA xy TPC tracking
e7df5638 448 if(fProtonAnalysisBase->IsUsedMaxDCAZ()) {
449 if(TMath::Abs(dca[1]) > fProtonAnalysisBase->GetMaxDCAZ()) {
3e23254a 450 ((TH1F *)(fQASecondaryProtonsRejectedList->At(13)))->Fill(TMath::Abs(dca[1]));
3e6c06f4 451 }
e7df5638 452 else if(TMath::Abs(dca[1]) <= fProtonAnalysisBase->GetMaxDCAZ())
3e23254a 453 ((TH1F *)(fQASecondaryProtonsAcceptedList->At(13)))->Fill(TMath::Abs(dca[1]));
3e6c06f4 454 }//DCA z global tracking
e7df5638 455 if(fProtonAnalysisBase->IsUsedMaxDCAZTPC()) {
456 if(TMath::Abs(dca[1]) > fProtonAnalysisBase->GetMaxDCAZTPC()) {
3e23254a 457 ((TH1F *)(fQASecondaryProtonsRejectedList->At(14)))->Fill(TMath::Abs(dca[1]));
3e6c06f4 458 }
e7df5638 459 else if(TMath::Abs(dca[1]) <= fProtonAnalysisBase->GetMaxDCAZTPC())
3e23254a 460 ((TH1F *)(fQASecondaryProtonsAcceptedList->At(14)))->Fill(TMath::Abs(dca[1]));
3e6c06f4 461 }//DCA z TPC tracking
e7df5638 462 if(fProtonAnalysisBase->IsUsedMaxConstrainChi2()) {
3e6c06f4 463 if(track->GetConstrainedChi2() > 0) {
e7df5638 464 if(TMath::Log(track->GetConstrainedChi2()) > fProtonAnalysisBase->GetMaxConstrainChi2()) {
3e6c06f4 465 ((TH1F *)(fQASecondaryProtonsRejectedList->At(15)))->Fill(TMath::Log(track->GetConstrainedChi2()));
3e6c06f4 466 }
e7df5638 467 else if(TMath::Log(track->GetConstrainedChi2()) <= fProtonAnalysisBase->GetMaxConstrainChi2())
3e6c06f4 468 ((TH1F *)(fQASecondaryProtonsAcceptedList->At(15)))->Fill(TMath::Log(track->GetConstrainedChi2()));
469 }
470 }//constrain chi2 - vertex
e7df5638 471 if(fProtonAnalysisBase->IsUsedITSRefit()) {
3e6c06f4 472 if ((track->GetStatus() & AliESDtrack::kITSrefit) == 0) {
473 ((TH1F *)(fQASecondaryProtonsRejectedList->At(16)))->Fill(0);
3e6c06f4 474 }
475 else if((track->GetStatus() & AliESDtrack::kITSrefit) != 0)
476 ((TH1F *)(fQASecondaryProtonsAcceptedList->At(16)))->Fill(0);
477 }//ITS refit
e7df5638 478 if(fProtonAnalysisBase->IsUsedTPCRefit()) {
3e6c06f4 479 if ((track->GetStatus() & AliESDtrack::kTPCrefit) == 0) {
480 ((TH1F *)(fQASecondaryProtonsRejectedList->At(17)))->Fill(0);
3e6c06f4 481 }
482 else if((track->GetStatus() & AliESDtrack::kTPCrefit) != 0)
483 ((TH1F *)(fQASecondaryProtonsAcceptedList->At(17)))->Fill(0);
484 }//TPC refit
e7df5638 485 if(fProtonAnalysisBase->IsUsedESDpid()) {
3e6c06f4 486 if ((track->GetStatus() & AliESDtrack::kESDpid) == 0) {
487 ((TH1F *)(fQASecondaryProtonsRejectedList->At(18)))->Fill(0);
3e6c06f4 488 }
489 else if((track->GetStatus() & AliESDtrack::kESDpid) != 0)
490 ((TH1F *)(fQASecondaryProtonsAcceptedList->At(18)))->Fill(0);
491 }//ESD pid
e7df5638 492 if(fProtonAnalysisBase->IsUsedTPCpid()) {
3e6c06f4 493 if ((track->GetStatus() & AliESDtrack::kTPCpid) == 0) {
494 ((TH1F *)(fQASecondaryProtonsRejectedList->At(19)))->Fill(0);
3e6c06f4 495 }
496 else if((track->GetStatus() & AliESDtrack::kTPCpid) != 0)
497 ((TH1F *)(fQASecondaryProtonsAcceptedList->At(19)))->Fill(0);
498 }//TPC pid
57e749bb 499 if(fProtonAnalysisBase->IsUsedMinTPCdEdxPoints()) {
500 if(track->GetTPCsignalN() < fProtonAnalysisBase->GetMinTPCdEdxPoints()) {
501 ((TH1F *)(fQASecondaryProtonsRejectedList->At(20)))->Fill(track->GetTPCsignalN());
502 }
503 if(track->GetTPCsignalN() >= fProtonAnalysisBase->GetMinTPCdEdxPoints())
504 ((TH1F *)(fQASecondaryProtonsAcceptedList->At(20)))->Fill(track->GetTPCsignalN());
505 }//number of TPC points for the dE/dx
e7df5638 506 if(fProtonAnalysisBase->IsUsedPointOnITSLayer1()) {
0008a5a6 507 if(!track->HasPointOnITSLayer(0)) {
57e749bb 508 ((TH1F *)(fQASecondaryProtonsRejectedList->At(21)))->Fill(0);
0008a5a6 509 }
510 else if(track->HasPointOnITSLayer(0))
57e749bb 511 ((TH1F *)(fQASecondaryProtonsAcceptedList->At(21)))->Fill(0);
0008a5a6 512 }//point on SPD1
e7df5638 513 if(fProtonAnalysisBase->IsUsedPointOnITSLayer2()) {
0008a5a6 514 if(!track->HasPointOnITSLayer(1)) {
57e749bb 515 ((TH1F *)(fQASecondaryProtonsRejectedList->At(22)))->Fill(0);
0008a5a6 516 }
517 else if(track->HasPointOnITSLayer(1))
57e749bb 518 ((TH1F *)(fQASecondaryProtonsAcceptedList->At(22)))->Fill(0);
0008a5a6 519 }//point on SPD2
e7df5638 520 if(fProtonAnalysisBase->IsUsedPointOnITSLayer3()) {
0008a5a6 521 if(!track->HasPointOnITSLayer(2)) {
57e749bb 522 ((TH1F *)(fQASecondaryProtonsRejectedList->At(23)))->Fill(0);
0008a5a6 523 }
524 else if(track->HasPointOnITSLayer(2))
57e749bb 525 ((TH1F *)(fQASecondaryProtonsAcceptedList->At(23)))->Fill(0);
0008a5a6 526 }//point on SDD1
e7df5638 527 if(fProtonAnalysisBase->IsUsedPointOnITSLayer4()) {
0008a5a6 528 if(!track->HasPointOnITSLayer(3)) {
57e749bb 529 ((TH1F *)(fQASecondaryProtonsRejectedList->At(24)))->Fill(0);
0008a5a6 530 }
531 else if(track->HasPointOnITSLayer(3))
57e749bb 532 ((TH1F *)(fQASecondaryProtonsAcceptedList->At(24)))->Fill(0);
0008a5a6 533 }//point on SDD2
e7df5638 534 if(fProtonAnalysisBase->IsUsedPointOnITSLayer5()) {
0008a5a6 535 if(!track->HasPointOnITSLayer(4)) {
57e749bb 536 ((TH1F *)(fQASecondaryProtonsRejectedList->At(25)))->Fill(0);
0008a5a6 537 }
538 else if(track->HasPointOnITSLayer(4))
57e749bb 539 ((TH1F *)(fQASecondaryProtonsAcceptedList->At(25)))->Fill(0);
0008a5a6 540 }//point on SSD1
e7df5638 541 if(fProtonAnalysisBase->IsUsedPointOnITSLayer6()) {
0008a5a6 542 if(!track->HasPointOnITSLayer(5)) {
57e749bb 543 ((TH1F *)(fQASecondaryProtonsRejectedList->At(26)))->Fill(0);
0008a5a6 544 }
545 else if(track->HasPointOnITSLayer(5))
57e749bb 546 ((TH1F *)(fQASecondaryProtonsAcceptedList->At(26)))->Fill(0);
0008a5a6 547 }//point on SSD2
3e6c06f4 548 }//secondary particle cut
549 }//protons
550
551 //antiprotons
552 if(track->Charge() < 0) {
553 //Primaries
554 if(label <= nPrimaries) {
e7df5638 555 if(fProtonAnalysisBase->IsUsedMinITSClusters()) {
556 if(nClustersITS < fProtonAnalysisBase->GetMinITSClusters()) {
3e6c06f4 557 ((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(0)))->Fill(nClustersITS);
3e6c06f4 558 }
e7df5638 559 else if(nClustersITS >= fProtonAnalysisBase->GetMinITSClusters())
3e6c06f4 560 ((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(0)))->Fill(nClustersITS);
561 }//ITS clusters
e7df5638 562 if(fProtonAnalysisBase->IsUsedMaxChi2PerITSCluster()) {
563 if(chi2PerClusterITS > fProtonAnalysisBase->GetMaxChi2PerITSCluster()) {
3e6c06f4 564 ((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(1)))->Fill(chi2PerClusterITS);
3e6c06f4 565 }
e7df5638 566 else if(chi2PerClusterITS <= fProtonAnalysisBase->GetMaxChi2PerITSCluster())
3e6c06f4 567 ((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(1)))->Fill(chi2PerClusterITS);
568 }//chi2 per ITS cluster
e7df5638 569 if(fProtonAnalysisBase->IsUsedMinTPCClusters()) {
570 if(nClustersTPC < fProtonAnalysisBase->GetMinTPCClusters()) {
3e6c06f4 571 //cout<<"Primary antiproton rejected"<<endl;
572 ((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(2)))->Fill(nClustersTPC);
3e6c06f4 573 }
e7df5638 574 else if(nClustersTPC >= fProtonAnalysisBase->GetMinTPCClusters()) {
3e6c06f4 575 ((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(2)))->Fill(nClustersTPC);
576 }
577 }//TPC clusters
e7df5638 578 if(fProtonAnalysisBase->IsUsedMaxChi2PerTPCCluster()) {
579 if(chi2PerClusterTPC > fProtonAnalysisBase->GetMaxChi2PerTPCCluster()) {
3e6c06f4 580 ((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(3)))->Fill(chi2PerClusterTPC);
3e6c06f4 581 }
e7df5638 582 else if(chi2PerClusterTPC <= fProtonAnalysisBase->GetMaxChi2PerTPCCluster())
3e6c06f4 583 ((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(3)))->Fill(chi2PerClusterTPC);
584 }//chi2 per TPC cluster
e7df5638 585 if(fProtonAnalysisBase->IsUsedMaxCov11()) {
586 if(extCov[0] > fProtonAnalysisBase->GetMaxCov11()) {
3e6c06f4 587 ((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(4)))->Fill(extCov[0]);
3e6c06f4 588 }
e7df5638 589 else if(extCov[0] <= fProtonAnalysisBase->GetMaxCov11())
3e6c06f4 590 ((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(4)))->Fill(extCov[0]);
591 }//cov11
e7df5638 592 if(fProtonAnalysisBase->IsUsedMaxCov22()) {
593 if(extCov[2] > fProtonAnalysisBase->GetMaxCov22()) {
3e6c06f4 594 ((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(5)))->Fill(extCov[2]);
3e6c06f4 595 }
e7df5638 596 else if(extCov[2] <= fProtonAnalysisBase->GetMaxCov22())
3e6c06f4 597 ((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(5)))->Fill(extCov[2]);
598 }//cov11
e7df5638 599 if(fProtonAnalysisBase->IsUsedMaxCov33()) {
600 if(extCov[5] > fProtonAnalysisBase->GetMaxCov33()) {
3e6c06f4 601 ((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(6)))->Fill(extCov[5]);
3e6c06f4 602 }
e7df5638 603 else if(extCov[5] <= fProtonAnalysisBase->GetMaxCov33())
3e6c06f4 604 ((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(6)))->Fill(extCov[5]);
605 }//cov11
e7df5638 606 if(fProtonAnalysisBase->IsUsedMaxCov44()) {
607 if(extCov[9] > fProtonAnalysisBase->GetMaxCov44()) {
3e6c06f4 608 ((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(7)))->Fill(extCov[9]);
3e6c06f4 609 }
e7df5638 610 else if(extCov[9] <= fProtonAnalysisBase->GetMaxCov44())
3e6c06f4 611 ((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(7)))->Fill(extCov[9]);
612 }//cov11
e7df5638 613 if(fProtonAnalysisBase->IsUsedMaxCov55()) {
614 if(extCov[14] > fProtonAnalysisBase->GetMaxCov55()) {
3e6c06f4 615 ((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(8)))->Fill(extCov[14]);
3e6c06f4 616 }
e7df5638 617 else if(extCov[14] <= fProtonAnalysisBase->GetMaxCov55())
3e6c06f4 618 ((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(8)))->Fill(extCov[14]);
619 }//cov55
e7df5638 620 if(fProtonAnalysisBase->IsUsedMaxSigmaToVertex()) {
621 if(fProtonAnalysisBase->GetSigmaToVertex(track) > fProtonAnalysisBase->GetMaxSigmaToVertex()) {
622 ((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(9)))->Fill(fProtonAnalysisBase->GetSigmaToVertex(track));
3e6c06f4 623 }
e7df5638 624 else if(fProtonAnalysisBase->GetSigmaToVertex(track) <= fProtonAnalysisBase->GetMaxSigmaToVertex())
625 ((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(9)))->Fill(fProtonAnalysisBase->GetSigmaToVertex(track));
3e6c06f4 626 }//sigma to vertex
e7df5638 627 if(fProtonAnalysisBase->IsUsedMaxSigmaToVertexTPC()) {
628 if(fProtonAnalysisBase->GetSigmaToVertex(track) > fProtonAnalysisBase->GetMaxSigmaToVertexTPC()) {
629 ((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(10)))->Fill(fProtonAnalysisBase->GetSigmaToVertex(track));
3e6c06f4 630 }
e7df5638 631 else if(fProtonAnalysisBase->GetSigmaToVertex(track) <= fProtonAnalysisBase->GetMaxSigmaToVertexTPC())
632 ((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(10)))->Fill(fProtonAnalysisBase->GetSigmaToVertex(track));
3e6c06f4 633 }//sigma to vertex TPC
e7df5638 634 if(fProtonAnalysisBase->IsUsedMaxDCAXY()) {
635 if(TMath::Abs(dca[0]) > fProtonAnalysisBase->GetMaxDCAXY()) {
3e23254a 636 ((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(11)))->Fill(TMath::Abs(dca[0]));
3e6c06f4 637 }
e7df5638 638 else if(TMath::Abs(dca[0]) <= fProtonAnalysisBase->GetMaxDCAXY())
3e23254a 639 ((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(11)))->Fill(TMath::Abs(dca[0]));
3e6c06f4 640 }//DCA xy global tracking
e7df5638 641 if(fProtonAnalysisBase->IsUsedMaxDCAXYTPC()) {
642 if(TMath::Abs(dca[0]) > fProtonAnalysisBase->GetMaxDCAXYTPC()) {
3e23254a 643 ((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(12)))->Fill(TMath::Abs(dca[0]));
3e6c06f4 644 }
e7df5638 645 else if(TMath::Abs(dca[0]) <= fProtonAnalysisBase->GetMaxDCAXYTPC())
3e23254a 646 ((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(12)))->Fill(TMath::Abs(dca[0]));
3e6c06f4 647 }//DCA xy TPC tracking
e7df5638 648 if(fProtonAnalysisBase->IsUsedMaxDCAZ()) {
649 if(TMath::Abs(dca[1]) > fProtonAnalysisBase->GetMaxDCAZ()) {
3e23254a 650 ((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(13)))->Fill(TMath::Abs(dca[1]));
3e6c06f4 651 }
e7df5638 652 else if(TMath::Abs(dca[1]) <= fProtonAnalysisBase->GetMaxDCAZ())
3e23254a 653 ((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(13)))->Fill(TMath::Abs(dca[1]));
3e6c06f4 654 }//DCA z global tracking
e7df5638 655 if(fProtonAnalysisBase->IsUsedMaxDCAZTPC()) {
656 if(TMath::Abs(dca[1]) > fProtonAnalysisBase->GetMaxDCAZTPC()) {
3e23254a 657 ((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(14)))->Fill(TMath::Abs(dca[1]));
3e6c06f4 658 }
e7df5638 659 else if(TMath::Abs(dca[1]) <= fProtonAnalysisBase->GetMaxDCAZTPC())
3e23254a 660 ((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(14)))->Fill(TMath::Abs(dca[1]));
3e6c06f4 661 }//DCA z TPC tracking
e7df5638 662 if(fProtonAnalysisBase->IsUsedMaxConstrainChi2()) {
3e6c06f4 663 if(track->GetConstrainedChi2() > 0) {
e7df5638 664 if(TMath::Log(track->GetConstrainedChi2()) > fProtonAnalysisBase->GetMaxConstrainChi2()) {
3e6c06f4 665 ((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(15)))->Fill(TMath::Log(track->GetConstrainedChi2()));
3e6c06f4 666 }
e7df5638 667 else if(TMath::Log(track->GetConstrainedChi2()) <= fProtonAnalysisBase->GetMaxConstrainChi2())
3e6c06f4 668 ((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(15)))->Fill(TMath::Log(track->GetConstrainedChi2()));
669 }
670 }//constrain chi2 - vertex
e7df5638 671 if(fProtonAnalysisBase->IsUsedITSRefit()) {
3e6c06f4 672 if ((track->GetStatus() & AliESDtrack::kITSrefit) == 0) {
673 ((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(16)))->Fill(0);
3e6c06f4 674 }
675 else if((track->GetStatus() & AliESDtrack::kITSrefit) != 0)
676 ((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(16)))->Fill(0);
677 }//ITS refit
e7df5638 678 if(fProtonAnalysisBase->IsUsedTPCRefit()) {
3e6c06f4 679 if ((track->GetStatus() & AliESDtrack::kTPCrefit) == 0) {
680 ((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(17)))->Fill(0);
3e6c06f4 681 }
682 else if((track->GetStatus() & AliESDtrack::kTPCrefit) != 0)
683 ((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(17)))->Fill(0);
684 }//TPC refit
e7df5638 685 if(fProtonAnalysisBase->IsUsedESDpid()) {
3e6c06f4 686 if ((track->GetStatus() & AliESDtrack::kESDpid) == 0) {
687 ((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(18)))->Fill(0);
3e6c06f4 688 }
689 else if((track->GetStatus() & AliESDtrack::kESDpid) != 0)
690 ((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(18)))->Fill(0);
691 }//ESD pid
e7df5638 692 if(fProtonAnalysisBase->IsUsedTPCpid()) {
3e6c06f4 693 if ((track->GetStatus() & AliESDtrack::kTPCpid) == 0) {
694 ((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(19)))->Fill(0);
3e6c06f4 695 }
696 else if((track->GetStatus() & AliESDtrack::kTPCpid) != 0)
697 ((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(19)))->Fill(0);
698 }//TPC pid
57e749bb 699 if(fProtonAnalysisBase->IsUsedMinTPCdEdxPoints()) {
700 if(track->GetTPCsignalN() < fProtonAnalysisBase->GetMinTPCdEdxPoints()) {
701 ((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(20)))->Fill(track->GetTPCsignalN());
702 }
703 if(track->GetTPCsignalN() >= fProtonAnalysisBase->GetMinTPCdEdxPoints())
704 ((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(20)))->Fill(track->GetTPCsignalN());
705 }//number of TPC points for the dE/dx
e7df5638 706 if(fProtonAnalysisBase->IsUsedPointOnITSLayer1()) {
0008a5a6 707 if(!track->HasPointOnITSLayer(0)) {
57e749bb 708 ((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(21)))->Fill(0);
0008a5a6 709 }
710 else if(track->HasPointOnITSLayer(0))
57e749bb 711 ((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(21)))->Fill(0);
0008a5a6 712 }//point on SPD1
e7df5638 713 if(fProtonAnalysisBase->IsUsedPointOnITSLayer2()) {
0008a5a6 714 if(!track->HasPointOnITSLayer(1)) {
57e749bb 715 ((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(22)))->Fill(0);
0008a5a6 716 }
717 else if(track->HasPointOnITSLayer(1))
57e749bb 718 ((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(22)))->Fill(0);
0008a5a6 719 }//point on SPD2
e7df5638 720 if(fProtonAnalysisBase->IsUsedPointOnITSLayer3()) {
0008a5a6 721 if(!track->HasPointOnITSLayer(2)) {
57e749bb 722 ((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(23)))->Fill(0);
0008a5a6 723 }
724 else if(track->HasPointOnITSLayer(2))
57e749bb 725 ((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(23)))->Fill(0);
0008a5a6 726 }//point on SDD1
e7df5638 727 if(fProtonAnalysisBase->IsUsedPointOnITSLayer4()) {
0008a5a6 728 if(!track->HasPointOnITSLayer(3)) {
57e749bb 729 ((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(24)))->Fill(0);
0008a5a6 730 }
731 else if(track->HasPointOnITSLayer(3))
57e749bb 732 ((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(24)))->Fill(0);
0008a5a6 733 }//point on SDD2
e7df5638 734 if(fProtonAnalysisBase->IsUsedPointOnITSLayer5()) {
0008a5a6 735 if(!track->HasPointOnITSLayer(4)) {
57e749bb 736 ((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(25)))->Fill(0);
0008a5a6 737 }
738 else if(track->HasPointOnITSLayer(4))
57e749bb 739 ((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(25)))->Fill(0);
0008a5a6 740 }//point on SSD1
e7df5638 741 if(fProtonAnalysisBase->IsUsedPointOnITSLayer6()) {
0008a5a6 742 if(!track->HasPointOnITSLayer(5)) {
57e749bb 743 ((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(26)))->Fill(0);
0008a5a6 744 }
745 else if(track->HasPointOnITSLayer(5))
57e749bb 746 ((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(26)))->Fill(0);
0008a5a6 747 }//point on SSD2
3e6c06f4 748 }//primary particle cut
749
750 //Secondaries
751 if(label > nPrimaries) {
e7df5638 752 if(fProtonAnalysisBase->IsUsedMinITSClusters()) {
753 if(nClustersITS < fProtonAnalysisBase->GetMinITSClusters()) {
3e6c06f4 754 ((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(0)))->Fill(nClustersITS);
3e6c06f4 755 }
e7df5638 756 else if(nClustersITS >= fProtonAnalysisBase->GetMinITSClusters())
3e6c06f4 757 ((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(0)))->Fill(nClustersITS);
758 }//ITS clusters
e7df5638 759 if(fProtonAnalysisBase->IsUsedMaxChi2PerITSCluster()) {
760 if(chi2PerClusterITS > fProtonAnalysisBase->GetMaxChi2PerITSCluster()) {
3e6c06f4 761 ((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(1)))->Fill(chi2PerClusterITS);
3e6c06f4 762 }
e7df5638 763 else if(chi2PerClusterITS <= fProtonAnalysisBase->GetMaxChi2PerITSCluster())
3e6c06f4 764 ((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(1)))->Fill(chi2PerClusterITS);
765 }//chi2 per ITS cluster
e7df5638 766 if(fProtonAnalysisBase->IsUsedMinTPCClusters()) {
767 if(nClustersTPC < fProtonAnalysisBase->GetMinTPCClusters()) {
3e6c06f4 768 ((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(2)))->Fill(nClustersTPC);
3e6c06f4 769 }
e7df5638 770 else if(nClustersTPC >= fProtonAnalysisBase->GetMinTPCClusters()) {
3e6c06f4 771 ((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(2)))->Fill(nClustersTPC);
772 }
773 }//TPC clusters
e7df5638 774 if(fProtonAnalysisBase->IsUsedMaxChi2PerTPCCluster()) {
775 if(chi2PerClusterTPC > fProtonAnalysisBase->GetMaxChi2PerTPCCluster()) {
3e6c06f4 776 ((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(3)))->Fill(chi2PerClusterTPC);
3e6c06f4 777 }
e7df5638 778 else if(chi2PerClusterTPC <= fProtonAnalysisBase->GetMaxChi2PerTPCCluster())
3e6c06f4 779 ((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(3)))->Fill(chi2PerClusterTPC);
780 }//chi2 per TPC cluster
e7df5638 781 if(fProtonAnalysisBase->IsUsedMaxCov11()) {
782 if(extCov[0] > fProtonAnalysisBase->GetMaxCov11()) {
3e6c06f4 783 ((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(4)))->Fill(extCov[0]);
3e6c06f4 784 }
e7df5638 785 else if(extCov[0] <= fProtonAnalysisBase->GetMaxCov11())
3e6c06f4 786 ((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(4)))->Fill(extCov[0]);
787 }//cov11
e7df5638 788 if(fProtonAnalysisBase->IsUsedMaxCov22()) {
789 if(extCov[2] > fProtonAnalysisBase->GetMaxCov22()) {
3e6c06f4 790 ((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(5)))->Fill(extCov[2]);
3e6c06f4 791 }
e7df5638 792 else if(extCov[2] <= fProtonAnalysisBase->GetMaxCov22())
3e6c06f4 793 ((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(5)))->Fill(extCov[2]);
794 }//cov11
e7df5638 795 if(fProtonAnalysisBase->IsUsedMaxCov33()) {
796 if(extCov[5] > fProtonAnalysisBase->GetMaxCov33()) {
3e6c06f4 797 ((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(6)))->Fill(extCov[5]);
3e6c06f4 798 }
e7df5638 799 else if(extCov[5] <= fProtonAnalysisBase->GetMaxCov33())
3e6c06f4 800 ((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(6)))->Fill(extCov[5]);
801 }//cov11
e7df5638 802 if(fProtonAnalysisBase->IsUsedMaxCov44()) {
803 if(extCov[9] > fProtonAnalysisBase->GetMaxCov44()) {
3e6c06f4 804 ((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(7)))->Fill(extCov[9]);
3e6c06f4 805 }
e7df5638 806 else if(extCov[9] <= fProtonAnalysisBase->GetMaxCov44())
3e6c06f4 807 ((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(7)))->Fill(extCov[9]);
808 }//cov11
e7df5638 809 if(fProtonAnalysisBase->IsUsedMaxCov55()) {
810 if(extCov[14] > fProtonAnalysisBase->GetMaxCov55()) {
3e6c06f4 811 ((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(8)))->Fill(extCov[14]);
3e6c06f4 812 }
e7df5638 813 else if(extCov[14] <= fProtonAnalysisBase->GetMaxCov55())
3e6c06f4 814 ((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(8)))->Fill(extCov[14]);
815 }//cov55
e7df5638 816 if(fProtonAnalysisBase->IsUsedMaxSigmaToVertex()) {
817 if(fProtonAnalysisBase->GetSigmaToVertex(track) > fProtonAnalysisBase->GetMaxSigmaToVertex()) {
818 ((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(9)))->Fill(fProtonAnalysisBase->GetSigmaToVertex(track));
3e6c06f4 819 }
e7df5638 820 else if(fProtonAnalysisBase->GetSigmaToVertex(track) <= fProtonAnalysisBase->GetMaxSigmaToVertex())
821 ((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(9)))->Fill(fProtonAnalysisBase->GetSigmaToVertex(track));
3e6c06f4 822 }//sigma to vertex
e7df5638 823 if(fProtonAnalysisBase->IsUsedMaxSigmaToVertexTPC()) {
824 if(fProtonAnalysisBase->GetSigmaToVertex(track) > fProtonAnalysisBase->GetMaxSigmaToVertexTPC()) {
825 ((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(10)))->Fill(fProtonAnalysisBase->GetSigmaToVertex(track));
3e6c06f4 826 }
e7df5638 827 else if(fProtonAnalysisBase->GetSigmaToVertex(track) <= fProtonAnalysisBase->GetMaxSigmaToVertexTPC())
828 ((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(10)))->Fill(fProtonAnalysisBase->GetSigmaToVertex(track));
3e6c06f4 829 }//sigma to vertex TPC
e7df5638 830 if(fProtonAnalysisBase->IsUsedMaxDCAXY()) {
831 if(TMath::Abs(dca[0]) > fProtonAnalysisBase->GetMaxDCAXY()) {
3e23254a 832 ((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(11)))->Fill(TMath::Abs(dca[0]));
3e6c06f4 833 }
e7df5638 834 else if(TMath::Abs(dca[0]) <= fProtonAnalysisBase->GetMaxDCAXY())
3e23254a 835 ((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(11)))->Fill(TMath::Abs(dca[0]));
3e6c06f4 836 }//DCA xy global tracking
e7df5638 837 if(fProtonAnalysisBase->IsUsedMaxDCAXYTPC()) {
838 if(TMath::Abs(dca[0]) > fProtonAnalysisBase->GetMaxDCAXYTPC()) {
3e23254a 839 ((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(12)))->Fill(TMath::Abs(dca[0]));
3e6c06f4 840 }
e7df5638 841 else if(TMath::Abs(dca[0]) <= fProtonAnalysisBase->GetMaxDCAXYTPC())
3e23254a 842 ((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(12)))->Fill(TMath::Abs(dca[0]));
3e6c06f4 843 }//DCA xy TPC tracking
e7df5638 844 if(fProtonAnalysisBase->IsUsedMaxDCAZ()) {
845 if(TMath::Abs(dca[1]) > fProtonAnalysisBase->GetMaxDCAZ()) {
3e23254a 846 ((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(13)))->Fill(TMath::Abs(dca[1]));
3e6c06f4 847 }
e7df5638 848 else if(TMath::Abs(dca[1]) <= fProtonAnalysisBase->GetMaxDCAZ())
3e23254a 849 ((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(13)))->Fill(TMath::Abs(dca[1]));
3e6c06f4 850 }//DCA z global tracking
e7df5638 851 if(fProtonAnalysisBase->IsUsedMaxDCAZTPC()) {
852 if(TMath::Abs(dca[1]) > fProtonAnalysisBase->GetMaxDCAZTPC()) {
3e23254a 853 ((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(14)))->Fill(TMath::Abs(dca[1]));
3e6c06f4 854 }
e7df5638 855 else if(TMath::Abs(dca[1]) <= fProtonAnalysisBase->GetMaxDCAZTPC())
3e23254a 856 ((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(14)))->Fill(TMath::Abs(dca[1]));
3e6c06f4 857 }//DCA z TPC tracking
e7df5638 858 if(fProtonAnalysisBase->IsUsedMaxConstrainChi2()) {
3e6c06f4 859 if(track->GetConstrainedChi2() > 0) {
e7df5638 860 if(TMath::Log(track->GetConstrainedChi2()) > fProtonAnalysisBase->GetMaxConstrainChi2()) {
3e6c06f4 861 ((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(15)))->Fill(TMath::Log(track->GetConstrainedChi2()));
3e6c06f4 862 }
e7df5638 863 else if(TMath::Log(track->GetConstrainedChi2()) <= fProtonAnalysisBase->GetMaxConstrainChi2())
3e6c06f4 864 ((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(15)))->Fill(TMath::Log(track->GetConstrainedChi2()));
865 }
866 }//constrain chi2 - vertex
e7df5638 867 if(fProtonAnalysisBase->IsUsedITSRefit()) {
3e6c06f4 868 if ((track->GetStatus() & AliESDtrack::kITSrefit) == 0) {
869 ((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(16)))->Fill(0);
3e6c06f4 870 }
871 else if((track->GetStatus() & AliESDtrack::kITSrefit) != 0)
872 ((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(16)))->Fill(0);
873 }//ITS refit
e7df5638 874 if(fProtonAnalysisBase->IsUsedTPCRefit()) {
3e6c06f4 875 if ((track->GetStatus() & AliESDtrack::kTPCrefit) == 0) {
876 ((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(17)))->Fill(0);
3e6c06f4 877 }
878 else if((track->GetStatus() & AliESDtrack::kTPCrefit) != 0)
879 ((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(17)))->Fill(0);
880 }//TPC refit
e7df5638 881 if(fProtonAnalysisBase->IsUsedESDpid()) {
3e6c06f4 882 if ((track->GetStatus() & AliESDtrack::kESDpid) == 0) {
883 ((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(18)))->Fill(0);
3e6c06f4 884 }
885 else if((track->GetStatus() & AliESDtrack::kESDpid) != 0)
886 ((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(18)))->Fill(0);
887 }//ESD pid
e7df5638 888 if(fProtonAnalysisBase->IsUsedTPCpid()) {
3e6c06f4 889 if ((track->GetStatus() & AliESDtrack::kTPCpid) == 0) {
890 ((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(19)))->Fill(0);
3e6c06f4 891 }
892 else if((track->GetStatus() & AliESDtrack::kTPCpid) != 0)
893 ((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(19)))->Fill(0);
894 }//TPC pid
57e749bb 895 if(fProtonAnalysisBase->IsUsedMinTPCdEdxPoints()) {
896 if(track->GetTPCsignalN() < fProtonAnalysisBase->GetMinTPCdEdxPoints()) {
897 ((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(20)))->Fill(track->GetTPCsignalN());
898 }
899 if(track->GetTPCsignalN() >= fProtonAnalysisBase->GetMinTPCdEdxPoints())
900 ((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(20)))->Fill(track->GetTPCsignalN());
901 }//number of TPC points for the dE/dx
e7df5638 902 if(fProtonAnalysisBase->IsUsedPointOnITSLayer1()) {
0008a5a6 903 if(!track->HasPointOnITSLayer(0)) {
57e749bb 904 ((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(21)))->Fill(0);
0008a5a6 905 }
906 else if(track->HasPointOnITSLayer(0))
57e749bb 907 ((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(21)))->Fill(0);
0008a5a6 908 }//point on SPD1
e7df5638 909 if(fProtonAnalysisBase->IsUsedPointOnITSLayer2()) {
0008a5a6 910 if(!track->HasPointOnITSLayer(1)) {
57e749bb 911 ((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(22)))->Fill(0);
0008a5a6 912 }
913 else if(track->HasPointOnITSLayer(1))
57e749bb 914 ((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(22)))->Fill(0);
0008a5a6 915 }//point on SPD2
e7df5638 916 if(fProtonAnalysisBase->IsUsedPointOnITSLayer3()) {
0008a5a6 917 if(!track->HasPointOnITSLayer(2)) {
57e749bb 918 ((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(23)))->Fill(0);
0008a5a6 919 }
920 else if(track->HasPointOnITSLayer(2))
57e749bb 921 ((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(23)))->Fill(0);
0008a5a6 922 }//point on SDD1
e7df5638 923 if(fProtonAnalysisBase->IsUsedPointOnITSLayer4()) {
0008a5a6 924 if(!track->HasPointOnITSLayer(3)) {
57e749bb 925 ((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(24)))->Fill(0);
0008a5a6 926 }
927 else if(track->HasPointOnITSLayer(3))
57e749bb 928 ((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(24)))->Fill(0);
0008a5a6 929 }//point on SDD2
e7df5638 930 if(fProtonAnalysisBase->IsUsedPointOnITSLayer5()) {
0008a5a6 931 if(!track->HasPointOnITSLayer(4)) {
57e749bb 932 ((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(25)))->Fill(0);
0008a5a6 933 }
934 else if(track->HasPointOnITSLayer(4))
57e749bb 935 ((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(25)))->Fill(0);
0008a5a6 936 }//point on SSD1
e7df5638 937 if(fProtonAnalysisBase->IsUsedPointOnITSLayer6()) {
0008a5a6 938 if(!track->HasPointOnITSLayer(5)) {
57e749bb 939 ((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(26)))->Fill(0);
0008a5a6 940 }
941 else if(track->HasPointOnITSLayer(5))
57e749bb 942 ((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(26)))->Fill(0);
0008a5a6 943 }//point on SSD2
3e6c06f4 944 }//secondary particle cut
945 }//antiprotons
3e6c06f4 946}
947
3e6c06f4 948//____________________________________________________________________//
9c0b9f24 949void AliProtonQAAnalysis::SetRunQAAnalysis() {
3e6c06f4 950 //initializes the QA lists
951 //fQAHistograms = kTRUE;
952 fGlobalQAList = new TList();
75decd62 953
3e6c06f4 954 fQA2DList = new TList();
955 fQA2DList->SetName("fQA2DList");
956 fGlobalQAList->Add(fQA2DList);
957
958 fQAPrimaryProtonsAcceptedList = new TList();
959 fQAPrimaryProtonsAcceptedList->SetName("fQAPrimaryProtonsAcceptedList");
960 fGlobalQAList->Add(fQAPrimaryProtonsAcceptedList);
961
962 fQAPrimaryProtonsRejectedList = new TList();
963 fQAPrimaryProtonsRejectedList->SetName("fQAPrimaryProtonsRejectedList");
964 fGlobalQAList->Add(fQAPrimaryProtonsRejectedList);
965
966 fQASecondaryProtonsAcceptedList = new TList();
967 fQASecondaryProtonsAcceptedList->SetName("fQASecondaryProtonsAcceptedList");
968 fGlobalQAList->Add(fQASecondaryProtonsAcceptedList);
969
970 fQASecondaryProtonsRejectedList = new TList();
971 fQASecondaryProtonsRejectedList->SetName("fQASecondaryProtonsRejectedList");
972 fGlobalQAList->Add(fQASecondaryProtonsRejectedList);
973
974 fQAPrimaryAntiProtonsAcceptedList = new TList();
975 fQAPrimaryAntiProtonsAcceptedList->SetName("fQAPrimaryAntiProtonsAcceptedList");
976 fGlobalQAList->Add(fQAPrimaryAntiProtonsAcceptedList);
977
978 fQAPrimaryAntiProtonsRejectedList = new TList();
979 fQAPrimaryAntiProtonsRejectedList->SetName("fQAPrimaryAntiProtonsRejectedList");
980 fGlobalQAList->Add(fQAPrimaryAntiProtonsRejectedList);
981
982 fQASecondaryAntiProtonsAcceptedList = new TList();
983 fQASecondaryAntiProtonsAcceptedList->SetName("fQASecondaryAntiProtonsAcceptedList");
984 fGlobalQAList->Add(fQASecondaryAntiProtonsAcceptedList);
985
986 fQASecondaryAntiProtonsRejectedList = new TList();
987 fQASecondaryAntiProtonsRejectedList->SetName("fQASecondaryAntiProtonsRejectedList");
988 fGlobalQAList->Add(fQASecondaryAntiProtonsRejectedList);
989}
990
991//____________________________________________________________________//
e7df5638 992void AliProtonQAAnalysis::SetQAYPtBins(Int_t nbinsY,
993 Double_t minY, Double_t maxY,
994 Int_t nbinsPt,
995 Double_t minPt, Double_t maxPt) {
3e6c06f4 996 //Initializes the QA binning
997 fNBinsY = nbinsY;
998 fMinY = minY; fMaxY = maxY;
999 fNBinsPt = nbinsPt;
1000 fMinPt = minPt; fMaxPt = maxPt;
1001 InitQA();
5b8133c7 1002 InitCutLists();
75decd62 1003 InitVertexQA();
d4733690 1004 if(fRunMCAnalysis) InitMCAnalysis();
9c0b9f24 1005 if(fRunEfficiencyAnalysis) InitEfficiencyAnalysis();
1006}
1007
1008//____________________________________________________________________//
1009void AliProtonQAAnalysis::InitEfficiencyAnalysis() {
1010 //Initialization of the efficiency list - reconstruction & PID efficiency
1011 //Adding each monitored object in the list
1012 fEfficiencyList = new TList();
1013
1014 //MC primary protons and antiprotons for the reconstruction efficiency
1015 TH2D *gHistMCYPtProtons = new TH2D("gHistMCYPtProtons",
e13bbda6 1016 ";;P_{T} [GeV/c]",
9c0b9f24 1017 fNBinsY,fMinY,fMaxY,
1018 fNBinsPt,fMinPt,fMaxPt);
e7df5638 1019 if(fProtonAnalysisBase->GetEtaMode())
e13bbda6 1020 gHistMCYPtProtons->GetXaxis()->SetTitle("#eta");
1021 else
1022 gHistMCYPtProtons->GetXaxis()->SetTitle("y");
9c0b9f24 1023 gHistMCYPtProtons->SetStats(kTRUE);
1024 gHistMCYPtProtons->GetXaxis()->SetTitleColor(1);
1025 fEfficiencyList->Add(gHistMCYPtProtons);
1026 TH2D *gHistMCYPtAntiProtons = new TH2D("gHistMCYPtAntiProtons",
1027 ";y;P_{T} [GeV/c]",
1028 fNBinsY,fMinY,fMaxY,
1029 fNBinsPt,fMinPt,fMaxPt);
e7df5638 1030 if(fProtonAnalysisBase->GetEtaMode())
e13bbda6 1031 gHistMCYPtAntiProtons->GetXaxis()->SetTitle("#eta");
1032 else
1033 gHistMCYPtAntiProtons->GetXaxis()->SetTitle("y");
9c0b9f24 1034 gHistMCYPtAntiProtons->SetStats(kTRUE);
1035 gHistMCYPtAntiProtons->GetXaxis()->SetTitleColor(1);
1036 fEfficiencyList->Add(gHistMCYPtAntiProtons);
1037
e13bbda6 1038 //MC secondary protons and antiprotons that come from weak decay for the reconstruction efficiency
1039 TH2D *gHistMCYPtProtonsFromWeak = new TH2D("gHistMCYPtProtonsFromWeak",
1040 ";;P_{T} [GeV/c]",
1041 fNBinsY,fMinY,fMaxY,
1042 fNBinsPt,fMinPt,fMaxPt);
e7df5638 1043 if(fProtonAnalysisBase->GetEtaMode())
e13bbda6 1044 gHistMCYPtProtonsFromWeak->GetXaxis()->SetTitle("#eta");
1045 else
1046 gHistMCYPtProtonsFromWeak->GetXaxis()->SetTitle("y");
1047 gHistMCYPtProtonsFromWeak->SetStats(kTRUE);
1048 gHistMCYPtProtonsFromWeak->GetXaxis()->SetTitleColor(1);
1049 fEfficiencyList->Add(gHistMCYPtProtonsFromWeak);
1050 TH2D *gHistMCYPtAntiProtonsFromWeak = new TH2D("gHistMCYPtAntiProtonsFromWeak",
1051 ";y;P_{T} [GeV/c]",
1052 fNBinsY,fMinY,fMaxY,
1053 fNBinsPt,fMinPt,fMaxPt);
e7df5638 1054 if(fProtonAnalysisBase->GetEtaMode())
e13bbda6 1055 gHistMCYPtAntiProtonsFromWeak->GetXaxis()->SetTitle("#eta");
1056 else
1057 gHistMCYPtAntiProtonsFromWeak->GetXaxis()->SetTitle("y");
1058 gHistMCYPtAntiProtonsFromWeak->SetStats(kTRUE);
1059 gHistMCYPtAntiProtonsFromWeak->GetXaxis()->SetTitleColor(1);
1060 fEfficiencyList->Add(gHistMCYPtAntiProtonsFromWeak);
1061
1062 //MC secondary protons and antiprotons that come from hadronic interactions for the reconstruction efficiency
1063 TH2D *gHistMCYPtProtonsFromHadronic = new TH2D("gHistMCYPtProtonsFromHadronic",
1064 ";;P_{T} [GeV/c]",
1065 fNBinsY,fMinY,fMaxY,
1066 fNBinsPt,fMinPt,fMaxPt);
e7df5638 1067 if(fProtonAnalysisBase->GetEtaMode())
e13bbda6 1068 gHistMCYPtProtonsFromHadronic->GetXaxis()->SetTitle("#eta");
1069 else
1070 gHistMCYPtProtonsFromHadronic->GetXaxis()->SetTitle("y");
1071 gHistMCYPtProtonsFromHadronic->SetStats(kTRUE);
1072 gHistMCYPtProtonsFromHadronic->GetXaxis()->SetTitleColor(1);
1073 fEfficiencyList->Add(gHistMCYPtProtonsFromHadronic);
1074 TH2D *gHistMCYPtAntiProtonsFromHadronic = new TH2D("gHistMCYPtAntiProtonsFromHadronic",
1075 ";y;P_{T} [GeV/c]",
1076 fNBinsY,fMinY,fMaxY,
1077 fNBinsPt,fMinPt,fMaxPt);
e7df5638 1078 if(fProtonAnalysisBase->GetEtaMode())
e13bbda6 1079 gHistMCYPtAntiProtonsFromHadronic->GetXaxis()->SetTitle("#eta");
1080 else
1081 gHistMCYPtAntiProtonsFromHadronic->GetXaxis()->SetTitle("y");
1082 gHistMCYPtAntiProtonsFromHadronic->SetStats(kTRUE);
1083 gHistMCYPtAntiProtonsFromHadronic->GetXaxis()->SetTitleColor(1);
1084 fEfficiencyList->Add(gHistMCYPtAntiProtonsFromHadronic);
1085
9c0b9f24 1086 //ESD primary protons and antiprotons for the reconstruction efficiency
1087 TH2D *gHistESDYPtProtons = new TH2D("gHistESDYPtProtons",
e13bbda6 1088 ";;P_{T} [GeV/c]",
9c0b9f24 1089 fNBinsY,fMinY,fMaxY,
1090 fNBinsPt,fMinPt,fMaxPt);
e7df5638 1091 if(fProtonAnalysisBase->GetEtaMode())
e13bbda6 1092 gHistESDYPtProtons->GetXaxis()->SetTitle("#eta");
1093 else
1094 gHistESDYPtProtons->GetXaxis()->SetTitle("y");
9c0b9f24 1095 gHistESDYPtProtons->SetStats(kTRUE);
1096 gHistESDYPtProtons->GetXaxis()->SetTitleColor(1);
1097 fEfficiencyList->Add(gHistESDYPtProtons);
1098 TH2D *gHistESDYPtAntiProtons = new TH2D("gHistESDYPtAntiProtons",
e13bbda6 1099 ";;P_{T} [GeV/c]",
9c0b9f24 1100 fNBinsY,fMinY,fMaxY,
1101 fNBinsPt,fMinPt,fMaxPt);
e7df5638 1102 if(fProtonAnalysisBase->GetEtaMode())
e13bbda6 1103 gHistESDYPtAntiProtons->GetXaxis()->SetTitle("#eta");
1104 else
1105 gHistESDYPtAntiProtons->GetXaxis()->SetTitle("y");
9c0b9f24 1106 gHistESDYPtAntiProtons->SetStats(kTRUE);
1107 gHistESDYPtAntiProtons->GetXaxis()->SetTitleColor(1);
1108 fEfficiencyList->Add(gHistESDYPtAntiProtons);
1109
e13bbda6 1110 //ESD (anti)protons from weak decays for the reconstruction efficiency
1111 TH2D *gHistESDYPtProtonsFromWeak = new TH2D("gHistESDYPtProtonsFromWeak",
1112 ";;P_{T} [GeV/c]",
1113 fNBinsY,fMinY,fMaxY,
1114 fNBinsPt,fMinPt,fMaxPt);
e7df5638 1115 if(fProtonAnalysisBase->GetEtaMode())
e13bbda6 1116 gHistESDYPtProtonsFromWeak->GetXaxis()->SetTitle("#eta");
1117 else
1118 gHistESDYPtProtonsFromWeak->GetXaxis()->SetTitle("y");
1119 gHistESDYPtProtonsFromWeak->SetStats(kTRUE);
1120 gHistESDYPtProtonsFromWeak->GetXaxis()->SetTitleColor(1);
1121 fEfficiencyList->Add(gHistESDYPtProtonsFromWeak);
1122 TH2D *gHistESDYPtAntiProtonsFromWeak = new TH2D("gHistESDYPtAntiProtonsFromWeak",
1123 ";;P_{T} [GeV/c]",
1124 fNBinsY,fMinY,fMaxY,
1125 fNBinsPt,fMinPt,fMaxPt);
e7df5638 1126 if(fProtonAnalysisBase->GetEtaMode())
e13bbda6 1127 gHistESDYPtAntiProtonsFromWeak->GetXaxis()->SetTitle("#eta");
1128 else
1129 gHistESDYPtAntiProtonsFromWeak->GetXaxis()->SetTitle("y");
1130 gHistESDYPtAntiProtonsFromWeak->SetStats(kTRUE);
1131 gHistESDYPtAntiProtonsFromWeak->GetXaxis()->SetTitleColor(1);
1132 fEfficiencyList->Add(gHistESDYPtAntiProtonsFromWeak);
1133
1134 //ESD (anti)protons from hadronic interactions for the reconstruction efficiency
1135 TH2D *gHistESDYPtProtonsFromHadronic = new TH2D("gHistESDYPtProtonsFromHadronic",
1136 ";;P_{T} [GeV/c]",
1137 fNBinsY,fMinY,fMaxY,
1138 fNBinsPt,fMinPt,fMaxPt);
e7df5638 1139 if(fProtonAnalysisBase->GetEtaMode())
e13bbda6 1140 gHistESDYPtProtonsFromHadronic->GetXaxis()->SetTitle("#eta");
1141 else
1142 gHistESDYPtProtonsFromHadronic->GetXaxis()->SetTitle("y");
1143 gHistESDYPtProtonsFromHadronic->SetStats(kTRUE);
1144 gHistESDYPtProtonsFromHadronic->GetXaxis()->SetTitleColor(1);
1145 fEfficiencyList->Add(gHistESDYPtProtonsFromHadronic);
1146 TH2D *gHistESDYPtAntiProtonsFromHadronic = new TH2D("gHistESDYPtAntiProtonsFromHadronic",
1147 ";;P_{T} [GeV/c]",
1148 fNBinsY,fMinY,fMaxY,
1149 fNBinsPt,fMinPt,fMaxPt);
e7df5638 1150 if(fProtonAnalysisBase->GetEtaMode())
e13bbda6 1151 gHistESDYPtAntiProtonsFromHadronic->GetXaxis()->SetTitle("#eta");
1152 else
1153 gHistESDYPtAntiProtonsFromHadronic->GetXaxis()->SetTitle("y");
1154 gHistESDYPtAntiProtonsFromHadronic->SetStats(kTRUE);
1155 gHistESDYPtAntiProtonsFromHadronic->GetXaxis()->SetTitleColor(1);
1156 fEfficiencyList->Add(gHistESDYPtAntiProtonsFromHadronic);
1157
1158
9c0b9f24 1159 //ESD reconstructed tracks that were initially protons for the PID efficiency
9a316962 1160 TH3D *gHistESDInitYPtProtons = new TH3D("gHistESDInitYPtProtons",
1161 ";;P_{T} [GeV/c];N_{points}",
9c0b9f24 1162 fNBinsY,fMinY,fMaxY,
9a316962 1163 fNBinsPt,fMinPt,fMaxPt,
0ececdf2 1164 50,0,200);
e7df5638 1165 if(fProtonAnalysisBase->GetEtaMode())
e13bbda6 1166 gHistESDInitYPtProtons->GetXaxis()->SetTitle("#eta");
1167 else
1168 gHistESDInitYPtProtons->GetXaxis()->SetTitle("y");
9c0b9f24 1169 gHistESDInitYPtProtons->SetStats(kTRUE);
1170 gHistESDInitYPtProtons->GetXaxis()->SetTitleColor(1);
1171 fEfficiencyList->Add(gHistESDInitYPtProtons);
1172
1173 //ESD reconstructed tracks that were initially protons and were identified as protons for the PID efficiency
9a316962 1174 TH3D *gHistESDIdYPtProtons = new TH3D("gHistESDIdYPtProtons",
1175 ";;P_{T} [GeV/c];N_{points}",
9c0b9f24 1176 fNBinsY,fMinY,fMaxY,
9a316962 1177 fNBinsPt,fMinPt,fMaxPt,
0ececdf2 1178 50,0,200);
e7df5638 1179 if(fProtonAnalysisBase->GetEtaMode())
e13bbda6 1180 gHistESDIdYPtProtons->GetXaxis()->SetTitle("#eta");
1181 else
1182 gHistESDIdYPtProtons->GetXaxis()->SetTitle("y");
9c0b9f24 1183 gHistESDIdYPtProtons->SetStats(kTRUE);
1184 gHistESDIdYPtProtons->GetXaxis()->SetTitleColor(1);
1185 fEfficiencyList->Add(gHistESDIdYPtProtons);
1186
1187 //ESD reconstructed tracks that were identified as protons for the PID contamination
9a316962 1188 TH3D *gHistESDRecIdYPtProtons = new TH3D("gHistESDRecIdYPtProtons",
1189 ";;P_{T} [GeV/c];N_{points}",
9c0b9f24 1190 fNBinsY,fMinY,fMaxY,
9a316962 1191 fNBinsPt,fMinPt,fMaxPt,
0ececdf2 1192 50,0,200);
e7df5638 1193 if(fProtonAnalysisBase->GetEtaMode())
e13bbda6 1194 gHistESDRecIdYPtProtons->GetXaxis()->SetTitle("#eta");
1195 else
1196 gHistESDRecIdYPtProtons->GetXaxis()->SetTitle("y");
9c0b9f24 1197 gHistESDRecIdYPtProtons->SetStats(kTRUE);
1198 gHistESDRecIdYPtProtons->GetXaxis()->SetTitleColor(1);
1199 fEfficiencyList->Add(gHistESDRecIdYPtProtons);
1200
1201 //ESD reconstructed tracks that were identified as protons but were initially not protons for the PID contamination
9a316962 1202 TH3D *gHistESDContamYPtProtons = new TH3D("gHistESDContamYPtProtons",
1203 ";;P_{T} [GeV/c];N_{points}",
e13bbda6 1204 fNBinsY,fMinY,fMaxY,
9a316962 1205 fNBinsPt,fMinPt,fMaxPt,
0ececdf2 1206 50,0,200);
e7df5638 1207 if(fProtonAnalysisBase->GetEtaMode())
e13bbda6 1208 gHistESDContamYPtProtons->GetXaxis()->SetTitle("#eta");
1209 else
1210 gHistESDContamYPtProtons->GetXaxis()->SetTitle("y");
9c0b9f24 1211 gHistESDContamYPtProtons->SetStats(kTRUE);
1212 gHistESDContamYPtProtons->GetXaxis()->SetTitleColor(1);
1213 fEfficiencyList->Add(gHistESDContamYPtProtons);
3e6c06f4 1214}
1215
5b8133c7 1216//____________________________________________________________________//
1217void AliProtonQAAnalysis::InitCutLists() {
1218 //Initialization of the cut lists
1219 //Adding each monitored object in each list
1220
1221 //Accepted cut list
1222 fAcceptedCutList = new TList();
1223 TH1F *gPrimaryProtonsClustersOnITSLayers = new TH1F("gPrimaryProtonsClustersOnITSLayers",";ITS Layer;Entries",6,0.5,6.5);
1224 fAcceptedCutList->Add(gPrimaryProtonsClustersOnITSLayers);
1225 TH1F *gPrimaryAntiProtonsClustersOnITSLayers = new TH1F("gPrimaryAntiProtonsClustersOnITSLayers",";ITS Layer;Entries",6,0.5,6.5);
1226 fAcceptedCutList->Add(gPrimaryAntiProtonsClustersOnITSLayers);
1227 TH1F *gSecondaryProtonsClustersOnITSLayers = new TH1F("gSecondaryProtonsClustersOnITSLayers",";ITS Layer;Entries",6,0.5,6.5);
1228 fAcceptedCutList->Add(gSecondaryProtonsClustersOnITSLayers);
1229 TH1F *gSecondaryAntiProtonsClustersOnITSLayers = new TH1F("gSecondaryAntiProtonsClustersOnITSLayers",";ITS Layer;Entries",6,0.5,6.5);
1230 fAcceptedCutList->Add(gSecondaryAntiProtonsClustersOnITSLayers);
1231
1232 TH1F *gPrimaryProtonsNClustersITS = new TH1F("gPrimaryProtonsNClustersITS",";ITS Layer;Entries",6,0.5,6.5);
1233 fAcceptedCutList->Add(gPrimaryProtonsNClustersITS);
1234 TH1F *gPrimaryAntiProtonsNClustersITS = new TH1F("gPrimaryAntiProtonsNClustersITS",";ITS Layer;Entries",6,0.5,6.5);
1235 fAcceptedCutList->Add(gPrimaryAntiProtonsNClustersITS);
1236 TH1F *gSecondaryProtonsNClustersITS = new TH1F("gSecondaryProtonsNClustersITS",";ITS Layer;Entries",6,0.5,6.5);
1237 fAcceptedCutList->Add(gSecondaryProtonsNClustersITS);
1238 TH1F *gSecondaryAntiProtonsNClustersITS = new TH1F("gSecondaryAntiProtonsNClustersITS",";ITS Layer;Entries",6,0.5,6.5);
1239 fAcceptedCutList->Add(gSecondaryAntiProtonsNClustersITS);
1240
1241 TH1F *gPrimaryProtonsChi2PerClusterITS = new TH1F("gPrimaryProtonsChi2PerClusterITS",
1242 ";x^{2}/N_{clusters} (ITS);Entries",
1243 100,0,20);
1244 fAcceptedCutList->Add(gPrimaryProtonsChi2PerClusterITS);
1245 TH1F *gPrimaryAntiProtonsChi2PerClusterITS = new TH1F("gPrimaryAntiProtonsChi2PerClusterITS",
1246 ";x^{2}/N_{clusters} (ITS);Entries",
1247 100,0,20);
1248 fAcceptedCutList->Add(gPrimaryAntiProtonsChi2PerClusterITS);
1249 TH1F *gSecondaryProtonsChi2PerClusterITS = new TH1F("gSecondaryProtonsChi2PerClusterITS",
1250 ";x^{2}/N_{clusters} (ITS);Entries",
1251 100,0,20);
1252 fAcceptedCutList->Add(gSecondaryProtonsChi2PerClusterITS);
1253 TH1F *gSecondaryAntiProtonsChi2PerClusterITS = new TH1F("gSecondaryAntiProtonsChi2PerClusterITS",
1254 ";x^{2}/N_{clusters} (ITS);Entries",
1255 100,0,20);
1256 fAcceptedCutList->Add(gSecondaryAntiProtonsChi2PerClusterITS);
1257
1258 TH1F *gPrimaryProtonsConstrainChi2 = new TH1F("gPrimaryProtonsConstrainChi2",
1259 ";Log_{10}(#chi^{2});Entries",
1260 100,-10,10);
1261 fAcceptedCutList->Add(gPrimaryProtonsConstrainChi2);
1262 TH1F *gPrimaryAntiProtonsConstrainChi2 = new TH1F("gPrimaryAntiProtonsConstrainChi2",
1263 ";Log_{10}(#chi^{2});Entries",
1264 100,-10,10);
1265 fAcceptedCutList->Add(gPrimaryAntiProtonsConstrainChi2);
1266 TH1F *gSecondaryProtonsConstrainChi2 = new TH1F("gSecondaryProtonsConstrainChi2",
1267 ";Log_{10}(#chi^{2});Entries",
1268 100,-10,10);
1269 fAcceptedCutList->Add(gSecondaryProtonsConstrainChi2);
1270 TH1F *gSecondaryAntiProtonsConstrainChi2 = new TH1F("gSecondaryAntiProtonsConstrainChi2",
1271 ";Log_{10}(#chi^{2});Entries",
1272 100,-10,10);
1273 fAcceptedCutList->Add(gSecondaryAntiProtonsConstrainChi2);
1274
1275 TH1F *gPrimaryProtonsTPCClusters = new TH1F("gPrimaryProtonsTPCClusters",
1276 ";N_{clusters} (TPC);Entries",
1277 100,0,200);
1278 fAcceptedCutList->Add(gPrimaryProtonsTPCClusters);
1279 TH1F *gPrimaryAntiProtonsTPCClusters = new TH1F("gPrimaryAntiProtonsTPCClusters",
1280 ";N_{clusters} (TPC);Entries",
1281 100,0,200);
1282 fAcceptedCutList->Add(gPrimaryAntiProtonsTPCClusters);
1283 TH1F *gSecondaryProtonsTPCClusters = new TH1F("gSecondaryProtonsTPCClusters",
1284 ";N_{clusters} (TPC);Entries",
1285 100,0,200);
1286 fAcceptedCutList->Add(gSecondaryProtonsTPCClusters);
1287 TH1F *gSecondaryAntiProtonsTPCClusters = new TH1F("gSecondaryAntiProtonsTPCClusters",
1288 ";N_{clusters} (TPC);Entries",
1289 100,0,200);
1290 fAcceptedCutList->Add(gSecondaryAntiProtonsTPCClusters);
1291
1292 TH1F *gPrimaryProtonsChi2PerClusterTPC = new TH1F("gPrimaryProtonsChi2PerClusterTPC",
1293 ";x^{2}/N_{clusters} (TPC);Entries",
1294 100,0,4);
1295 fAcceptedCutList->Add(gPrimaryProtonsChi2PerClusterTPC);
1296 TH1F *gPrimaryAntiProtonsChi2PerClusterTPC = new TH1F("gPrimaryAntiProtonsChi2PerClusterTPC",
1297 ";x^{2}/N_{clusters} (TPC);Entries",
1298 100,0,4);
1299 fAcceptedCutList->Add(gPrimaryAntiProtonsChi2PerClusterTPC);
1300 TH1F *gSecondaryProtonsChi2PerClusterTPC = new TH1F("gSecondaryProtonsChi2PerClusterTPC",
1301 ";x^{2}/N_{clusters} (TPC);Entries",
1302 100,0,4);
1303 fAcceptedCutList->Add(gSecondaryProtonsChi2PerClusterTPC);
1304 TH1F *gSecondaryAntiProtonsChi2PerClusterTPC = new TH1F("gSecondaryAntiProtonsChi2PerClusterTPC",
1305 ";x^{2}/N_{clusters} (TPC);Entries",
1306 100,0,4);
1307 fAcceptedCutList->Add(gSecondaryAntiProtonsChi2PerClusterTPC);
1308
1309 TH1F *gPrimaryProtonsExtCov11 = new TH1F("gPrimaryProtonsExtCov11",
1310 ";#sigma_{y} [cm];Entries",
1311 100,0,4);
1312 fAcceptedCutList->Add(gPrimaryProtonsExtCov11);
1313 TH1F *gPrimaryAntiProtonsExtCov11 = new TH1F("gPrimaryAntiProtonsExtCov11",
1314 ";#sigma_{y} [cm];Entries",
1315 100,0,4);
1316 fAcceptedCutList->Add(gPrimaryAntiProtonsExtCov11);
1317 TH1F *gSecondaryProtonsExtCov11 = new TH1F("gSecondaryProtonsExtCov11",
1318 ";#sigma_{y} [cm];Entries",
1319 100,0,4);
1320 fAcceptedCutList->Add(gSecondaryProtonsExtCov11);
1321 TH1F *gSecondaryAntiProtonsExtCov11 = new TH1F("gSecondaryAntiProtonsExtCov11",
1322 ";#sigma_{y} [cm];Entries",
1323 100,0,4);
1324 fAcceptedCutList->Add(gSecondaryAntiProtonsExtCov11);
1325
1326
1327 TH1F *gPrimaryProtonsExtCov22 = new TH1F("gPrimaryProtonsExtCov22",
1328 ";#sigma_{z} [cm];Entries",
1329 100,0,4);
1330 fAcceptedCutList->Add(gPrimaryProtonsExtCov22);
1331 TH1F *gPrimaryAntiProtonsExtCov22 = new TH1F("gPrimaryAntiProtonsExtCov22",
1332 ";#sigma_{z} [cm];Entries",
1333 100,0,4);
1334 fAcceptedCutList->Add(gPrimaryAntiProtonsExtCov22);
1335 TH1F *gSecondaryProtonsExtCov22 = new TH1F("gSecondaryProtonsExtCov22",
1336 ";#sigma_{z} [cm];Entries",
1337 100,0,4);
1338 fAcceptedCutList->Add(gSecondaryProtonsExtCov22);
1339 TH1F *gSecondaryAntiProtonsExtCov22 = new TH1F("gSecondaryAntiProtonsExtCov22",
1340 ";#sigma_{z} [cm];Entries",
1341 100,0,4);
1342 fAcceptedCutList->Add(gSecondaryAntiProtonsExtCov22);
1343
1344
1345 TH1F *gPrimaryProtonsExtCov33 = new TH1F("gPrimaryProtonsExtCov33",
1346 ";#sigma_{sin(#phi)};Entries",
1347 100,0,4);
1348 fAcceptedCutList->Add(gPrimaryProtonsExtCov33);
1349 TH1F *gPrimaryAntiProtonsExtCov33 = new TH1F("gPrimaryAntiProtonsExtCov33",
1350 ";#sigma_{sin(#phi)};Entries",
1351 100,0,4);
1352 fAcceptedCutList->Add(gPrimaryAntiProtonsExtCov33);
1353 TH1F *gSecondaryProtonsExtCov33 = new TH1F("gSecondaryProtonsExtCov33",
1354 ";#sigma_{sin(#phi)};Entries",
1355 100,0,4);
1356 fAcceptedCutList->Add(gSecondaryProtonsExtCov33);
1357 TH1F *gSecondaryAntiProtonsExtCov33 = new TH1F("gSecondaryAntiProtonsExtCov33",
1358 ";#sigma_{sin(#phi)};Entries",
1359 100,0,4);
1360 fAcceptedCutList->Add(gSecondaryAntiProtonsExtCov33);
1361
1362
1363 TH1F *gPrimaryProtonsExtCov44 = new TH1F("gPrimaryProtonsExtCov44",
1364 ";#sigma_{tan(#lambda)};Entries",
1365 100,0,4);
1366 fAcceptedCutList->Add(gPrimaryProtonsExtCov44);
1367 TH1F *gPrimaryAntiProtonsExtCov44 = new TH1F("gPrimaryAntiProtonsExtCov44",
1368 ";#sigma_{tan(#lambda)};Entries",
1369 100,0,4);
1370 fAcceptedCutList->Add(gPrimaryAntiProtonsExtCov44);
1371 TH1F *gSecondaryProtonsExtCov44 = new TH1F("gSecondaryProtonsExtCov44",
1372 ";#sigma_{tan(#lambda)};Entries",
1373 100,0,4);
1374 fAcceptedCutList->Add(gSecondaryProtonsExtCov44);
1375 TH1F *gSecondaryAntiProtonsExtCov44 = new TH1F("gSecondaryAntiProtonsExtCov44",
1376 ";#sigma_{tan(#lambda)};Entries",
1377 100,0,4);
1378 fAcceptedCutList->Add(gSecondaryAntiProtonsExtCov44);
1379
1380
1381 TH1F *gPrimaryProtonsExtCov55 = new TH1F("gPrimaryProtonsExtCov55",
1382 ";#sigma_{1/P_{T}} [GeV/c]^{-1};Entries",
1383 100,0,4);
1384 fAcceptedCutList->Add(gPrimaryProtonsExtCov55);
1385 TH1F *gPrimaryAntiProtonsExtCov55 = new TH1F("gPrimaryAntiProtonsExtCov55",
1386 ";#sigma_{1/P_{T}} [GeV/c]^{-1};Entries",
1387 100,0,4);
1388 fAcceptedCutList->Add(gPrimaryAntiProtonsExtCov55);
1389 TH1F *gSecondaryProtonsExtCov55 = new TH1F("gSecondaryProtonsExtCov55",
1390 ";#sigma_{1/P_{T}} [GeV/c]^{-1};Entries",
1391 100,0,4);
1392 fAcceptedCutList->Add(gSecondaryProtonsExtCov55);
1393 TH1F *gSecondaryAntiProtonsExtCov55 = new TH1F("gSecondaryAntiProtonsExtCov55",
1394 ";#sigma_{1/P_{T}} [GeV/c]^{-1};Entries",
1395 100,0,4);
1396 fAcceptedCutList->Add(gSecondaryAntiProtonsExtCov55);
5661e210 1397 //eta-phi-Nclusters
1398 TH3D *gHistEtaPhiNClustersPrimaryProtonsPass = new TH3D("gHistEtaPhiNClustersPrimaryProtonsPass",
1399 "Accepted primary protons;#eta;#phi;N_{clusters}(TPC)",
1400 fNBinsY,fMinY,fMaxY,
1401 100,0,360,
1402 100,0,200);
1403 gHistEtaPhiNClustersPrimaryProtonsPass->SetStats(kTRUE);
1404 gHistEtaPhiNClustersPrimaryProtonsPass->GetXaxis()->SetTitleColor(1);
1405 fAcceptedCutList->Add(gHistEtaPhiNClustersPrimaryProtonsPass);//eta-phi of primary accepted ESD protons
1406 TH3D *gHistEtaPhiNClustersPrimaryAntiProtonsPass = new TH3D("gHistEtaPhiNClustersPrimaryAntiProtonsPass",
1407 "Accepted primary antiprotons;#eta;#phi;N_{clusters}(TPC)",
1408 fNBinsY,fMinY,fMaxY,
1409 100,0,360,
1410 100,0,200);
1411 gHistEtaPhiNClustersPrimaryAntiProtonsPass->SetStats(kTRUE);
1412 gHistEtaPhiNClustersPrimaryAntiProtonsPass->GetXaxis()->SetTitleColor(1);
1413 fAcceptedCutList->Add(gHistEtaPhiNClustersPrimaryAntiProtonsPass);//eta-phi of primary accepted ESD antiprotons
1414 TH3D *gHistEtaPhiNClustersSecondaryProtonsPass = new TH3D("gHistEtaPhiNClustersSecondaryProtonsPass",
1415 "Accepted secondary protons;#eta;#phi;N_{clusters}(TPC)",
1416 fNBinsY,fMinY,fMaxY,
1417 100,0,360,
1418 100,0,200);
1419 gHistEtaPhiNClustersSecondaryProtonsPass->SetStats(kTRUE);
1420 gHistEtaPhiNClustersSecondaryProtonsPass->GetXaxis()->SetTitleColor(1);
1421 fAcceptedCutList->Add(gHistEtaPhiNClustersSecondaryProtonsPass);//eta-phi of secondary accepted ESD protons
1422 TH3D *gHistEtaPhiNClustersSecondaryAntiProtonsPass = new TH3D("gHistEtaPhiNClustersSecondaryAntiProtonsPass",
1423 "Accepted secondary antiprotons;#eta;#phi;N_{clusters}(TPC)",
1424 fNBinsY,fMinY,fMaxY,
1425 100,0,360,
1426 100,0,200);
1427 gHistEtaPhiNClustersSecondaryAntiProtonsPass->SetStats(kTRUE);
1428 gHistEtaPhiNClustersSecondaryAntiProtonsPass->GetXaxis()->SetTitleColor(1);
1429 fAcceptedCutList->Add(gHistEtaPhiNClustersSecondaryAntiProtonsPass);//eta-phi of secondary accepted ESD antiprotons
57e749bb 1430 //eta-phi-chi^2 per TPC cluster
1431 TH3D *gHistEtaPhiChi2PerTPCClusterPrimaryProtonsPass = new TH3D("gHistEtaPhiChi2PerTPCClusterPrimaryProtonsPass",
1432 "Accepted primary protons;#eta;#phi;#chi^{2}/N_{clusters}(TPC)",
1433 fNBinsY,fMinY,fMaxY,
1434 100,0,360,
1435 100,0,4);
1436 gHistEtaPhiChi2PerTPCClusterPrimaryProtonsPass->SetStats(kTRUE);
1437 gHistEtaPhiChi2PerTPCClusterPrimaryProtonsPass->GetXaxis()->SetTitleColor(1);
1438 fAcceptedCutList->Add(gHistEtaPhiChi2PerTPCClusterPrimaryProtonsPass);//eta-phi of primary accepted ESD protons
1439 TH3D *gHistEtaPhiChi2PerTPCClusterPrimaryAntiProtonsPass = new TH3D("gHistEtaPhiChi2PerTPCClusterPrimaryAntiProtonsPass",
1440 "Accepted primary antiprotons;#eta;#phi;#chi^{2}/N_{clusters}(TPC)",
1441 fNBinsY,fMinY,fMaxY,
1442 100,0,360,
1443 100,0,4);
1444 gHistEtaPhiChi2PerTPCClusterPrimaryAntiProtonsPass->SetStats(kTRUE);
1445 gHistEtaPhiChi2PerTPCClusterPrimaryAntiProtonsPass->GetXaxis()->SetTitleColor(1);
1446 fAcceptedCutList->Add(gHistEtaPhiChi2PerTPCClusterPrimaryAntiProtonsPass);//eta-phi of primary accepted ESD antiprotons
1447 TH3D *gHistEtaPhiChi2PerTPCClusterSecondaryProtonsPass = new TH3D("gHistEtaPhiChi2PerTPCClusterSecondaryProtonsPass",
1448 "Accepted secondary protons;#eta;#phi;#chi^{2}/N_{clusters}(TPC)",
1449 fNBinsY,fMinY,fMaxY,
1450 100,0,360,
1451 100,0,4);
1452 gHistEtaPhiChi2PerTPCClusterSecondaryProtonsPass->SetStats(kTRUE);
1453 gHistEtaPhiChi2PerTPCClusterSecondaryProtonsPass->GetXaxis()->SetTitleColor(1);
1454 fAcceptedCutList->Add(gHistEtaPhiChi2PerTPCClusterSecondaryProtonsPass);//eta-phi of secondary accepted ESD protons
1455 TH3D *gHistEtaPhiChi2PerTPCClusterSecondaryAntiProtonsPass = new TH3D("gHistEtaPhiChi2PerTPCClusterSecondaryAntiProtonsPass",
1456 "Accepted secondary antiprotons;#eta;#phi;#chi^{2}/N_{clusters}(TPC)",
1457 fNBinsY,fMinY,fMaxY,
1458 100,0,360,
1459 100,0,4);
1460 gHistEtaPhiChi2PerTPCClusterSecondaryAntiProtonsPass->SetStats(kTRUE);
1461 gHistEtaPhiChi2PerTPCClusterSecondaryAntiProtonsPass->GetXaxis()->SetTitleColor(1);
1462 fAcceptedCutList->Add(gHistEtaPhiChi2PerTPCClusterSecondaryAntiProtonsPass);//eta-phi of secondary accepted ESD antiprotons
1463 //eta-phi-number of TPC points for the dE/dx
1464 TH3D *gHistEtaPhiTPCdEdxNPointsPrimaryProtonsPass = new TH3D("gHistEtaPhiTPCdEdxNPointsPrimaryProtonsPass",
724d7ba9 1465 "Accepted primary protons;#eta;#phi;N_{points}(TPC)",
57e749bb 1466 fNBinsY,fMinY,fMaxY,
1467 100,0,360,
1468 100,0,200);
1469 gHistEtaPhiTPCdEdxNPointsPrimaryProtonsPass->SetStats(kTRUE);
1470 gHistEtaPhiTPCdEdxNPointsPrimaryProtonsPass->GetXaxis()->SetTitleColor(1);
1471 fAcceptedCutList->Add(gHistEtaPhiTPCdEdxNPointsPrimaryProtonsPass);//eta-phi of primary accepted ESD protons
1472 TH3D *gHistEtaPhiTPCdEdxNPointsPrimaryAntiProtonsPass = new TH3D("gHistEtaPhiTPCdEdxNPointsPrimaryAntiProtonsPass",
724d7ba9 1473 "Accepted primary antiprotons;#eta;#phi;N_{points}(TPC)",
57e749bb 1474 fNBinsY,fMinY,fMaxY,
1475 100,0,360,
1476 100,0,200);
1477 gHistEtaPhiTPCdEdxNPointsPrimaryAntiProtonsPass->SetStats(kTRUE);
1478 gHistEtaPhiTPCdEdxNPointsPrimaryAntiProtonsPass->GetXaxis()->SetTitleColor(1);
1479 fAcceptedCutList->Add(gHistEtaPhiTPCdEdxNPointsPrimaryAntiProtonsPass);//eta-phi of primary accepted ESD antiprotons
1480 TH3D *gHistEtaPhiTPCdEdxNPointsSecondaryProtonsPass = new TH3D("gHistEtaPhiTPCdEdxNPointsSecondaryProtonsPass",
724d7ba9 1481 "Accepted secondary protons;#eta;#phi;N_{points}(TPC)",
57e749bb 1482 fNBinsY,fMinY,fMaxY,
1483 100,0,360,
1484 100,0,200);
1485 gHistEtaPhiTPCdEdxNPointsSecondaryProtonsPass->SetStats(kTRUE);
1486 gHistEtaPhiTPCdEdxNPointsSecondaryProtonsPass->GetXaxis()->SetTitleColor(1);
1487 fAcceptedCutList->Add(gHistEtaPhiTPCdEdxNPointsSecondaryProtonsPass);//eta-phi of secondary accepted ESD protons
1488 TH3D *gHistEtaPhiTPCdEdxNPointsSecondaryAntiProtonsPass = new TH3D("gHistEtaPhiTPCdEdxNPointsSecondaryAntiProtonsPass",
724d7ba9 1489 "Accepted secondary antiprotons;#eta;#phi;N_{points}(TPC)",
57e749bb 1490 fNBinsY,fMinY,fMaxY,
1491 100,0,360,
1492 100,0,200);
1493 gHistEtaPhiTPCdEdxNPointsSecondaryAntiProtonsPass->SetStats(kTRUE);
1494 gHistEtaPhiTPCdEdxNPointsSecondaryAntiProtonsPass->GetXaxis()->SetTitleColor(1);
1495 fAcceptedCutList->Add(gHistEtaPhiTPCdEdxNPointsSecondaryAntiProtonsPass);//eta-phi of secondary accepted ESD antiprotons
1496
1497 TH1F *gPrimaryProtonsNPointsTPCdEdx = new TH1F("gPrimaryProtonsNPointsTPCdEdx",
1498 ";N_{points} (TPC-dE/dx);Entries",
1499 100,0,200);
1500 fAcceptedCutList->Add(gPrimaryProtonsNPointsTPCdEdx);
1501 TH1F *gPrimaryAntiProtonsNPointsTPCdEdx = new TH1F("gPrimaryAntiProtonsNPointsTPCdEdx",
1502 ";N_{points} (TPC-dE/dx);Entries",
1503 100,0,200);
1504 fAcceptedCutList->Add(gPrimaryAntiProtonsNPointsTPCdEdx);
1505 TH1F *gSecondaryProtonsNPointsTPCdEdx = new TH1F("gSecondaryProtonsNPointsTPCdEdx",
1506 ";N_{points} (TPC-dE/dx);Entries",
1507 100,0,200);
1508 fAcceptedCutList->Add(gSecondaryProtonsNPointsTPCdEdx);
1509 TH1F *gSecondaryAntiProtonsNPointsTPCdEdx = new TH1F("gSecondaryAntiProtonsNPointsTPCdEdx",
1510 ";N_{points} (TPC-dE/dx);Entries",
1511 100,0,200);
1512 fAcceptedCutList->Add(gSecondaryAntiProtonsNPointsTPCdEdx);
5661e210 1513
1514 //Rejected cut list
1515 fRejectedCutList = new TList();
1516 //eta-phi-Nclusters
1517 TH3D *gHistEtaPhiNClustersPrimaryProtonsReject = new TH3D("gHistEtaPhiNClustersPrimaryProtonsReject",
1518 "Rejected primary protons;#eta;#phi;N_{clusters}(TPC)",
1519 fNBinsY,fMinY,fMaxY,
1520 100,0,360,
1521 100,0,200);
1522 gHistEtaPhiNClustersPrimaryProtonsReject->SetStats(kTRUE);
1523 gHistEtaPhiNClustersPrimaryProtonsReject->GetXaxis()->SetTitleColor(1);
1524 fRejectedCutList->Add(gHistEtaPhiNClustersPrimaryProtonsReject);//eta-phi of primary rejected ESD protons
1525 TH3D *gHistEtaPhiNClustersPrimaryAntiProtonsReject = new TH3D("gHistEtaPhiNClustersPrimaryAntiProtonsReject",
1526 "Rejected primary antiprotons;#eta;#phi;N_{clusters}(TPC)",
1527 fNBinsY,fMinY,fMaxY,
1528 100,0,360,
1529 100,0,200);
1530 gHistEtaPhiNClustersPrimaryAntiProtonsReject->SetStats(kTRUE);
1531 gHistEtaPhiNClustersPrimaryAntiProtonsReject->GetXaxis()->SetTitleColor(1);
1532 fRejectedCutList->Add(gHistEtaPhiNClustersPrimaryAntiProtonsReject);//eta-phi of primary rejected ESD antiprotons
1533 TH3D *gHistEtaPhiNClustersSecondaryProtonsReject = new TH3D("gHistEtaPhiNClustersSecondaryProtonsReject",
1534 "Rejected secondary protons;#eta;#phi;N_{clusters}(TPC)",
1535 fNBinsY,fMinY,fMaxY,
1536 100,0,360,
1537 100,0,200);
1538 gHistEtaPhiNClustersSecondaryProtonsReject->SetStats(kTRUE);
1539 gHistEtaPhiNClustersSecondaryProtonsReject->GetXaxis()->SetTitleColor(1);
1540 fRejectedCutList->Add(gHistEtaPhiNClustersSecondaryProtonsReject);//eta-phi of secondary rejected ESD protons
1541 TH3D *gHistEtaPhiNClustersSecondaryAntiProtonsReject = new TH3D("gHistEtaPhiNClustersSecondaryAntiProtonsReject",
1542 "Rejected secondary antiprotons;#eta;#phi;N_{clusters}(TPC)",
1543 fNBinsY,fMinY,fMaxY,
1544 100,0,360,
1545 100,0,200);
1546 gHistEtaPhiNClustersSecondaryAntiProtonsReject->SetStats(kTRUE);
1547 gHistEtaPhiNClustersSecondaryAntiProtonsReject->GetXaxis()->SetTitleColor(1);
1548 fRejectedCutList->Add(gHistEtaPhiNClustersSecondaryAntiProtonsReject);//eta-phi of secondary rejected ESD antiprotons
57e749bb 1549 //eta-phi-chi^2 per TPC cluster
1550 TH3D *gHistEtaPhiChi2PerTPCClusterPrimaryProtonsReject = new TH3D("gHistEtaPhiChi2PerTPCClusterPrimaryProtonsReject",
1551 "Rejected primary protons;#eta;#phi;#chi^{2}/N_{clusters}(TPC)",
1552 fNBinsY,fMinY,fMaxY,
1553 100,0,360,
1554 100,0,4);
1555 gHistEtaPhiChi2PerTPCClusterPrimaryProtonsReject->SetStats(kTRUE);
1556 gHistEtaPhiChi2PerTPCClusterPrimaryProtonsReject->GetXaxis()->SetTitleColor(1);
1557 fRejectedCutList->Add(gHistEtaPhiChi2PerTPCClusterPrimaryProtonsReject);//eta-phi of primary rejected ESD protons
1558 TH3D *gHistEtaPhiChi2PerTPCClusterPrimaryAntiProtonsReject = new TH3D("gHistEtaPhiChi2PerTPCClusterPrimaryAntiProtonsReject",
1559 "Rejected primary antiprotons;#eta;#phi;#chi^{2}/N_{clusters}(TPC)",
1560 fNBinsY,fMinY,fMaxY,
1561 100,0,360,
1562 100,0,4);
1563 gHistEtaPhiChi2PerTPCClusterPrimaryAntiProtonsReject->SetStats(kTRUE);
1564 gHistEtaPhiChi2PerTPCClusterPrimaryAntiProtonsReject->GetXaxis()->SetTitleColor(1);
1565 fRejectedCutList->Add(gHistEtaPhiChi2PerTPCClusterPrimaryAntiProtonsReject);//eta-phi of primary rejected ESD antiprotons
1566 TH3D *gHistEtaPhiChi2PerTPCClusterSecondaryProtonsReject = new TH3D("gHistEtaPhiChi2PerTPCClusterSecondaryProtonsReject",
1567 "Rejected secondary protons;#eta;#phi;#chi^{2}/N_{clusters}(TPC)",
1568 fNBinsY,fMinY,fMaxY,
1569 100,0,360,
1570 100,0,4);
1571 gHistEtaPhiChi2PerTPCClusterSecondaryProtonsReject->SetStats(kTRUE);
1572 gHistEtaPhiChi2PerTPCClusterSecondaryProtonsReject->GetXaxis()->SetTitleColor(1);
1573 fRejectedCutList->Add(gHistEtaPhiChi2PerTPCClusterSecondaryProtonsReject);//eta-phi of secondary rejected ESD protons
1574 TH3D *gHistEtaPhiChi2PerTPCClusterSecondaryAntiProtonsReject = new TH3D("gHistEtaPhiChi2PerTPCClusterSecondaryAntiProtonsReject",
1575 "Rejected secondary antiprotons;#eta;#phi;#chi^{2}/N_{clusters}(TPC)",
1576 fNBinsY,fMinY,fMaxY,
1577 100,0,360,
1578 100,0,4);
1579 gHistEtaPhiChi2PerTPCClusterSecondaryAntiProtonsReject->SetStats(kTRUE);
1580 gHistEtaPhiChi2PerTPCClusterSecondaryAntiProtonsReject->GetXaxis()->SetTitleColor(1);
1581 fRejectedCutList->Add(gHistEtaPhiChi2PerTPCClusterSecondaryAntiProtonsReject);//eta-phi of secondary rejected ESD antiprotons
1582 //eta-phi-number of TPC points for the dE/dx
1583 TH3D *gHistEtaPhiTPCdEdxNPointsPrimaryProtonsReject = new TH3D("gHistEtaPhiTPCdEdxNPointsPrimaryProtonsReject",
724d7ba9 1584 "Rejected primary protons;#eta;#phi;N_{points}(TPC)",
57e749bb 1585 fNBinsY,fMinY,fMaxY,
1586 100,0,360,
1587 100,0,200);
1588 gHistEtaPhiTPCdEdxNPointsPrimaryProtonsReject->SetStats(kTRUE);
1589 gHistEtaPhiTPCdEdxNPointsPrimaryProtonsReject->GetXaxis()->SetTitleColor(1);
1590 fRejectedCutList->Add(gHistEtaPhiTPCdEdxNPointsPrimaryProtonsReject);//eta-phi of primary rejected ESD protons
1591 TH3D *gHistEtaPhiTPCdEdxNPointsPrimaryAntiProtonsReject = new TH3D("gHistEtaPhiTPCdEdxNPointsPrimaryAntiProtonsReject",
724d7ba9 1592 "Rejected primary antiprotons;#eta;#phi;N_{points}(TPC)",
57e749bb 1593 fNBinsY,fMinY,fMaxY,
1594 100,0,360,
1595 100,0,200);
1596 gHistEtaPhiTPCdEdxNPointsPrimaryAntiProtonsReject->SetStats(kTRUE);
1597 gHistEtaPhiTPCdEdxNPointsPrimaryAntiProtonsReject->GetXaxis()->SetTitleColor(1);
1598 fRejectedCutList->Add(gHistEtaPhiTPCdEdxNPointsPrimaryAntiProtonsReject);//eta-phi of primary rejected ESD antiprotons
1599 TH3D *gHistEtaPhiTPCdEdxNPointsSecondaryProtonsReject = new TH3D("gHistEtaPhiTPCdEdxNPointsSecondaryProtonsReject",
724d7ba9 1600 "Rejected secondary protons;#eta;#phi;N_{points}(TPC)",
57e749bb 1601 fNBinsY,fMinY,fMaxY,
1602 100,0,360,
1603 100,0,200);
1604 gHistEtaPhiTPCdEdxNPointsSecondaryProtonsReject->SetStats(kTRUE);
1605 gHistEtaPhiTPCdEdxNPointsSecondaryProtonsReject->GetXaxis()->SetTitleColor(1);
1606 fRejectedCutList->Add(gHistEtaPhiTPCdEdxNPointsSecondaryProtonsReject);//eta-phi of secondary rejected ESD protons
1607 TH3D *gHistEtaPhiTPCdEdxNPointsSecondaryAntiProtonsReject = new TH3D("gHistEtaPhiTPCdEdxNPointsSecondaryAntiProtonsReject",
724d7ba9 1608 "Rejected secondary antiprotons;#eta;#phi;N_{points}(TPC)",
57e749bb 1609 fNBinsY,fMinY,fMaxY,
1610 100,0,360,
1611 100,0,200);
1612 gHistEtaPhiTPCdEdxNPointsSecondaryAntiProtonsReject->SetStats(kTRUE);
1613 gHistEtaPhiTPCdEdxNPointsSecondaryAntiProtonsReject->GetXaxis()->SetTitleColor(1);
1614 fRejectedCutList->Add(gHistEtaPhiTPCdEdxNPointsSecondaryAntiProtonsReject);//eta-phi of secondary rejected ESD antiprotons
5b8133c7 1615
1616 //DCA list
1617 fAcceptedDCAList = new TList();
1618 TH1F *gPrimaryProtonsDCAXY = new TH1F("gPrimaryProtonsDCAXY",
1619 ";DCA_{xy} [cm];Entries",
1620 100,0,20);
1621 fAcceptedDCAList->Add(gPrimaryProtonsDCAXY);
1622 TH1F *gPrimaryAntiProtonsDCAXY = new TH1F("gPrimaryAntiProtonsDCAXY",
1623 ";DCA_{xy} [cm];Entries",
1624 100,0,20);
1625 fAcceptedDCAList->Add(gPrimaryAntiProtonsDCAXY);
1626 TH1F *gSecondaryProtonsDCAXY = new TH1F("gSecondaryProtonsDCAXY",
1627 ";DCA_{xy} [cm];Entries",
1628 100,0,20);
1629 fAcceptedDCAList->Add(gSecondaryProtonsDCAXY);
1630 TH1F *gSecondaryAntiProtonsDCAXY = new TH1F("gSecondaryAntiProtonsDCAXY",
1631 ";DCA_{xy} [cm];Entries",
1632 100,0,20);
1633
1634 fAcceptedDCAList->Add(gSecondaryAntiProtonsDCAXY);
1635 TH1F *gPrimaryProtonsDCAZ = new TH1F("gPrimaryProtonsDCAZ",
1636 ";DCA_{z} [cm];Entries",
1637 100,0,20);
1638 fAcceptedDCAList->Add(gPrimaryProtonsDCAZ);
1639 TH1F *gPrimaryAntiProtonsDCAZ = new TH1F("gPrimaryAntiProtonsDCAZ",
1640 ";DCA_{z} [cm];Entries",
1641 100,0,20);
1642 fAcceptedDCAList->Add(gPrimaryAntiProtonsDCAZ);
1643 TH1F *gSecondaryProtonsDCAZ = new TH1F("gSecondaryProtonsDCAZ",
1644 ";DCA_{z} [cm];Entries",
1645 100,0,20);
1646 fAcceptedDCAList->Add(gSecondaryProtonsDCAZ);
1647 TH1F *gSecondaryAntiProtonsDCAZ = new TH1F("gSecondaryAntiProtonsDCAZ",
1648 ";DCA_{z} [cm];Entries",
1649 100,0,20);
1650 fAcceptedDCAList->Add(gSecondaryAntiProtonsDCAZ);
1651
1652 TH1F *gPrimaryProtonsSigmaToVertex = new TH1F("gPrimaryProtonsSigmaToVertex",
1653 ";#sigma_{Vertex};Entries",
1654 100,0,10);
1655 fAcceptedDCAList->Add(gPrimaryProtonsSigmaToVertex);
1656 TH1F *gPrimaryAntiProtonsSigmaToVertex = new TH1F("gPrimaryAntiProtonsSigmaToVertex",
1657 ";#sigma_{Vertex};Entries",
1658 100,0,10);
1659 fAcceptedDCAList->Add(gPrimaryAntiProtonsSigmaToVertex);
1660 TH1F *gSecondaryProtonsSigmaToVertex = new TH1F("gSecondaryProtonsSigmaToVertex",
1661 ";#sigma_{Vertex};Entries",
1662 100,0,10);
1663 fAcceptedDCAList->Add(gSecondaryProtonsSigmaToVertex);
1664 TH1F *gSecondaryAntiProtonsSigmaToVertex = new TH1F("gSecondaryAntiProtonsSigmaToVertex",
1665 ";#sigma_{Vertex};Entries",
1666 100,0,10);
1667 fAcceptedDCAList->Add(gSecondaryAntiProtonsSigmaToVertex);
1668
1669}
1670
75decd62 1671//____________________________________________________________________//
1672void AliProtonQAAnalysis::InitVertexQA() {
1673 //Initializes the Vertex QA histograms
1674 fQAVertexList = new TList();
1675 fQAVertexList->SetName("fQAVertexList");
1676
5661e210 1677 //Gen. multiplicity bins
e7df5638 1678 //Float_t xBins[24] = {0,1,2,4,6,8,10,15,20,30,40,50,75,100,
1679 //200,300,400,500,750,1000,1500,2000,2500,3000};
75decd62 1680 //MC primary multiplicity (vertex efficiency calculation)
4042c3a2 1681 TH1F *gHistMCPrimaryVz = new TH1F("gHistMCPrimaryVz",
1682 ";V_{z} (gen.) [cm];Entries",
1683 40,-20.,20.);
1684 fQAVertexList->Add(gHistMCPrimaryVz);
e7df5638 1685 //TH1F *gHistMCPrimaryMultiplicity = new TH1F("gHistMCPrimaryMultiplicity",
1686 //";N_{prim. gen.};Entries",
1687 //23,xBins);
4042c3a2 1688 //fQAVertexList->Add(gHistMCPrimaryMultiplicity);
75decd62 1689
1690 //TPC
4042c3a2 1691 TH1F *gHistTPCVz = new TH1F("gHistTPCVz",
1692 ";V_{z} (gen.) [cm];Entries",
1693 40,-20.,20.);
1694 fQAVertexList->Add(gHistTPCVz);
e7df5638 1695 //TH1F *gHistMCPrimaryMultiplicityTPC = new TH1F("gHistMCPrimaryMultiplicityTPC",
1696 //"Vertex TPC;N_{prim. gen.};Entries",
1697 //23,xBins);
4042c3a2 1698 //fQAVertexList->Add(gHistMCPrimaryMultiplicityTPC);
1699 TH2F *gHistTPCESDVxN = new TH2F("gHistTPCESDVxN",
75decd62 1700 "Primary vertex TPC;V_{x} [cm];N_{contributors}",
5661e210 1701 100,-10.,10.,1000,0,5000);
4042c3a2 1702 fQAVertexList->Add(gHistTPCESDVxN);
1703 TH2F *gHistTPCESDVyN = new TH2F("gHistTPCESDVyN",
75decd62 1704 "Primary vertex TPC;V_{y} [cm];N_{contributors}",
5661e210 1705 100,-10.,10.,1000,0,5000);
4042c3a2 1706 fQAVertexList->Add(gHistTPCESDVyN);
1707 TH2F *gHistTPCESDVzN = new TH2F("gHistTPCESDVzN",
75decd62 1708 "Primary vertex TPC;V_{z} [cm];N_{contributors}",
5661e210 1709 100,-20.,20.,1000,0,5000);
4042c3a2 1710 fQAVertexList->Add(gHistTPCESDVzN);
75decd62 1711 TH1F *gHistTPCDiffVx = new TH1F("gHistTPCDiffVx",
1712 ";V_{x}(rec.) - V_{x}(true) [#mu m];Entries",
1713 100,-10000.,10000.);
1714 fQAVertexList->Add(gHistTPCDiffVx);
1715 TH1F *gHistTPCDiffVy = new TH1F("gHistTPCDiffVy",
1716 ";V_{y}(rec.) - V_{y}(true) [#mu m];Entries",
1717 100,-10000.,10000.);
1718 fQAVertexList->Add(gHistTPCDiffVy);
1719 TH1F *gHistTPCDiffVz = new TH1F("gHistTPCDiffVz",
1720 ";V_{z}(rec.) - V_{z}(true) [#mu m];Entries",
1721 100,-10000.,10000.);
1722 fQAVertexList->Add(gHistTPCDiffVz);
1723 TH1F *gHistTPCResolutionVx = new TH1F("gHistTPCResolutionVx",
1724 ";#sigma_{x} [#mu m];Entries",
5aa87008 1725 100,0.,1000000.);
75decd62 1726 fQAVertexList->Add(gHistTPCResolutionVx);
1727 TH1F *gHistTPCResolutionVy = new TH1F("gHistTPCResolutionVy",
1728 ";#sigma_{y} [#mu m];Entries",
5aa87008 1729 100,0.,1000000.);
75decd62 1730 fQAVertexList->Add(gHistTPCResolutionVy);
1731 TH1F *gHistTPCResolutionVz = new TH1F("gHistTPCResolutionVz",
1732 ";#sigma_{z} [#mu m];Entries",
5aa87008 1733 100,0.,6000.);
75decd62 1734 fQAVertexList->Add(gHistTPCResolutionVz);
1735
1736 //SPD
4042c3a2 1737 TH1F *gHistSPDVz = new TH1F("gHistSPDVz",
1738 ";V_{z} (gen.) [cm];Entries",
1739 40,-20.,20.);
1740 fQAVertexList->Add(gHistSPDVz);
e7df5638 1741 //TH1F *gHistMCPrimaryMultiplicitySPD = new TH1F("gHistMCPrimaryMultiplicitySPD",
1742 //"Vertex SPD;N_{prim. gen.};Entries",
1743 //23,xBins);
4042c3a2 1744 //fQAVertexList->Add(gHistMCPrimaryMultiplicitySPD);
1745 TH2F *gHistSPDESDVxN = new TH2F("gHistSPDESDVxN",
75decd62 1746 "Primary vertex SPD;V_{x} [cm];N_{contributors}",
5661e210 1747 100,-10.,10.,1000,0,5000);
4042c3a2 1748 fQAVertexList->Add(gHistSPDESDVxN);
1749 TH2F *gHistSPDESDVyN = new TH2F("gHistSPDESDVyN",
75decd62 1750 "Primary vertex SPD;V_{y} [cm];N_{contributors}",
5661e210 1751 100,-10.,10.,1000,0,5000);
4042c3a2 1752 fQAVertexList->Add(gHistSPDESDVyN);
1753 TH2F *gHistSPDESDVzN = new TH2F("gHistSPDESDVzN",
75decd62 1754 "Primary vertex SPD;V_{z} [cm];N_{contributors}",
5661e210 1755 100,-20.,20.,1000,0,5000);
4042c3a2 1756 fQAVertexList->Add(gHistSPDESDVzN);
75decd62 1757 TH1F *gHistSPDDiffVx = new TH1F("gHistSPDDiffVx",
1758 ";V_{x}(rec.) - V_{x}(true) [#mu m];Entries",
1759 100,-10000.,10000.);
1760 fQAVertexList->Add(gHistSPDDiffVx);
1761 TH1F *gHistSPDDiffVy = new TH1F("gHistSPDDiffVy",
1762 ";V_{y}(rec.) - V_{y}(true) [#mu m];Entries",
1763 100,-10000.,10000.);
1764 fQAVertexList->Add(gHistSPDDiffVy);
1765 TH1F *gHistSPDDiffVz = new TH1F("gHistSPDDiffVz",
1766 ";V_{z}(rec.) - V_{z}(true) [#mu m];Entries",
1767 100,-10000.,10000.);
1768 fQAVertexList->Add(gHistSPDDiffVz);
1769 TH1F *gHistSPDResolutionVx = new TH1F("gHistSPDResolutionVx",
1770 ";#sigma_{x} [#mu m];Entries",
1771 100,0.,1000.);
1772 fQAVertexList->Add(gHistSPDResolutionVx);
1773 TH1F *gHistSPDResolutionVy = new TH1F("gHistSPDResolutionVy",
1774 ";#sigma_{y} [#mu m];Entries",
1775 100,0.,1000.);
1776 fQAVertexList->Add(gHistSPDResolutionVy);
1777 TH1F *gHistSPDResolutionVz = new TH1F("gHistSPDResolutionVz",
1778 ";#sigma_{z} [#mu m];Entries",
1779 100,0.,500.);
1780 fQAVertexList->Add(gHistSPDResolutionVz);
1781
1782 //Tracks
4042c3a2 1783 TH1F *gHistTracksVz = new TH1F("gHistTracksVz",
1784 ";V_{z} (gen.) [cm];Entries",
1785 40,-20.,20.);
1786 fQAVertexList->Add(gHistTracksVz);
e7df5638 1787 //TH1F *gHistMCPrimaryMultiplicityTracks = new TH1F("gHistMCPrimaryMultiplicityTracks",
1788 //"Vertex Tracks;N_{prim. gen.};Entries",
1789 //23,xBins);
4042c3a2 1790 //fQAVertexList->Add(gHistMCPrimaryMultiplicityTracks);
1791 TH2F *gHistTracksESDVxN = new TH2F("gHistTracksESDVxN",
1792 "Primary vertex Tracks;V_{x} [cm];N_{contributors}",
1793 100,-10.,10.,1000,0,5000);
1794 fQAVertexList->Add(gHistTracksESDVxN);
1795 TH2F *gHistTracksESDVyN = new TH2F("gHistTracksESDVyN",
75decd62 1796 "Primary vertex Tracks;V_{y} [cm];N_{contributors}",
5661e210 1797 100,-10.,10.,1000,0,5000);
4042c3a2 1798 fQAVertexList->Add(gHistTracksESDVyN);
1799 TH2F *gHistTracksESDVzN = new TH2F("gHistTracksESDVzN",
75decd62 1800 "Primary vertex Tracks;V_{z} [cm];N_{contributors}",
5661e210 1801 100,-20.,20.,1000,0,5000);
4042c3a2 1802 fQAVertexList->Add(gHistTracksESDVzN);
75decd62 1803 TH1F *gHistTracksDiffVx = new TH1F("gHistTracksDiffVx",
1804 ";V_{x}(rec.) - V_{x}(true) [#mu m];Entries",
1805 100,-10000.,10000.);
1806 fQAVertexList->Add(gHistTracksDiffVx);
1807 TH1F *gHistTracksDiffVy = new TH1F("gHistTracksDiffVy",
1808 ";V_{y}(rec.) - V_{y}(true) [#mu m];Entries",
1809 100,-10000.,10000.);
1810 fQAVertexList->Add(gHistTracksDiffVy);
1811 TH1F *gHistTracksDiffVz = new TH1F("gHistTracksDiffVz",
1812 ";V_{z}(rec.) - V_{z}(true) [#mu m];Entries",
1813 100,-10000.,10000.);
1814 fQAVertexList->Add(gHistTracksDiffVz);
1815 TH1F *gHistTracksResolutionVx = new TH1F("gHistTracksResolutionVx",
1816 ";#sigma_{x} [#mu m];Entries",
5661e210 1817 100,0.,5000.);
75decd62 1818 fQAVertexList->Add(gHistTracksResolutionVx);
1819 TH1F *gHistTracksResolutionVy = new TH1F("gHistTracksResolutionVy",
1820 ";#sigma_{y} [#mu m];Entries",
5661e210 1821 100,0.,5000.);
75decd62 1822 fQAVertexList->Add(gHistTracksResolutionVy);
1823 TH1F *gHistTracksResolutionVz = new TH1F("gHistTracksResolutionVz",
1824 ";#sigma_{z} [#mu m];Entries",
5661e210 1825 100,0.,1000.);
75decd62 1826 fQAVertexList->Add(gHistTracksResolutionVz);
1827}
1828
3e6c06f4 1829//____________________________________________________________________//
1830void AliProtonQAAnalysis::InitQA() {
75decd62 1831 //Initializes the QA histograms
3e6c06f4 1832 //if(!fQAHistograms)
9c0b9f24 1833 SetRunQAAnalysis();
3e6c06f4 1834
1835 //2D histograms
1836 //TDirectory *dir2D = gDirectory->mkdir("2D");
1837 //fGlobalQAList->Add(dir2D); dir2D->cd();
1838 TH2D *gHistYPtPrimaryProtonsPass = new TH2D("gHistYPtPrimaryProtonsPass",
dd3fa486 1839 ";;P_{T} [GeV/c]",
3e6c06f4 1840 fNBinsY,fMinY,fMaxY,
1841 fNBinsPt,fMinPt,fMaxPt);
e7df5638 1842 if(fProtonAnalysisBase->GetEtaMode())
dd3fa486 1843 gHistYPtPrimaryProtonsPass->GetXaxis()->SetTitle("#eta");
1844 else
1845 gHistYPtPrimaryProtonsPass->GetXaxis()->SetTitle("y");
3e6c06f4 1846 gHistYPtPrimaryProtonsPass->SetStats(kTRUE);
1847 gHistYPtPrimaryProtonsPass->GetXaxis()->SetTitleColor(1);
9c0b9f24 1848 fQA2DList->Add(gHistYPtPrimaryProtonsPass);//y-pT of primary accepted ESD protons
3e6c06f4 1849 TH2D *gHistYPtPrimaryProtonsReject = new TH2D("gHistYPtPrimaryProtonsReject",
dd3fa486 1850 ";;P_{T} [GeV/c]",
3e6c06f4 1851 fNBinsY,fMinY,fMaxY,
1852 fNBinsPt,fMinPt,fMaxPt);
e7df5638 1853 if(fProtonAnalysisBase->GetEtaMode())
dd3fa486 1854 gHistYPtPrimaryProtonsReject->GetXaxis()->SetTitle("#eta");
1855 else
1856 gHistYPtPrimaryProtonsReject->GetXaxis()->SetTitle("y");
3e6c06f4 1857 gHistYPtPrimaryProtonsReject->SetStats(kTRUE);
1858 gHistYPtPrimaryProtonsReject->GetXaxis()->SetTitleColor(1);
9c0b9f24 1859 fQA2DList->Add(gHistYPtPrimaryProtonsReject);//y-pT of primary rejected ESD protons
3e6c06f4 1860
1861 TH2D *gHistYPtSecondaryProtonsPass = new TH2D("gHistYPtSecondaryProtonsPass",
dd3fa486 1862 ";;P_{T} [GeV/c]",
3e6c06f4 1863 fNBinsY,fMinY,fMaxY,
1864 fNBinsPt,fMinPt,fMaxPt);
e7df5638 1865 if(fProtonAnalysisBase->GetEtaMode())
dd3fa486 1866 gHistYPtSecondaryProtonsPass->GetXaxis()->SetTitle("#eta");
1867 else
1868 gHistYPtSecondaryProtonsPass->GetXaxis()->SetTitle("y");
3e6c06f4 1869 gHistYPtSecondaryProtonsPass->SetStats(kTRUE);
1870 gHistYPtSecondaryProtonsPass->GetXaxis()->SetTitleColor(1);
9c0b9f24 1871 fQA2DList->Add(gHistYPtSecondaryProtonsPass);//y-pT of secondary accepted ESD protons
3e6c06f4 1872 TH2D *gHistYPtSecondaryProtonsReject = new TH2D("gHistYPtSecondaryProtonsReject",
dd3fa486 1873 ";;P_{T} [GeV/c]",
3e6c06f4 1874 fNBinsY,fMinY,fMaxY,
1875 fNBinsPt,fMinPt,fMaxPt);
e7df5638 1876 if(fProtonAnalysisBase->GetEtaMode())
dd3fa486 1877 gHistYPtSecondaryProtonsReject->GetXaxis()->SetTitle("#eta");
1878 else
1879 gHistYPtSecondaryProtonsReject->GetXaxis()->SetTitle("y");
3e6c06f4 1880 gHistYPtSecondaryProtonsReject->SetStats(kTRUE);
1881 gHistYPtSecondaryProtonsReject->GetXaxis()->SetTitleColor(1);
9c0b9f24 1882 fQA2DList->Add(gHistYPtSecondaryProtonsReject);//y-pT of secondary rejected ESD protons
3e6c06f4 1883
1884 TH2D *gHistYPtPrimaryAntiProtonsPass = new TH2D("gHistYPtPrimaryAntiProtonsPass",
dd3fa486 1885 ";;P_{T} [GeV/c]",
3e6c06f4 1886 fNBinsY,fMinY,fMaxY,
1887 fNBinsPt,fMinPt,fMaxPt);
e7df5638 1888 if(fProtonAnalysisBase->GetEtaMode())
dd3fa486 1889 gHistYPtPrimaryAntiProtonsPass->GetXaxis()->SetTitle("#eta");
1890 else
1891 gHistYPtPrimaryAntiProtonsPass->GetXaxis()->SetTitle("y");
3e6c06f4 1892 gHistYPtPrimaryAntiProtonsPass->SetStats(kTRUE);
1893 gHistYPtPrimaryAntiProtonsPass->GetXaxis()->SetTitleColor(1);
9c0b9f24 1894 fQA2DList->Add(gHistYPtPrimaryAntiProtonsPass);//y-pT of primary accepted ESD antiprotons
3e6c06f4 1895 TH2D *gHistYPtPrimaryAntiProtonsReject = new TH2D("gHistYPtPrimaryAntiProtonsReject",
dd3fa486 1896 ";;P_{T} [GeV/c]",
1897 fNBinsY,fMinY,fMaxY,
1898 fNBinsPt,fMinPt,fMaxPt);
e7df5638 1899 if(fProtonAnalysisBase->GetEtaMode())
dd3fa486 1900 gHistYPtPrimaryAntiProtonsReject->GetXaxis()->SetTitle("#eta");
1901 else
1902 gHistYPtPrimaryAntiProtonsReject->GetXaxis()->SetTitle("y");
3e6c06f4 1903 gHistYPtPrimaryAntiProtonsReject->SetStats(kTRUE);
1904 gHistYPtPrimaryAntiProtonsReject->GetXaxis()->SetTitleColor(1);
9c0b9f24 1905 fQA2DList->Add(gHistYPtPrimaryAntiProtonsReject);//y-pT of primary rejected ESD antiprotons
3e6c06f4 1906
1907 TH2D *gHistYPtSecondaryAntiProtonsPass = new TH2D("gHistYPtSecondaryAntiProtonsPass",
dd3fa486 1908 ";;P_{T} [GeV/c]",
1909 fNBinsY,fMinY,fMaxY,
1910 fNBinsPt,fMinPt,fMaxPt);
e7df5638 1911 if(fProtonAnalysisBase->GetEtaMode())
dd3fa486 1912 gHistYPtSecondaryAntiProtonsPass->GetXaxis()->SetTitle("#eta");
1913 else
1914 gHistYPtSecondaryAntiProtonsPass->GetXaxis()->SetTitle("y");
3e6c06f4 1915 gHistYPtSecondaryAntiProtonsPass->SetStats(kTRUE);
1916 gHistYPtSecondaryAntiProtonsPass->GetXaxis()->SetTitleColor(1);
9c0b9f24 1917 fQA2DList->Add(gHistYPtSecondaryAntiProtonsPass);//y-pT of secondary accepted ESD antiprotons
3e6c06f4 1918 TH2D *gHistYPtSecondaryAntiProtonsReject = new TH2D("gHistYPtSecondaryAntiProtonsReject",
dd3fa486 1919 ";;P_{T} [GeV/c]",
1920 fNBinsY,fMinY,fMaxY,
1921 fNBinsPt,fMinPt,fMaxPt);
e7df5638 1922 if(fProtonAnalysisBase->GetEtaMode())
dd3fa486 1923 gHistYPtSecondaryAntiProtonsReject->GetXaxis()->SetTitle("#eta");
1924 else
1925 gHistYPtSecondaryAntiProtonsReject->GetXaxis()->SetTitle("y");
3e6c06f4 1926 gHistYPtSecondaryAntiProtonsReject->SetStats(kTRUE);
1927 gHistYPtSecondaryAntiProtonsReject->GetXaxis()->SetTitleColor(1);
9c0b9f24 1928 fQA2DList->Add(gHistYPtSecondaryAntiProtonsReject);//y-pT of secondary rejected ESD antiprotons
3e6c06f4 1929
1c21299a 1930 TH2D *gHistYPtPrimaryProtonsMC = new TH2D("gHistYPtPrimaryProtonsMC",
dd3fa486 1931 ";;P_{T} [GeV/c]",
1c21299a 1932 fNBinsY,fMinY,fMaxY,
1933 fNBinsPt,fMinPt,fMaxPt);
e7df5638 1934 if(fProtonAnalysisBase->GetEtaMode())
dd3fa486 1935 gHistYPtPrimaryProtonsMC->GetXaxis()->SetTitle("#eta");
1936 else
1937 gHistYPtPrimaryProtonsMC->GetXaxis()->SetTitle("y");
1c21299a 1938 gHistYPtPrimaryProtonsMC->SetStats(kTRUE);
1939 gHistYPtPrimaryProtonsMC->GetXaxis()->SetTitleColor(1);
9c0b9f24 1940 fQA2DList->Add(gHistYPtPrimaryProtonsMC);//y-pT of primary MC protons
1c21299a 1941 TH2D *gHistYPtPrimaryAntiProtonsMC = new TH2D("gHistYPtPrimaryAntiProtonsMC",
dd3fa486 1942 ";;P_{T} [GeV/c]",
1c21299a 1943 fNBinsY,fMinY,fMaxY,
1944 fNBinsPt,fMinPt,fMaxPt);
e7df5638 1945 if(fProtonAnalysisBase->GetEtaMode())
dd3fa486 1946 gHistYPtPrimaryAntiProtonsMC->GetXaxis()->SetTitle("#eta");
1947 else
1948 gHistYPtPrimaryAntiProtonsMC->GetXaxis()->SetTitle("y");
1c21299a 1949 gHistYPtPrimaryAntiProtonsMC->SetStats(kTRUE);
1950 gHistYPtPrimaryAntiProtonsMC->GetXaxis()->SetTitleColor(1);
9c0b9f24 1951 fQA2DList->Add(gHistYPtPrimaryAntiProtonsMC);//y-pT of primary MC antiprotons
1952
1953 TH3F *gHistYPtPDGProtonsPass = new TH3F("gHistYPtPDGProtonsPass",
dd3fa486 1954 ";;P_{T} [GeV/c];PDG",
9c0b9f24 1955 fNBinsY,fMinY,fMaxY,
1956 fNBinsPt,fMinPt,fMaxPt,
1957 14,-0.5,13.5);
e7df5638 1958 if(fProtonAnalysisBase->GetEtaMode())
dd3fa486 1959 gHistYPtPDGProtonsPass->GetXaxis()->SetTitle("#eta");
1960 else
1961 gHistYPtPDGProtonsPass->GetXaxis()->SetTitle("y");
9c0b9f24 1962 fQA2DList->Add(gHistYPtPDGProtonsPass);//composition of secondary protons
1963 TH3F *gHistYPtPDGAntiProtonsPass = new TH3F("gHistYPtPDGAntiProtonsPass",
dd3fa486 1964 ";;P_{T} [GeV/c];PDG",
9c0b9f24 1965 fNBinsY,fMinY,fMaxY,
1966 fNBinsPt,fMinPt,fMaxPt,
1967 14,-0.5,13.5);
e7df5638 1968 if(fProtonAnalysisBase->GetEtaMode())
dd3fa486 1969 gHistYPtPDGAntiProtonsPass->GetXaxis()->SetTitle("#eta");
1970 else
1971 gHistYPtPDGAntiProtonsPass->GetXaxis()->SetTitle("y");
9c0b9f24 1972 fQA2DList->Add(gHistYPtPDGAntiProtonsPass);//composition of secondary antiprotons
1c21299a 1973
3e6c06f4 1974 /*gDirectory->cd("../");
1975 //protons
1976 TDirectory *dirProtons = gDirectory->mkdir("Protons");
1977 fGlobalQAList->Add(dirProtons); dirProtons->cd();*/
1978
1979 //________________________________________________________________//
1980 /*TDirectory *dirProtonsPrimary = gDirectory->mkdir("Primaries");
1981 dirProtonsPrimary->cd();
1982 TDirectory *dirProtonsPrimaryAccepted = gDirectory->mkdir("Accepted");
1983 dirProtonsPrimaryAccepted->cd();*/
1984
1985 //Accepted primary protons
a3478218 1986 TH1F *gPrimaryProtonsITSClustersPass = new TH1F("gPrimaryProtonsITSClustersPass",
3e6c06f4 1987 ";N_{clusters} (ITS);Entries",
1988 7,0,7);
a3478218 1989 fQAPrimaryProtonsAcceptedList->Add(gPrimaryProtonsITSClustersPass);
1990 TH1F *gPrimaryProtonsChi2PerClusterITSPass = new TH1F("gPrimaryProtonsChi2PerClusterITSPass",
3e6c06f4 1991 ";x^{2}/N_{clusters} (ITS);Entries",
1992 100,0,4);
a3478218 1993 fQAPrimaryProtonsAcceptedList->Add(gPrimaryProtonsChi2PerClusterITSPass);
1994 TH1F *gPrimaryProtonsTPCClustersPass = new TH1F("gPrimaryProtonsTPCClustersPass",
3e6c06f4 1995 ";N_{clusters} (TPC);Entries",
1996 100,0,200);
a3478218 1997 fQAPrimaryProtonsAcceptedList->Add(gPrimaryProtonsTPCClustersPass);
1998 TH1F *gPrimaryProtonsChi2PerClusterTPCPass = new TH1F("gPrimaryProtonsChi2PerClusterTPCPass",
3e6c06f4 1999 ";x^{2}/N_{clusters} (TPC);Entries",
2000 100,0,4);
a3478218 2001 fQAPrimaryProtonsAcceptedList->Add(gPrimaryProtonsChi2PerClusterTPCPass);
2002 TH1F *gPrimaryProtonsExtCov11Pass = new TH1F("gPrimaryProtonsExtCov11Pass",
3e6c06f4 2003 ";#sigma_{y} [cm];Entries",
2004 100,0,4);
a3478218 2005 fQAPrimaryProtonsAcceptedList->Add(gPrimaryProtonsExtCov11Pass);
2006 TH1F *gPrimaryProtonsExtCov22Pass = new TH1F("gPrimaryProtonsExtCov22Pass",
3e6c06f4 2007 ";#sigma_{z} [cm];Entries",
2008 100,0,4);
a3478218 2009 fQAPrimaryProtonsAcceptedList->Add(gPrimaryProtonsExtCov22Pass);
2010 TH1F *gPrimaryProtonsExtCov33Pass = new TH1F("gPrimaryProtonsExtCov33Pass",
3e6c06f4 2011 ";#sigma_{sin(#phi)};Entries",
2012 100,0,4);
a3478218 2013 fQAPrimaryProtonsAcceptedList->Add(gPrimaryProtonsExtCov33Pass);
2014 TH1F *gPrimaryProtonsExtCov44Pass = new TH1F("gPrimaryProtonsExtCov44Pass",
3e6c06f4 2015 ";#sigma_{tan(#lambda)};Entries",
2016 100,0,4);
a3478218 2017 fQAPrimaryProtonsAcceptedList->Add(gPrimaryProtonsExtCov44Pass);
2018 TH1F *gPrimaryProtonsExtCov55Pass = new TH1F("gPrimaryProtonsExtCov55Pass",
3e6c06f4 2019 ";#sigma_{1/P_{T}} [GeV/c]^{-1};Entries",
2020 100,0,4);
a3478218 2021 fQAPrimaryProtonsAcceptedList->Add(gPrimaryProtonsExtCov55Pass);
2022 TH1F *gPrimaryProtonsSigmaToVertexPass = new TH1F("gPrimaryProtonsSigmaToVertexPass",
3e6c06f4 2023 ";#sigma_{Vertex};Entries",
2024 100,0,10);
a3478218 2025 fQAPrimaryProtonsAcceptedList->Add(gPrimaryProtonsSigmaToVertexPass);
2026 TH1F *gPrimaryProtonsSigmaToVertexTPCPass = new TH1F("gPrimaryProtonsSigmaToVertexTPCPass",
3e6c06f4 2027 ";#sigma_{Vertex};Entries",
2028 100,0,10);
a3478218 2029 fQAPrimaryProtonsAcceptedList->Add(gPrimaryProtonsSigmaToVertexTPCPass);
2030 TH1F *gPrimaryProtonsDCAXYPass = new TH1F("gPrimaryProtonsDCAXYPass",
3e6c06f4 2031 ";DCA_{xy} [cm];Entries",
2032 100,0,20);
a3478218 2033 fQAPrimaryProtonsAcceptedList->Add(gPrimaryProtonsDCAXYPass);
2034 TH1F *gPrimaryProtonsDCAXYTPCPass = new TH1F("gPrimaryProtonsDCAXYTPCPass",
3e6c06f4 2035 ";DCA_{xy} [cm];Entries",
2036 100,0,20);
a3478218 2037 fQAPrimaryProtonsAcceptedList->Add(gPrimaryProtonsDCAXYTPCPass);
2038 TH1F *gPrimaryProtonsDCAZPass = new TH1F("gPrimaryProtonsDCAZPass",
3e6c06f4 2039 ";DCA_{z} [cm];Entries",
2040 100,0,20);
a3478218 2041 fQAPrimaryProtonsAcceptedList->Add(gPrimaryProtonsDCAZPass);
2042 TH1F *gPrimaryProtonsDCAZTPCPass = new TH1F("gPrimaryProtonsDCAZTPCPass",
3e6c06f4 2043 ";DCA_{z} [cm];Entries",
2044 100,0,20);
a3478218 2045 fQAPrimaryProtonsAcceptedList->Add(gPrimaryProtonsDCAZTPCPass);
2046 TH1F *gPrimaryProtonsConstrainChi2Pass = new TH1F("gPrimaryProtonsConstrainChi2Pass",
3e6c06f4 2047 ";Log_{10}(#chi^{2});Entries",
2048 100,-10,10);
a3478218 2049 fQAPrimaryProtonsAcceptedList->Add(gPrimaryProtonsConstrainChi2Pass);
2050 TH1F *gPrimaryProtonsITSRefitPass = new TH1F("gPrimaryProtonsITSRefitPass",
3e6c06f4 2051 "",10,-1,1);
a3478218 2052 fQAPrimaryProtonsAcceptedList->Add(gPrimaryProtonsITSRefitPass);
2053 TH1F *gPrimaryProtonsTPCRefitPass = new TH1F("gPrimaryProtonsTPCRefitPass",
3e6c06f4 2054 "",10,-1,1);
a3478218 2055 fQAPrimaryProtonsAcceptedList->Add(gPrimaryProtonsTPCRefitPass);
2056 TH1F *gPrimaryProtonsESDpidPass = new TH1F("gPrimaryProtonsESDpidPass",
3e6c06f4 2057 "",10,-1,1);
a3478218 2058 fQAPrimaryProtonsAcceptedList->Add(gPrimaryProtonsESDpidPass);
2059 TH1F *gPrimaryProtonsTPCpidPass = new TH1F("gPrimaryProtonsTPCpidPass",
3e6c06f4 2060 "",10,-1,1);
a3478218 2061 fQAPrimaryProtonsAcceptedList->Add(gPrimaryProtonsTPCpidPass);
2062 TH1F *gPrimaryProtonsPointOnITSLayer1Pass = new TH1F("gPrimaryProtonsPointOnITSLayer1Pass",
0008a5a6 2063 "",10,-1,1);
a3478218 2064 fQAPrimaryProtonsAcceptedList->Add(gPrimaryProtonsPointOnITSLayer1Pass);
2065 TH1F *gPrimaryProtonsPointOnITSLayer2Pass = new TH1F("gPrimaryProtonsPointOnITSLayer2Pass",
0008a5a6 2066 "",10,-1,1);
a3478218 2067 fQAPrimaryProtonsAcceptedList->Add(gPrimaryProtonsPointOnITSLayer2Pass);
2068 TH1F *gPrimaryProtonsPointOnITSLayer3Pass = new TH1F("gPrimaryProtonsPointOnITSLayer3Pass",
0008a5a6 2069 "",10,-1,1);
a3478218 2070 fQAPrimaryProtonsAcceptedList->Add(gPrimaryProtonsPointOnITSLayer3Pass);
2071 TH1F *gPrimaryProtonsPointOnITSLayer4Pass = new TH1F("gPrimaryProtonsPointOnITSLayer4Pass",
0008a5a6 2072 "",10,-1,1);
a3478218 2073 fQAPrimaryProtonsAcceptedList->Add(gPrimaryProtonsPointOnITSLayer4Pass);
2074 TH1F *gPrimaryProtonsPointOnITSLayer5Pass = new TH1F("gPrimaryProtonsPointOnITSLayer5Pass",
0008a5a6 2075 "",10,-1,1);
a3478218 2076 fQAPrimaryProtonsAcceptedList->Add(gPrimaryProtonsPointOnITSLayer5Pass);
2077 TH1F *gPrimaryProtonsPointOnITSLayer6Pass = new TH1F("gPrimaryProtonsPointOnITSLayer6Pass",
0008a5a6 2078 "",10,-1,1);
a3478218 2079 fQAPrimaryProtonsAcceptedList->Add(gPrimaryProtonsPointOnITSLayer6Pass);
87a55728 2080 TH1F *gPrimaryProtonsNumberOfTPCdEdxPointsPass = new TH1F("gPrimaryProtonsNumberOfTPCdEdxPointsPass","",100,0,200);
2081 fQAPrimaryProtonsAcceptedList->Add(gPrimaryProtonsNumberOfTPCdEdxPointsPass);
3e6c06f4 2082
2083 //Rejected primary protons
2084 /*gDirectory->cd("../");
2085 TDirectory *dirProtonsPrimaryRejected = gDirectory->mkdir("Rejected");
2086 dirProtonsPrimaryRejected->cd();*/
2087
a3478218 2088 TH1F *gPrimaryProtonsITSClustersReject = new TH1F("gPrimaryProtonsITSClustersReject",
3e6c06f4 2089 ";N_{clusters} (ITS);Entries",
2090 7,0,7);
a3478218 2091 fQAPrimaryProtonsRejectedList->Add(gPrimaryProtonsITSClustersReject);
2092 TH1F *gPrimaryProtonsChi2PerClusterITSReject = new TH1F("gPrimaryProtonsChi2PerClusterITSReject",
3e6c06f4 2093 ";x^{2}/N_{clusters} (ITS);Entries",
2094 100,0,4);
a3478218 2095 fQAPrimaryProtonsRejectedList->Add(gPrimaryProtonsChi2PerClusterITSReject);
2096 TH1F *gPrimaryProtonsTPCClustersReject = new TH1F("gPrimaryProtonsTPCClustersReject",
3e6c06f4 2097 ";N_{clusters} (TPC);Entries",
2098 100,0,200);
a3478218 2099 fQAPrimaryProtonsRejectedList->Add(gPrimaryProtonsTPCClustersReject);
2100 TH1F *gPrimaryProtonsChi2PerClusterTPCReject = new TH1F("gPrimaryProtonsChi2PerClusterTPCReject",
3e6c06f4 2101 ";x^{2}/N_{clusters} (TPC);Entries",
2102 100,0,4);
a3478218 2103 fQAPrimaryProtonsRejectedList->Add(gPrimaryProtonsChi2PerClusterTPCReject);
2104 TH1F *gPrimaryProtonsExtCov11Reject = new TH1F("gPrimaryProtonsExtCov11Reject",
3e6c06f4 2105 ";#sigma_{y} [cm];Entries",
2106 100,0,4);
a3478218 2107 fQAPrimaryProtonsRejectedList->Add(gPrimaryProtonsExtCov11Reject);
2108 TH1F *gPrimaryProtonsExtCov22Reject = new TH1F("gPrimaryProtonsExtCov22Reject",
3e6c06f4 2109 ";#sigma_{z} [cm];Entries",
2110 100,0,4);
a3478218 2111 fQAPrimaryProtonsRejectedList->Add(gPrimaryProtonsExtCov22Reject);
2112 TH1F *gPrimaryProtonsExtCov33Reject = new TH1F("gPrimaryProtonsExtCov33Reject",
3e6c06f4 2113 ";#sigma_{sin(#phi)};Entries",
2114 100,0,4);
a3478218 2115 fQAPrimaryProtonsRejectedList->Add(gPrimaryProtonsExtCov33Reject);
2116 TH1F *gPrimaryProtonsExtCov44Reject = new TH1F("gPrimaryProtonsExtCov44Reject",
3e6c06f4 2117 ";#sigma_{tan(#lambda)};Entries",
2118 100,0,4);
a3478218 2119 fQAPrimaryProtonsRejectedList->Add(gPrimaryProtonsExtCov44Reject);
2120 TH1F *gPrimaryProtonsExtCov55Reject = new TH1F("gPrimaryProtonsExtCov55Reject",
3e6c06f4 2121 ";#sigma_{1/P_{T}} [GeV/c]^{-1};Entries",
2122 100,0,4);
a3478218 2123 fQAPrimaryProtonsRejectedList->Add(gPrimaryProtonsExtCov55Reject);
2124 TH1F *gPrimaryProtonsSigmaToVertexReject = new TH1F("gPrimaryProtonsSigmaToVertexReject",
3e6c06f4 2125 ";#sigma_{Vertex};Entries",
2126 100,0,10);
a3478218 2127 fQAPrimaryProtonsRejectedList->Add(gPrimaryProtonsSigmaToVertexReject);
2128 TH1F *gPrimaryProtonsSigmaToVertexTPCReject = new TH1F("gPrimaryProtonsSigmaToVertexTPCReject",
3e6c06f4 2129 ";#sigma_{Vertex};Entries",
2130 100,0,10);
a3478218 2131 fQAPrimaryProtonsRejectedList->Add(gPrimaryProtonsSigmaToVertexTPCReject);
2132 TH1F *gPrimaryProtonsDCAXYReject = new TH1F("gPrimaryProtonsDCAXYReject",
3e6c06f4 2133 ";DCA_{xy} [cm];Entries",
2134 100,0,20);
a3478218 2135 fQAPrimaryProtonsRejectedList->Add(gPrimaryProtonsDCAXYReject);
2136 TH1F *gPrimaryProtonsDCAXYTPCReject = new TH1F("gPrimaryProtonsDCAXYTPCReject",
3e6c06f4 2137 ";DCA_{xy} [cm];Entries",
2138 100,0,20);
a3478218 2139 fQAPrimaryProtonsRejectedList->Add(gPrimaryProtonsDCAXYTPCReject);
2140 TH1F *gPrimaryProtonsDCAZReject = new TH1F("gPrimaryProtonsDCAZReject",
3e6c06f4 2141 ";DCA_{z} [cm];Entries",
2142 100,0,20);
a3478218 2143 fQAPrimaryProtonsRejectedList->Add(gPrimaryProtonsDCAZReject);
2144 TH1F *gPrimaryProtonsDCAZTPCReject = new TH1F("gPrimaryProtonsDCAZTPCReject",
3e6c06f4 2145 ";DCA_{z} [cm];Entries",
2146 100,0,20);
a3478218 2147 fQAPrimaryProtonsRejectedList->Add(gPrimaryProtonsDCAZTPCReject);
2148 TH1F *gPrimaryProtonsConstrainChi2Reject = new TH1F("gPrimaryProtonsConstrainChi2Reject",
3e6c06f4 2149 ";Log_{10}(#chi^{2});Entries",
2150 100,-10,10);
a3478218 2151 fQAPrimaryProtonsRejectedList->Add(gPrimaryProtonsConstrainChi2Reject);
2152 TH1F *gPrimaryProtonsITSRefitReject = new TH1F("gPrimaryProtonsITSRefitReject",
3e6c06f4 2153 "",10,-1,1);
a3478218 2154 fQAPrimaryProtonsRejectedList->Add(gPrimaryProtonsITSRefitReject);
2155 TH1F *gPrimaryProtonsTPCRefitReject = new TH1F("gPrimaryProtonsTPCRefitReject",
3e6c06f4 2156 "",10,-1,1);
a3478218 2157 fQAPrimaryProtonsRejectedList->Add(gPrimaryProtonsTPCRefitReject);
2158 TH1F *gPrimaryProtonsESDpidReject = new TH1F("gPrimaryProtonsESDpidReject",
3e6c06f4 2159 "",10,-1,1);
a3478218 2160 fQAPrimaryProtonsRejectedList->Add(gPrimaryProtonsESDpidReject);
2161 TH1F *gPrimaryProtonsTPCpidReject = new TH1F("gPrimaryProtonsTPCpidReject",
3e6c06f4 2162 "",10,-1,1);
a3478218 2163 fQAPrimaryProtonsRejectedList->Add(gPrimaryProtonsTPCpidReject);
2164 TH1F *gPrimaryProtonsPointOnITSLayer1Reject = new TH1F("gPrimaryProtonsPointOnITSLayer1Reject",
0008a5a6 2165 "",10,-1,1);
a3478218 2166 fQAPrimaryProtonsRejectedList->Add(gPrimaryProtonsPointOnITSLayer1Reject);
2167 TH1F *gPrimaryProtonsPointOnITSLayer2Reject = new TH1F("gPrimaryProtonsPointOnITSLayer2Reject",
0008a5a6 2168 "",10,-1,1);
a3478218 2169 fQAPrimaryProtonsRejectedList->Add(gPrimaryProtonsPointOnITSLayer2Reject);
2170 TH1F *gPrimaryProtonsPointOnITSLayer3Reject = new TH1F("gPrimaryProtonsPointOnITSLayer3Reject",
0008a5a6 2171 "",10,-1,1);
a3478218 2172 fQAPrimaryProtonsRejectedList->Add(gPrimaryProtonsPointOnITSLayer3Reject);
2173 TH1F *gPrimaryProtonsPointOnITSLayer4Reject = new TH1F("gPrimaryProtonsPointOnITSLayer4Reject",
0008a5a6 2174 "",10,-1,1);
a3478218 2175 fQAPrimaryProtonsRejectedList->Add(gPrimaryProtonsPointOnITSLayer4Reject);
2176 TH1F *gPrimaryProtonsPointOnITSLayer5Reject = new TH1F("gPrimaryProtonsPointOnITSLayer5Reject",
0008a5a6 2177 "",10,-1,1);
a3478218 2178 fQAPrimaryProtonsRejectedList->Add(gPrimaryProtonsPointOnITSLayer5Reject);
2179 TH1F *gPrimaryProtonsPointOnITSLayer6Reject = new TH1F("gPrimaryProtonsPointOnITSLayer6Reject",
0008a5a6 2180 "",10,-1,1);
a3478218 2181 fQAPrimaryProtonsRejectedList->Add(gPrimaryProtonsPointOnITSLayer6Reject);
87a55728 2182 TH1F *gPrimaryProtonsNumberOfTPCdEdxPointsReject = new TH1F("gPrimaryProtonsNumberOfTPCdEdxPointsReject","",100,0,200);
2183 fQAPrimaryProtonsRejectedList->Add(gPrimaryProtonsNumberOfTPCdEdxPointsReject);
3e6c06f4 2184
2185 //________________________________________________________________//
2186 /*gDirectory->cd("../../");
2187
2188 TDirectory *dirProtonsSecondary = gDirectory->mkdir("Secondaries");
2189 dirProtonsSecondary->cd();
2190 TDirectory *dirProtonsSecondaryAccepted = gDirectory->mkdir("Accepted");
2191 dirProtonsSecondaryAccepted->cd();*/
2192
2193 //Accepted secondary protons
a3478218 2194 TH1F *gSecondaryProtonsITSClustersPass = new TH1F("gSecondaryProtonsITSClustersPass",
3e6c06f4 2195 ";N_{clusters} (ITS);Entries",
2196 7,0,7);
a3478218 2197 fQASecondaryProtonsAcceptedList->Add(gSecondaryProtonsITSClustersPass);
2198 TH1F *gSecondaryProtonsChi2PerClusterITSPass = new TH1F("gSecondaryProtonsChi2PerClusterITSPass",
3e6c06f4 2199 ";x^{2}/N_{clusters} (ITS);Entries",
2200 100,0,4);
a3478218 2201 fQASecondaryProtonsAcceptedList->Add(gSecondaryProtonsChi2PerClusterITSPass);
2202 TH1F *gSecondaryProtonsTPCClustersPass = new TH1F("gSecondaryProtonsTPCClustersPass",
3e6c06f4 2203 ";N_{clusters} (TPC);Entries",
2204 100,0,200);
a3478218 2205 fQASecondaryProtonsAcceptedList->Add(gSecondaryProtonsTPCClustersPass);
2206 TH1F *gSecondaryProtonsChi2PerClusterTPCPass = new TH1F("gSecondaryProtonsChi2PerClusterTPCPass",
3e6c06f4 2207 ";x^{2}/N_{clusters} (TPC);Entries",
2208 100,0,4);
a3478218 2209 fQASecondaryProtonsAcceptedList->Add(gSecondaryProtonsChi2PerClusterTPCPass);
2210 TH1F *gSecondaryProtonsExtCov11Pass = new TH1F("gSecondaryProtonsExtCov11Pass",
3e6c06f4 2211 ";#sigma_{y} [cm];Entries",
2212 100,0,4);
a3478218 2213 fQASecondaryProtonsAcceptedList->Add(gSecondaryProtonsExtCov11Pass);
2214 TH1F *gSecondaryProtonsExtCov22Pass = new TH1F("gSecondaryProtonsExtCov22Pass",
3e6c06f4 2215 ";#sigma_{z} [cm];Entries",
2216 100,0,4);
a3478218 2217 fQASecondaryProtonsAcceptedList->Add(gSecondaryProtonsExtCov22Pass);
2218 TH1F *gSecondaryProtonsExtCov33Pass = new TH1F("gSecondaryProtonsExtCov33Pass",
3e6c06f4 2219 ";#sigma_{sin(#phi)};Entries",
2220 100,0,4);
a3478218 2221 fQASecondaryProtonsAcceptedList->Add(gSecondaryProtonsExtCov33Pass);
2222 TH1F *gSecondaryProtonsExtCov44Pass = new TH1F("gSecondaryProtonsExtCov44Pass",
3e6c06f4 2223 ";#sigma_{tan(#lambda)};Entries",
2224 100,0,4);
a3478218 2225 fQASecondaryProtonsAcceptedList->Add(gSecondaryProtonsExtCov44Pass);
2226 TH1F *gSecondaryProtonsExtCov55Pass = new TH1F("gSecondaryProtonsExtCov55Pass",
3e6c06f4 2227 ";#sigma_{1/P_{T}} [GeV/c]^{-1};Entries",
2228 100,0,4);
a3478218 2229 fQASecondaryProtonsAcceptedList->Add(gSecondaryProtonsExtCov55Pass);
2230 TH1F *gSecondaryProtonsSigmaToVertexPass = new TH1F("gSecondaryProtonsSigmaToVertexPass",
3e6c06f4 2231 ";#sigma_{Vertex};Entries",
2232 100,0,10);
a3478218 2233 fQASecondaryProtonsAcceptedList->Add(gSecondaryProtonsSigmaToVertexPass);
2234 TH1F *gSecondaryProtonsSigmaToVertexTPCPass = new TH1F("gSecondaryProtonsSigmaToVertexTPCPass",
3e6c06f4 2235 ";#sigma_{Vertex};Entries",
2236 100,0,10);
a3478218 2237 fQASecondaryProtonsAcceptedList->Add(gSecondaryProtonsSigmaToVertexTPCPass);
2238 TH1F *gSecondaryProtonsDCAXYPass = new TH1F("gSecondaryProtonsDCAXYPass",
3e6c06f4 2239 ";DCA_{xy} [cm];Entries",
2240 100,0,20);
a3478218 2241 fQASecondaryProtonsAcceptedList->Add(gSecondaryProtonsDCAXYPass);
2242 TH1F *gSecondaryProtonsDCAXYTPCPass = new TH1F("gSecondaryProtonsDCAXYTPCPass",
3e6c06f4 2243 ";DCA_{xy} [cm];Entries",
2244 100,0,20);
a3478218 2245 fQASecondaryProtonsAcceptedList->Add(gSecondaryProtonsDCAXYTPCPass);
2246 TH1F *gSecondaryProtonsDCAZPass = new TH1F("gSecondaryProtonsDCAZPass",
3e6c06f4 2247 ";DCA_{z} [cm];Entries",
2248 100,0,20);
a3478218 2249 fQASecondaryProtonsAcceptedList->Add(gSecondaryProtonsDCAZPass);
2250 TH1F *gSecondaryProtonsDCAZTPCPass = new TH1F("gSecondaryProtonsDCAZTPCPass",
3e6c06f4 2251 ";DCA_{z} [cm];Entries",
2252 100,0,20);
a3478218 2253 fQASecondaryProtonsAcceptedList->Add(gSecondaryProtonsDCAZTPCPass);
2254 TH1F *gSecondaryProtonsConstrainChi2Pass = new TH1F("gSecondaryProtonsConstrainChi2Pass",
3e6c06f4 2255 ";Log_{10}(#chi^{2});Entries",
2256 100,-10,10);
a3478218 2257 fQASecondaryProtonsAcceptedList->Add(gSecondaryProtonsConstrainChi2Pass);
2258 TH1F *gSecondaryProtonsITSRefitPass = new TH1F("gSecondaryProtonsITSRefitPass",
3e6c06f4 2259 "",10,-1,1);
a3478218 2260 fQASecondaryProtonsAcceptedList->Add(gSecondaryProtonsITSRefitPass);
2261 TH1F *gSecondaryProtonsTPCRefitPass = new TH1F("gSecondaryProtonsTPCRefitPass",
3e6c06f4 2262 "",10,-1,1);
a3478218 2263 fQASecondaryProtonsAcceptedList->Add(gSecondaryProtonsTPCRefitPass);
2264 TH1F *gSecondaryProtonsESDpidPass = new TH1F("gSecondaryProtonsESDpidPass",
3e6c06f4 2265 "",10,-1,1);
a3478218 2266 fQASecondaryProtonsAcceptedList->Add(gSecondaryProtonsESDpidPass);
2267 TH1F *gSecondaryProtonsTPCpidPass = new TH1F("gSecondaryProtonsTPCpidPass",
3e6c06f4 2268 "",10,-1,1);
a3478218 2269 fQASecondaryProtonsAcceptedList->Add(gSecondaryProtonsTPCpidPass);
2270 TH1F *gSecondaryProtonsPointOnITSLayer1Pass = new TH1F("gSecondaryProtonsPointOnITSLayer1Pass",
0008a5a6 2271 "",10,-1,1);
a3478218 2272 fQASecondaryProtonsAcceptedList->Add(gSecondaryProtonsPointOnITSLayer1Pass);
2273 TH1F *gSecondaryProtonsPointOnITSLayer2Pass = new TH1F("gSecondaryProtonsPointOnITSLayer2Pass",
0008a5a6 2274 "",10,-1,1);
a3478218 2275 fQASecondaryProtonsAcceptedList->Add(gSecondaryProtonsPointOnITSLayer2Pass);
2276 TH1F *gSecondaryProtonsPointOnITSLayer3Pass = new TH1F("gSecondaryProtonsPointOnITSLayer3Pass",
0008a5a6 2277 "",10,-1,1);
a3478218 2278 fQASecondaryProtonsAcceptedList->Add(gSecondaryProtonsPointOnITSLayer3Pass);
2279 TH1F *gSecondaryProtonsPointOnITSLayer4Pass = new TH1F("gSecondaryProtonsPointOnITSLayer4Pass",
0008a5a6 2280 "",10,-1,1);
a3478218 2281 fQASecondaryProtonsAcceptedList->Add(gSecondaryProtonsPointOnITSLayer4Pass);
2282 TH1F *gSecondaryProtonsPointOnITSLayer5Pass = new TH1F("gSecondaryProtonsPointOnITSLayer5Pass",
0008a5a6 2283 "",10,-1,1);
a3478218 2284 fQASecondaryProtonsAcceptedList->Add(gSecondaryProtonsPointOnITSLayer5Pass);
2285 TH1F *gSecondaryProtonsPointOnITSLayer6Pass = new TH1F("gSecondaryProtonsPointOnITSLayer6Pass",
0008a5a6 2286 "",10,-1,1);
a3478218 2287 fQASecondaryProtonsAcceptedList->Add(gSecondaryProtonsPointOnITSLayer6Pass);
87a55728 2288 TH1F *gSecondaryProtonsNumberOfTPCdEdxPointsPass = new TH1F("gSecondaryProtonsNumberOfTPCdEdxPointsPass","",100,0,200);
2289 fQASecondaryProtonsAcceptedList->Add(gSecondaryProtonsNumberOfTPCdEdxPointsPass);
3e6c06f4 2290
2291 //Rejected secondary protons
2292 /*gDirectory->cd("../");
2293 TDirectory *dirProtonsSecondaryRejected = gDirectory->mkdir("Rejected");
2294 dirProtonsSecondaryRejected->cd();*/
2295
a3478218 2296 TH1F *gSecondaryProtonsITSClustersReject = new TH1F("gSecondaryProtonsITSClustersReject",
3e6c06f4 2297 ";N_{clusters} (ITS);Entries",
2298 7,0,7);
a3478218 2299 fQASecondaryProtonsRejectedList->Add(gSecondaryProtonsITSClustersReject);
2300 TH1F *gSecondaryProtonsChi2PerClusterITSReject = new TH1F("gSecondaryProtonsChi2PerClusterITSReject",
3e6c06f4 2301 ";x^{2}/N_{clusters} (ITS);Entries",
2302 100,0,4);
a3478218 2303 fQASecondaryProtonsRejectedList->Add(gSecondaryProtonsChi2PerClusterITSReject);
2304 TH1F *gSecondaryProtonsTPCClustersReject = new TH1F("gSecondaryProtonsTPCClustersReject",
3e6c06f4 2305 ";N_{clusters} (TPC);Entries",
2306 100,0,200);
a3478218 2307 fQASecondaryProtonsRejectedList->Add(gSecondaryProtonsTPCClustersReject);
2308 TH1F *gSecondaryProtonsChi2PerClusterTPCReject = new TH1F("gSecondaryProtonsChi2PerClusterTPCReject",
3e6c06f4 2309 ";x^{2}/N_{clusters} (TPC);Entries",
2310 100,0,4);
a3478218 2311 fQASecondaryProtonsRejectedList->Add(gSecondaryProtonsChi2PerClusterTPCReject);
2312 TH1F *gSecondaryProtonsExtCov11Reject = new TH1F("gSecondaryProtonsExtCov11Reject",
3e6c06f4 2313 ";#sigma_{y} [cm];Entries",
2314 100,0,4);
a3478218 2315 fQASecondaryProtonsRejectedList->Add(gSecondaryProtonsExtCov11Reject);
2316 TH1F *gSecondaryProtonsExtCov22Reject = new TH1F("gSecondaryProtonsExtCov22Reject",
3e6c06f4 2317 ";#sigma_{z} [cm];Entries",
2318 100,0,4);
a3478218 2319 fQASecondaryProtonsRejectedList->Add(gSecondaryProtonsExtCov22Reject);
2320 TH1F *gSecondaryProtonsExtCov33Reject = new TH1F("gSecondaryProtonsExtCov33Reject",
3e6c06f4 2321 ";#sigma_{sin(#phi)};Entries",
2322 100,0,4);
a3478218 2323 fQASecondaryProtonsRejectedList->Add(gSecondaryProtonsExtCov33Reject);
2324 TH1F *gSecondaryProtonsExtCov44Reject = new TH1F("gSecondaryProtonsExtCov44Reject",
3e6c06f4 2325 ";#sigma_{tan(#lambda)};Entries",
2326 100,0,4);
a3478218 2327 fQASecondaryProtonsRejectedList->Add(gSecondaryProtonsExtCov44Reject);
2328 TH1F *gSecondaryProtonsExtCov55Reject = new TH1F("gSecondaryProtonsExtCov55Reject",
3e6c06f4 2329 ";#sigma_{1/P_{T}} [GeV/c]^{-1};Entries",
2330 100,0,4);
a3478218 2331 fQASecondaryProtonsRejectedList->Add(gSecondaryProtonsExtCov55Reject);
2332 TH1F *gSecondaryProtonsSigmaToVertexReject = new TH1F("gSecondaryProtonsSigmaToVertexReject",
3e6c06f4 2333 ";#sigma_{Vertex};Entries",
2334 100,0,10);
a3478218 2335 fQASecondaryProtonsRejectedList->Add(gSecondaryProtonsSigmaToVertexReject);
2336 TH1F *gSecondaryProtonsSigmaToVertexTPCReject = new TH1F("gSecondaryProtonsSigmaToVertexTPCReject",
3e6c06f4 2337 ";#sigma_{Vertex};Entries",
2338 100,0,10);
a3478218 2339 fQASecondaryProtonsRejectedList->Add(gSecondaryProtonsSigmaToVertexTPCReject);
2340 TH1F *gSecondaryProtonsDCAXYReject = new TH1F("gSecondaryProtonsDCAXYReject",
3e6c06f4 2341 ";DCA_{xy} [cm];Entries",
2342 100,0,20);
a3478218 2343 fQASecondaryProtonsRejectedList->Add(gSecondaryProtonsDCAXYReject);
2344 TH1F *gSecondaryProtonsDCAXYTPCReject = new TH1F("gSecondaryProtonsDCAXYTPCReject",
3e6c06f4 2345 ";DCA_{xy} [cm];Entries",
2346 100,0,20);
a3478218 2347 fQASecondaryProtonsRejectedList->Add(gSecondaryProtonsDCAXYTPCReject);
2348 TH1F *gSecondaryProtonsDCAZReject = new TH1F("gSecondaryProtonsDCAZReject",
3e6c06f4 2349 ";DCA_{z} [cm];Entries",
2350 100,0,20);
a3478218 2351 fQASecondaryProtonsRejectedList->Add(gSecondaryProtonsDCAZReject);
2352 TH1F *gSecondaryProtonsDCAZTPCReject = new TH1F("gSecondaryProtonsDCAZTPCReject",
3e6c06f4 2353 ";DCA_{z} [cm];Entries",
2354 100,0,20);
a3478218 2355 fQASecondaryProtonsRejectedList->Add(gSecondaryProtonsDCAZTPCReject);
2356 TH1F *gSecondaryProtonsConstrainChi2Reject = new TH1F("gSecondaryProtonsConstrainChi2Reject",
3e6c06f4 2357 ";Log_{10}(#chi^{2});Entries",
2358 100,-10,10);
a3478218 2359 fQASecondaryProtonsRejectedList->Add(gSecondaryProtonsConstrainChi2Reject);
2360 TH1F *gSecondaryProtonsITSRefitReject = new TH1F("gSecondaryProtonsITSRefitReject",
3e6c06f4 2361 "",10,-1,1);
a3478218 2362 fQASecondaryProtonsRejectedList->Add(gSecondaryProtonsITSRefitReject);
2363 TH1F *gSecondaryProtonsTPCRefitReject = new TH1F("gSecondaryProtonsTPCRefitReject",
3e6c06f4 2364 "",10,-1,1);
a3478218 2365 fQASecondaryProtonsRejectedList->Add(gSecondaryProtonsTPCRefitReject);
2366 TH1F *gSecondaryProtonsESDpidReject = new TH1F("gSecondaryProtonsESDpidReject",
3e6c06f4 2367 "",10,-1,1);
a3478218 2368 fQASecondaryProtonsRejectedList->Add(gSecondaryProtonsESDpidReject);
2369 TH1F *gSecondaryProtonsTPCpidReject = new TH1F("gSecondaryProtonsTPCpidReject",
3e6c06f4 2370 "",10,-1,1);
a3478218 2371 fQASecondaryProtonsRejectedList->Add(gSecondaryProtonsTPCpidReject);
2372 TH1F *gSecondaryProtonsPointOnITSLayer1Reject = new TH1F("gSecondaryProtonsPointOnITSLayer1Reject",
0008a5a6 2373 "",10,-1,1);
a3478218 2374 fQASecondaryProtonsRejectedList->Add(gSecondaryProtonsPointOnITSLayer1Reject);
2375 TH1F *gSecondaryProtonsPointOnITSLayer2Reject = new TH1F("gSecondaryProtonsPointOnITSLayer2Reject",
0008a5a6 2376 "",10,-1,1);
a3478218 2377 fQASecondaryProtonsRejectedList->Add(gSecondaryProtonsPointOnITSLayer2Reject);
2378 TH1F *gSecondaryProtonsPointOnITSLayer3Reject = new TH1F("gSecondaryProtonsPointOnITSLayer3Reject",
0008a5a6 2379 "",10,-1,1);
a3478218 2380 fQASecondaryProtonsRejectedList->Add(gSecondaryProtonsPointOnITSLayer3Reject);
2381 TH1F *gSecondaryProtonsPointOnITSLayer4Reject = new TH1F("gSecondaryProtonsPointOnITSLayer4Reject",
0008a5a6 2382 "",10,-1,1);
a3478218 2383 fQASecondaryProtonsRejectedList->Add(gSecondaryProtonsPointOnITSLayer4Reject);
2384 TH1F *gSecondaryProtonsPointOnITSLayer5Reject = new TH1F("gSecondaryProtonsPointOnITSLayer5Reject",
0008a5a6 2385 "",10,-1,1);
a3478218 2386 fQASecondaryProtonsRejectedList->Add(gSecondaryProtonsPointOnITSLayer5Reject);
2387 TH1F *gSecondaryProtonsPointOnITSLayer6Reject = new TH1F("gSecondaryProtonsPointOnITSLayer6Reject",
0008a5a6 2388 "",10,-1,1);
a3478218 2389 fQASecondaryProtonsRejectedList->Add(gSecondaryProtonsPointOnITSLayer6Reject);
87a55728 2390 TH1F *gSecondaryProtonsNumberOfTPCdEdxPointsReject = new TH1F("gSecondaryProtonsNumberOfTPCdEdxPointsReject","",100,0,200);
2391 fQASecondaryProtonsRejectedList->Add(gSecondaryProtonsNumberOfTPCdEdxPointsReject);
3e6c06f4 2392
2393 /*gDirectory->cd("../../../");
2394
2395 //antiprotons
2396 TDirectory *dirAntiProtons = gDirectory->mkdir("AntiProtons");
2397 fGlobalQAList->Add(dirAntiProtons); dirAntiProtons->cd();*/
2398
2399 //________________________________________________________________//
2400 /*TDirectory *dirAntiProtonsPrimary = gDirectory->mkdir("Primaries");
2401 dirAntiProtonsPrimary->cd();
2402 TDirectory *dirAntiProtonsPrimaryAccepted = gDirectory->mkdir("Accepted");
2403 dirAntiProtonsPrimaryAccepted->cd();*/
2404
2405 //Accepted primary antiprotons
a3478218 2406 TH1F *gPrimaryAntiProtonsITSClustersPass = new TH1F("gPrimaryAntiProtonsITSClustersPass",
3e6c06f4 2407 ";N_{clusters} (ITS);Entries",
2408 7,0,7);
a3478218 2409 fQAPrimaryAntiProtonsAcceptedList->Add(gPrimaryAntiProtonsITSClustersPass);
2410 TH1F *gPrimaryAntiProtonsChi2PerClusterITSPass = new TH1F("gPrimaryAntiProtonsChi2PerClusterITSPass",
3e6c06f4 2411 ";x^{2}/N_{clusters} (ITS);Entries",
2412 100,0,4);
a3478218 2413 fQAPrimaryAntiProtonsAcceptedList->Add(gPrimaryAntiProtonsChi2PerClusterITSPass);
2414 TH1F *gPrimaryAntiProtonsTPCClustersPass = new TH1F("gPrimaryAntiProtonsTPCClustersPass",
3e6c06f4 2415 ";N_{clusters} (TPC);Entries",
2416 100,0,200);
a3478218 2417 fQAPrimaryAntiProtonsAcceptedList->Add(gPrimaryAntiProtonsTPCClustersPass);
2418 TH1F *gPrimaryAntiProtonsChi2PerClusterTPCPass = new TH1F("gPrimaryAntiProtonsChi2PerClusterTPCPass",
3e6c06f4 2419 ";x^{2}/N_{clusters} (TPC);Entries",
2420 100,0,4);
a3478218 2421 fQAPrimaryAntiProtonsAcceptedList->Add(gPrimaryAntiProtonsChi2PerClusterTPCPass);
2422 TH1F *gPrimaryAntiProtonsExtCov11Pass = new TH1F("gPrimaryAntiProtonsExtCov11Pass",
3e6c06f4 2423 ";#sigma_{y} [cm];Entries",
2424 100,0,4);
a3478218 2425 fQAPrimaryAntiProtonsAcceptedList->Add(gPrimaryAntiProtonsExtCov11Pass);
2426 TH1F *gPrimaryAntiProtonsExtCov22Pass = new TH1F("gPrimaryAntiProtonsExtCov22Pass",
3e6c06f4 2427 ";#sigma_{z} [cm];Entries",
2428 100,0,4);
a3478218 2429 fQAPrimaryAntiProtonsAcceptedList->Add(gPrimaryAntiProtonsExtCov22Pass);
2430 TH1F *gPrimaryAntiProtonsExtCov33Pass = new TH1F("gPrimaryAntiProtonsExtCov33Pass",
3e6c06f4 2431 ";#sigma_{sin(#phi)};Entries",
2432 100,0,4);
a3478218 2433 fQAPrimaryAntiProtonsAcceptedList->Add(gPrimaryAntiProtonsExtCov33Pass);
2434 TH1F *gPrimaryAntiProtonsExtCov44Pass = new TH1F("gPrimaryAntiProtonsExtCov44Pass",
3e6c06f4 2435 ";#sigma_{tan(#lambda)};Entries",
2436 100,0,4);
a3478218 2437 fQAPrimaryAntiProtonsAcceptedList->Add(gPrimaryAntiProtonsExtCov44Pass);
2438 TH1F *gPrimaryAntiProtonsExtCov55Pass = new TH1F("gPrimaryAntiProtonsExtCov55Pass",
3e6c06f4 2439 ";#sigma_{1/P_{T}} [GeV/c]^{-1};Entries",
2440 100,0,4);
a3478218 2441 fQAPrimaryAntiProtonsAcceptedList->Add(gPrimaryAntiProtonsExtCov55Pass);
2442 TH1F *gPrimaryAntiProtonsSigmaToVertexPass = new TH1F("gPrimaryAntiProtonsSigmaToVertexPass",
3e6c06f4 2443 ";#sigma_{Vertex};Entries",
2444 100,0,10);
a3478218 2445 fQAPrimaryAntiProtonsAcceptedList->Add(gPrimaryAntiProtonsSigmaToVertexPass);
2446 TH1F *gPrimaryAntiProtonsSigmaToVertexTPCPass = new TH1F("gPrimaryAntiProtonsSigmaToVertexTPCPass",
3e6c06f4 2447 ";#sigma_{Vertex};Entries",
2448 100,0,10);
a3478218 2449 fQAPrimaryAntiProtonsAcceptedList->Add(gPrimaryAntiProtonsSigmaToVertexTPCPass);
2450 TH1F *gPrimaryAntiProtonsDCAXYPass = new TH1F("gPrimaryAntiProtonsDCAXYPass",
3e6c06f4 2451 ";DCA_{xy} [cm];Entries",
2452 100,0,20);
a3478218 2453 fQAPrimaryAntiProtonsAcceptedList->Add(gPrimaryAntiProtonsDCAXYPass);
2454 TH1F *gPrimaryAntiProtonsDCAXYTPCPass = new TH1F("gPrimaryAntiProtonsDCAXYTPCPass",
3e6c06f4 2455 ";DCA_{xy} [cm];Entries",
2456 100,0,20);
a3478218 2457 fQAPrimaryAntiProtonsAcceptedList->Add(gPrimaryAntiProtonsDCAXYTPCPass);
2458 TH1F *gPrimaryAntiProtonsDCAZPass = new TH1F("gPrimaryAntiProtonsDCAZPass",
3e6c06f4 2459 ";DCA_{z} [cm];Entries",
2460 100,0,20);
a3478218 2461 fQAPrimaryAntiProtonsAcceptedList->Add(gPrimaryAntiProtonsDCAZPass);
2462 TH1F *gPrimaryAntiProtonsDCAZTPCPass = new TH1F("gPrimaryAntiProtonsDCAZTPCPass",
3e6c06f4 2463 ";DCA_{z} [cm];Entries",
2464 100,0,20);
a3478218 2465 fQAPrimaryAntiProtonsAcceptedList->Add(gPrimaryAntiProtonsDCAZTPCPass);
2466 TH1F *gPrimaryAntiProtonsConstrainChi2Pass = new TH1F("gPrimaryAntiProtonsConstrainChi2Pass",
3e6c06f4 2467 ";Log_{10}(#chi^{2});Entries",
2468 100,-10,10);
a3478218 2469 fQAPrimaryAntiProtonsAcceptedList->Add(gPrimaryAntiProtonsConstrainChi2Pass);
2470 TH1F *gPrimaryAntiProtonsITSRefitPass = new TH1F("gPrimaryAntiProtonsITSRefitPass",
3e6c06f4 2471 "",10,-1,1);
a3478218 2472 fQAPrimaryAntiProtonsAcceptedList->Add(gPrimaryAntiProtonsITSRefitPass);
2473 TH1F *gPrimaryAntiProtonsTPCRefitPass = new TH1F("gPrimaryAntiProtonsTPCRefitPass",
3e6c06f4 2474 "",10,-1,1);
a3478218 2475 fQAPrimaryAntiProtonsAcceptedList->Add(gPrimaryAntiProtonsTPCRefitPass);
2476 TH1F *gPrimaryAntiProtonsESDpidPass = new TH1F("gPrimaryAntiProtonsESDpidPass",
3e6c06f4 2477 "",10,-1,1);
a3478218 2478 fQAPrimaryAntiProtonsAcceptedList->Add(gPrimaryAntiProtonsESDpidPass);
2479 TH1F *gPrimaryAntiProtonsTPCpidPass = new TH1F("gPrimaryAntiProtonsTPCpidPass",
3e6c06f4 2480 "",10,-1,1);
a3478218 2481 fQAPrimaryAntiProtonsAcceptedList->Add(gPrimaryAntiProtonsTPCpidPass);
2482 TH1F *gPrimaryAntiProtonsPointOnITSLayer1Pass = new TH1F("gPrimaryAntiProtonsPointOnITSLayer1Pass",
0008a5a6 2483 "",10,-1,1);
a3478218 2484 fQAPrimaryAntiProtonsAcceptedList->Add(gPrimaryAntiProtonsPointOnITSLayer1Pass);
2485 TH1F *gPrimaryAntiProtonsPointOnITSLayer2Pass = new TH1F("gPrimaryAntiProtonsPointOnITSLayer2Pass",
0008a5a6 2486 "",10,-1,1);
a3478218 2487 fQAPrimaryAntiProtonsAcceptedList->Add(gPrimaryAntiProtonsPointOnITSLayer2Pass);
2488 TH1F *gPrimaryAntiProtonsPointOnITSLayer3Pass = new TH1F("gPrimaryAntiProtonsPointOnITSLayer3Pass",
0008a5a6 2489 "",10,-1,1);
a3478218 2490 fQAPrimaryAntiProtonsAcceptedList->Add(gPrimaryAntiProtonsPointOnITSLayer3Pass);
2491 TH1F *gPrimaryAntiProtonsPointOnITSLayer4Pass = new TH1F("gPrimaryAntiProtonsPointOnITSLayer4Pass",
0008a5a6 2492 "",10,-1,1);
a3478218 2493 fQAPrimaryAntiProtonsAcceptedList->Add(gPrimaryAntiProtonsPointOnITSLayer4Pass);
2494 TH1F *gPrimaryAntiProtonsPointOnITSLayer5Pass = new TH1F("gPrimaryAntiProtonsPointOnITSLayer5Pass",
0008a5a6 2495 "",10,-1,1);
a3478218 2496 fQAPrimaryAntiProtonsAcceptedList->Add(gPrimaryAntiProtonsPointOnITSLayer5Pass);
2497 TH1F *gPrimaryAntiProtonsPointOnITSLayer6Pass = new TH1F("gPrimaryAntiProtonsPointOnITSLayer6Pass",
0008a5a6 2498 "",10,-1,1);
a3478218 2499 fQAPrimaryAntiProtonsAcceptedList->Add(gPrimaryAntiProtonsPointOnITSLayer6Pass);
87a55728 2500 TH1F *gPrimaryAntiProtonsNumberOfTPCdEdxPointsPass = new TH1F("gPrimaryAntiProtonsNumberOfTPCdEdxPointsPass","",100,0,200);
2501 fQAPrimaryAntiProtonsAcceptedList->Add(gPrimaryAntiProtonsNumberOfTPCdEdxPointsPass);
3e6c06f4 2502
2503 //Rejected primary antiprotons
2504 /*gDirectory->cd("../");
2505 TDirectory *dirAntiProtonsPrimaryRejected = gDirectory->mkdir("Rejected");
2506 dirAntiProtonsPrimaryRejected->cd();*/
2507
a3478218 2508 TH1F *gPrimaryAntiProtonsITSClustersReject = new TH1F("gPrimaryAntiProtonsITSClustersReject",
3e6c06f4 2509 ";N_{clusters} (ITS);Entries",
2510 7,0,7);
a3478218 2511 fQAPrimaryAntiProtonsRejectedList->Add(gPrimaryAntiProtonsITSClustersReject);
2512 TH1F *gPrimaryAntiProtonsChi2PerClusterITSReject = new TH1F("gPrimaryAntiProtonsChi2PerClusterITSReject",
3e6c06f4 2513 ";x^{2}/N_{clusters} (ITS);Entries",
2514 100,0,4);
a3478218 2515 fQAPrimaryAntiProtonsRejectedList->Add(gPrimaryAntiProtonsChi2PerClusterITSReject);
2516 TH1F *gPrimaryAntiProtonsTPCClustersReject = new TH1F("gPrimaryAntiProtonsTPCClustersReject",
3e6c06f4 2517 ";N_{clusters} (TPC);Entries",
2518 100,0,200);
a3478218 2519 fQAPrimaryAntiProtonsRejectedList->Add(gPrimaryAntiProtonsTPCClustersReject);
2520 TH1F *gPrimaryAntiProtonsChi2PerClusterTPCReject = new TH1F("gPrimaryAntiProtonsChi2PerClusterTPCReject",
3e6c06f4 2521 ";x^{2}/N_{clusters} (TPC);Entries",
2522 100,0,4);
a3478218 2523 fQAPrimaryAntiProtonsRejectedList->Add(gPrimaryAntiProtonsChi2PerClusterTPCReject);
2524 TH1F *gPrimaryAntiProtonsExtCov11Reject = new TH1F("gPrimaryAntiProtonsExtCov11Reject",
3e6c06f4 2525 ";#sigma_{y} [cm];Entries",
2526 100,0,4);
a3478218 2527 fQAPrimaryAntiProtonsRejectedList->Add(gPrimaryAntiProtonsExtCov11Reject);
2528 TH1F *gPrimaryAntiProtonsExtCov22Reject = new TH1F("gPrimaryAntiProtonsExtCov22Reject",
3e6c06f4 2529 ";#sigma_{z} [cm];Entries",
2530 100,0,4);
a3478218 2531 fQAPrimaryAntiProtonsRejectedList->Add(gPrimaryAntiProtonsExtCov22Reject);
2532 TH1F *gPrimaryAntiProtonsExtCov33Reject = new TH1F("gPrimaryAntiProtonsExtCov33Reject",
3e6c06f4 2533 ";#sigma_{sin(#phi)};Entries",
2534 100,0,4);
a3478218 2535 fQAPrimaryAntiProtonsRejectedList->Add(gPrimaryAntiProtonsExtCov33Reject);
2536 TH1F *gPrimaryAntiProtonsExtCov44Reject = new TH1F("gPrimaryAntiProtonsExtCov44Reject",
3e6c06f4 2537 ";#sigma_{tan(#lambda)};Entries",
2538 100,0,4);
a3478218 2539 fQAPrimaryAntiProtonsRejectedList->Add(gPrimaryAntiProtonsExtCov44Reject);
2540 TH1F *gPrimaryAntiProtonsExtCov55Reject = new TH1F("gPrimaryAntiProtonsExtCov55Reject",
3e6c06f4 2541 ";#sigma_{1/P_{T}} [GeV/c]^{-1};Entries",
2542 100,0,4);
a3478218 2543 fQAPrimaryAntiProtonsRejectedList->Add(gPrimaryAntiProtonsExtCov55Reject);
2544 TH1F *gPrimaryAntiProtonsSigmaToVertexReject = new TH1F("gPrimaryAntiProtonsSigmaToVertexReject",
3e6c06f4 2545 ";#sigma_{Vertex};Entries",
2546 100,0,10);
a3478218 2547 fQAPrimaryAntiProtonsRejectedList->Add(gPrimaryAntiProtonsSigmaToVertexReject);
2548 TH1F *gPrimaryAntiProtonsSigmaToVertexTPCReject = new TH1F("gPrimaryAntiProtonsSigmaToVertexTPCReject",
3e6c06f4 2549 ";#sigma_{Vertex};Entries",
2550 100,0,10);
a3478218 2551 fQAPrimaryAntiProtonsRejectedList->Add(gPrimaryAntiProtonsSigmaToVertexTPCReject);
2552 TH1F *gPrimaryAntiProtonsDCAXYReject = new TH1F("gPrimaryAntiProtonsDCAXYReject",
3e6c06f4 2553 ";DCA_{xy} [cm];Entries",
2554 100,0,20);
a3478218 2555 fQAPrimaryAntiProtonsRejectedList->Add(gPrimaryAntiProtonsDCAXYReject);
2556 TH1F *gPrimaryAntiProtonsDCAXYTPCReject = new TH1F("gPrimaryAntiProtonsDCAXYTPCReject",
3e6c06f4 2557 ";DCA_{xy} [cm];Entries",
2558 100,0,20);
a3478218 2559 fQAPrimaryAntiProtonsRejectedList->Add(gPrimaryAntiProtonsDCAXYTPCReject);
2560 TH1F *gPrimaryAntiProtonsDCAZReject = new TH1F("gPrimaryAntiProtonsDCAZReject",
3e6c06f4 2561 ";DCA_{z} [cm];Entries",
2562 100,0,20);
a3478218 2563 fQAPrimaryAntiProtonsRejectedList->Add(gPrimaryAntiProtonsDCAZReject);
2564 TH1F *gPrimaryAntiProtonsDCAZTPCReject = new TH1F("gPrimaryAntiProtonsDCAZTPCReject",
3e6c06f4 2565 ";DCA_{z} [cm];Entries",
2566 100,0,20);
a3478218 2567 fQAPrimaryAntiProtonsRejectedList->Add(gPrimaryAntiProtonsDCAZTPCReject);
2568 TH1F *gPrimaryAntiProtonsConstrainChi2Reject = new TH1F("gPrimaryAntiProtonsConstrainChi2Reject",
3e6c06f4 2569 ";Log_{10}(#chi^{2});Entries",
2570 100,-10,10);
a3478218 2571 fQAPrimaryAntiProtonsRejectedList->Add(gPrimaryAntiProtonsConstrainChi2Reject);
2572 TH1F *gPrimaryAntiProtonsITSRefitReject = new TH1F("gPrimaryAntiProtonsITSRefitReject",
3e6c06f4 2573 "",10,-1,1);
a3478218 2574 fQAPrimaryAntiProtonsRejectedList->Add(gPrimaryAntiProtonsITSRefitReject);
2575 TH1F *gPrimaryAntiProtonsTPCRefitReject = new TH1F("gPrimaryAntiProtonsTPCRefitReject",
3e6c06f4 2576 "",10,-1,1);
a3478218 2577 fQAPrimaryAntiProtonsRejectedList->Add(gPrimaryAntiProtonsTPCRefitReject);
2578 TH1F *gPrimaryAntiProtonsESDpidReject = new TH1F("gPrimaryAntiProtonsESDpidReject",
3e6c06f4 2579 "",10,-1,1);
a3478218 2580 fQAPrimaryAntiProtonsRejectedList->Add(gPrimaryAntiProtonsESDpidReject);
2581 TH1F *gPrimaryAntiProtonsTPCpidReject = new TH1F("gPrimaryAntiProtonsTPCpidReject",
3e6c06f4 2582 "",10,-1,1);
a3478218 2583 fQAPrimaryAntiProtonsRejectedList->Add(gPrimaryAntiProtonsTPCpidReject);
2584 TH1F *gPrimaryAntiProtonsPointOnITSLayer1Reject = new TH1F("gPrimaryAntiProtonsPointOnITSLayer1Reject",
0008a5a6 2585 "",10,-1,1);
a3478218 2586 fQAPrimaryAntiProtonsRejectedList->Add(gPrimaryAntiProtonsPointOnITSLayer1Reject);
2587 TH1F *gPrimaryAntiProtonsPointOnITSLayer2Reject = new TH1F("gPrimaryAntiProtonsPointOnITSLayer2Reject",
0008a5a6 2588 "",10,-1,1);
a3478218 2589 fQAPrimaryAntiProtonsRejectedList->Add(gPrimaryAntiProtonsPointOnITSLayer2Reject);
2590 TH1F *gPrimaryAntiProtonsPointOnITSLayer3Reject = new TH1F("gPrimaryAntiProtonsPointOnITSLayer3Reject",
0008a5a6 2591 "",10,-1,1);
a3478218 2592 fQAPrimaryAntiProtonsRejectedList->Add(gPrimaryAntiProtonsPointOnITSLayer3Reject);
2593 TH1F *gPrimaryAntiProtonsPointOnITSLayer4Reject = new TH1F("gPrimaryAntiProtonsPointOnITSLayer4Reject",
0008a5a6 2594 "",10,-1,1);
a3478218 2595 fQAPrimaryAntiProtonsRejectedList->Add(gPrimaryAntiProtonsPointOnITSLayer4Reject);
2596 TH1F *gPrimaryAntiProtonsPointOnITSLayer5Reject = new TH1F("gPrimaryAntiProtonsPointOnITSLayer5Reject",
0008a5a6 2597 "",10,-1,1);
a3478218 2598 fQAPrimaryAntiProtonsRejectedList->Add(gPrimaryAntiProtonsPointOnITSLayer5Reject);
2599 TH1F *gPrimaryAntiProtonsPointOnITSLayer6Reject = new TH1F("gPrimaryAntiProtonsPointOnITSLayer6Reject",
0008a5a6 2600 "",10,-1,1);
a3478218 2601 fQAPrimaryAntiProtonsRejectedList->Add(gPrimaryAntiProtonsPointOnITSLayer6Reject);
87a55728 2602 TH1F *gPrimaryAntiProtonsNumberOfTPCdEdxPointsReject = new TH1F("gPrimaryAntiProtonsNumberOfTPCdEdxPointsReject","",100,0,200);
2603 fQAPrimaryAntiProtonsRejectedList->Add(gPrimaryAntiProtonsNumberOfTPCdEdxPointsReject);
3e6c06f4 2604
2605 //________________________________________________________________//
2606 /*gDirectory->cd("../../");
2607
2608 TDirectory *dirAntiProtonsSecondary = gDirectory->mkdir("Secondaries");
2609 dirAntiProtonsSecondary->cd();
2610 TDirectory *dirAntiProtonsSecondaryAccepted = gDirectory->mkdir("Accepted");
2611 dirAntiProtonsSecondaryAccepted->cd();*/
2612
2613 //Accepted secondary antiprotons
a3478218 2614 TH1F *gSecondaryAntiProtonsITSClustersPass = new TH1F("gSecondaryAntiProtonsITSClustersPass",
3e6c06f4 2615 ";N_{clusters} (ITS);Entries",
2616 7,0,7);
a3478218 2617 fQASecondaryAntiProtonsAcceptedList->Add(gSecondaryAntiProtonsITSClustersPass);
2618 TH1F *gSecondaryAntiProtonsChi2PerClusterITSPass = new TH1F("gSecondaryAntiProtonsChi2PerClusterITSPass",
3e6c06f4 2619 ";x^{2}/N_{clusters} (ITS);Entries",
2620 100,0,4);
a3478218 2621 fQASecondaryAntiProtonsAcceptedList->Add(gSecondaryAntiProtonsChi2PerClusterITSPass);
2622 TH1F *gSecondaryAntiProtonsTPCClustersPass = new TH1F("gSecondaryAntiProtonsTPCClustersPass",
3e6c06f4 2623 ";N_{clusters} (TPC);Entries",
2624 100,0,200);
a3478218 2625 fQASecondaryAntiProtonsAcceptedList->Add(gSecondaryAntiProtonsTPCClustersPass);
2626 TH1F *gSecondaryAntiProtonsChi2PerClusterTPCPass = new TH1F("gSecondaryAntiProtonsChi2PerClusterTPCPass",
3e6c06f4 2627 ";x^{2}/N_{clusters} (TPC);Entries",
2628 100,0,4);
a3478218 2629 fQASecondaryAntiProtonsAcceptedList->Add(gSecondaryAntiProtonsChi2PerClusterTPCPass);
2630 TH1F *gSecondaryAntiProtonsExtCov11Pass = new TH1F("gSecondaryAntiProtonsExtCov11Pass",
3e6c06f4 2631 ";#sigma_{y} [cm];Entries",
2632 100,0,4);
a3478218 2633 fQASecondaryAntiProtonsAcceptedList->Add(gSecondaryAntiProtonsExtCov11Pass);
2634 TH1F *gSecondaryAntiProtonsExtCov22Pass = new TH1F("gSecondaryAntiProtonsExtCov22Pass",
3e6c06f4 2635 ";#sigma_{z} [cm];Entries",
2636 100,0,4);
a3478218 2637 fQASecondaryAntiProtonsAcceptedList->Add(gSecondaryAntiProtonsExtCov22Pass);
2638 TH1F *gSecondaryAntiProtonsExtCov33Pass = new TH1F("gSecondaryAntiProtonsExtCov33Pass",
3e6c06f4 2639 ";#sigma_{sin(#phi)};Entries",
2640 100,0,4);
a3478218 2641 fQASecondaryAntiProtonsAcceptedList->Add(gSecondaryAntiProtonsExtCov33Pass);
2642 TH1F *gSecondaryAntiProtonsExtCov44Pass = new TH1F("gSecondaryAntiProtonsExtCov44Pass",
3e6c06f4 2643 ";#sigma_{tan(#lambda)};Entries",
2644 100,0,4);
a3478218 2645 fQASecondaryAntiProtonsAcceptedList->Add(gSecondaryAntiProtonsExtCov44Pass);
2646 TH1F *gSecondaryAntiProtonsExtCov55Pass = new TH1F("gSecondaryAntiProtonsExtCov55Pass",
3e6c06f4 2647 ";#sigma_{1/P_{T}} [GeV/c]^{-1};Entries",
2648 100,0,4);
a3478218 2649 fQASecondaryAntiProtonsAcceptedList->Add(gSecondaryAntiProtonsExtCov55Pass);
2650 TH1F *gSecondaryAntiProtonsSigmaToVertexPass = new TH1F("gSecondaryAntiProtonsSigmaToVertexPass",
3e6c06f4 2651 ";#sigma_{Vertex};Entries",
2652 100,0,10);
a3478218 2653 fQASecondaryAntiProtonsAcceptedList->Add(gSecondaryAntiProtonsSigmaToVertexPass);
2654 TH1F *gSecondaryAntiProtonsSigmaToVertexTPCPass = new TH1F("gSecondaryAntiProtonsSigmaToVertexTPCPass",
3e6c06f4 2655 ";#sigma_{Vertex};Entries",
2656 100,0,10);
a3478218 2657 fQASecondaryAntiProtonsAcceptedList->Add(gSecondaryAntiProtonsSigmaToVertexTPCPass);
2658 TH1F *gSecondaryAntiProtonsDCAXYPass = new TH1F("gSecondaryAntiProtonsDCAXYPass",
3e6c06f4 2659 ";DCA_{xy} [cm];Entries",
2660 100,0,20);
a3478218 2661 fQASecondaryAntiProtonsAcceptedList->Add(gSecondaryAntiProtonsDCAXYPass);
2662 TH1F *gSecondaryAntiProtonsDCAXYTPCPass = new TH1F("gSecondaryAntiProtonsDCAXYTPCPass",
3e6c06f4 2663 ";DCA_{xy} [cm];Entries",
2664 100,0,20);
a3478218 2665 fQASecondaryAntiProtonsAcceptedList->Add(gSecondaryAntiProtonsDCAXYTPCPass);
2666 TH1F *gSecondaryAntiProtonsDCAZPass = new TH1F("gSecondaryAntiProtonsDCAZPass",
3e6c06f4 2667 ";DCA_{z} [cm];Entries",
2668 100,0,20);
a3478218 2669 fQASecondaryAntiProtonsAcceptedList->Add(gSecondaryAntiProtonsDCAZPass);
2670 TH1F *gSecondaryAntiProtonsDCAZTPCPass = new TH1F("gSecondaryAntiProtonsDCAZTPCPass",
3e6c06f4 2671 ";DCA_{z} [cm];Entries",
2672 100,0,20);
a3478218 2673 fQASecondaryAntiProtonsAcceptedList->Add(gSecondaryAntiProtonsDCAZTPCPass);
2674 TH1F *gSecondaryAntiProtonsConstrainChi2Pass = new TH1F("gSecondaryAntiProtonsConstrainChi2Pass",
3e6c06f4 2675 ";Log_{10}(#chi^{2});Entries",
2676 100,-10,10);
a3478218 2677 fQASecondaryAntiProtonsAcceptedList->Add(gSecondaryAntiProtonsConstrainChi2Pass);
2678 TH1F *gSecondaryAntiProtonsITSRefitPass = new TH1F("gSecondaryAntiProtonsITSRefitPass",
3e6c06f4 2679 "",10,-1,1);
a3478218 2680 fQASecondaryAntiProtonsAcceptedList->Add(gSecondaryAntiProtonsITSRefitPass);
2681 TH1F *gSecondaryAntiProtonsTPCRefitPass = new TH1F("gSecondaryAntiProtonsTPCRefitPass",
3e6c06f4 2682 "",10,-1,1);
a3478218 2683 fQASecondaryAntiProtonsAcceptedList->Add(gSecondaryAntiProtonsTPCRefitPass);
2684 TH1F *gSecondaryAntiProtonsESDpidPass = new TH1F("gSecondaryAntiProtonsESDpidPass",
3e6c06f4 2685 "",10,-1,1);
a3478218 2686 fQASecondaryAntiProtonsAcceptedList->Add(gSecondaryAntiProtonsESDpidPass);
2687 TH1F *gSecondaryAntiProtonsTPCpidPass = new TH1F("gSecondaryAntiProtonsTPCpidPass",
3e6c06f4 2688 "",10,-1,1);
a3478218 2689 fQASecondaryAntiProtonsAcceptedList->Add(gSecondaryAntiProtonsTPCpidPass);
2690 TH1F *gSecondaryAntiProtonsPointOnITSLayer1Pass = new TH1F("gSecondaryAntiProtonsPointOnITSLayer1Pass",
0008a5a6 2691 "",10,-1,1);
a3478218 2692 fQASecondaryAntiProtonsAcceptedList->Add(gSecondaryAntiProtonsPointOnITSLayer1Pass);
2693 TH1F *gSecondaryAntiProtonsPointOnITSLayer2Pass = new TH1F("gSecondaryAntiProtonsPointOnITSLayer2Pass",
0008a5a6 2694 "",10,-1,1);
a3478218 2695 fQASecondaryAntiProtonsAcceptedList->Add(gSecondaryAntiProtonsPointOnITSLayer2Pass);
2696 TH1F *gSecondaryAntiProtonsPointOnITSLayer3Pass = new TH1F("gSecondaryAntiProtonsPointOnITSLayer3Pass",
0008a5a6 2697 "",10,-1,1);
a3478218 2698 fQASecondaryAntiProtonsAcceptedList->Add(gSecondaryAntiProtonsPointOnITSLayer3Pass);
2699 TH1F *gSecondaryAntiProtonsPointOnITSLayer4Pass = new TH1F("gSecondaryAntiProtonsPointOnITSLayer4Pass",
0008a5a6 2700 "",10,-1,1);
a3478218 2701 fQASecondaryAntiProtonsAcceptedList->Add(gSecondaryAntiProtonsPointOnITSLayer4Pass);
2702 TH1F *gSecondaryAntiProtonsPointOnITSLayer5Pass = new TH1F("gSecondaryAntiProtonsPointOnITSLayer5Pass",
0008a5a6 2703 "",10,-1,1);
a3478218 2704 fQASecondaryAntiProtonsAcceptedList->Add(gSecondaryAntiProtonsPointOnITSLayer5Pass);
2705 TH1F *gSecondaryAntiProtonsPointOnITSLayer6Pass = new TH1F("gSecondaryAntiProtonsPointOnITSLayer6Pass",
0008a5a6 2706 "",10,-1,1);
a3478218 2707 fQASecondaryAntiProtonsAcceptedList->Add(gSecondaryAntiProtonsPointOnITSLayer6Pass);
87a55728 2708 TH1F *gSecondaryAntiProtonsNumberOfTPCdEdxPointsPass = new TH1F("gSecondaryAntiProtonsNumberOfTPCdEdxPointsPass","",100,0,200);
2709 fQASecondaryAntiProtonsAcceptedList->Add(gSecondaryAntiProtonsNumberOfTPCdEdxPointsPass);
2710
3e6c06f4 2711 //Rejected secondary antiprotons
2712 /*gDirectory->cd("../");
2713 TDirectory *dirAntiProtonsSecondaryRejected = gDirectory->mkdir("Rejected");
2714 dirAntiProtonsSecondaryRejected->cd();*/
2715
a3478218 2716 TH1F *gSecondaryAntiProtonsITSClustersReject = new TH1F("gSecondaryAntiProtonsITSClustersReject",
3e6c06f4 2717 ";N_{clusters} (ITS);Entries",
2718 7,0,7);
a3478218 2719 fQASecondaryAntiProtonsRejectedList->Add(gSecondaryAntiProtonsITSClustersReject);
2720 TH1F *gSecondaryAntiProtonsChi2PerClusterITSReject = new TH1F("gSecondaryAntiProtonsChi2PerClusterITSReject",
3e6c06f4 2721 ";x^{2}/N_{clusters} (ITS);Entries",
2722 100,0,4);
a3478218 2723 fQASecondaryAntiProtonsRejectedList->Add(gSecondaryAntiProtonsChi2PerClusterITSReject);
2724 TH1F *gSecondaryAntiProtonsTPCClustersReject = new TH1F("gSecondaryAntiProtonsTPCClustersReject",
3e6c06f4 2725 ";N_{clusters} (TPC);Entries",
2726 100,0,200);
a3478218 2727 fQASecondaryAntiProtonsRejectedList->Add(gSecondaryAntiProtonsTPCClustersReject);
2728 TH1F *gSecondaryAntiProtonsChi2PerClusterTPCReject = new TH1F("gSecondaryAntiProtonsChi2PerClusterTPCReject",
3e6c06f4 2729 ";x^{2}/N_{clusters} (TPC);Entries",
2730 100,0,4);
a3478218 2731 fQASecondaryAntiProtonsRejectedList->Add(gSecondaryAntiProtonsChi2PerClusterTPCReject);
2732 TH1F *gSecondaryAntiProtonsExtCov11Reject = new TH1F("gSecondaryAntiProtonsExtCov11Reject",
3e6c06f4 2733 ";#sigma_{y} [cm];Entries",
2734 100,0,4);
a3478218 2735 fQASecondaryAntiProtonsRejectedList->Add(gSecondaryAntiProtonsExtCov11Reject);
2736 TH1F *gSecondaryAntiProtonsExtCov22Reject = new TH1F("gSecondaryAntiProtonsExtCov22Reject",
3e6c06f4 2737 ";#sigma_{z} [cm];Entries",
2738 100,0,4);
a3478218 2739 fQASecondaryAntiProtonsRejectedList->Add(gSecondaryAntiProtonsExtCov22Reject);
2740 TH1F *gSecondaryAntiProtonsExtCov33Reject = new TH1F("gSecondaryAntiProtonsExtCov33Reject",
3e6c06f4 2741 ";#sigma_{sin(#phi)};Entries",
2742 100,0,4);
a3478218 2743 fQASecondaryAntiProtonsRejectedList->Add(gSecondaryAntiProtonsExtCov33Reject);
2744 TH1F *gSecondaryAntiProtonsExtCov44Reject = new TH1F("gSecondaryAntiProtonsExtCov44Reject",
3e6c06f4 2745 ";#sigma_{tan(#lambda)};Entries",
2746 100,0,4);
a3478218 2747 fQASecondaryAntiProtonsRejectedList->Add(gSecondaryAntiProtonsExtCov44Reject);
2748 TH1F *gSecondaryAntiProtonsExtCov55Reject = new TH1F("gSecondaryAntiProtonsExtCov55Reject",
3e6c06f4 2749 ";#sigma_{1/P_{T}} [GeV/c]^{-1};Entries",
2750 100,0,4);
a3478218 2751 fQASecondaryAntiProtonsRejectedList->Add(gSecondaryAntiProtonsExtCov55Reject);
2752 TH1F *gSecondaryAntiProtonsSigmaToVertexReject = new TH1F("gSecondaryAntiProtonsSigmaToVertexReject",
3e6c06f4 2753 ";#sigma_{Vertex};Entries",
2754 100,0,10);
a3478218 2755 fQASecondaryAntiProtonsRejectedList->Add(gSecondaryAntiProtonsSigmaToVertexReject);
2756 TH1F *gSecondaryAntiProtonsSigmaToVertexTPCReject = new TH1F("gSecondaryAntiProtonsSigmaToVertexTPCReject",
3e6c06f4 2757 ";#sigma_{Vertex};Entries",
2758 100,0,10);
a3478218 2759 fQASecondaryAntiProtonsRejectedList->Add(gSecondaryAntiProtonsSigmaToVertexTPCReject);
2760 TH1F *gSecondaryAntiProtonsDCAXYReject = new TH1F("gSecondaryAntiProtonsDCAXYReject",
3e6c06f4 2761 ";DCA_{xy} [cm];Entries",
2762 100,0,20);
a3478218 2763 fQASecondaryAntiProtonsRejectedList->Add(gSecondaryAntiProtonsDCAXYReject);
2764 TH1F *gSecondaryAntiProtonsDCAXYTPCReject = new TH1F("gSecondaryAntiProtonsDCAXYTPCReject",
3e6c06f4 2765 ";DCA_{xy} [cm];Entries",
2766 100,0,20);
a3478218 2767 fQASecondaryAntiProtonsRejectedList->Add(gSecondaryAntiProtonsDCAXYTPCReject);
2768 TH1F *gSecondaryAntiProtonsDCAZReject = new TH1F("gSecondaryAntiProtonsDCAZReject",
3e6c06f4 2769 ";DCA_{z} [cm];Entries",
2770 100,0,20);
a3478218 2771 fQASecondaryAntiProtonsRejectedList->Add(gSecondaryAntiProtonsDCAZReject);
2772 TH1F *gSecondaryAntiProtonsDCAZTPCReject = new TH1F("gSecondaryAntiProtonsDCAZTPCReject",
3e6c06f4 2773 ";DCA_{z} [cm];Entries",
2774 100,0,20);
a3478218 2775 fQASecondaryAntiProtonsRejectedList->Add(gSecondaryAntiProtonsDCAZTPCReject);
2776 TH1F *gSecondaryAntiProtonsConstrainChi2Reject = new TH1F("gSecondaryAntiProtonsConstrainChi2Reject",
3e6c06f4 2777 ";Log_{10}(#chi^{2});Entries",
2778 100,-10,10);
a3478218 2779 fQASecondaryAntiProtonsRejectedList->Add(gSecondaryAntiProtonsConstrainChi2Reject);
2780 TH1F *gSecondaryAntiProtonsITSRefitReject = new TH1F("gSecondaryAntiProtonsITSRefitReject",
3e6c06f4 2781 "",10,-1,1);
a3478218 2782 fQASecondaryAntiProtonsRejectedList->Add(gSecondaryAntiProtonsITSRefitReject);
2783 TH1F *gSecondaryAntiProtonsTPCRefitReject = new TH1F("gSecondaryAntiProtonsTPCRefitReject",
3e6c06f4 2784 "",10,-1,1);
a3478218 2785 fQASecondaryAntiProtonsRejectedList->Add(gSecondaryAntiProtonsTPCRefitReject);
2786 TH1F *gSecondaryAntiProtonsESDpidReject = new TH1F("gSecondaryAntiProtonsESDpidReject",
3e6c06f4 2787 "",10,-1,1);
a3478218 2788 fQASecondaryAntiProtonsRejectedList->Add(gSecondaryAntiProtonsESDpidReject);
2789 TH1F *gSecondaryAntiProtonsTPCpidReject = new TH1F("gSecondaryAntiProtonsTPCpidReject",
3e6c06f4 2790 "",10,-1,1);
a3478218 2791 fQASecondaryAntiProtonsRejectedList->Add(gSecondaryAntiProtonsTPCpidReject);
2792 TH1F *gSecondaryAntiProtonsPointOnITSLayer1Reject = new TH1F("gSecondaryAntiProtonsPointOnITSLayer1Reject",
0008a5a6 2793 "",10,-1,1);
a3478218 2794 fQASecondaryAntiProtonsRejectedList->Add(gSecondaryAntiProtonsPointOnITSLayer1Reject);
2795 TH1F *gSecondaryAntiProtonsPointOnITSLayer2Reject = new TH1F("gSecondaryAntiProtonsPointOnITSLayer2Reject",
0008a5a6 2796 "",10,-1,1);
a3478218 2797 fQASecondaryAntiProtonsRejectedList->Add(gSecondaryAntiProtonsPointOnITSLayer2Reject);
2798 TH1F *gSecondaryAntiProtonsPointOnITSLayer3Reject = new TH1F("gSecondaryAntiProtonsPointOnITSLayer3Reject",
0008a5a6 2799 "",10,-1,1);
a3478218 2800 fQASecondaryAntiProtonsRejectedList->Add(gSecondaryAntiProtonsPointOnITSLayer3Reject);
2801 TH1F *gSecondaryAntiProtonsPointOnITSLayer4Reject = new TH1F("gSecondaryAntiProtonsPointOnITSLayer4Reject",
0008a5a6 2802 "",10,-1,1);
a3478218 2803 fQASecondaryAntiProtonsRejectedList->Add(gSecondaryAntiProtonsPointOnITSLayer4Reject);
2804 TH1F *gSecondaryAntiProtonsPointOnITSLayer5Reject = new TH1F("gSecondaryAntiProtonsPointOnITSLayer5Reject",
0008a5a6 2805 "",10,-1,1);
a3478218 2806 fQASecondaryAntiProtonsRejectedList->Add(gSecondaryAntiProtonsPointOnITSLayer5Reject);
2807 TH1F *gSecondaryAntiProtonsPointOnITSLayer6Reject = new TH1F("gSecondaryAntiProtonsPointOnITSLayer6Reject",
0008a5a6 2808 "",10,-1,1);
a3478218 2809 fQASecondaryAntiProtonsRejectedList->Add(gSecondaryAntiProtonsPointOnITSLayer6Reject);
87a55728 2810 TH1F *gSecondaryAntiProtonsNumberOfTPCdEdxPointsReject = new TH1F("gSecondaryAntiProtonsNumberOfTPCdEdxPointsReject","",100,0,200);
2811 fQASecondaryAntiProtonsRejectedList->Add(gSecondaryAntiProtonsNumberOfTPCdEdxPointsReject);
3e6c06f4 2812}
2813
4042c3a2 2814//____________________________________________________________________//
c20898de 2815void AliProtonQAAnalysis::RunReconstructionEfficiencyAnalysis(AliMCEvent *const mcEvent,
2816 AliESDEvent *esd,
2817 const AliESDVertex *vertex) {
4042c3a2 2818 //Run the reconstruction efficiency code (primaries & secondaries)
2819 AliStack *stack = mcEvent->Stack();
2820
2821 Int_t nMCParticles = mcEvent->GetNumberOfTracks();
2822 Int_t nMCLabelCounter = 0;
2823 TArrayI labelMCArray(nMCParticles);
57e749bb 2824
4042c3a2 2825 for (Int_t iTracks = 0; iTracks < mcEvent->GetNumberOfTracks(); iTracks++) {
2826 AliMCParticle *mcTrack = mcEvent->GetTrack(iTracks);
2827 if (!mcTrack) {
2828 Printf("ERROR: Could not receive track %d (mc loop)", iTracks);
2829 continue;
2830 }
2831 if(TMath::Abs(mcTrack->Eta()) > 1.0) continue;//acceptance
2832 if((mcTrack->Pt() > fMaxPt)||(mcTrack->Pt() < fMinPt)) continue;
e7df5638 2833 if(fProtonAnalysisBase->GetEtaMode()) {
4042c3a2 2834 if((mcTrack->Eta() > fMaxY)|| (mcTrack->Eta() < fMinY)) continue;
2835 }
2836 else
e7df5638 2837 if((fProtonAnalysisBase->Rapidity(mcTrack->Px(),mcTrack->Py(),mcTrack->Pz()) > fMaxY)||(fProtonAnalysisBase->Rapidity(mcTrack->Px(),mcTrack->Py(),mcTrack->Pz()) < fMinY)) continue;
4042c3a2 2838
2839 // Loop over Track References
73aba974 2840 Bool_t labelTPC = kFALSE;
4042c3a2 2841 AliTrackReference* trackRef = 0;
2842 for (Int_t iTrackRef = 0; iTrackRef < mcTrack->GetNumberOfTrackReferences(); iTrackRef++) {
2843 trackRef = mcTrack->GetTrackReference(iTrackRef);
2844 if(trackRef) {
2845 Int_t detectorId = trackRef->DetectorId();
2846 if (detectorId == AliTrackReference::kTPC) {
73aba974 2847 labelTPC = kTRUE;
4042c3a2 2848 break;
2849 }
2850 }
2851 }
2852
2853 //findable tracks
73aba974 2854 if (labelTPC) {
4042c3a2 2855 TParticle* particle = mcTrack->Particle();
57e749bb 2856 if(!particle) continue;
4042c3a2 2857 Int_t pdgcode = particle->GetPdgCode();
2858 if(TMath::Abs(pdgcode) != 2212) continue;
2859
2860 labelMCArray.AddAt(iTracks,nMCLabelCounter);
2861 nMCLabelCounter += 1;
2862
2863 if(iTracks <= stack->GetNprimary()) {
2864 if(pdgcode == 2212) {
e7df5638 2865 if(fProtonAnalysisBase->GetEtaMode())
4042c3a2 2866 ((TH2D *)(fEfficiencyList->At(0)))->Fill(particle->Eta(),
2867 particle->Pt());
2868 else
e7df5638 2869 ((TH2D *)(fEfficiencyList->At(0)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
57e749bb 2870 particle->Py(),
2871 particle->Pz()),
4042c3a2 2872 particle->Pt());
2873 }//protons
2874 if(pdgcode == -2212) {
e7df5638 2875 if(fProtonAnalysisBase->GetEtaMode())
4042c3a2 2876 ((TH2D *)(fEfficiencyList->At(1)))->Fill(particle->Eta(),
2877 particle->Pt());
2878 else
e7df5638 2879 ((TH2D *)(fEfficiencyList->At(1)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
57e749bb 2880 particle->Py(),
2881 particle->Pz()),
4042c3a2 2882 particle->Pt());
2883 }//antiprotons
2884 }//primaries
2885 else {
2886 //secondaries
2887 Int_t lPartMother = -1;
2888 Int_t motherPDGCode = -1;
2889 lPartMother = particle->GetFirstMother();
2890 AliMCParticle *mcMotherTrack = mcEvent->GetTrack(lPartMother);
2891 TParticle *motherParticle = mcMotherTrack->Particle();
2892 if(motherParticle) motherPDGCode = motherParticle->GetPdgCode();
2893
2894 if(pdgcode == 2212) {
2895 if((particle->GetUniqueID() == 4)&&(TMath::Abs(motherPDGCode) == 3122)) {
e7df5638 2896 if(fProtonAnalysisBase->GetEtaMode())
4042c3a2 2897 ((TH2D *)(fEfficiencyList->At(2)))->Fill(particle->Eta(),
2898 particle->Pt());
2899 else
e7df5638 2900 ((TH2D *)(fEfficiencyList->At(2)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
4042c3a2 2901 particle->Py(),
2902 particle->Pz()),
2903 particle->Pt());
2904 }//weak decays
2905 if((particle->GetUniqueID() == 13)) {
e7df5638 2906 if(fProtonAnalysisBase->GetEtaMode())
4042c3a2 2907 ((TH2D *)(fEfficiencyList->At(4)))->Fill(particle->Eta(),
2908 particle->Pt());
2909 else
e7df5638 2910 ((TH2D *)(fEfficiencyList->At(4)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
4042c3a2 2911 particle->Py(),
2912 particle->Pz()),
2913 particle->Pt());
2914 }//hadronic interactions
2915 }//protons
2916 if(pdgcode == -2212) {
2917 if((particle->GetUniqueID() == 4)&&(TMath::Abs(motherPDGCode) == 3122)) {
e7df5638 2918 if(fProtonAnalysisBase->GetEtaMode())
4042c3a2 2919 ((TH2D *)(fEfficiencyList->At(3)))->Fill(particle->Eta(),
2920 particle->Pt());
2921 else
e7df5638 2922 ((TH2D *)(fEfficiencyList->At(3)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
4042c3a2 2923 particle->Py(),
2924 particle->Pz()),
2925 particle->Pt());
2926 }//weak decays
2927 if((particle->GetUniqueID() == 13)) {
e7df5638 2928 if(fProtonAnalysisBase->GetEtaMode())
4042c3a2 2929 ((TH2D *)(fEfficiencyList->At(5)))->Fill(particle->Eta(),
2930 particle->Pt());
2931 else
e7df5638 2932 ((TH2D *)(fEfficiencyList->At(5)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
4042c3a2 2933 particle->Py(),
2934 particle->Pz()),
2935 particle->Pt());
2936 }//hadronic interactions
2937 }//antiprotons
2938 }//secondaries
2939 }//findable tracks
2940 }//MC track loop
2941
2942 //ESD track loop
2943 Bool_t iFound = kFALSE;
2944 Int_t mcGoods = nMCLabelCounter;
2945 for (Int_t k = 0; k < mcGoods; k++) {
2946 Int_t mcLabel = labelMCArray.At(k);
2947 iFound = kFALSE;
2948
2949 Int_t nGoodTracks = esd->GetNumberOfTracks();
2950 TArrayI labelArray(nGoodTracks);
2951 Int_t labelCounter = 0;
2952 for(Int_t iTracks = 0; iTracks < nGoodTracks; iTracks++) {
2953 AliESDtrack* track = esd->GetTrack(iTracks);
2954 if(!track) continue;
2955
2956 //TPC only
e7df5638 2957 if((fProtonAnalysisBase->GetAnalysisMode()==AliProtonAnalysisBase::kTPC)||(fProtonAnalysisBase->GetAnalysisMode()==AliProtonAnalysisBase::kHybrid)) {
4042c3a2 2958 AliExternalTrackParam *tpcTrack = (AliExternalTrackParam *)track->GetTPCInnerParam();
2959 if(!tpcTrack) continue;
2960
2961 Int_t label = TMath::Abs(track->GetTPCLabel());
2962 if(IsLabelUsed(labelArray,label)) continue;
2963 labelArray.AddAt(label,labelCounter);
2964 labelCounter += 1;
2965
2966 if (mcLabel != TMath::Abs(label)) continue;
2967 if(mcLabel != label) continue;
2968
2969 TParticle *particle = stack->Particle(label);
2970 if(!particle) continue;
2971 Int_t pdgcode = particle->GetPdgCode();
2972 if(TMath::Abs(particle->Eta()) > 1.0) continue;//acceptance
2973 if((particle->Pt() > fMaxPt)||(particle->Pt() < fMinPt)) continue;
e7df5638 2974 if(fProtonAnalysisBase->GetEtaMode()) {
4042c3a2 2975 if((particle->Eta() > fMaxY)|| (particle->Eta() < fMinY)) continue;
2976 }
2977 else
e7df5638 2978 if((fProtonAnalysisBase->Rapidity(particle->Px(),particle->Py(),particle->Pz()) > fMaxY)||(fProtonAnalysisBase->Rapidity(particle->Px(),particle->Py(),particle->Pz()) < fMinY)) continue;
0ececdf2 2979
4042c3a2 2980 if(fUseCutsInEfficiency)
e7df5638 2981 if(!fProtonAnalysisBase->IsAccepted(esd,vertex,track)) continue;
4042c3a2 2982
2983 //reconstructed primary (anti)protons
2984 if(pdgcode == 2212) {
4042c3a2 2985 if(label <= stack->GetNprimary()) {
e7df5638 2986 if(fProtonAnalysisBase->GetEtaMode())
4042c3a2 2987 ((TH2D *)(fEfficiencyList->At(6)))->Fill(particle->Eta(),
2988 particle->Pt());
2989 else
e7df5638 2990 ((TH2D *)(fEfficiencyList->At(6)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
4042c3a2 2991 particle->Py(),
2992 particle->Pz()),
2993 particle->Pt());
2994 }//primaries
2995 if(label > stack->GetNprimary()) {
2996 Int_t lPartMother = -1;
2997 Int_t motherPDGCode = -1;
2998 lPartMother = particle->GetFirstMother();
2999 TParticle *motherParticle = stack->Particle(lPartMother);
3000 if(motherParticle) motherPDGCode = motherParticle->GetPdgCode();
3001
3002 if((particle->GetUniqueID() == 4)&&(TMath::Abs(motherPDGCode) == 3122)) {
e7df5638 3003 if(fProtonAnalysisBase->GetEtaMode())
4042c3a2 3004 ((TH2D *)(fEfficiencyList->At(8)))->Fill(particle->Eta(),
3005 particle->Pt());
3006 else
e7df5638 3007 ((TH2D *)(fEfficiencyList->At(8)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
4042c3a2 3008 particle->Py(),
3009 particle->Pz()),
3010 particle->Pt());
3011 }//weak decays
3012 if((particle->GetUniqueID() == 13)) {
e7df5638 3013 if(fProtonAnalysisBase->GetEtaMode())
4042c3a2 3014 ((TH2D *)(fEfficiencyList->At(10)))->Fill(particle->Eta(),
3015 particle->Pt());
3016 else
e7df5638 3017 ((TH2D *)(fEfficiencyList->At(10)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
4042c3a2 3018 particle->Py(),
3019 particle->Pz()),
3020 particle->Pt());
3021 }//hadronic interactions
3022 }//secondaries
3023 }//initial protons
3024 if(pdgcode == -2212) {
4042c3a2 3025 if(label <= stack->GetNprimary()) {
e7df5638 3026 if(fProtonAnalysisBase->GetEtaMode())
4042c3a2 3027 ((TH2D *)(fEfficiencyList->At(7)))->Fill(particle->Eta(),
3028 particle->Pt());
3029 else
e7df5638 3030 ((TH2D *)(fEfficiencyList->At(7)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
4042c3a2 3031 particle->Py(),
3032 particle->Pz()),
3033 particle->Pt());
3034 }//primaries
3035 if(label > stack->GetNprimary()) {
3036 Int_t lPartMother = -1;
3037 Int_t motherPDGCode = -1;
3038 lPartMother = particle->GetFirstMother();
3039 TParticle *motherParticle = stack->Particle(lPartMother);
3040 if(motherParticle) motherPDGCode = motherParticle->GetPdgCode();
3041
3042 if((particle->GetUniqueID() == 4)&&(TMath::Abs(motherPDGCode) == 3122)) {
e7df5638 3043 if(fProtonAnalysisBase->GetEtaMode())
4042c3a2 3044 ((TH2D *)(fEfficiencyList->At(9)))->Fill(particle->Eta(),
3045 particle->Pt());
3046 else
e7df5638 3047 ((TH2D *)(fEfficiencyList->At(9)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
4042c3a2 3048 particle->Py(),
3049 particle->Pz()),
3050 particle->Pt());
3051 }//weak decays
3052 if((particle->GetUniqueID() == 13)) {
e7df5638 3053 if(fProtonAnalysisBase->GetEtaMode())
4042c3a2 3054 ((TH2D *)(fEfficiencyList->At(11)))->Fill(particle->Eta(),
3055 particle->Pt());
3056 else
e7df5638 3057 ((TH2D *)(fEfficiencyList->At(11)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
4042c3a2 3058 particle->Py(),
3059 particle->Pz()),
3060 particle->Pt());
3061 }//hadronic interactions
3062 }//secondaries
c20898de 3063 }//initial antiprotons
4042c3a2 3064 }//TPC only tracks
e7df5638 3065 else {
4042c3a2 3066 Int_t label = TMath::Abs(track->GetLabel());
3067 if(IsLabelUsed(labelArray,label)) continue;
3068 labelArray.AddAt(label,labelCounter);
3069 labelCounter += 1;
3070
3071 if (mcLabel != TMath::Abs(label)) continue;
3072 if(mcLabel != label) continue;
3073
3074 TParticle *particle = stack->Particle(label);
3075 if(!particle) continue;
3076 Int_t pdgcode = particle->GetPdgCode();
3077 if(TMath::Abs(particle->Eta()) > 1.0) continue;//acceptance
3078 if((particle->Pt() > fMaxPt)||(particle->Pt() < fMinPt)) continue;
e7df5638 3079 if(fProtonAnalysisBase->GetEtaMode()) {
4042c3a2 3080 if((particle->Eta() > fMaxY)|| (particle->Eta() < fMinY)) continue;
3081 }
3082 else
e7df5638 3083 if((fProtonAnalysisBase->Rapidity(particle->Px(),particle->Py(),particle->Pz()) > fMaxY)||(fProtonAnalysisBase->Rapidity(particle->Px(),particle->Py(),particle->Pz()) < fMinY)) continue;
4042c3a2 3084
e7df5638 3085 //Double_t probability[5];
4042c3a2 3086
3087 if(fUseCutsInEfficiency)
e7df5638 3088 if(!fProtonAnalysisBase->IsAccepted(esd,vertex,track)) continue;
4042c3a2 3089
3090 //reconstructed primary (anti)protons
3091 if(pdgcode == 2212) {
4042c3a2 3092 if(label <= stack->GetNprimary()) {
e7df5638 3093 if(fProtonAnalysisBase->GetEtaMode())
4042c3a2 3094 ((TH2D *)(fEfficiencyList->At(6)))->Fill(particle->Eta(),
3095 particle->Pt());
3096 else
e7df5638 3097 ((TH2D *)(fEfficiencyList->At(6)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
4042c3a2 3098 particle->Py(),
3099 particle->Pz()),
3100 particle->Pt());
3101 }//primaries
3102 if(label > stack->GetNprimary()) {
3103 Int_t lPartMother = -1;
3104 Int_t motherPDGCode = -1;
3105 lPartMother = particle->GetFirstMother();
3106 TParticle *motherParticle = stack->Particle(lPartMother);
3107 if(motherParticle) motherPDGCode = motherParticle->GetPdgCode();
3108
3109 if((particle->GetUniqueID() == 4)&&(TMath::Abs(motherPDGCode) == 3122)) {
e7df5638 3110 if(fProtonAnalysisBase->GetEtaMode())
4042c3a2 3111 ((TH2D *)(fEfficiencyList->At(8)))->Fill(particle->Eta(),
3112 particle->Pt());
3113 else
e7df5638 3114 ((TH2D *)(fEfficiencyList->At(8)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
4042c3a2 3115 particle->Py(),
3116 particle->Pz()),
3117 particle->Pt());
3118 }//weak decays
3119 if((particle->GetUniqueID() == 13)) {
e7df5638 3120 if(fProtonAnalysisBase->GetEtaMode())
4042c3a2 3121 ((TH2D *)(fEfficiencyList->At(10)))->Fill(particle->Eta(),
3122 particle->Pt());
3123 else
e7df5638 3124 ((TH2D *)(fEfficiencyList->At(10)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
4042c3a2 3125 particle->Py(),
3126 particle->Pz()),
3127 particle->Pt());
3128 }//hadronic interactions
3129 }//secondaries
3130 }//initial protons
3131 if(pdgcode == -2212) {
4042c3a2 3132 if(label <= stack->GetNprimary()) {
e7df5638 3133 if(fProtonAnalysisBase->GetEtaMode())
4042c3a2 3134 ((TH2D *)(fEfficiencyList->At(7)))->Fill(particle->Eta(),
3135 particle->Pt());
3136 else
e7df5638 3137 ((TH2D *)(fEfficiencyList->At(7)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
4042c3a2 3138 particle->Py(),
3139 particle->Pz()),
3140 particle->Pt());
3141 }//primaries
3142 if(label > stack->GetNprimary()) {
3143 Int_t lPartMother = -1;
3144 Int_t motherPDGCode = -1;
3145 lPartMother = particle->GetFirstMother();
3146 TParticle *motherParticle = stack->Particle(lPartMother);
3147 if(motherParticle) motherPDGCode = motherParticle->GetPdgCode();
3148
3149 if((particle->GetUniqueID() == 4)&&(TMath::Abs(motherPDGCode) == 3122)) {
e7df5638 3150 if(fProtonAnalysisBase->GetEtaMode())
4042c3a2 3151 ((TH2D *)(fEfficiencyList->At(9)))->Fill(particle->Eta(),
3152 particle->Pt());
3153 else
e7df5638 3154 ((TH2D *)(fEfficiencyList->At(9)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
4042c3a2 3155 particle->Py(),
3156 particle->Pz()),
3157 particle->Pt());
3158 }//weak decays
3159 if((particle->GetUniqueID() == 13)) {
e7df5638 3160 if(fProtonAnalysisBase->GetEtaMode())
4042c3a2 3161 ((TH2D *)(fEfficiencyList->At(11)))->Fill(particle->Eta(),
3162 particle->Pt());
3163 else
e7df5638 3164 ((TH2D *)(fEfficiencyList->At(11)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
4042c3a2 3165 particle->Py(),
3166 particle->Pz()),
3167 particle->Pt());
3168 }//hadronic interactions
3169 }//secondaries
0ececdf2 3170 }//initial antiprotons
4042c3a2 3171 }//global tracking
3172 }//track loop
3173 labelArray.Reset();
3174 }//loop over findable tracks
3175
3176 labelMCArray.Reset();
3177}
3178
c20898de 3179//____________________________________________________________________//
3180void AliProtonQAAnalysis::RunPIDEfficiencyAnalysis(AliStack *const stack,
d488527a 3181 AliESDEvent *esd,
3182 const AliESDVertex *vertex) {
c20898de 3183 Int_t nGoodTracks = esd->GetNumberOfTracks();
3184 TArrayI labelArray(nGoodTracks);
3185 Int_t labelCounter = 0;
3186 for(Int_t iTracks = 0; iTracks < nGoodTracks; iTracks++) {
3187 AliESDtrack* track = esd->GetTrack(iTracks);
3188 if(!track) continue;
3189
3190 //TPC only
3191 if((fProtonAnalysisBase->GetAnalysisMode()==AliProtonAnalysisBase::kTPC)||(fProtonAnalysisBase->GetAnalysisMode()==AliProtonAnalysisBase::kHybrid)) {
3192 AliExternalTrackParam *tpcTrack = (AliExternalTrackParam *)track->GetTPCInnerParam();
3193 if(!tpcTrack) continue;
3194 }
3195
3196 Int_t label = TMath::Abs(track->GetLabel());
3197 if(IsLabelUsed(labelArray,label)) continue;
3198 labelArray.AddAt(label,labelCounter);
3199 labelCounter += 1;
3200
3201 TParticle *particle = stack->Particle(label);
3202 if(!particle) continue;
3203 Int_t pdgcode = particle->GetPdgCode();
3204
9a316962 3205 Int_t nTPCpoints = track->GetTPCsignalN();
3206
d488527a 3207 if(fUseCutsInEfficiency)
3208 if(!fProtonAnalysisBase->IsAccepted(esd,vertex,track)) continue;
3209
0ececdf2 3210 if(TMath::Abs(pdgcode) == 2212) {
3211 if(fProtonAnalysisBase->GetEtaMode())
3212 ((TH3D *)(fEfficiencyList->At(12)))->Fill(particle->Eta(),
3213 particle->Pt(),nTPCpoints);
3214 else
3215 ((TH3D *)(fEfficiencyList->At(12)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),particle->Py(),particle->Pz()),particle->Pt(),nTPCpoints);
3216 }
3217
c20898de 3218 //pid
3219 if(fProtonAnalysisBase->IsProton(track)) {
3220 if(fProtonAnalysisBase->GetEtaMode())
9a316962 3221 ((TH3D *)(fEfficiencyList->At(14)))->Fill(particle->Eta(),
3222 particle->Pt(),nTPCpoints);
3223 else ((TH3D *)(fEfficiencyList->At(14)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),particle->Py(),particle->Pz()),particle->Pt(),nTPCpoints);
c20898de 3224 if(TMath::Abs(pdgcode) == 2212) {
3225 if(fProtonAnalysisBase->GetEtaMode())
9a316962 3226 ((TH3D *)(fEfficiencyList->At(13)))->Fill(particle->Eta(),
3227 particle->Pt(),nTPCpoints);
c20898de 3228 else
9a316962 3229 ((TH3D *)(fEfficiencyList->At(13)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),particle->Py(),particle->Pz()),particle->Pt(),nTPCpoints);
c20898de 3230 }//properly identified as proton
3231 else {
3232 if(fProtonAnalysisBase->GetEtaMode())
9a316962 3233 ((TH3D *)(fEfficiencyList->At(15)))->Fill(particle->Eta(),
3234 particle->Pt(),nTPCpoints);
c20898de 3235 else
9a316962 3236 ((TH3D *)(fEfficiencyList->At(15)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),particle->Py(),particle->Pz()),particle->Pt(),nTPCpoints);
c20898de 3237 }//contamination
3238 }//identified as proton
3239 }//ESD track loop
3240 labelArray.Reset();
3241}
3242
3e6c06f4 3243//____________________________________________________________________//
73aba974 3244void AliProtonQAAnalysis::RunEfficiencyAnalysis(AliStack *const stack,
6667f3a7 3245 AliESDEvent *esd,
3246 const AliESDVertex *vertex) {
9c0b9f24 3247 //Runs the efficiency code
3248 //MC loop
3249 Int_t nMCProtons = 0, nESDProtons = 0;
e13bbda6 3250 for(Int_t iParticle = 0; iParticle < stack->GetNtrack(); iParticle++) {
9c0b9f24 3251 TParticle *particle = stack->Particle(iParticle);
3252 if(!particle) continue;
55f9a666 3253
9c0b9f24 3254 if(TMath::Abs(particle->Eta()) > 1.0) continue;//acceptance
3255 if((particle->Pt() > fMaxPt)||(particle->Pt() < fMinPt)) continue;
e7df5638 3256 if(fProtonAnalysisBase->GetEtaMode()) {
e13bbda6 3257 if((particle->Eta() > fMaxY)|| (particle->Eta() < fMinY)) continue;
3258 }
3259 else
e7df5638 3260 if((fProtonAnalysisBase->Rapidity(particle->Px(),particle->Py(),particle->Pz()) > fMaxY)||(fProtonAnalysisBase->Rapidity(particle->Px(),particle->Py(),particle->Pz()) < fMinY)) continue;
9c0b9f24 3261
3262 Int_t pdgcode = particle->GetPdgCode();
e13bbda6 3263 if(TMath::Abs(pdgcode) != 2212) continue;
3264
3265 if(iParticle <= stack->GetNprimary()) {
3266 if(pdgcode == 2212) {
3267 nMCProtons += 1;
e7df5638 3268 if(fProtonAnalysisBase->GetEtaMode())
e13bbda6 3269 ((TH2D *)(fEfficiencyList->At(0)))->Fill(particle->Eta(),
3270 particle->Pt());
3271 else
e7df5638 3272 ((TH2D *)(fEfficiencyList->At(0)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
e13bbda6 3273 particle->Py(),
3274 particle->Pz()),
3275 particle->Pt());
3276 }//protons
3277 if(pdgcode == -2212) {
e7df5638 3278 if(fProtonAnalysisBase->GetEtaMode())
e13bbda6 3279 ((TH2D *)(fEfficiencyList->At(1)))->Fill(particle->Eta(),
3280 particle->Pt());
3281 else
e7df5638 3282 ((TH2D *)(fEfficiencyList->At(1)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
e13bbda6 3283 particle->Py(),
3284 particle->Pz()),
3285 particle->Pt());
3286 }//antiprotons
3287 }//primaries
3288 else {
3289 //secondaries
3290 Int_t lPartMother = -1;
3291 Int_t motherPDGCode = -1;
3292 lPartMother = particle->GetFirstMother();
3293 TParticle *motherParticle = stack->Particle(lPartMother);
3294 if(motherParticle) motherPDGCode = motherParticle->GetPdgCode();
3295
3296 if(pdgcode == 2212) {
3297 if((particle->GetUniqueID() == 4)&&(TMath::Abs(motherPDGCode) == 3122)) {
e7df5638 3298 if(fProtonAnalysisBase->GetEtaMode())
e13bbda6 3299 ((TH2D *)(fEfficiencyList->At(2)))->Fill(particle->Eta(),
3300 particle->Pt());
3301 else
e7df5638 3302 ((TH2D *)(fEfficiencyList->At(2)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
e13bbda6 3303 particle->Py(),
3304 particle->Pz()),
3305 particle->Pt());
3306 }//weak decays
3307 if((particle->GetUniqueID() == 13)) {
e7df5638 3308 if(fProtonAnalysisBase->GetEtaMode())
e13bbda6 3309 ((TH2D *)(fEfficiencyList->At(4)))->Fill(particle->Eta(),
3310 particle->Pt());
3311 else
e7df5638 3312 ((TH2D *)(fEfficiencyList->At(4)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
3313 particle->Py(),
3314 particle->Pz()),
e13bbda6 3315 particle->Pt());
3316 }//hadronic interactions
3317 }//protons
3318 if(pdgcode == -2212) {
3319 if((particle->GetUniqueID() == 4)&&(TMath::Abs(motherPDGCode) == 3122)) {
e7df5638 3320 if(fProtonAnalysisBase->GetEtaMode())
e13bbda6 3321 ((TH2D *)(fEfficiencyList->At(3)))->Fill(particle->Eta(),
3322 particle->Pt());
3323 else
e7df5638 3324 ((TH2D *)(fEfficiencyList->At(3)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
e13bbda6 3325 particle->Py(),
3326 particle->Pz()),
3327 particle->Pt());
3328 }//weak decays
3329 if((particle->GetUniqueID() == 13)) {
e7df5638 3330 if(fProtonAnalysisBase->GetEtaMode())
e13bbda6 3331 ((TH2D *)(fEfficiencyList->At(5)))->Fill(particle->Eta(),
3332 particle->Pt());
3333 else
e7df5638 3334 ((TH2D *)(fEfficiencyList->At(5)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
e13bbda6 3335 particle->Py(),
3336 particle->Pz()),
3337 particle->Pt());
3338 }//hadronic interactions
3339 }//antiprotons
3340 }//secondaries
3341
9c0b9f24 3342 }//MC loop
3343
6667f3a7 3344 //ESD track loop
9c0b9f24 3345 Int_t nGoodTracks = esd->GetNumberOfTracks();
3346 TArrayI labelArray(nGoodTracks);
3347 Int_t labelCounter = 0;
3348 for(Int_t iTracks = 0; iTracks < nGoodTracks; iTracks++) {
3349 AliESDtrack* track = esd->GetTrack(iTracks);
3350 if(!track) continue;
6667f3a7 3351
9c0b9f24 3352 Int_t label = TMath::Abs(track->GetLabel());
3353 if(IsLabelUsed(labelArray,label)) continue;
3354 labelArray.AddAt(label,labelCounter);
3355 labelCounter += 1;
6667f3a7 3356
9c0b9f24 3357 TParticle *particle = stack->Particle(label);
3358 if(!particle) continue;
3359 Int_t pdgcode = particle->GetPdgCode();
e13bbda6 3360 if(TMath::Abs(particle->Eta()) > 1.0) continue;//acceptance
9c0b9f24 3361
73aba974 3362 Double_t gPt = 0.0, gP = 0.0;
9c0b9f24 3363
3364 //TPC only
e7df5638 3365 if((fProtonAnalysisBase->GetAnalysisMode()==AliProtonAnalysisBase::kTPC)||(fProtonAnalysisBase->GetAnalysisMode()==AliProtonAnalysisBase::kHybrid)) {
9c0b9f24 3366 AliExternalTrackParam *tpcTrack = (AliExternalTrackParam *)track->GetTPCInnerParam();
3367 if(!tpcTrack) continue;
73aba974 3368 gPt = tpcTrack->Pt();
3369 gP = tpcTrack->P();
6667f3a7 3370
e13bbda6 3371 if((particle->Pt() > fMaxPt)||(particle->Pt() < fMinPt)) continue;
e7df5638 3372 if(fProtonAnalysisBase->GetEtaMode()) {
e13bbda6 3373 if((particle->Eta() > fMaxY)|| (particle->Eta() < fMinY)) continue;
3374 }
3375 else
e7df5638 3376 if((fProtonAnalysisBase->Rapidity(particle->Px(),particle->Py(),particle->Pz()) > fMaxY)||(fProtonAnalysisBase->Rapidity(particle->Px(),particle->Py(),particle->Pz()) < fMinY)) continue;
e13bbda6 3377
3378 if(fUseCutsInEfficiency)
e7df5638 3379 if(!fProtonAnalysisBase->IsAccepted(esd,vertex,track)) continue;
6667f3a7 3380
9c0b9f24 3381 //reconstructed primary (anti)protons
3382 if(pdgcode == 2212) {
9c0b9f24 3383 if(label <= stack->GetNprimary()) {
3384 nESDProtons += 1;
e7df5638 3385 if(fProtonAnalysisBase->GetEtaMode())
e13bbda6 3386 ((TH2D *)(fEfficiencyList->At(6)))->Fill(particle->Eta(),
3387 particle->Pt());
3388 else
e7df5638 3389 ((TH2D *)(fEfficiencyList->At(6)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
e13bbda6 3390 particle->Py(),
3391 particle->Pz()),
3392 particle->Pt());
3393 }//primaries
3394 if(label > stack->GetNprimary()) {
3395 Int_t lPartMother = -1;
3396 Int_t motherPDGCode = -1;
3397 lPartMother = particle->GetFirstMother();
3398 TParticle *motherParticle = stack->Particle(lPartMother);
3399 if(motherParticle) motherPDGCode = motherParticle->GetPdgCode();
6667f3a7 3400
e13bbda6 3401 if((particle->GetUniqueID() == 4)&&(TMath::Abs(motherPDGCode) == 3122)) {
e7df5638 3402 if(fProtonAnalysisBase->GetEtaMode())
e13bbda6 3403 ((TH2D *)(fEfficiencyList->At(8)))->Fill(particle->Eta(),
3404 particle->Pt());
3405 else
e7df5638 3406 ((TH2D *)(fEfficiencyList->At(8)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
e13bbda6 3407 particle->Py(),
3408 particle->Pz()),
3409 particle->Pt());
3410 }//weak decays
3411 if((particle->GetUniqueID() == 13)) {
e7df5638 3412 if(fProtonAnalysisBase->GetEtaMode())
e13bbda6 3413 ((TH2D *)(fEfficiencyList->At(10)))->Fill(particle->Eta(),
3414 particle->Pt());
3415 else
e7df5638 3416 ((TH2D *)(fEfficiencyList->At(10)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
e13bbda6 3417 particle->Py(),
3418 particle->Pz()),
3419 particle->Pt());
3420 }//hadronic interactions
3421 }//secondaries
9c0b9f24 3422 }//initial protons
e13bbda6 3423 if(pdgcode == -2212) {
e13bbda6 3424 if(label <= stack->GetNprimary()) {
e7df5638 3425 if(fProtonAnalysisBase->GetEtaMode())
e13bbda6 3426 ((TH2D *)(fEfficiencyList->At(7)))->Fill(particle->Eta(),
3427 particle->Pt());
3428 else
e7df5638 3429 ((TH2D *)(fEfficiencyList->At(7)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
e13bbda6 3430 particle->Py(),
3431 particle->Pz()),
3432 particle->Pt());
3433 }//primaries
3434 if(label > stack->GetNprimary()) {
3435 Int_t lPartMother = -1;
3436 Int_t motherPDGCode = -1;
3437 lPartMother = particle->GetFirstMother();
3438 TParticle *motherParticle = stack->Particle(lPartMother);
3439 if(motherParticle) motherPDGCode = motherParticle->GetPdgCode();
6667f3a7 3440
e13bbda6 3441 if((particle->GetUniqueID() == 4)&&(TMath::Abs(motherPDGCode) == 3122)) {
e7df5638 3442 if(fProtonAnalysisBase->GetEtaMode())
e13bbda6 3443 ((TH2D *)(fEfficiencyList->At(9)))->Fill(particle->Eta(),
3444 particle->Pt());
3445 else
e7df5638 3446 ((TH2D *)(fEfficiencyList->At(9)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
e13bbda6 3447 particle->Py(),
3448 particle->Pz()),
3449 particle->Pt());
3450 }//weak decays
3451 if((particle->GetUniqueID() == 13)) {
e7df5638 3452 if(fProtonAnalysisBase->GetEtaMode())
e13bbda6 3453 ((TH2D *)(fEfficiencyList->At(11)))->Fill(particle->Eta(),
3454 particle->Pt());
3455 else
e7df5638 3456 ((TH2D *)(fEfficiencyList->At(11)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
e13bbda6 3457 particle->Py(),
3458 particle->Pz()),
3459 particle->Pt());
3460 }//hadronic interactions
3461 }//secondaries
9c0b9f24 3462 }//initial antiprotons
9c0b9f24 3463 }//TPC only tracks
e7df5638 3464 else {
e13bbda6 3465 if((particle->Pt() > fMaxPt)||(particle->Pt() < fMinPt)) continue;
e7df5638 3466 if(fProtonAnalysisBase->GetEtaMode()) {
e13bbda6 3467 if((particle->Eta() > fMaxY)|| (particle->Eta() < fMinY)) continue;
3468 }
3469 else {
e7df5638 3470 if((fProtonAnalysisBase->Rapidity(particle->Px(),particle->Py(),particle->Pz()) > fMaxY)||(fProtonAnalysisBase->Rapidity(particle->Px(),particle->Py(),particle->Pz()) < fMinY)) continue;
e13bbda6 3471 }
3472
3473 if(fUseCutsInEfficiency)
e7df5638 3474 if(!fProtonAnalysisBase->IsAccepted(esd,vertex,track)) continue;
6667f3a7 3475
9c0b9f24 3476 //reconstructed primary (anti)protons
3477 if(pdgcode == 2212) {
e13bbda6 3478 if(label <= stack->GetNprimary()) {
3479 nESDProtons += 1;
e7df5638 3480 if(fProtonAnalysisBase->GetEtaMode())
e13bbda6 3481 ((TH2D *)(fEfficiencyList->At(6)))->Fill(particle->Eta(),
3482 particle->Pt());
3483 else
e7df5638 3484 ((TH2D *)(fEfficiencyList->At(6)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
e13bbda6 3485 particle->Py(),
3486 particle->Pz()),
3487 particle->Pt());
3488 }//primaries
3489 if(label > stack->GetNprimary()) {
3490 Int_t lPartMother = -1;
3491 Int_t motherPDGCode = -1;
3492 lPartMother = particle->GetFirstMother();
3493 TParticle *motherParticle = stack->Particle(lPartMother);
3494 if(motherParticle) motherPDGCode = motherParticle->GetPdgCode();
6667f3a7 3495
e13bbda6 3496 if((particle->GetUniqueID() == 4)&&(TMath::Abs(motherPDGCode) == 3122)) {
e7df5638 3497 if(fProtonAnalysisBase->GetEtaMode())
e13bbda6 3498 ((TH2D *)(fEfficiencyList->At(8)))->Fill(particle->Eta(),
3499 particle->Pt());
3500 else
e7df5638 3501 ((TH2D *)(fEfficiencyList->At(8)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
e13bbda6 3502 particle->Py(),
3503 particle->Pz()),
3504 particle->Pt());
3505 }//weak decays
3506 if((particle->GetUniqueID() == 13)) {
e7df5638 3507 if(fProtonAnalysisBase->GetEtaMode())
e13bbda6 3508 ((TH2D *)(fEfficiencyList->At(10)))->Fill(particle->Eta(),
3509 particle->Pt());
3510 else
e7df5638 3511 ((TH2D *)(fEfficiencyList->At(10)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
e13bbda6 3512 particle->Py(),
3513 particle->Pz()),
3514 particle->Pt());
3515 }//hadronic interactions
3516 }//secondaries
9c0b9f24 3517 }//initial protons
e13bbda6 3518 if(pdgcode == -2212) {
e7df5638 3519 if(fProtonAnalysisBase->GetEtaMode())
e13bbda6 3520 ((TH2D *)(fEfficiencyList->At(12)))->Fill(particle->Eta(),
6667f3a7 3521 particle->Pt());
e13bbda6 3522 else
e7df5638 3523 ((TH2D *)(fEfficiencyList->At(12)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
6667f3a7 3524 particle->Py(),
3525 particle->Pz()),
3526 particle->Pt());
e13bbda6 3527 if(label <= stack->GetNprimary()) {
e7df5638 3528 if(fProtonAnalysisBase->GetEtaMode())
e13bbda6 3529 ((TH2D *)(fEfficiencyList->At(7)))->Fill(particle->Eta(),
3530 particle->Pt());
3531 else
e7df5638 3532 ((TH2D *)(fEfficiencyList->At(7)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
e13bbda6 3533 particle->Py(),
3534 particle->Pz()),
3535 particle->Pt());
3536 }//primaries
3537 if(label > stack->GetNprimary()) {
3538 Int_t lPartMother = -1;
3539 Int_t motherPDGCode = -1;
3540 lPartMother = particle->GetFirstMother();
3541 TParticle *motherParticle = stack->Particle(lPartMother);
3542 if(motherParticle) motherPDGCode = motherParticle->GetPdgCode();
6667f3a7 3543
e13bbda6 3544 if((particle->GetUniqueID() == 4)&&(TMath::Abs(motherPDGCode) == 3122)) {
e7df5638 3545 if(fProtonAnalysisBase->GetEtaMode())
e13bbda6 3546 ((TH2D *)(fEfficiencyList->At(9)))->Fill(particle->Eta(),
3547 particle->Pt());
3548 else
e7df5638 3549 ((TH2D *)(fEfficiencyList->At(9)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
e13bbda6 3550 particle->Py(),
3551 particle->Pz()),
3552 particle->Pt());
3553 }//weak decays
3554 if((particle->GetUniqueID() == 13)) {
e7df5638 3555 if(fProtonAnalysisBase->GetEtaMode())
e13bbda6 3556 ((TH2D *)(fEfficiencyList->At(11)))->Fill(particle->Eta(),
3557 particle->Pt());
3558 else
e7df5638 3559 ((TH2D *)(fEfficiencyList->At(11)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
e13bbda6 3560 particle->Py(),
3561 particle->Pz()),
3562 particle->Pt());
3563 }//hadronic interactions
3564 }//secondaries
9c0b9f24 3565 }//initial antiprotons
9c0b9f24 3566 }//global tracking
3567 }//track loop
3568
3569 //Printf("MC protons: %d - ESD protons: %d",nMCProtons,nESDProtons);
3570}
3571
3572//____________________________________________________________________//
3573Bool_t AliProtonQAAnalysis::IsLabelUsed(TArrayI labelArray,
3574 Int_t label) {
3575 //Checks if the label is used already
3576 Bool_t status = kFALSE;
3577 for(Int_t i = 0; i < labelArray.GetSize(); i++) {
3578 if(labelArray.At(i) == label)
3579 status = kTRUE;
3580 }
3581
3582 return status;
3583}
3584
75decd62 3585//____________________________________________________________________//
3586void AliProtonQAAnalysis::RunVertexQA(AliGenEventHeader *header,
73aba974 3587 AliStack *const stack,
3588 AliESDEvent *const esd) {
75decd62 3589 //Runs the vertex QA
3590 //MC vertex
3591 TArrayF primaryVertex(3);
3592 header->PrimaryVertex(primaryVertex);
3593
e7df5638 3594 //Int_t nPrimaries = stack->GetNprimary();
4042c3a2 3595 ((TH1F *)(fQAVertexList->At(0)))->Fill(primaryVertex[2]);
75decd62 3596
3597 //TPC vertex
3598 const AliESDVertex *vertexTPC = esd->GetPrimaryVertexTPC();
3599 if(!vertexTPC) {
3600 Printf("ERROR: Could not retrieve the TPC vertex");
3601 return;
3602 }
3603 if(vertexTPC->GetNContributors() > 0) {
4042c3a2 3604 ((TH1F *)(fQAVertexList->At(1)))->Fill(primaryVertex[2]);
75decd62 3605 ((TH2F *)(fQAVertexList->At(2)))->Fill(vertexTPC->GetXv(),
3606 vertexTPC->GetNContributors());
3607 ((TH2F *)(fQAVertexList->At(3)))->Fill(vertexTPC->GetYv(),
3608 vertexTPC->GetNContributors());
3609 ((TH2F *)(fQAVertexList->At(4)))->Fill(vertexTPC->GetZv(),
3610 vertexTPC->GetNContributors());
3611 ((TH1F *)(fQAVertexList->At(5)))->Fill((vertexTPC->GetXv()-primaryVertex[0])*10000.);
3612 ((TH1F *)(fQAVertexList->At(6)))->Fill((vertexTPC->GetYv()-primaryVertex[1])*10000.);
3613 ((TH1F *)(fQAVertexList->At(7)))->Fill((vertexTPC->GetZv()-primaryVertex[2])*10000.);
3614 ((TH1F *)(fQAVertexList->At(8)))->Fill(vertexTPC->GetXRes()*10000.);
3615 ((TH1F *)(fQAVertexList->At(9)))->Fill(vertexTPC->GetYRes()*10000.);
3616 ((TH1F *)(fQAVertexList->At(10)))->Fill(vertexTPC->GetZRes()*10000.);
3617 }//TPC vertex
3618
3619 //SPD vertex
3620 const AliESDVertex *vertexSPD = esd->GetPrimaryVertexSPD();
3621 if(!vertexSPD) {
3622 Printf("ERROR: Could not retrieve the SPD vertex");
3623 return;
3624 }
3625 if(vertexSPD->GetNContributors() > 0) {
4042c3a2 3626 ((TH1F *)(fQAVertexList->At(11)))->Fill(primaryVertex[2]);
75decd62 3627 ((TH2F *)(fQAVertexList->At(12)))->Fill(vertexSPD->GetXv(),
3628 vertexSPD->GetNContributors());
3629 ((TH2F *)(fQAVertexList->At(13)))->Fill(vertexSPD->GetYv(),
3630 vertexSPD->GetNContributors());
3631 ((TH2F *)(fQAVertexList->At(14)))->Fill(vertexSPD->GetZv(),
3632 vertexSPD->GetNContributors());
3633 ((TH1F *)(fQAVertexList->At(15)))->Fill((vertexSPD->GetXv()-primaryVertex[0])*10000.);
3634 ((TH1F *)(fQAVertexList->At(16)))->Fill((vertexSPD->GetYv()-primaryVertex[1])*10000.);
3635 ((TH1F *)(fQAVertexList->At(17)))->Fill((vertexSPD->GetZv()-primaryVertex[2])*10000.);
3636 ((TH1F *)(fQAVertexList->At(18)))->Fill(vertexSPD->GetXRes()*10000.);
3637 ((TH1F *)(fQAVertexList->At(19)))->Fill(vertexSPD->GetYRes()*10000.);
3638 ((TH1F *)(fQAVertexList->At(20)))->Fill(vertexSPD->GetZRes()*10000.);
3639 }//SPD vertex
3640
3641 //Tracks vertex
3642 const AliESDVertex *vertexTracks = esd->GetPrimaryVertex();
3643 if(!vertexTracks) {
3644 Printf("ERROR: Could not retrieve the Tracks vertex");
3645 return;
3646 }
3647 if(vertexTracks->GetNContributors() > 0) {
4042c3a2 3648 ((TH1F *)(fQAVertexList->At(21)))->Fill(primaryVertex[2]);
75decd62 3649 ((TH2F *)(fQAVertexList->At(22)))->Fill(vertexTracks->GetXv(),
3650 vertexTracks->GetNContributors());
3651 ((TH2F *)(fQAVertexList->At(23)))->Fill(vertexTracks->GetYv(),
3652 vertexTracks->GetNContributors());
3653 ((TH2F *)(fQAVertexList->At(24)))->Fill(vertexTracks->GetZv(),
3654 vertexTracks->GetNContributors());
3655 ((TH1F *)(fQAVertexList->At(25)))->Fill((vertexTracks->GetXv()-primaryVertex[0])*10000.);
3656 ((TH1F *)(fQAVertexList->At(26)))->Fill((vertexTracks->GetYv()-primaryVertex[1])*10000.);
3657 ((TH1F *)(fQAVertexList->At(27)))->Fill((vertexTracks->GetZv()-primaryVertex[2])*10000.);
3658 ((TH1F *)(fQAVertexList->At(28)))->Fill(vertexTracks->GetXRes()*10000.);
3659 ((TH1F *)(fQAVertexList->At(29)))->Fill(vertexTracks->GetYRes()*10000.);
3660 ((TH1F *)(fQAVertexList->At(30)))->Fill(vertexTracks->GetZRes()*10000.);
3661 }//Tracks vertex
3662
3663}
3664
9c0b9f24 3665//____________________________________________________________________//
3666void AliProtonQAAnalysis::RunQAAnalysis(AliStack *stack,
6667f3a7 3667 AliESDEvent *esd,
3668 const AliESDVertex *vertex) {
3e6c06f4 3669 //Runs the QA code
1c21299a 3670 //MC loop
3671 for(Int_t iParticle = 0; iParticle < stack->GetNprimary(); iParticle++) {
3672 TParticle *particle = stack->Particle(iParticle);
55f9a666 3673 if(!particle) continue;
3674
1c21299a 3675 if(TMath::Abs(particle->Eta()) > 1.0) continue;//acceptance
3676 if((particle->Pt() > fMaxPt)||(particle->Pt() < fMinPt)) continue;
e7df5638 3677 if(fProtonAnalysisBase->GetEtaMode()) {
dd3fa486 3678 if((particle->Eta() > fMaxY)||(particle->Eta() < fMinY)) continue;
3679 }
3680 else {
e7df5638 3681 if((fProtonAnalysisBase->Rapidity(particle->Px(),particle->Py(),particle->Pz()) > fMaxY)||(fProtonAnalysisBase->Rapidity(particle->Px(),particle->Py(),particle->Pz()) < fMinY)) continue;
dd3fa486 3682 }
1c21299a 3683 Int_t pdgcode = particle->GetPdgCode();
dd3fa486 3684 if(pdgcode == 2212) {
e7df5638 3685 if(fProtonAnalysisBase->GetEtaMode())
dd3fa486 3686 ((TH2D *)(fQA2DList->At(8)))->Fill(particle->Eta(),
3687 particle->Pt());
3688 else
e7df5638 3689 ((TH2D *)(fQA2DList->At(8)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
dd3fa486 3690 particle->Py(),
3691 particle->Pz()),
3692 particle->Pt());
3693 }
3694 if(pdgcode == -2212) {
e7df5638 3695 if(fProtonAnalysisBase->GetEtaMode())
dd3fa486 3696 ((TH2D *)(fQA2DList->At(9)))->Fill(particle->Eta(),
3697 particle->Pt());
3698 else
e7df5638 3699 ((TH2D *)(fQA2DList->At(9)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
dd3fa486 3700 particle->Py(),
3701 particle->Pz()),
3702 particle->Pt());
3703 }
1c21299a 3704 }//MC loop
dd3fa486 3705
6667f3a7 3706 //ESD track loop
9c0b9f24 3707 Int_t nGoodTracks = esd->GetNumberOfTracks();
2b00fd2c 3708 TArrayI labelArray(nGoodTracks);
3709 Int_t labelCounter = 0;
3e6c06f4 3710 for(Int_t iTracks = 0; iTracks < nGoodTracks; iTracks++) {
9c0b9f24 3711 AliESDtrack* track = esd->GetTrack(iTracks);
3712 if(!track) continue;
3713
3e6c06f4 3714 Int_t label = TMath::Abs(track->GetLabel());
2b00fd2c 3715 if(IsLabelUsed(labelArray,label)) continue;
3716 labelArray.AddAt(label,labelCounter);
3717 labelCounter += 1;
6667f3a7 3718
5b44449f 3719 TParticle *particle = stack->Particle(label);
6667f3a7 3720 if(!particle) continue;
5b44449f 3721 if(TMath::Abs(particle->Eta()) > 1.0) continue;//acceptance
3722
32a2ebb6 3723 AliESDtrack trackTPC;
3724
3725 //in case it's a TPC only track relate it to the proper vertex
e7df5638 3726 if((fProtonAnalysisBase->GetAnalysisMode()==AliProtonAnalysisBase::kTPC)&&(!fProtonAnalysisBase->GetAnalysisMode()==AliProtonAnalysisBase::kHybrid)) {
3727 //if((fUseTPCOnly)&&(!fUseHybridTPC)) {
32a2ebb6 3728 Float_t p[2],cov[3];
3729 track->GetImpactParametersTPC(p,cov);
3730 if (p[0]==0 && p[1]==0)
3731 track->RelateToVertexTPC(((AliESDEvent*)esd)->GetPrimaryVertexTPC(),esd->GetMagneticField(),kVeryBig);
3732 if (!track->FillTPCOnlyTrack(trackTPC)) {
3733 continue;
3734 }
3735 track = &trackTPC ;
3736 }
6667f3a7 3737
73aba974 3738 Double_t gPt = 0.0, gP = 0.0;
e7df5638 3739 //Double_t probability[5];
5b8133c7 3740 Float_t dcaXY = 0.0, dcaZ = 0.0;
e7df5638 3741 Double_t nSigmaToVertex = fProtonAnalysisBase->GetSigmaToVertex(track);
5b8133c7 3742 Int_t fIdxInt[200];
3743 Int_t nClustersITS = track->GetITSclusters(fIdxInt);
3744 Int_t nClustersTPC = track->GetTPCclusters(fIdxInt);
6667f3a7 3745
5b8133c7 3746 Float_t chi2PerClusterITS = -1;
3747 if (nClustersITS!=0)
3748 chi2PerClusterITS = track->GetITSchi2()/Float_t(nClustersITS);
3749 Float_t chi2PerClusterTPC = -1;
3750 if (nClustersTPC!=0)
3751 chi2PerClusterTPC = track->GetTPCchi2()/Float_t(nClustersTPC);
3752 Double_t chi2ConstrainVertex = TMath::Log(track->GetConstrainedChi2());
3753 Double_t extCov[15];
3754 track->GetExternalCovariance(extCov);
57e749bb 3755 Int_t npointsTPCdEdx = track->GetTPCsignalN();
3756
5b8133c7 3757 //TPC only
e7df5638 3758 if((fProtonAnalysisBase->GetAnalysisMode()==AliProtonAnalysisBase::kTPC)||(fProtonAnalysisBase->GetAnalysisMode()==AliProtonAnalysisBase::kHybrid)) {
3e6c06f4 3759 AliExternalTrackParam *tpcTrack = (AliExternalTrackParam *)track->GetTPCInnerParam();
3760 if(!tpcTrack) continue;
73aba974 3761 gPt = tpcTrack->Pt();
3762 gP = tpcTrack->P();
e7df5638 3763 if(fProtonAnalysisBase->GetAnalysisMode()==AliProtonAnalysisBase::kHybrid)
3764 track->GetImpactParameters(dcaXY,dcaZ);
0326e385 3765 else track->GetImpactParametersTPC(dcaXY,dcaZ);
3e6c06f4 3766
3767 //pid
e7df5638 3768 if(fProtonAnalysisBase->IsProton(track)) {
3769 if(!fProtonAnalysisBase->IsInPhaseSpace(track)) continue; //track outside the analyzed y-Pt
3e23254a 3770
3771 FillQA(stack,esd,vertex,track);
e7df5638 3772 if(fProtonAnalysisBase->IsAccepted(esd,vertex,track)) {
3e6c06f4 3773 if(label <= stack->GetNprimary()) {
6667f3a7 3774 if(track->Charge() > 0) {
5b8133c7 3775 for(Int_t iLayer = 0; iLayer < 6; iLayer++) {
3776 if(track->HasPointOnITSLayer(iLayer))
3777 ((TH1F *)(fAcceptedCutList->At(0)))->Fill(iLayer+1);
3778 }
3779 ((TH1F *)(fAcceptedCutList->At(4)))->Fill(nClustersITS);
3780 ((TH1F *)(fAcceptedCutList->At(8)))->Fill(chi2PerClusterITS);
3781 ((TH1F *)(fAcceptedCutList->At(12)))->Fill(chi2ConstrainVertex);
3782 ((TH1F *)(fAcceptedCutList->At(16)))->Fill(nClustersTPC);
3783 ((TH1F *)(fAcceptedCutList->At(20)))->Fill(chi2PerClusterTPC);
3784 ((TH1F *)(fAcceptedCutList->At(24)))->Fill(extCov[0]);
3785 ((TH1F *)(fAcceptedCutList->At(28)))->Fill(extCov[2]);
3786 ((TH1F *)(fAcceptedCutList->At(32)))->Fill(extCov[5]);
3787 ((TH1F *)(fAcceptedCutList->At(36)))->Fill(extCov[9]);
3788 ((TH1F *)(fAcceptedCutList->At(40)))->Fill(extCov[14]);
5661e210 3789 ((TH3D *)(fAcceptedCutList->At(44)))->Fill(tpcTrack->Eta(),
3790 tpcTrack->Phi()*180./TMath::Pi(),
3791 nClustersTPC);
57e749bb 3792 ((TH3D *)(fAcceptedCutList->At(48)))->Fill(tpcTrack->Eta(),
3793 tpcTrack->Phi()*180./TMath::Pi(),
3794 chi2PerClusterTPC);
3795 ((TH3D *)(fAcceptedCutList->At(52)))->Fill(tpcTrack->Eta(),
3796 tpcTrack->Phi()*180./TMath::Pi(),
3797 npointsTPCdEdx);
3798 ((TH1D *)(fAcceptedCutList->At(56)))->Fill(npointsTPCdEdx);
6667f3a7 3799
5b8133c7 3800 ((TH1F *)(fAcceptedDCAList->At(0)))->Fill(TMath::Abs(dcaXY));
3801 ((TH1F *)(fAcceptedDCAList->At(4)))->Fill(TMath::Abs(dcaZ));
3802 ((TH1F *)(fAcceptedDCAList->At(8)))->Fill(nSigmaToVertex);
e7df5638 3803 if(fProtonAnalysisBase->GetEtaMode())
73aba974 3804 ((TH2D *)(fQA2DList->At(0)))->Fill(tpcTrack->Eta(),gPt);
dd3fa486 3805 else
e7df5638 3806 ((TH2D *)(fQA2DList->At(0)))->Fill(fProtonAnalysisBase->Rapidity(tpcTrack->Px(),
dd3fa486 3807 tpcTrack->Py(),
3808 tpcTrack->Pz()),
73aba974 3809 gPt);
3e23254a 3810 }//accepted primary protons
6667f3a7 3811 else if(track->Charge() < 0) {
5b8133c7 3812 for(Int_t iLayer = 0; iLayer < 6; iLayer++) {
3813 if(track->HasPointOnITSLayer(iLayer))
3814 ((TH1F *)(fAcceptedCutList->At(1)))->Fill(iLayer+1);
3815 }
3816 ((TH1F *)(fAcceptedCutList->At(5)))->Fill(nClustersITS);
3817 ((TH1F *)(fAcceptedCutList->At(9)))->Fill(chi2PerClusterITS);
3818 ((TH1F *)(fAcceptedCutList->At(13)))->Fill(chi2ConstrainVertex);
3819 ((TH1F *)(fAcceptedCutList->At(17)))->Fill(nClustersTPC);
3820 ((TH1F *)(fAcceptedCutList->At(21)))->Fill(chi2PerClusterTPC);
3821 ((TH1F *)(fAcceptedCutList->At(25)))->Fill(extCov[0]);
3822 ((TH1F *)(fAcceptedCutList->At(29)))->Fill(extCov[2]);
3823 ((TH1F *)(fAcceptedCutList->At(33)))->Fill(extCov[5]);
3824 ((TH1F *)(fAcceptedCutList->At(37)))->Fill(extCov[9]);
3825 ((TH1F *)(fAcceptedCutList->At(41)))->Fill(extCov[14]);
5661e210 3826 ((TH3D *)(fAcceptedCutList->At(45)))->Fill(tpcTrack->Eta(),
3827 tpcTrack->Phi()*180./TMath::Pi(),
3828 nClustersTPC);
57e749bb 3829 ((TH3D *)(fAcceptedCutList->At(49)))->Fill(tpcTrack->Eta(),
3830 tpcTrack->Phi()*180./TMath::Pi(),
3831 chi2PerClusterTPC);
3832 ((TH3D *)(fAcceptedCutList->At(53)))->Fill(tpcTrack->Eta(),
3833 tpcTrack->Phi()*180./TMath::Pi(),
3834 npointsTPCdEdx);
3835 ((TH1D *)(fAcceptedCutList->At(57)))->Fill(npointsTPCdEdx);
6667f3a7 3836
5b8133c7 3837 ((TH1F *)(fAcceptedDCAList->At(1)))->Fill(TMath::Abs(dcaXY));
3838 ((TH1F *)(fAcceptedDCAList->At(5)))->Fill(TMath::Abs(dcaZ));
3839 ((TH1F *)(fAcceptedDCAList->At(9)))->Fill(nSigmaToVertex);
e7df5638 3840 if(fProtonAnalysisBase->GetEtaMode())
73aba974 3841 ((TH2D *)(fQA2DList->At(4)))->Fill(tpcTrack->Eta(),gPt);
dd3fa486 3842 else
e7df5638 3843 ((TH2D *)(fQA2DList->At(4)))->Fill(fProtonAnalysisBase->Rapidity(tpcTrack->Px(),
dd3fa486 3844 tpcTrack->Py(),
3845 tpcTrack->Pz()),
73aba974 3846 gPt);
3e23254a 3847 }//accepted primary antiprotons
3848 }//accepted primary particles
3e6c06f4 3849 else if(label > stack->GetNprimary()) {
5b8133c7 3850 Int_t lPartMother = -1;
3851 Int_t motherPDGCode = -1;
3852 if(particle) {
3853 lPartMother = particle->GetFirstMother();
3854 TParticle *motherParticle = stack->Particle(lPartMother);
3855 if(motherParticle) motherPDGCode = motherParticle->GetPdgCode();
3856 }
6667f3a7 3857
5b8133c7 3858 if(fMCProcessIdFlag)
3859 if(particle->GetUniqueID() != fMCProcessId) continue;
3860 if(fMotherParticlePDGCodeFlag)
3861 if(TMath::Abs(motherPDGCode) != fMotherParticlePDGCode) continue;
6667f3a7 3862
5b8133c7 3863 if(track->Charge() > 0) {
3864 for(Int_t iLayer = 0; iLayer < 6; iLayer++) {
3865 if(track->HasPointOnITSLayer(iLayer))
3866 ((TH1F *)(fAcceptedCutList->At(2)))->Fill(iLayer+1);
3867 }
3868 ((TH1F *)(fAcceptedCutList->At(6)))->Fill(nClustersITS);
3869 ((TH1F *)(fAcceptedCutList->At(10)))->Fill(chi2PerClusterITS);
3870 ((TH1F *)(fAcceptedCutList->At(14)))->Fill(chi2ConstrainVertex);
3871 ((TH1F *)(fAcceptedCutList->At(18)))->Fill(nClustersTPC);
3872 ((TH1F *)(fAcceptedCutList->At(22)))->Fill(chi2PerClusterTPC);
3873 ((TH1F *)(fAcceptedCutList->At(26)))->Fill(extCov[0]);
3874 ((TH1F *)(fAcceptedCutList->At(30)))->Fill(extCov[2]);
3875 ((TH1F *)(fAcceptedCutList->At(34)))->Fill(extCov[5]);
3876 ((TH1F *)(fAcceptedCutList->At(38)))->Fill(extCov[9]);
3877 ((TH1F *)(fAcceptedCutList->At(42)))->Fill(extCov[14]);
5661e210 3878 ((TH3D *)(fAcceptedCutList->At(46)))->Fill(tpcTrack->Eta(),
3879 tpcTrack->Phi()*180./TMath::Pi(),
3880 nClustersTPC);
57e749bb 3881 ((TH3D *)(fAcceptedCutList->At(50)))->Fill(tpcTrack->Eta(),
3882 tpcTrack->Phi()*180./TMath::Pi(),
3883 chi2PerClusterTPC);
3884 ((TH3D *)(fAcceptedCutList->At(54)))->Fill(tpcTrack->Eta(),
3885 tpcTrack->Phi()*180./TMath::Pi(),
3886 npointsTPCdEdx);
3887 ((TH1D *)(fAcceptedCutList->At(58)))->Fill(npointsTPCdEdx);
3888
5b8133c7 3889 ((TH1F *)(fAcceptedDCAList->At(2)))->Fill(TMath::Abs(dcaXY));
3890 ((TH1F *)(fAcceptedDCAList->At(6)))->Fill(TMath::Abs(dcaZ));
3891 ((TH1F *)(fAcceptedDCAList->At(10)))->Fill(nSigmaToVertex);
e7df5638 3892 if(fProtonAnalysisBase->GetEtaMode())
73aba974 3893 ((TH2D *)(fQA2DList->At(2)))->Fill(tpcTrack->Eta(),gPt);
dd3fa486 3894 else
e7df5638 3895 ((TH2D *)(fQA2DList->At(2)))->Fill(fProtonAnalysisBase->Rapidity(tpcTrack->Px(),
dd3fa486 3896 tpcTrack->Py(),
3897 tpcTrack->Pz()),
73aba974 3898 gPt);
e7df5638 3899 if(fProtonAnalysisBase->GetEtaMode())
73aba974 3900 ((TH3F *)(fQA2DList->At(10)))->Fill(tpcTrack->Eta(),gPt,
9c0b9f24 3901 ConvertPDGToInt(motherPDGCode));
dd3fa486 3902 else
e7df5638 3903 ((TH3F *)(fQA2DList->At(10)))->Fill(fProtonAnalysisBase->Rapidity(tpcTrack->Px(),
dd3fa486 3904 tpcTrack->Py(),
3905 tpcTrack->Pz()),
73aba974 3906 gPt,
dd3fa486 3907 ConvertPDGToInt(motherPDGCode));
3e23254a 3908 }//accepted secondary protons
6667f3a7 3909 else if(track->Charge() < 0) {
5b8133c7 3910 for(Int_t iLayer = 0; iLayer < 6; iLayer++) {
3911 if(track->HasPointOnITSLayer(iLayer))
3912 ((TH1F *)(fAcceptedCutList->At(3)))->Fill(iLayer+1);
3913 }
3914 ((TH1F *)(fAcceptedCutList->At(7)))->Fill(nClustersITS);
3915 ((TH1F *)(fAcceptedCutList->At(11)))->Fill(chi2PerClusterITS);
3916 ((TH1F *)(fAcceptedCutList->At(15)))->Fill(chi2ConstrainVertex);
3917 ((TH1F *)(fAcceptedCutList->At(19)))->Fill(nClustersTPC);
3918 ((TH1F *)(fAcceptedCutList->At(23)))->Fill(chi2PerClusterTPC);
3919 ((TH1F *)(fAcceptedCutList->At(27)))->Fill(extCov[0]);
3920 ((TH1F *)(fAcceptedCutList->At(31)))->Fill(extCov[2]);
3921 ((TH1F *)(fAcceptedCutList->At(35)))->Fill(extCov[5]);
3922 ((TH1F *)(fAcceptedCutList->At(39)))->Fill(extCov[9]);
3923 ((TH1F *)(fAcceptedCutList->At(43)))->Fill(extCov[14]);
5661e210 3924 ((TH3D *)(fAcceptedCutList->At(47)))->Fill(tpcTrack->Eta(),
3925 tpcTrack->Phi()*180./TMath::Pi(),
3926 nClustersTPC);
57e749bb 3927 ((TH3D *)(fAcceptedCutList->At(51)))->Fill(tpcTrack->Eta(),
3928 tpcTrack->Phi()*180./TMath::Pi(),
3929 chi2PerClusterTPC);
3930 ((TH3D *)(fAcceptedCutList->At(55)))->Fill(tpcTrack->Eta(),
3931 tpcTrack->Phi()*180./TMath::Pi(),
3932 npointsTPCdEdx);
3933 ((TH1F *)(fAcceptedCutList->At(59)))->Fill(npointsTPCdEdx);
3934
5b8133c7 3935 ((TH1F *)(fAcceptedDCAList->At(3)))->Fill(TMath::Abs(dcaXY));
3936 ((TH1F *)(fAcceptedDCAList->At(7)))->Fill(TMath::Abs(dcaZ));
3937 ((TH1F *)(fAcceptedDCAList->At(11)))->Fill(nSigmaToVertex);
e7df5638 3938 if(fProtonAnalysisBase->GetEtaMode())
73aba974 3939 ((TH2D *)(fQA2DList->At(6)))->Fill(tpcTrack->Eta(),gPt);
dd3fa486 3940 else
e7df5638 3941 ((TH2D *)(fQA2DList->At(6)))->Fill(fProtonAnalysisBase->Rapidity(tpcTrack->Px(),
dd3fa486 3942 tpcTrack->Py(),
3943 tpcTrack->Pz()),
73aba974 3944 gPt);
e7df5638 3945 if(fProtonAnalysisBase->GetEtaMode())
73aba974 3946 ((TH3F *)(fQA2DList->At(11)))->Fill(tpcTrack->Eta(),gPt,
dd3fa486 3947 ConvertPDGToInt(motherPDGCode));
3948 else
e7df5638 3949 ((TH3F *)(fQA2DList->At(11)))->Fill(fProtonAnalysisBase->Rapidity(tpcTrack->Px(),
dd3fa486 3950 tpcTrack->Py(),
3951 tpcTrack->Pz()),
73aba974 3952 gPt,
dd3fa486 3953 ConvertPDGToInt(motherPDGCode));
3e23254a 3954 }//accepted secondary antiprotons
3955 }//accepted secondary particles
5b8133c7 3956 }//accepted - track cuts
8debca88 3957 else {
3e6c06f4 3958 if(label <= stack->GetNprimary()) {
dd3fa486 3959 if(track->Charge() > 0) {
5661e210 3960 ((TH3D *)(fRejectedCutList->At(0)))->Fill(tpcTrack->Eta(),
3961 tpcTrack->Phi()*180./TMath::Pi(),
3962 nClustersTPC);
57e749bb 3963 ((TH3D *)(fRejectedCutList->At(4)))->Fill(tpcTrack->Eta(),
3964 tpcTrack->Phi()*180./TMath::Pi(),
3965 chi2PerClusterTPC);
3966 ((TH3D *)(fRejectedCutList->At(8)))->Fill(tpcTrack->Eta(),
3967 tpcTrack->Phi()*180./TMath::Pi(),
3968 npointsTPCdEdx);
3969
e7df5638 3970 if(fProtonAnalysisBase->GetEtaMode())
73aba974 3971 ((TH2D *)(fQA2DList->At(1)))->Fill(tpcTrack->Eta(),gPt);
dd3fa486 3972 else
e7df5638 3973 ((TH2D *)(fQA2DList->At(1)))->Fill(fProtonAnalysisBase->Rapidity(tpcTrack->Px(),
dd3fa486 3974 tpcTrack->Py(),
3975 tpcTrack->Pz()),
73aba974 3976 gPt);
dd3fa486 3977 }
3978 else if(track->Charge() < 0) {
5661e210 3979 ((TH3D *)(fRejectedCutList->At(1)))->Fill(tpcTrack->Eta(),
3980 tpcTrack->Phi()*180./TMath::Pi(),
3981 nClustersTPC);
57e749bb 3982 ((TH3D *)(fRejectedCutList->At(5)))->Fill(tpcTrack->Eta(),
3983 tpcTrack->Phi()*180./TMath::Pi(),
3984 chi2PerClusterTPC);
3985 ((TH3D *)(fRejectedCutList->At(9)))->Fill(tpcTrack->Eta(),
3986 tpcTrack->Phi()*180./TMath::Pi(),
3987 npointsTPCdEdx);
e7df5638 3988 if(fProtonAnalysisBase->GetEtaMode())
73aba974 3989 ((TH2D *)(fQA2DList->At(5)))->Fill(tpcTrack->Eta(),gPt);
dd3fa486 3990 else
e7df5638 3991 ((TH2D *)(fQA2DList->At(5)))->Fill(fProtonAnalysisBase->Rapidity(tpcTrack->Px(),
dd3fa486 3992 tpcTrack->Py(),
3993 tpcTrack->Pz()),
73aba974 3994 gPt);
dd3fa486 3995 }
3e23254a 3996 }//rejected primary particles
3e6c06f4 3997 else if(label > stack->GetNprimary()) {
dd3fa486 3998 if(track->Charge() > 0) {
5661e210 3999 ((TH3D *)(fRejectedCutList->At(2)))->Fill(tpcTrack->Eta(),
4000 tpcTrack->Phi()*180./TMath::Pi(),
4001 nClustersTPC);
57e749bb 4002 ((TH3D *)(fRejectedCutList->At(6)))->Fill(tpcTrack->Eta(),
4003 tpcTrack->Phi()*180./TMath::Pi(),
4004 chi2PerClusterTPC);
4005 ((TH3D *)(fRejectedCutList->At(10)))->Fill(tpcTrack->Eta(),
4006 tpcTrack->Phi()*180./TMath::Pi(),
4007 npointsTPCdEdx);
e7df5638 4008 if(fProtonAnalysisBase->GetEtaMode())
73aba974 4009 ((TH2D *)(fQA2DList->At(3)))->Fill(tpcTrack->Eta(),gPt);
dd3fa486 4010 else
e7df5638 4011 ((TH2D *)(fQA2DList->At(3)))->Fill(fProtonAnalysisBase->Rapidity(tpcTrack->Px(),
dd3fa486 4012 tpcTrack->Py(),
4013 tpcTrack->Pz()),
73aba974 4014 gPt);
dd3fa486 4015 }
4016 else if(track->Charge() < 0) {
5661e210 4017 ((TH3D *)(fRejectedCutList->At(3)))->Fill(tpcTrack->Eta(),
4018 tpcTrack->Phi()*180./TMath::Pi(),
4019 nClustersTPC);
57e749bb 4020 ((TH3D *)(fRejectedCutList->At(7)))->Fill(tpcTrack->Eta(),
4021 tpcTrack->Phi()*180./TMath::Pi(),
4022 chi2PerClusterTPC);
4023 ((TH3D *)(fRejectedCutList->At(11)))->Fill(tpcTrack->Eta(),
4024 tpcTrack->Phi()*180./TMath::Pi(),
4025 npointsTPCdEdx);
4026
e7df5638 4027 if(fProtonAnalysisBase->GetEtaMode())
73aba974 4028 ((TH2D *)(fQA2DList->At(7)))->Fill(tpcTrack->Eta(),gPt);
dd3fa486 4029 else
e7df5638 4030 ((TH2D *)(fQA2DList->At(7)))->Fill(fProtonAnalysisBase->Rapidity(tpcTrack->Px(),
dd3fa486 4031 tpcTrack->Py(),
4032 tpcTrack->Pz()),
73aba974 4033 gPt);
dd3fa486 4034 }
3e23254a 4035 }//rejected secondary particles
5b8133c7 4036 }//rejected - track cuts
3e6c06f4 4037 }//proton check
4038 }//TPC only tracks
5b8133c7 4039 //combined tracking
e7df5638 4040 else {
73aba974 4041 gPt = track->Pt();
4042 gP = track->P();
5b8133c7 4043 track->GetImpactParameters(dcaXY,dcaZ);
6667f3a7 4044
3e6c06f4 4045 //pid
e7df5638 4046 if(fProtonAnalysisBase->IsProton(track)) {
4047 if(!fProtonAnalysisBase->IsInPhaseSpace(track)) continue; //track outside the analyzed y-Pt
3e23254a 4048
4049 FillQA(stack,esd,vertex,track);
e7df5638 4050 if(fProtonAnalysisBase->IsAccepted(esd,vertex,track)) {
3e6c06f4 4051 if(label <= stack->GetNprimary()) {
6667f3a7 4052 if(track->Charge() > 0) {
5b8133c7 4053 for(Int_t iLayer = 0; iLayer < 6; iLayer++) {
4054 if(track->HasPointOnITSLayer(iLayer))
4055 ((TH1F *)(fAcceptedCutList->At(0)))->Fill(iLayer+1);
4056 }
4057 ((TH1F *)(fAcceptedCutList->At(4)))->Fill(nClustersITS);
4058 ((TH1F *)(fAcceptedCutList->At(8)))->Fill(chi2PerClusterITS);
4059 ((TH1F *)(fAcceptedCutList->At(12)))->Fill(chi2ConstrainVertex);
4060 ((TH1F *)(fAcceptedCutList->At(16)))->Fill(nClustersTPC);
4061 ((TH1F *)(fAcceptedCutList->At(20)))->Fill(chi2PerClusterTPC);
4062 ((TH1F *)(fAcceptedCutList->At(24)))->Fill(extCov[0]);
4063 ((TH1F *)(fAcceptedCutList->At(28)))->Fill(extCov[2]);
4064 ((TH1F *)(fAcceptedCutList->At(32)))->Fill(extCov[5]);
4065 ((TH1F *)(fAcceptedCutList->At(36)))->Fill(extCov[9]);
4066 ((TH1F *)(fAcceptedCutList->At(40)))->Fill(extCov[14]);
5661e210 4067 ((TH3D *)(fAcceptedCutList->At(44)))->Fill(track->Eta(),
4068 track->Phi()*180./TMath::Pi(),
4069 nClustersTPC);
57e749bb 4070 ((TH3D *)(fAcceptedCutList->At(48)))->Fill(track->Eta(),
4071 track->Phi()*180./TMath::Pi(),
4072 chi2PerClusterTPC);
4073 ((TH3D *)(fAcceptedCutList->At(52)))->Fill(track->Eta(),
4074 track->Phi()*180./TMath::Pi(),
4075 npointsTPCdEdx);
4076 ((TH1F *)(fAcceptedCutList->At(56)))->Fill(npointsTPCdEdx);
6667f3a7 4077
5b8133c7 4078 ((TH1F *)(fAcceptedDCAList->At(0)))->Fill(TMath::Abs(dcaXY));
4079 ((TH1F *)(fAcceptedDCAList->At(4)))->Fill(TMath::Abs(dcaZ));
4080 ((TH1F *)(fAcceptedDCAList->At(8)))->Fill(nSigmaToVertex);
e7df5638 4081 if(fProtonAnalysisBase->GetEtaMode())
73aba974 4082 ((TH2D *)(fQA2DList->At(0)))->Fill(track->Eta(),gPt);
dd3fa486 4083 else
e7df5638 4084 ((TH2D *)(fQA2DList->At(0)))->Fill(fProtonAnalysisBase->Rapidity(track->Px(),
dd3fa486 4085 track->Py(),
4086 track->Pz()),
73aba974 4087 gPt);
5b8133c7 4088 }
6667f3a7 4089 else if(track->Charge() < 0) {
5b8133c7 4090 for(Int_t iLayer = 0; iLayer < 6; iLayer++) {
4091 if(track->HasPointOnITSLayer(iLayer))
4092 ((TH1F *)(fAcceptedCutList->At(1)))->Fill(iLayer+1);
4093 }
4094 ((TH1F *)(fAcceptedCutList->At(5)))->Fill(nClustersITS);
4095 ((TH1F *)(fAcceptedCutList->At(9)))->Fill(chi2PerClusterITS);
4096 ((TH1F *)(fAcceptedCutList->At(13)))->Fill(chi2ConstrainVertex);
4097 ((TH1F *)(fAcceptedCutList->At(17)))->Fill(nClustersTPC);
4098 ((TH1F *)(fAcceptedCutList->At(21)))->Fill(chi2PerClusterTPC);
4099 ((TH1F *)(fAcceptedCutList->At(25)))->Fill(extCov[0]);
4100 ((TH1F *)(fAcceptedCutList->At(29)))->Fill(extCov[2]);
4101 ((TH1F *)(fAcceptedCutList->At(33)))->Fill(extCov[5]);
4102 ((TH1F *)(fAcceptedCutList->At(37)))->Fill(extCov[9]);
4103 ((TH1F *)(fAcceptedCutList->At(41)))->Fill(extCov[14]);
5661e210 4104 ((TH3D *)(fAcceptedCutList->At(45)))->Fill(track->Eta(),
4105 track->Phi()*180./TMath::Pi(),
4106 nClustersTPC);
57e749bb 4107 ((TH3D *)(fAcceptedCutList->At(49)))->Fill(track->Eta(),
4108 track->Phi()*180./TMath::Pi(),
4109 chi2PerClusterTPC);
4110 ((TH3D *)(fAcceptedCutList->At(53)))->Fill(track->Eta(),
4111 track->Phi()*180./TMath::Pi(),
4112 npointsTPCdEdx);
4113 ((TH1F *)(fAcceptedCutList->At(57)))->Fill(npointsTPCdEdx);
6667f3a7 4114
5b8133c7 4115 ((TH1F *)(fAcceptedDCAList->At(1)))->Fill(TMath::Abs(dcaXY));
4116 ((TH1F *)(fAcceptedDCAList->At(5)))->Fill(TMath::Abs(dcaZ));
4117 ((TH1F *)(fAcceptedDCAList->At(9)))->Fill(nSigmaToVertex);
e7df5638 4118 if(fProtonAnalysisBase->GetEtaMode())
73aba974 4119 ((TH2D *)(fQA2DList->At(4)))->Fill(track->Eta(),gPt);
dd3fa486 4120 else
e7df5638 4121 ((TH2D *)(fQA2DList->At(4)))->Fill(fProtonAnalysisBase->Rapidity(track->Px(),
dd3fa486 4122 track->Py(),
4123 track->Pz()),
73aba974 4124 gPt);
5b8133c7 4125 }
3e6c06f4 4126 }//primary particles
4127 else if(label > stack->GetNprimary()) {
5b8133c7 4128 Int_t lPartMother = -1;
4129 Int_t motherPDGCode = -1;
4130 if(particle) {
4131 lPartMother = particle->GetFirstMother();
4132 TParticle *motherParticle = stack->Particle(lPartMother);
4133 if(motherParticle) motherPDGCode = motherParticle->GetPdgCode();
4134 }
6667f3a7 4135
5b8133c7 4136 if(fMCProcessIdFlag)
4137 if(particle->GetUniqueID() != fMCProcessId) continue;
4138 if(fMotherParticlePDGCodeFlag)
4139 if(TMath::Abs(motherPDGCode) != fMotherParticlePDGCode) continue;
6667f3a7 4140
5b8133c7 4141 if(track->Charge() > 0) {
4142 for(Int_t iLayer = 0; iLayer < 6; iLayer++) {
4143 if(track->HasPointOnITSLayer(iLayer))
4144 ((TH1F *)(fAcceptedCutList->At(2)))->Fill(iLayer+1);
4145 }
4146 ((TH1F *)(fAcceptedCutList->At(6)))->Fill(nClustersITS);
4147 ((TH1F *)(fAcceptedCutList->At(10)))->Fill(chi2PerClusterITS);
4148 ((TH1F *)(fAcceptedCutList->At(14)))->Fill(chi2ConstrainVertex);
4149 ((TH1F *)(fAcceptedCutList->At(18)))->Fill(nClustersTPC);
4150 ((TH1F *)(fAcceptedCutList->At(22)))->Fill(chi2PerClusterTPC);
4151 ((TH1F *)(fAcceptedCutList->At(26)))->Fill(extCov[0]);
4152 ((TH1F *)(fAcceptedCutList->At(30)))->Fill(extCov[2]);
4153 ((TH1F *)(fAcceptedCutList->At(34)))->Fill(extCov[5]);
4154 ((TH1F *)(fAcceptedCutList->At(38)))->Fill(extCov[9]);
4155 ((TH1F *)(fAcceptedCutList->At(42)))->Fill(extCov[14]);
5661e210 4156 ((TH3D *)(fAcceptedCutList->At(46)))->Fill(track->Eta(),
4157 track->Phi()*180./TMath::Pi(),
4158 nClustersTPC);
57e749bb 4159 ((TH3D *)(fAcceptedCutList->At(50)))->Fill(track->Eta(),
4160 track->Phi()*180./TMath::Pi(),
4161 chi2PerClusterTPC);
4162 ((TH3D *)(fAcceptedCutList->At(54)))->Fill(track->Eta(),
4163 track->Phi()*180./TMath::Pi(),
4164 npointsTPCdEdx);
4165 ((TH1F *)(fAcceptedCutList->At(58)))->Fill(npointsTPCdEdx);
6667f3a7 4166
5b8133c7 4167 ((TH1F *)(fAcceptedDCAList->At(2)))->Fill(TMath::Abs(dcaXY));
4168 ((TH1F *)(fAcceptedDCAList->At(6)))->Fill(TMath::Abs(dcaZ));
4169 ((TH1F *)(fAcceptedDCAList->At(10)))->Fill(nSigmaToVertex);
e7df5638 4170 if(fProtonAnalysisBase->GetEtaMode())
73aba974 4171 ((TH2D *)(fQA2DList->At(2)))->Fill(track->Eta(),gPt);
dd3fa486 4172 else
e7df5638 4173 ((TH2D *)(fQA2DList->At(2)))->Fill(fProtonAnalysisBase->Rapidity(track->Px(),
dd3fa486 4174 track->Py(),
4175 track->Pz()),
73aba974 4176 gPt);
e7df5638 4177 if(fProtonAnalysisBase->GetEtaMode())
73aba974 4178 ((TH3F *)(fQA2DList->At(10)))->Fill(track->Eta(),gPt,
dd3fa486 4179 ConvertPDGToInt(motherPDGCode));
4180 else
e7df5638 4181 ((TH3F *)(fQA2DList->At(10)))->Fill(fProtonAnalysisBase->Rapidity(track->Px(),
dd3fa486 4182 track->Py(),
4183 track->Pz()),
73aba974 4184 gPt,
dd3fa486 4185 ConvertPDGToInt(motherPDGCode));
5b8133c7 4186 }
6667f3a7 4187 else if(track->Charge() < 0) {
5b8133c7 4188 for(Int_t iLayer = 0; iLayer < 6; iLayer++) {
4189 if(track->HasPointOnITSLayer(iLayer))
4190 ((TH1F *)(fAcceptedCutList->At(3)))->Fill(iLayer+1);
4191 }
4192 ((TH1F *)(fAcceptedCutList->At(7)))->Fill(nClustersITS);
4193 ((TH1F *)(fAcceptedCutList->At(11)))->Fill(chi2PerClusterITS);
4194 ((TH1F *)(fAcceptedCutList->At(15)))->Fill(chi2ConstrainVertex);
4195 ((TH1F *)(fAcceptedCutList->At(19)))->Fill(nClustersTPC);
4196 ((TH1F *)(fAcceptedCutList->At(23)))->Fill(chi2PerClusterTPC);
4197 ((TH1F *)(fAcceptedCutList->At(27)))->Fill(extCov[0]);
4198 ((TH1F *)(fAcceptedCutList->At(31)))->Fill(extCov[2]);
4199 ((TH1F *)(fAcceptedCutList->At(35)))->Fill(extCov[5]);
4200 ((TH1F *)(fAcceptedCutList->At(39)))->Fill(extCov[9]);
4201 ((TH1F *)(fAcceptedCutList->At(43)))->Fill(extCov[14]);
5661e210 4202 ((TH3D *)(fAcceptedCutList->At(47)))->Fill(track->Eta(),
4203 track->Phi()*180./TMath::Pi(),
4204 nClustersTPC);
57e749bb 4205 ((TH3D *)(fAcceptedCutList->At(51)))->Fill(track->Eta(),
4206 track->Phi()*180./TMath::Pi(),
4207 chi2PerClusterTPC);
4208 ((TH3D *)(fAcceptedCutList->At(55)))->Fill(track->Eta(),
4209 track->Phi()*180./TMath::Pi(),
4210 npointsTPCdEdx);
4211 ((TH1F *)(fAcceptedCutList->At(59)))->Fill(npointsTPCdEdx);
6667f3a7 4212
5b8133c7 4213 ((TH1F *)(fAcceptedDCAList->At(3)))->Fill(TMath::Abs(dcaXY));
4214 ((TH1F *)(fAcceptedDCAList->At(7)))->Fill(TMath::Abs(dcaZ));
4215 ((TH1F *)(fAcceptedDCAList->At(11)))->Fill(nSigmaToVertex);
e7df5638 4216 if(fProtonAnalysisBase->GetEtaMode())
73aba974 4217 ((TH2D *)(fQA2DList->At(6)))->Fill(track->Eta(),gPt);
dd3fa486 4218 else
e7df5638 4219 ((TH2D *)(fQA2DList->At(6)))->Fill(fProtonAnalysisBase->Rapidity(track->Px(),
dd3fa486 4220 track->Py(),
4221 track->Pz()),
73aba974 4222 gPt);
e7df5638 4223 if(fProtonAnalysisBase->GetEtaMode())
73aba974 4224 ((TH3F *)(fQA2DList->At(11)))->Fill(track->Eta(),gPt,
dd3fa486 4225 ConvertPDGToInt(motherPDGCode));
4226 else
e7df5638 4227 ((TH3F *)(fQA2DList->At(11)))->Fill(fProtonAnalysisBase->Rapidity(track->Px(),
dd3fa486 4228 track->Py(),
4229 track->Pz()),
73aba974 4230 gPt,
dd3fa486 4231 ConvertPDGToInt(motherPDGCode));
5b8133c7 4232 }
3e6c06f4 4233 }//secondary particles
5b8133c7 4234 }//accepted - track cuts
e7df5638 4235 else if(!fProtonAnalysisBase->IsAccepted(esd,vertex,track)) {
3e6c06f4 4236 if(label <= stack->GetNprimary()) {
dd3fa486 4237 if(track->Charge() > 0) {
5661e210 4238 ((TH3D *)(fRejectedCutList->At(0)))->Fill(track->Eta(),
4239 track->Phi()*180./TMath::Pi(),
4240 nClustersTPC);
57e749bb 4241 ((TH3D *)(fRejectedCutList->At(4)))->Fill(track->Eta(),
4242 track->Phi()*180./TMath::Pi(),
4243 chi2PerClusterTPC);
4244 ((TH3D *)(fRejectedCutList->At(8)))->Fill(track->Eta(),
4245 track->Phi()*180./TMath::Pi(),
4246 npointsTPCdEdx);
e7df5638 4247 if(fProtonAnalysisBase->GetEtaMode())
73aba974 4248 ((TH2D *)(fQA2DList->At(1)))->Fill(track->Eta(),gPt);
dd3fa486 4249 else
e7df5638 4250 ((TH2D *)(fQA2DList->At(1)))->Fill(fProtonAnalysisBase->Rapidity(track->Px(),
dd3fa486 4251 track->Py(),
4252 track->Pz()),
73aba974 4253 gPt);
dd3fa486 4254 }
4255 else if(track->Charge() < 0) {
5661e210 4256 ((TH3D *)(fRejectedCutList->At(1)))->Fill(track->Eta(),
4257 track->Phi()*180./TMath::Pi(),
4258 nClustersTPC);
57e749bb 4259 ((TH3D *)(fRejectedCutList->At(5)))->Fill(track->Eta(),
4260 track->Phi()*180./TMath::Pi(),
4261 chi2PerClusterTPC);
4262 ((TH3D *)(fRejectedCutList->At(9)))->Fill(track->Eta(),
4263 track->Phi()*180./TMath::Pi(),
4264 npointsTPCdEdx);
4265
e7df5638 4266 if(fProtonAnalysisBase->GetEtaMode())
73aba974 4267 ((TH2D *)(fQA2DList->At(5)))->Fill(track->Eta(),gPt);
dd3fa486 4268 else
e7df5638 4269 ((TH2D *)(fQA2DList->At(5)))->Fill(fProtonAnalysisBase->Rapidity(track->Px(),
dd3fa486 4270 track->Py(),
4271 track->Pz()),
73aba974 4272 gPt);
dd3fa486 4273 }
3e6c06f4 4274 }//primary particles
4275 else if(label > stack->GetNprimary()) {
dd3fa486 4276 if(track->Charge() > 0) {
5661e210 4277 ((TH3D *)(fRejectedCutList->At(2)))->Fill(track->Eta(),
4278 track->Phi()*180./TMath::Pi(),
4279 nClustersTPC);
57e749bb 4280 ((TH3D *)(fRejectedCutList->At(6)))->Fill(track->Eta(),
4281 track->Phi()*180./TMath::Pi(),
4282 chi2PerClusterTPC);
4283 ((TH3D *)(fRejectedCutList->At(10)))->Fill(track->Eta(),
4284 track->Phi()*180./TMath::Pi(),
4285 npointsTPCdEdx);
e7df5638 4286 if(fProtonAnalysisBase->GetEtaMode())
73aba974 4287 ((TH2D *)(fQA2DList->At(3)))->Fill(track->Eta(),gPt);
dd3fa486 4288 else
e7df5638 4289 ((TH2D *)(fQA2DList->At(3)))->Fill(fProtonAnalysisBase->Rapidity(track->Px(),
dd3fa486 4290 track->Py(),
4291 track->Pz()),
73aba974 4292 gPt);
dd3fa486 4293 }
4294 else if(track->Charge() < 0) {
5661e210 4295 ((TH3D *)(fRejectedCutList->At(3)))->Fill(track->Eta(),
4296 track->Phi()*180./TMath::Pi(),
4297 nClustersTPC);
57e749bb 4298 ((TH3D *)(fRejectedCutList->At(7)))->Fill(track->Eta(),
4299 track->Phi()*180./TMath::Pi(),
4300 chi2PerClusterTPC);
4301 ((TH3D *)(fRejectedCutList->At(11)))->Fill(track->Eta(),
4302 track->Phi()*180./TMath::Pi(),
4303 npointsTPCdEdx);
e7df5638 4304 if(fProtonAnalysisBase->GetEtaMode())
73aba974 4305 ((TH2D *)(fQA2DList->At(7)))->Fill(track->Eta(),gPt);
dd3fa486 4306 else
e7df5638 4307 ((TH2D *)(fQA2DList->At(7)))->Fill(fProtonAnalysisBase->Rapidity(track->Px(),
dd3fa486 4308 track->Py(),
4309 track->Pz()),
73aba974 4310 gPt);
dd3fa486 4311 }
3e6c06f4 4312 }//secondary particles
5b8133c7 4313 }//rejected - track cuts
3e6c06f4 4314 }//proton check
4315 }//combined tracking
4316 }//track loop
4317
4318}
4319
d4733690 4320//____________________________________________________________________//
4321void AliProtonQAAnalysis::InitMCAnalysis() {
4322 //MC analysis - 3D histograms: y-pT-pdg
4323 fPDGList = new TList();
4324 TH3F *gHistYPtPDGProtons = new TH3F("gHistYPtPDGProtons",
dd3fa486 4325 ";;P_{T} [GeV/c];PDG",
d4733690 4326 fNBinsY,fMinY,fMaxY,
4327 fNBinsPt,fMinPt,fMaxPt,
4328 14,-0.5,13.5);
e7df5638 4329 if(fProtonAnalysisBase->GetEtaMode())
dd3fa486 4330 gHistYPtPDGProtons->GetXaxis()->SetTitle("#eta");
4331 else
4332 gHistYPtPDGProtons->GetXaxis()->SetTitle("y");
d4733690 4333 fPDGList->Add(gHistYPtPDGProtons);
4334 TH3F *gHistYPtPDGAntiProtons = new TH3F("gHistYPtPDGAntiProtons",
dd3fa486 4335 ";;P_{T} [GeV/c];PDG",
d4733690 4336 fNBinsY,fMinY,fMaxY,
4337 fNBinsPt,fMinPt,fMaxPt,
4338 14,-0.5,13.5);
e7df5638 4339 if(fProtonAnalysisBase->GetEtaMode())
dd3fa486 4340 gHistYPtPDGAntiProtons->GetXaxis()->SetTitle("#eta");
4341 else
4342 gHistYPtPDGAntiProtons->GetXaxis()->SetTitle("y");
d4733690 4343 fPDGList->Add(gHistYPtPDGAntiProtons);
4344
4345 //MC processes
4346 fMCProcessesList = new TList();
4347 TH1F *gHistProtonsFromKLProcess = new TH1F("gHistProtonsFromKLProcess","",51,-0.5,50.5);
4348 fMCProcessesList->Add(gHistProtonsFromKLProcess);
4349 TH1F *gHistProtonsFromPionProcess = new TH1F("gHistProtonsFromPionProcess","",51,-0.5,50.5);
4350 fMCProcessesList->Add(gHistProtonsFromPionProcess);
4351 TH1F *gHistProtonsFromKSProcess = new TH1F("gHistProtonsFromKSProcess","",51,-0.5,50.5);
4352 fMCProcessesList->Add(gHistProtonsFromKSProcess);
4353 TH1F *gHistProtonsFromKaonProcess = new TH1F("gHistProtonsFromKaonProcess","",51,-0.5,50.5);
4354 fMCProcessesList->Add(gHistProtonsFromKaonProcess);
4355 TH1F *gHistProtonsFromNeutronProcess = new TH1F("gHistProtonsFromNeutronProcess","",51,-0.5,50.5);
4356 fMCProcessesList->Add(gHistProtonsFromNeutronProcess);
4357 TH1F *gHistProtonsFromProtonProcess = new TH1F("gHistProtonsFromProtonProcess","",51,-0.5,50.5);
4358 fMCProcessesList->Add(gHistProtonsFromProtonProcess);
4359 TH1F *gHistProtonsFromSigmaMinusProcess = new TH1F("gHistProtonsFromSigmaMinusProcess","",51,-0.5,50.5);
4360 fMCProcessesList->Add(gHistProtonsFromSigmaMinusProcess);
4361 TH1F *gHistProtonsFromLambda0Process = new TH1F("gHistProtonsFromLambda0Process","",51,-0.5,50.5);
4362 fMCProcessesList->Add(gHistProtonsFromLambda0Process);
4363 TH1F *gHistProtonsFromSigmaPlusProcess = new TH1F("gHistProtonsFromSigmaPlusProcess","",51,-0.5,50.5);
4364 fMCProcessesList->Add(gHistProtonsFromSigmaPlusProcess);
4365 TH1F *gHistProtonsFromXiMinusProcess = new TH1F("gHistProtonsFromXiMinusProcess","",51,-0.5,50.5);
4366 fMCProcessesList->Add(gHistProtonsFromXiMinusProcess);
4367 TH1F *gHistProtonsFromXi0Process = new TH1F("gHistProtonsFromXi0Process","",51,-0.5,50.5);
4368 fMCProcessesList->Add(gHistProtonsFromXi0Process);
4369 TH1F *gHistProtonsFromOmegaProcess = new TH1F("gHistProtonsFromOmegaProcess","",51,-0.5,50.5);
4370 fMCProcessesList->Add(gHistProtonsFromOmegaProcess);
4371
4372 TH1F *gHistAntiProtonsFromKLProcess = new TH1F("gHistAntiProtonsFromKLProcess","",51,-0.5,50.5);
4373 fMCProcessesList->Add(gHistAntiProtonsFromKLProcess);
4374 TH1F *gHistAntiProtonsFromPionProcess = new TH1F("gHistAntiProtonsFromPionProcess","",51,-0.5,50.5);
4375 fMCProcessesList->Add(gHistAntiProtonsFromPionProcess);
4376 TH1F *gHistAntiProtonsFromKSProcess = new TH1F("gHistAntiProtonsFromKSProcess","",51,-0.5,50.5);
4377 fMCProcessesList->Add(gHistAntiProtonsFromKSProcess);
4378 TH1F *gHistAntiProtonsFromKaonProcess = new TH1F("gHistAntiProtonsFromKaonProcess","",51,-0.5,50.5);
4379 fMCProcessesList->Add(gHistAntiProtonsFromKaonProcess);
4380 TH1F *gHistAntiProtonsFromNeutronProcess = new TH1F("gHistAntiProtonsFromNeutronProcess","",51,-0.5,50.5);
4381 fMCProcessesList->Add(gHistAntiProtonsFromNeutronProcess);
4382 TH1F *gHistAntiProtonsFromProtonProcess = new TH1F("gHistAntiProtonsFromProtonProcess","",51,-0.5,50.5);
4383 fMCProcessesList->Add(gHistAntiProtonsFromProtonProcess);
4384 TH1F *gHistAntiProtonsFromLambda0Process = new TH1F("gHistAntiProtonsFromLambda0Process","",51,-0.5,50.5);
4385 fMCProcessesList->Add(gHistAntiProtonsFromLambda0Process);
4386 TH1F *gHistAntiProtonsFromSigmaPlusProcess = new TH1F("gHistAntiProtonsFromSigmaPlusProcess","",51,-0.5,50.5);
4387 fMCProcessesList->Add(gHistAntiProtonsFromSigmaPlusProcess);
4388}
4389
4390//____________________________________________________________________//
73aba974 4391void AliProtonQAAnalysis::RunMCAnalysis(AliStack* const stack) {
d4733690 4392 //Main analysis part - MC
4393 for(Int_t iParticle = 0; iParticle < stack->GetNtrack(); iParticle++) {
4394 TParticle *particle = stack->Particle(iParticle);
55f9a666 4395 if(!particle) continue;
4396
d4733690 4397 if(TMath::Abs(particle->Eta()) > 1.0) continue;//acceptance
2b00fd2c 4398 if((particle->Pt() > fMaxPt)||(particle->Pt() < fMinPt)) continue;
e7df5638 4399 if(fProtonAnalysisBase->GetEtaMode()) {
dd3fa486 4400 if((particle->Eta() > fMaxY)||(particle->Eta() < fMinY)) continue;
4401 }
4402 else {
e7df5638 4403 if((fProtonAnalysisBase->Rapidity(particle->Px(),particle->Py(),particle->Pz()) > fMaxY)||(fProtonAnalysisBase->Rapidity(particle->Px(),particle->Py(),particle->Pz()) < fMinY)) continue;
dd3fa486 4404 }
2b00fd2c 4405
d4733690 4406 Int_t pdgcode = particle->GetPdgCode();
4407 if(pdgcode == 2212) {
dd3fa486 4408 if(iParticle <= stack->GetNprimary()) {
e7df5638 4409 if(fProtonAnalysisBase->GetEtaMode())
dd3fa486 4410 ((TH3F *)(fPDGList->At(0)))->Fill(particle->Eta(),particle->Pt(),0);
4411 else
e7df5638 4412 ((TH3F *)(fPDGList->At(0)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
dd3fa486 4413 particle->Py(),
4414 particle->Pz()),
4415 particle->Pt(),0);
4416 }
d4733690 4417 else if(iParticle > stack->GetNprimary()) {
4418 Int_t lPartMother = particle->GetFirstMother();
4419 TParticle *motherParticle = stack->Particle(lPartMother);
4420 if(!motherParticle) continue;
9933c613 4421 Int_t motherPDGCode = motherParticle->GetPdgCode();
4422 if(fMCProcessIdFlag)
4423 if(particle->GetUniqueID() != fMCProcessId) continue;
4424 if(fMotherParticlePDGCodeFlag)
4425 if(TMath::Abs(motherPDGCode) != fMotherParticlePDGCode) continue;
4426
e7df5638 4427 if(fProtonAnalysisBase->GetEtaMode())
dd3fa486 4428 ((TH3F *)(fPDGList->At(0)))->Fill(particle->Eta(),
4429 particle->Pt(),
4430 ConvertPDGToInt(motherParticle->GetPdgCode()));
4431 else
e7df5638 4432 ((TH3F *)(fPDGList->At(0)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
dd3fa486 4433 particle->Py(),
4434 particle->Pz()),
4435 particle->Pt(),
4436 ConvertPDGToInt(motherParticle->GetPdgCode()));
d4733690 4437 //processes
4438 if(TMath::Abs(motherParticle->GetPdgCode()) == 130)
4439 ((TH1F *)(fMCProcessesList->At(0)))->Fill(particle->GetUniqueID());
4440 if(TMath::Abs(motherParticle->GetPdgCode()) == 211)
4441 ((TH1F *)(fMCProcessesList->At(1)))->Fill(particle->GetUniqueID());
4442 if(TMath::Abs(motherParticle->GetPdgCode()) == 310)
4443 ((TH1F *)(fMCProcessesList->At(2)))->Fill(particle->GetUniqueID());
4444 if(TMath::Abs(motherParticle->GetPdgCode()) == 321)
4445 ((TH1F *)(fMCProcessesList->At(3)))->Fill(particle->GetUniqueID());
4446 if(TMath::Abs(motherParticle->GetPdgCode()) == 2112)
4447 ((TH1F *)(fMCProcessesList->At(4)))->Fill(particle->GetUniqueID());
4448 if(TMath::Abs(motherParticle->GetPdgCode()) == 2212)
4449 ((TH1F *)(fMCProcessesList->At(5)))->Fill(particle->GetUniqueID());
4450 if(TMath::Abs(motherParticle->GetPdgCode()) == 3112)
4451 ((TH1F *)(fMCProcessesList->At(6)))->Fill(particle->GetUniqueID());
4452 if(TMath::Abs(motherParticle->GetPdgCode()) == 3122)
4453 ((TH1F *)(fMCProcessesList->At(7)))->Fill(particle->GetUniqueID());
4454 if(TMath::Abs(motherParticle->GetPdgCode()) == 3222)
4455 ((TH1F *)(fMCProcessesList->At(8)))->Fill(particle->GetUniqueID());
4456 if(TMath::Abs(motherParticle->GetPdgCode()) == 3312)
4457 ((TH1F *)(fMCProcessesList->At(9)))->Fill(particle->GetUniqueID());
4458 if(TMath::Abs(motherParticle->GetPdgCode()) == 3322)
4459 ((TH1F *)(fMCProcessesList->At(10)))->Fill(particle->GetUniqueID());
4460 if(TMath::Abs(motherParticle->GetPdgCode()) == 3334)
4461 ((TH1F *)(fMCProcessesList->At(11)))->Fill(particle->GetUniqueID());
4462 }//secondary proton
4463 }//pdgcode of proton
4464
4465 if(pdgcode == -2212) {
dd3fa486 4466 if(iParticle <= stack->GetNprimary()) {
e7df5638 4467 if(fProtonAnalysisBase->GetEtaMode())
dd3fa486 4468 ((TH3F *)(fPDGList->At(1)))->Fill(particle->Eta(),particle->Pt(),0);
4469 else
e7df5638 4470 ((TH3F *)(fPDGList->At(1)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
dd3fa486 4471 particle->Py(),
4472 particle->Pz()),
4473 particle->Pt(),0);
4474 }
d4733690 4475 else if(iParticle > stack->GetNprimary()) {
4476 Int_t lPartMother = particle->GetFirstMother();
4477 TParticle *motherParticle = stack->Particle(lPartMother);
4478 if(!motherParticle) continue;
9933c613 4479 Int_t motherPDGCode = motherParticle->GetPdgCode();
4480 if(fMCProcessIdFlag)
4481 if(particle->GetUniqueID() != fMCProcessId) continue;
4482 if(fMotherParticlePDGCodeFlag)
4483 if(TMath::Abs(motherPDGCode) != fMotherParticlePDGCode) continue;
4484
e7df5638 4485 if(fProtonAnalysisBase->GetEtaMode())
dd3fa486 4486 ((TH3F *)(fPDGList->At(1)))->Fill(particle->Eta(),
4487 particle->Pt(),
4488 ConvertPDGToInt(motherParticle->GetPdgCode()));
4489 else
e7df5638 4490 ((TH3F *)(fPDGList->At(1)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
dd3fa486 4491 particle->Py(),
4492 particle->Pz()),
4493 particle->Pt(),
4494 ConvertPDGToInt(motherParticle->GetPdgCode()));
d4733690 4495
4496 //processes
4497 if(TMath::Abs(motherParticle->GetPdgCode()) == 130)
4498 ((TH1F *)(fMCProcessesList->At(12)))->Fill(particle->GetUniqueID());
4499 if(TMath::Abs(motherParticle->GetPdgCode()) == 211)
4500 ((TH1F *)(fMCProcessesList->At(13)))->Fill(particle->GetUniqueID());
4501 if(TMath::Abs(motherParticle->GetPdgCode()) == 310)
4502 ((TH1F *)(fMCProcessesList->At(14)))->Fill(particle->GetUniqueID());
4503 if(TMath::Abs(motherParticle->GetPdgCode()) == 321)
4504 ((TH1F *)(fMCProcessesList->At(15)))->Fill(particle->GetUniqueID());
4505 if(TMath::Abs(motherParticle->GetPdgCode()) == 2112)
4506 ((TH1F *)(fMCProcessesList->At(16)))->Fill(particle->GetUniqueID());
4507 if(TMath::Abs(motherParticle->GetPdgCode()) == 2212)
4508 ((TH1F *)(fMCProcessesList->At(17)))->Fill(particle->GetUniqueID());
4509 if(TMath::Abs(motherParticle->GetPdgCode()) == 3122)
4510 ((TH1F *)(fMCProcessesList->At(18)))->Fill(particle->GetUniqueID());
4511 if(TMath::Abs(motherParticle->GetPdgCode()) == 3222)
4512 ((TH1F *)(fMCProcessesList->At(19)))->Fill(particle->GetUniqueID());
4513 }//secondary antiproton
4514 }//pdgcode of antiproton
4515
4516 }//particle loop
4517}
4518
4519//____________________________________________________________________//
73aba974 4520Int_t AliProtonQAAnalysis::ConvertPDGToInt(Int_t pdgCode) const {
d4733690 4521 //Converts the pdg code to an int based on the following scheme:
4522 //1: PDG code: 130 - Name: K_L0
4523 //2: PDG code: 211 - Name: pi+
4524 //3: PDG code: 310 - Name: K_S0
4525 //4: PDG code: 321 - Name: K+
4526 //5: PDG code: 2112 - Name: neutron
4527 //6: PDG code: 2212 - Name: proton
4528 //7: PDG code: 3112 - Name: Sigma-
4529 //8: PDG code: 3122 - Name: Lambda0
4530 //9: PDG code: 3222 - Name: Sigma+
4531 //10: PDG code: 3312 - Name: Xi-
4532 //11: PDG code: 3322 - Name: Xi0
4533 //12: PDG code: 3334 - Name: Omega-
4534 Int_t code = -1;
4535 switch (TMath::Abs(pdgCode)) {
4536 case 130: {
4537 code = 1;
4538 break;
4539 }
4540 case 211: {
4541 code = 2;
4542 break;
4543 }
4544 case 310: {
4545 code = 3;
4546 break;
4547 }
4548 case 321: {
4549 code = 4;
4550 break;
4551 }
4552 case 2112: {
4553 code = 5;
4554 break;
4555 }
4556 case 2212: {
4557 code = 6;
4558 break;
4559 }
4560 case 3112: {
4561 code = 7;
4562 break;
4563 }
4564 case 3122: {
4565 code = 8;
4566 break;
4567 }
4568 case 3222: {
4569 code = 9;
4570 break;
4571 }
4572 case 3312: {
4573 code = 10;
4574 break;
4575 }
4576 case 3322: {
4577 code = 11;
4578 break;
4579 }
4580 case 3334: {
4581 code = 12;
4582 break;
4583 }
4584 default: {
4585 code = -1;
4586 break;
4587 }
4588 }//switch
4589
4590 return code;
4591}
3e6c06f4 4592
3e6c06f4 4593
4594
4595
4596
4597