]>
Commit | Line | Data |
---|---|---|
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 | |
42 | ClassImp(AliProtonQAAnalysis) | |
43 | ||
44 | //____________________________________________________________________// | |
45 | AliProtonQAAnalysis::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 | //____________________________________________________________________// | |
71 | AliProtonQAAnalysis::~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 | 102 | void 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 | 949 | void 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 | 992 | void 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 | //____________________________________________________________________// | |
1009 | void 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 | //____________________________________________________________________// |
1217 | void 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 | //____________________________________________________________________// |
1672 | void 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 | //____________________________________________________________________// |
1830 | void 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 | 2815 | void 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 | //____________________________________________________________________// |
3180 | void 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 | 3244 | void 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 | //____________________________________________________________________// | |
3573 | Bool_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 | //____________________________________________________________________// |
3586 | void 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 | //____________________________________________________________________// |
3666 | void 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 | //____________________________________________________________________// |
4321 | void 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 | 4391 | void 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 | 4520 | Int_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 |