fRecEventHist->Sumw2();\r
\r
//\r
- Int_t binsTrackHist[3]={100,ptNbins,etaNbins};\r
- Double_t minTrackHist[3]={-25.,0.,-1.5}; \r
- Double_t maxTrackHist[3]={25.,50.,1.5}; \r
+ Int_t binsTrackHist[4]={100,ptNbins,etaNbins,150};\r
+ Double_t minTrackHist[4]={-25.,0.,-1.5,-0.5}; \r
+ Double_t maxTrackHist[4]={25.,50.,1.5,149.5}; \r
\r
- fRecTrackHist = new THnSparseF("fRecTrackHist","Zv:pT:eta",3,binsTrackHist,minTrackHist,maxTrackHist);\r
+ fRecTrackHist = new THnSparseF("fRecTrackHist","Zv:pT:eta:multRec",4,binsTrackHist,minTrackHist,maxTrackHist);\r
fRecTrackHist->SetBinEdges(1,binsPt);\r
fRecTrackHist->SetBinEdges(2,binsEta);\r
fRecTrackHist->GetAxis(0)->SetTitle("Zv (cm)");\r
fRecTrackHist->GetAxis(1)->SetTitle("p_{T} (GeV/c)");\r
fRecTrackHist->GetAxis(2)->SetTitle("#eta");\r
+ fRecTrackHist->GetAxis(3)->SetTitle("multiplicity MB");\r
fRecTrackHist->Sumw2();\r
\r
//\r
// rec. vs MC correlation matrices\r
//\r
- Int_t binsMultTrueEventMatrix[2]={150,150};\r
- Double_t minMultTrueEventMatrix[2]={-0.5,-0.5}; \r
- Double_t maxMultTrueEventMatrix[2]={149.5,149.5}; \r
- fEventMultCorrelationMatrix = new THnSparseF("fEventMultCorrelationMatrix","mult:true_mult",2,binsMultTrueEventMatrix,minMultTrueEventMatrix,maxMultTrueEventMatrix);\r
+ Int_t binsMultTrueEventMatrix[3]={150,150,150};\r
+ Double_t minMultTrueEventMatrix[3]={-0.5,-0.5,-0.5}; \r
+ Double_t maxMultTrueEventMatrix[3]={149.5,149.5,149.5}; \r
+ fEventMultCorrelationMatrix = new THnSparseF("fEventMultCorrelationMatrix","mult:true_mult:multMB",3,binsMultTrueEventMatrix,minMultTrueEventMatrix,maxMultTrueEventMatrix);\r
fEventMultCorrelationMatrix->GetAxis(0)->SetTitle("track multiplicity");\r
fEventMultCorrelationMatrix->GetAxis(1)->SetTitle("true multiplicity");\r
+ fEventMultCorrelationMatrix->GetAxis(2)->SetTitle("MB multiplicity");\r
fEventMultCorrelationMatrix->Sumw2();\r
\r
Int_t binsTrackPtCorrelationMatrix[3]={ptNbins,ptNbins,etaNbins};\r
\r
Int_t entries = allChargedTracks->GetEntries();\r
//printf("entries %d \n",entries);\r
+ \r
+\r
+ // calculate mult of reconstructed tracks\r
+ Int_t multRecTemp=0;\r
+ for(Int_t i=0; i<entries;++i) \r
+ {\r
+ AliESDtrack *track = (AliESDtrack*)allChargedTracks->At(i);\r
+ if(!track) continue;\r
+ if(track->Charge()==0) continue;\r
+\r
+\r
+ // only postive charged \r
+ if(GetParticleMode() == AlidNdPtHelper::kPlus && track->Charge() < 0) \r
+ continue;\r
+ \r
+ // only negative charged \r
+ if(GetParticleMode() == AlidNdPtHelper::kMinus && track->Charge() > 0) \r
+ continue;\r
+\r
+ if(esdTrackCuts->AcceptTrack(track)) \r
+ {\r
+ if(accCuts->AcceptTrack(track)) multRecTemp++;\r
+ } \r
+ }\r
+\r
+ \r
\r
labelsAll = new Int_t[entries];\r
labelsAcc = new Int_t[entries];\r
if(tpcTrack) delete tpcTrack; \r
} \r
\r
- FillHistograms(track,stack,vtxESD->GetZv(),AlidNdPtHelper::kAllTracks); \r
+ FillHistograms(track,stack,vtxESD->GetZv(),AlidNdPtHelper::kAllTracks, multRecTemp); \r
labelsAll[multAll] = TMath::Abs(track->GetLabel());\r
multAll++;\r
\r
track->Set(cParam.GetX(),cParam.GetAlpha(),cParam.GetParameter(),cParam.GetCovariance());\r
\r
if(accCuts->AcceptTrack(track)) {\r
- FillHistograms(track,stack,vtxESD->GetZv(),AlidNdPtHelper::kRecTracks); \r
+ FillHistograms(track,stack,vtxESD->GetZv(),AlidNdPtHelper::kRecTracks,multRecTemp); \r
labelsRec[multRec] = TMath::Abs(track->GetLabel());\r
multRec++;\r
} \r
else {\r
if(accCuts->AcceptTrack(track)) \r
{\r
- FillHistograms(track,stack,vtxESD->GetZv(),AlidNdPtHelper::kRecTracks); \r
+ FillHistograms(track,stack,vtxESD->GetZv(),AlidNdPtHelper::kRecTracks,multRecTemp); \r
labelsRec[multRec] = TMath::Abs(track->GetLabel());\r
multRec++;\r
}\r
}\r
}\r
- if(cosmicCount) \r
+ // if(cosmicCount) \r
//printf("COSMIC EVENT: number %d , mult %d \n", esdEvent->GetEventNumberInFile(), multRec);\r
\r
- if(highPtCount) \r
+ // if(highPtCount) \r
//printf("HIGH PT EVENT: number %d , mult %d \n", esdEvent->GetEventNumberInFile(), multRec);\r
\r
- if(multRec > 30) \r
+ // if(multRec > 30) \r
//printf("HIGH MULT EVENT: number %d , mult %d \n", esdEvent->GetEventNumberInFile(), multRec);\r
\r
// fill track multiplicity histograms\r
if(!isMCEventSelected) return; \r
}\r
\r
- Double_t vMultTrueEventMatrix[2] = { multRec, multMCTrueTracks };\r
+ Double_t vMultTrueEventMatrix[3] = { multRec, multMCTrueTracks, multMBTracks};\r
if(isEventOK && isEventTriggered) { \r
if(TMath::Abs(vtxMC[2]) < 10.0) // both Rec. and corresponding MC events must be accepted\r
fEventMultCorrelationMatrix->Fill(vMultTrueEventMatrix);\r
}\r
\r
//_____________________________________________________________________________\r
-void AlidNdPtAnalysis::FillHistograms(AliESDtrack *const esdTrack, AliStack *const stack, const Double_t zv, AlidNdPtHelper::TrackObject trackObj)\r
+void AlidNdPtAnalysis::FillHistograms(AliESDtrack *const esdTrack, AliStack *const stack, const Double_t zv, AlidNdPtHelper::TrackObject trackObj, Int_t multMB)\r
{\r
//\r
// Fill ESD track and MC histograms \r
Double_t values1[3] = {pt,eta,phi}; \r
fRecTrackHist1[trackObj]->Fill(values1);\r
\r
- Double_t values[3] = {zv, pt,eta}; \r
+ Double_t values[4] = {zv, pt,eta, multMB}; \r
if(trackObj == AlidNdPtHelper::kRecTracks) {\r
fRecTrackHist->Fill(values);\r
}\r