fMCMultRecTrackHist1(0), \r
\r
// rec. track control histograms\r
- fRecTrackHist2(0)\r
+ fRecTrackHist2(0),\r
+\r
+ // Generic histograms to be corrected\r
+ fRecEventHist(0),\r
+ fRecTrackHist(0)\r
+\r
{\r
// default constructor\r
for(Int_t i=0; i<AlidNdPtHelper::kCutSteps; i++) { \r
fMCMultRecTrackHist1(0), \r
\r
// rec. track control histograms\r
- fRecTrackHist2(0)\r
+ fRecTrackHist2(0),\r
+\r
+ // Generic histograms to be corrected\r
+ fRecEventHist(0),\r
+ fRecTrackHist(0)\r
{\r
//\r
// constructor\r
if(fRecMCTrackHist1) delete fRecMCTrackHist1; fRecMCTrackHist1=0;\r
if(fMCMultRecTrackHist1) delete fMCMultRecTrackHist1; fMCMultRecTrackHist1=0; \r
if(fRecTrackHist2) delete fRecTrackHist2; fRecTrackHist2=0; \r
+\r
+ //\r
+ if(fRecEventHist) delete fRecEventHist; fRecEventHist=0; \r
+ if(fRecTrackHist) delete fRecTrackHist; fRecTrackHist=0; \r
+\r
//\r
if(fAnalysisFolder) delete fAnalysisFolder; fAnalysisFolder=0;\r
}\r
//\r
\r
const Int_t multNbins = 27;\r
- const Int_t ptNbinsTrackEventCorr = 37;\r
+ const Int_t ptNbinsTrackEventCorr = 36;\r
const Int_t ptNbins = 68;\r
const Int_t etaNbins = 30;\r
const Int_t zvNbins = 12;\r
9.5, 10.5, 11.5, 12.5, 13.5, 14.5, 15.5, 16.5, 17.5, 18.5,\r
19.5,20.5, 21.5, 22.5, 23.5, 24.5, 29.5, 149.5};\r
\r
- Double_t binsPtTrackEventCorr[ptNbinsTrackEventCorr+1] = {0.,0.05,0.1,0.15,0.2,0.25,0.3,0.35,0.4,0.45,0.5,0.55,0.6,0.65,0.7,0.75,0.8,0.85,0.9,0.95,1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,2.0,2.2,2.4,2.6,3.0,4.0,20.0,50.0};\r
+ Double_t binsPtTrackEventCorr[ptNbinsTrackEventCorr+1] = {0.,0.05,0.1,0.15,0.2,0.25,0.3,0.35,0.4,0.45,0.5,0.55,0.6,0.65,0.7,0.75,0.8,0.85,0.9,0.95,1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,2.0,2.2,2.4,2.6,3.0,4.0,50.0};\r
\r
Double_t binsPt[ptNbins+1] = {0.,0.05,0.1,0.15,0.2,0.25,0.3,0.35,0.4,0.45,0.5,0.55,0.6,0.65,0.7,0.75,0.8,0.85,0.9,0.95,1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,2.0,2.2,2.4,2.6,2.8,3.0,3.2,3.4,3.6,3.8,4.0,4.5,5.0,5.5,6.0,6.5,7.0,8.0,9.0,10.0,11.0,12.0,13.0,14.0,15.0,16.0,18.0,20.0,22.0,24.0,26.0,28.0,30.0,32.0,34.0,36.0,40.0,45.0,50.0};\r
\r
//Int_t binsTrackMatrix[3]={zvNbins,ptNbins,etaNbins};\r
Int_t binsTrackEventCorrMatrix[3]={zvNbins,ptNbinsTrackEventCorr,etaNbins};\r
\r
+\r
+ //\r
+ // Generic histograms to be corrected\r
+ //\r
+ Int_t binsEventHist[2]={100,150};\r
+ Double_t minEventHist[2]={-25.,-0.5}; \r
+ Double_t maxEventHist[2]={25.,149.5}; \r
+\r
+ fRecEventHist = new THnSparseF("fRecEventHist","Zv:multMB",2,binsEventHist,minEventHist,maxEventHist);\r
+ fRecEventHist->GetAxis(0)->SetTitle("Zv (cm)");\r
+ fRecEventHist->GetAxis(1)->SetTitle("multiplicity MB");\r
+ 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
+\r
+ fRecTrackHist = new THnSparseF("fRecTrackHist","Zv:pT:eta",3,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->Sumw2();\r
+\r
//\r
// rec. vs MC correlation matrices\r
//\r
return;\r
}\r
\r
+\r
// trigger selection\r
Bool_t isEventTriggered = kTRUE;\r
AliPhysicsSelection *trigSel = NULL;\r
}\r
\r
\r
-\r
-\r
-\r
// use MC information\r
AliHeader* header = 0;\r
AliGenEventHeader* genHeader = 0;\r
if(tpcTrack) delete tpcTrack; \r
} \r
\r
- FillHistograms(track,stack,AlidNdPtHelper::kAllTracks); \r
+ FillHistograms(track,stack,vtxESD->GetZv(),AlidNdPtHelper::kAllTracks); \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,AlidNdPtHelper::kRecTracks); \r
+ FillHistograms(track,stack,vtxESD->GetZv(),AlidNdPtHelper::kRecTracks); \r
labelsRec[multRec] = TMath::Abs(track->GetLabel());\r
multRec++;\r
} \r
else {\r
if(accCuts->AcceptTrack(track)) \r
{\r
- FillHistograms(track,stack,AlidNdPtHelper::kRecTracks); \r
+ FillHistograms(track,stack,vtxESD->GetZv(),AlidNdPtHelper::kRecTracks); \r
labelsRec[multRec] = TMath::Abs(track->GetLabel());\r
multRec++;\r
}\r
\r
Double_t vRecEventHist2[3] = {vtxESD->GetZv(),multMBTracks,multRec};\r
fRecEventHist2->Fill(vRecEventHist2);\r
+\r
+ // \r
+ Double_t vRecEventHist[2] = {vtxESD->GetZv(),multMBTracks};\r
+ fRecEventHist->Fill(vRecEventHist);\r
+\r
} \r
\r
if(IsUseMCInfo()) \r
}\r
\r
//_____________________________________________________________________________\r
-void AlidNdPtAnalysis::FillHistograms(AliESDtrack *const esdTrack, AliStack *const stack, AlidNdPtHelper::TrackObject trackObj)\r
+void AlidNdPtAnalysis::FillHistograms(AliESDtrack *const esdTrack, AliStack *const stack, const Double_t zv, AlidNdPtHelper::TrackObject trackObj)\r
{\r
//\r
// Fill ESD track and MC histograms \r
\r
\r
// fill histograms\r
- Double_t values[3] = {pt,eta,phi}; \r
- fRecTrackHist1[trackObj]->Fill(values);\r
+ Double_t values1[3] = {pt,eta,phi}; \r
+ fRecTrackHist1[trackObj]->Fill(values1);\r
+\r
+ Double_t values[3] = {zv, pt,eta}; \r
+ if(trackObj == AlidNdPtHelper::kRecTracks) {\r
+ fRecTrackHist->Fill(values);\r
+ }\r
\r
/*\r
- Double_t values1[5] = {nClust,chi2PerCluster,pt,eta,phi}; \r
+ Double_t values2[5] = {nClust,chi2PerCluster,pt,eta,phi}; \r
if(trackObj == AlidNdPtHelper::kRecTracks) \r
{\r
if(fHistogramsOn)\r
- fRecTrackHist2->Fill(values1);\r
+ fRecTrackHist2->Fill(values2);\r
}\r
*/\r
\r
//printf("entry->GetPhysicsTriggerSelection() %p \n", entry->GetPhysicsTriggerSelection());\r
collPhysSelection->Add(entry->GetPhysicsTriggerSelection());\r
\r
+ //\r
+ fRecEventHist->Add(entry->fRecEventHist);\r
+ fRecTrackHist->Add(entry->fRecTrackHist);\r
+\r
//\r
fEventMultCorrelationMatrix->Add(entry->fEventMultCorrelationMatrix);\r
fTrackPtCorrelationMatrix->Add(entry->fTrackPtCorrelationMatrix);\r