#include "TMath.h"
#include "TAxis.h"
#include "TSystem.h"
#include "TProfile.h"
#include "TH2F.h"
#include "TH3F.h"
#include "TFile.h"
#include "TPRegexp.h"
#include "AliStack.h"
#include "AliMCEvent.h"
#include "AliMCParticle.h"
#include "AliESDtrackCuts.h"
#include "AliESDInputHandler.h"
#include "AliESDpid.h"
#include "AliCentrality.h"
#include "AliTracker.h"
#include "AliAODInputHandler.h"
#include "AliAODEvent.h"
#include "AliAODTrack.h"
#include "AliAODMCParticle.h"
#include "AliAnalysisNetParticleQA.h"
using namespace std;
ClassImp(AliAnalysisNetParticleQA)
AliAnalysisNetParticleQA::AliAnalysisNetParticleQA() :
AliAnalysisNetParticleBase("QA", "QA"),
fHnQA(NULL) {
AliLog::SetClassDebugLevel("AliAnalysisNetParticleQA",10);
}
AliAnalysisNetParticleQA::~AliAnalysisNetParticleQA() {
return;
}
void AliAnalysisNetParticleQA::CreateHistograms() {
Int_t binHnQA[16] = {AliAnalysisNetParticleHelper::fgkfHistNBinsCent, AliAnalysisNetParticleHelper::fgkfHistNBinsEta,
AliAnalysisNetParticleHelper::fgkfHistNBinsRap, AliAnalysisNetParticleHelper::fgkfHistNBinsPhi,
AliAnalysisNetParticleHelper::fgkfHistNBinsPt, AliAnalysisNetParticleHelper::fgkfHistNBinsPt,
AliAnalysisNetParticleHelper::fgkfHistNBinsSign, 500,
50, 50, 50,
50, 50, 50, 50,
3};
Double_t minHnQA[16] = {AliAnalysisNetParticleHelper::fgkfHistRangeCent[0], AliAnalysisNetParticleHelper::fgkfHistRangeEta[0],
AliAnalysisNetParticleHelper::fgkfHistRangeRap[0], AliAnalysisNetParticleHelper::fgkfHistRangePhi[0],
AliAnalysisNetParticleHelper::fgkfHistRangePt[0], AliAnalysisNetParticleHelper::fgkfHistRangePt[0],
AliAnalysisNetParticleHelper::fgkfHistRangeSign[0], 30,
-10., -10., -10.,
-10., -10., -10., -10.,
-0.5};
Double_t maxHnQA[16] = {AliAnalysisNetParticleHelper::fgkfHistRangeCent[1], AliAnalysisNetParticleHelper::fgkfHistRangeEta[1],
AliAnalysisNetParticleHelper::fgkfHistRangeRap[1], AliAnalysisNetParticleHelper::fgkfHistRangePhi[1],
AliAnalysisNetParticleHelper::fgkfHistRangePt[1], AliAnalysisNetParticleHelper::fgkfHistRangePt[1],
AliAnalysisNetParticleHelper::fgkfHistRangeSign[1], 500,
10., 10., 10.,
10., 10., 10., 10.,
2.5};
fHnQA = new THnSparseF("hnQA", "cent:eta:y:phi:pt:pInner:sign:TPCsignal:nSigmaITS:nSigmaTPC:nSigmaTOF:DCAr:DCAz:nSigmaDCAr:nSigmaDCAz:MCisProbe",
16, binHnQA, minHnQA, maxHnQA);
fHnQA->Sumw2();
fHnQA->GetAxis(0)->SetTitle("centrality");
fHnQA->GetAxis(1)->SetTitle("#eta");
fHnQA->GetAxis(2)->SetTitle("#it{y}");
fHnQA->GetAxis(3)->SetTitle("#varphi");
fHnQA->GetAxis(4)->SetTitle("#it{p}_{T} (GeV/#it{c})");
fHnQA->GetAxis(5)->SetTitle("#it{p}_{Inner} (GeV/#it{c})");
fHnQA->GetAxis(6)->SetTitle("sign");
fHnQA->GetAxis(7)->SetTitle("TPC signal");
fHnQA->GetAxis(8)->SetTitle("n #sigma ITS");
fHnQA->GetAxis(9)->SetTitle("n #sigma TPC");
fHnQA->GetAxis(10)->SetTitle("n #sigma TOF");
fHnQA->GetAxis(11)->SetTitle("DCAr");
fHnQA->GetAxis(12)->SetTitle("DCAz");
fHnQA->GetAxis(13)->SetTitle("n #sigma #sqrt(Cdd)/DCAr");
fHnQA->GetAxis(14)->SetTitle("n #sigma #sqrt(Czz)/DCAz");
fHnQA->GetAxis(15)->SetTitle("MCisProbe");
fHelper->BinLogAxis(fHnQA, 4);
fHelper->BinLogAxis(fHnQA, 5);
return;
}
void AliAnalysisNetParticleQA::Process() {
Float_t etaRange[2];
fESDTrackCuts->GetEtaRange(etaRange[0],etaRange[1]);
Float_t ptRange[2];
fESDTrackCuts->GetPtRange(ptRange[0],ptRange[1]);
for (Int_t idxTrack = 0; idxTrack < fNTracks; ++idxTrack) {
AliVTrack *track = (fESD) ? static_cast<AliVTrack*>(fESD->GetTrack(idxTrack)) : static_cast<AliVTrack*>(fAOD->GetTrack(idxTrack));
if (!fHelper->IsTrackAcceptedBasicCharged(track))
continue;
if (fESD && !fESDTrackCuts->AcceptTrack(dynamic_cast<AliESDtrack*>(track)))
continue;
if (fAOD){
AliAODTrack * trackAOD = dynamic_cast<AliAODTrack*>(track);
if (!trackAOD) {
AliError("Pointer to dynamic_cast<AliAODTrack*>(track) = ZERO");
continue;
}
if (!trackAOD->TestFilterBit(fAODtrackCutBit))
continue;
if(!(track->Pt() > ptRange[0] && track->Pt() <= ptRange[1] && TMath::Abs(track->Eta()) <= etaRange[1]))
continue;
}
Double_t yP;
if (fHelper->GetUsePID() && !fHelper->IsTrackAcceptedRapidity(track, yP))
continue;
if (!fHelper->IsTrackAcceptedDCA(track))
continue;
Double_t pid[3];
if (!fHelper->IsTrackAcceptedPID(track, pid))
continue;
Int_t isProbeParticle = 0;
if (fIsMC) {
Int_t label = TMath::Abs(track->GetLabel());
AliVParticle* particle = (fESD) ? fMCEvent->GetTrack(label) : static_cast<AliVParticle*>(fArrayMC->At(label));
if (particle) {
if (TMath::Abs(particle->PdgCode()) == fPdgCode) {
++isProbeParticle;
if (particle->PdgCode() != (track->Charge()*fPdgCode))
++isProbeParticle;
}
}
}
Float_t dca[] = {0.,0.};
Float_t cov[] = {0.,0.,0.};
if (fESD)
(static_cast<AliESDtrack*>(track))->GetImpactParameters(dca,cov);
Float_t dcaRoverCdd = ( TMath::Sqrt(cov[0]) != 0. ) ? dca[0]/TMath::Sqrt(cov[0]) : -9.99;
Float_t dcaZoverCzz = ( TMath::Sqrt(cov[2]) != 0. ) ? dca[1]/TMath::Sqrt(cov[2]) : -9.99;
if (!fHelper->GetUsePID())
yP = track->Eta();
Double_t aTrack[16] = {
Double_t(fCentralityBin),
track->Eta(),
yP,
track->Phi(),
track->Pt(),
track->GetTPCmomentum(),
static_cast<Double_t>(track->Charge()),
track->GetTPCsignal(),
pid[0],
pid[1],
pid[2],
dca[0],
dca[1],
dcaRoverCdd,
dcaZoverCzz,
static_cast<Double_t>(isProbeParticle)
};
fHnQA->Fill(aTrack);
}
return;
}
AliAnalysisNetParticleQA.cxx:1 AliAnalysisNetParticleQA.cxx:2 AliAnalysisNetParticleQA.cxx:3 AliAnalysisNetParticleQA.cxx:4 AliAnalysisNetParticleQA.cxx:5 AliAnalysisNetParticleQA.cxx:6 AliAnalysisNetParticleQA.cxx:7 AliAnalysisNetParticleQA.cxx:8 AliAnalysisNetParticleQA.cxx:9 AliAnalysisNetParticleQA.cxx:10 AliAnalysisNetParticleQA.cxx:11 AliAnalysisNetParticleQA.cxx:12 AliAnalysisNetParticleQA.cxx:13 AliAnalysisNetParticleQA.cxx:14 AliAnalysisNetParticleQA.cxx:15 AliAnalysisNetParticleQA.cxx:16 AliAnalysisNetParticleQA.cxx:17 AliAnalysisNetParticleQA.cxx:18 AliAnalysisNetParticleQA.cxx:19 AliAnalysisNetParticleQA.cxx:20 AliAnalysisNetParticleQA.cxx:21 AliAnalysisNetParticleQA.cxx:22 AliAnalysisNetParticleQA.cxx:23 AliAnalysisNetParticleQA.cxx:24 AliAnalysisNetParticleQA.cxx:25 AliAnalysisNetParticleQA.cxx:26 AliAnalysisNetParticleQA.cxx:27 AliAnalysisNetParticleQA.cxx:28 AliAnalysisNetParticleQA.cxx:29 AliAnalysisNetParticleQA.cxx:30 AliAnalysisNetParticleQA.cxx:31 AliAnalysisNetParticleQA.cxx:32 AliAnalysisNetParticleQA.cxx:33 AliAnalysisNetParticleQA.cxx:34 AliAnalysisNetParticleQA.cxx:35 AliAnalysisNetParticleQA.cxx:36 AliAnalysisNetParticleQA.cxx:37 AliAnalysisNetParticleQA.cxx:38 AliAnalysisNetParticleQA.cxx:39 AliAnalysisNetParticleQA.cxx:40 AliAnalysisNetParticleQA.cxx:41 AliAnalysisNetParticleQA.cxx:42 AliAnalysisNetParticleQA.cxx:43 AliAnalysisNetParticleQA.cxx:44 AliAnalysisNetParticleQA.cxx:45 AliAnalysisNetParticleQA.cxx:46 AliAnalysisNetParticleQA.cxx:47 AliAnalysisNetParticleQA.cxx:48 AliAnalysisNetParticleQA.cxx:49 AliAnalysisNetParticleQA.cxx:50 AliAnalysisNetParticleQA.cxx:51 AliAnalysisNetParticleQA.cxx:52 AliAnalysisNetParticleQA.cxx:53 AliAnalysisNetParticleQA.cxx:54 AliAnalysisNetParticleQA.cxx:55 AliAnalysisNetParticleQA.cxx:56 AliAnalysisNetParticleQA.cxx:57 AliAnalysisNetParticleQA.cxx:58 AliAnalysisNetParticleQA.cxx:59 AliAnalysisNetParticleQA.cxx:60 AliAnalysisNetParticleQA.cxx:61 AliAnalysisNetParticleQA.cxx:62 AliAnalysisNetParticleQA.cxx:63 AliAnalysisNetParticleQA.cxx:64 AliAnalysisNetParticleQA.cxx:65 AliAnalysisNetParticleQA.cxx:66 AliAnalysisNetParticleQA.cxx:67 AliAnalysisNetParticleQA.cxx:68 AliAnalysisNetParticleQA.cxx:69 AliAnalysisNetParticleQA.cxx:70 AliAnalysisNetParticleQA.cxx:71 AliAnalysisNetParticleQA.cxx:72 AliAnalysisNetParticleQA.cxx:73 AliAnalysisNetParticleQA.cxx:74 AliAnalysisNetParticleQA.cxx:75 AliAnalysisNetParticleQA.cxx:76 AliAnalysisNetParticleQA.cxx:77 AliAnalysisNetParticleQA.cxx:78 AliAnalysisNetParticleQA.cxx:79 AliAnalysisNetParticleQA.cxx:80 AliAnalysisNetParticleQA.cxx:81 AliAnalysisNetParticleQA.cxx:82 AliAnalysisNetParticleQA.cxx:83 AliAnalysisNetParticleQA.cxx:84 AliAnalysisNetParticleQA.cxx:85 AliAnalysisNetParticleQA.cxx:86 AliAnalysisNetParticleQA.cxx:87 AliAnalysisNetParticleQA.cxx:88 AliAnalysisNetParticleQA.cxx:89 AliAnalysisNetParticleQA.cxx:90 AliAnalysisNetParticleQA.cxx:91 AliAnalysisNetParticleQA.cxx:92 AliAnalysisNetParticleQA.cxx:93 AliAnalysisNetParticleQA.cxx:94 AliAnalysisNetParticleQA.cxx:95 AliAnalysisNetParticleQA.cxx:96 AliAnalysisNetParticleQA.cxx:97 AliAnalysisNetParticleQA.cxx:98 AliAnalysisNetParticleQA.cxx:99 AliAnalysisNetParticleQA.cxx:100 AliAnalysisNetParticleQA.cxx:101 AliAnalysisNetParticleQA.cxx:102 AliAnalysisNetParticleQA.cxx:103 AliAnalysisNetParticleQA.cxx:104 AliAnalysisNetParticleQA.cxx:105 AliAnalysisNetParticleQA.cxx:106 AliAnalysisNetParticleQA.cxx:107 AliAnalysisNetParticleQA.cxx:108 AliAnalysisNetParticleQA.cxx:109 AliAnalysisNetParticleQA.cxx:110 AliAnalysisNetParticleQA.cxx:111 AliAnalysisNetParticleQA.cxx:112 AliAnalysisNetParticleQA.cxx:113 AliAnalysisNetParticleQA.cxx:114 AliAnalysisNetParticleQA.cxx:115 AliAnalysisNetParticleQA.cxx:116 AliAnalysisNetParticleQA.cxx:117 AliAnalysisNetParticleQA.cxx:118 AliAnalysisNetParticleQA.cxx:119 AliAnalysisNetParticleQA.cxx:120 AliAnalysisNetParticleQA.cxx:121 AliAnalysisNetParticleQA.cxx:122 AliAnalysisNetParticleQA.cxx:123 AliAnalysisNetParticleQA.cxx:124 AliAnalysisNetParticleQA.cxx:125 AliAnalysisNetParticleQA.cxx:126 AliAnalysisNetParticleQA.cxx:127 AliAnalysisNetParticleQA.cxx:128 AliAnalysisNetParticleQA.cxx:129 AliAnalysisNetParticleQA.cxx:130 AliAnalysisNetParticleQA.cxx:131 AliAnalysisNetParticleQA.cxx:132 AliAnalysisNetParticleQA.cxx:133 AliAnalysisNetParticleQA.cxx:134 AliAnalysisNetParticleQA.cxx:135 AliAnalysisNetParticleQA.cxx:136 AliAnalysisNetParticleQA.cxx:137 AliAnalysisNetParticleQA.cxx:138 AliAnalysisNetParticleQA.cxx:139 AliAnalysisNetParticleQA.cxx:140 AliAnalysisNetParticleQA.cxx:141 AliAnalysisNetParticleQA.cxx:142 AliAnalysisNetParticleQA.cxx:143 AliAnalysisNetParticleQA.cxx:144 AliAnalysisNetParticleQA.cxx:145 AliAnalysisNetParticleQA.cxx:146 AliAnalysisNetParticleQA.cxx:147 AliAnalysisNetParticleQA.cxx:148 AliAnalysisNetParticleQA.cxx:149 AliAnalysisNetParticleQA.cxx:150 AliAnalysisNetParticleQA.cxx:151 AliAnalysisNetParticleQA.cxx:152 AliAnalysisNetParticleQA.cxx:153 AliAnalysisNetParticleQA.cxx:154 AliAnalysisNetParticleQA.cxx:155 AliAnalysisNetParticleQA.cxx:156 AliAnalysisNetParticleQA.cxx:157 AliAnalysisNetParticleQA.cxx:158 AliAnalysisNetParticleQA.cxx:159 AliAnalysisNetParticleQA.cxx:160 AliAnalysisNetParticleQA.cxx:161 AliAnalysisNetParticleQA.cxx:162 AliAnalysisNetParticleQA.cxx:163 AliAnalysisNetParticleQA.cxx:164 AliAnalysisNetParticleQA.cxx:165 AliAnalysisNetParticleQA.cxx:166 AliAnalysisNetParticleQA.cxx:167 AliAnalysisNetParticleQA.cxx:168 AliAnalysisNetParticleQA.cxx:169 AliAnalysisNetParticleQA.cxx:170 AliAnalysisNetParticleQA.cxx:171 AliAnalysisNetParticleQA.cxx:172 AliAnalysisNetParticleQA.cxx:173 AliAnalysisNetParticleQA.cxx:174 AliAnalysisNetParticleQA.cxx:175 AliAnalysisNetParticleQA.cxx:176 AliAnalysisNetParticleQA.cxx:177 AliAnalysisNetParticleQA.cxx:178 AliAnalysisNetParticleQA.cxx:179 AliAnalysisNetParticleQA.cxx:180 AliAnalysisNetParticleQA.cxx:181 AliAnalysisNetParticleQA.cxx:182 AliAnalysisNetParticleQA.cxx:183 AliAnalysisNetParticleQA.cxx:184 AliAnalysisNetParticleQA.cxx:185 AliAnalysisNetParticleQA.cxx:186 AliAnalysisNetParticleQA.cxx:187 AliAnalysisNetParticleQA.cxx:188 AliAnalysisNetParticleQA.cxx:189 AliAnalysisNetParticleQA.cxx:190 AliAnalysisNetParticleQA.cxx:191 AliAnalysisNetParticleQA.cxx:192 AliAnalysisNetParticleQA.cxx:193 AliAnalysisNetParticleQA.cxx:194 AliAnalysisNetParticleQA.cxx:195 AliAnalysisNetParticleQA.cxx:196 AliAnalysisNetParticleQA.cxx:197 AliAnalysisNetParticleQA.cxx:198 AliAnalysisNetParticleQA.cxx:199 AliAnalysisNetParticleQA.cxx:200 AliAnalysisNetParticleQA.cxx:201 AliAnalysisNetParticleQA.cxx:202 AliAnalysisNetParticleQA.cxx:203 AliAnalysisNetParticleQA.cxx:204 AliAnalysisNetParticleQA.cxx:205 AliAnalysisNetParticleQA.cxx:206 AliAnalysisNetParticleQA.cxx:207 AliAnalysisNetParticleQA.cxx:208 AliAnalysisNetParticleQA.cxx:209 AliAnalysisNetParticleQA.cxx:210 AliAnalysisNetParticleQA.cxx:211 AliAnalysisNetParticleQA.cxx:212 AliAnalysisNetParticleQA.cxx:213 AliAnalysisNetParticleQA.cxx:214 AliAnalysisNetParticleQA.cxx:215 AliAnalysisNetParticleQA.cxx:216 AliAnalysisNetParticleQA.cxx:217 AliAnalysisNetParticleQA.cxx:218 AliAnalysisNetParticleQA.cxx:219 AliAnalysisNetParticleQA.cxx:220 AliAnalysisNetParticleQA.cxx:221 AliAnalysisNetParticleQA.cxx:222 AliAnalysisNetParticleQA.cxx:223 AliAnalysisNetParticleQA.cxx:224 AliAnalysisNetParticleQA.cxx:225 AliAnalysisNetParticleQA.cxx:226 AliAnalysisNetParticleQA.cxx:227 AliAnalysisNetParticleQA.cxx:228 AliAnalysisNetParticleQA.cxx:229 AliAnalysisNetParticleQA.cxx:230 AliAnalysisNetParticleQA.cxx:231 AliAnalysisNetParticleQA.cxx:232 AliAnalysisNetParticleQA.cxx:233 AliAnalysisNetParticleQA.cxx:234 AliAnalysisNetParticleQA.cxx:235 AliAnalysisNetParticleQA.cxx:236 AliAnalysisNetParticleQA.cxx:237 AliAnalysisNetParticleQA.cxx:238 AliAnalysisNetParticleQA.cxx:239 AliAnalysisNetParticleQA.cxx:240 AliAnalysisNetParticleQA.cxx:241 AliAnalysisNetParticleQA.cxx:242 AliAnalysisNetParticleQA.cxx:243 AliAnalysisNetParticleQA.cxx:244 AliAnalysisNetParticleQA.cxx:245 AliAnalysisNetParticleQA.cxx:246