//\r
\r
//nCrossRows:chi2PerClust:nCrossRows/nFindableClust:fracSharedClust:DCAy:DCAz:eta:phi:pt:hasStrangeMother:isFromMaterial:isPrim:charge\r
- Int_t binsRecMCTrackHist[13]= {160, 10, 20, 20, 50, 50, 20, 90, ptNbins, 2, 2, 2, 3};\r
- Double_t minRecMCTrackHist[13]={0., 0., 0., 0.,-0.5,-0.5,-1.0, 0., ptMin, 0., 0., 0.,-1.};\r
- Double_t maxRecMCTrackHist[13]={160.,10.,1., 1., 0.5, 0.5, 1.0, 2.*TMath::Pi(), ptMax, 2., 2., 2., 2.};\r
+ Int_t binsRecMCTrackHist[13]= { 160, 10, 20, 20, 50, 50, 20, 90, ptNbins, 2, 2, 2, 3 };\r
+ Double_t minRecMCTrackHist[13]={ 0., 0., 0., 0., -0.5,-0.5,-1.0, 0., ptMin, 0., 0., 0.,-1. };\r
+ Double_t maxRecMCTrackHist[13]={ 160., 10., 1., 1., 0.5, 0.5, 1.0, 2.*TMath::Pi(), ptMax, 2., 2., 2., 2. };\r
\r
fRecMCTrackHist = new THnSparseF("fRecMCTrackHist","nCrossRows:chi2PerClust:nCrossRows/nFindableClust:fracSharedClust:DCAy:DCAz:eta:phi:pt:hasStrangeMother:isFromMaterial:isPrim:charge",13,binsRecMCTrackHist,minRecMCTrackHist,maxRecMCTrackHist);\r
fRecMCTrackHist->SetBinEdges(8,binsPt);\r
//\r
TH1::AddDirectory(kFALSE);\r
TObjArray *aFolderObj = new TObjArray;\r
+ if(!aFolderObj) return;\r
+\r
TH1D *h1D = 0; \r
TH2D *h2D = 0; \r
\r
// Event counters\r
//\r
h2D = (TH2D*)fEventCount->Projection(0,1);\r
+ if(!h2D) return;\r
h2D->SetName("trig_vs_trigANDvertex");\r
aFolderObj->Add(h2D);\r
\r
fEventCount->GetAxis(0)->SetRange(2,2); // triggered\r
h1D = (TH1D*)fEventCount->Projection(1);\r
+ if(!h1D) return;\r
h1D->SetTitle("rec. vertex for triggered events");\r
h1D->SetName("trigANDvertex");\r
aFolderObj->Add(h1D);\r
// Create rec. event histograms\r
//\r
h1D = (TH1D *)fRecEventHist->Projection(0);\r
+ if(!h1D) return;\r
h1D->SetName("rec_xv");\r
aFolderObj->Add(h1D);\r
\r
h1D = (TH1D *)fRecEventHist->Projection(1);\r
+ if(!h1D) return;\r
h1D->SetName("rec_yv");\r
aFolderObj->Add(h1D);\r
\r
h1D = (TH1D *)fRecEventHist->Projection(2);\r
+ if(!h1D) return;\r
h1D->SetName("rec_zv");\r
aFolderObj->Add(h1D);\r
\r
h2D = (TH2D *)fRecEventHist->Projection(3,4);\r
+ if(!h2D) return;\r
h2D->SetName("rec_resZv_vs_Mult");\r
aFolderObj->Add(h2D);\r
\r
h2D = (TH2D *)fRecEventHist->Projection(0,1);\r
+ if(!h2D) return;\r
h2D->SetName("rec_xv_vs_yv");\r
aFolderObj->Add(h2D);\r
\r
h2D = (TH2D *)fRecEventHist->Projection(0,2);\r
+ if(!h2D) return;\r
h2D->SetName("rec_xv_vs_zv");\r
aFolderObj->Add(h2D);\r
\r
h2D = (TH2D *)fRecEventHist->Projection(3,4);\r
+ if(!h2D) return;\r
h2D->SetName("rec_resZv_vs_Mult");\r
aFolderObj->Add(h2D);\r
\r
// Create mc event histograms\r
//\r
h2D = (TH2D *)fMCEventHist->Projection(0,1);\r
+ if(!h2D) return;\r
h2D->SetName("mc_xv_vs_yv");\r
aFolderObj->Add(h2D);\r
\r
h2D = (TH2D *)fMCEventHist->Projection(0,2);\r
+ if(!h2D) return;\r
h2D->SetName("mc_xv_vs_zv");\r
aFolderObj->Add(h2D);\r
\r
// Create rec-mc event histograms\r
//\r
h2D = (TH2D *)fRecMCEventHist->Projection(0,3);\r
+ if(!h2D) return;\r
h2D->SetName("rec_mc_deltaXv_vs_mult");\r
aFolderObj->Add(h2D);\r
\r
h2D = (TH2D *)fRecMCEventHist->Projection(1,3);\r
+ if(!h2D) return;\r
h2D->SetName("rec_mc_deltaYv_vs_mult");\r
aFolderObj->Add(h2D);\r
\r
h2D = (TH2D *)fRecMCEventHist->Projection(2,3);\r
+ if(!h2D) return;\r
h2D->SetName("rec_mc_deltaZv_vs_mult");\r
aFolderObj->Add(h2D);\r
\r
fRecMCTrackHist->GetAxis(4)->SetRangeUser(-maxDCAr,maxDCAr);\r
\r
h2D = (TH2D *)fRecMCTrackHist->Projection(7,5);\r
+ if(!h2D) return;\r
h2D->SetName("pt_vs_eta");\r
aFolderObj->Add(h2D);\r
\r
fRecMCTrackHist->GetAxis(7)->SetRangeUser(minPt,maxPt); \r
\r
h2D = (TH2D *)fRecMCTrackHist->Projection(0,5);\r
+ if(!h2D) return;\r
h2D->SetName("nClust_vs_eta");\r
aFolderObj->Add(h2D);\r
\r
h2D = (TH2D *)fRecMCTrackHist->Projection(1,5);\r
+ if(!h2D) return;\r
h2D->SetName("chi2PerClust_vs_eta");\r
aFolderObj->Add(h2D);\r
\r
h2D = (TH2D *)fRecMCTrackHist->Projection(2,5);\r
+ if(!h2D) return;\r
h2D->SetName("ratio_nClust_nFindableClust_vs_eta");\r
aFolderObj->Add(h2D);\r
\r
h2D = (TH2D *)fRecMCTrackHist->Projection(5,6);\r
+ if(!h2D) return;\r
h2D->SetName("eta_vs_phi");\r
aFolderObj->Add(h2D);\r
\r
fRecMCTrackHist->GetAxis(5)->SetRangeUser(minEta,maxEta); \r
\r
h2D = (TH2D *)fRecMCTrackHist->Projection(0,6);\r
+ if(!h2D) return;\r
h2D->SetName("nClust_vs_phi");\r
aFolderObj->Add(h2D);\r
\r
h2D = (TH2D *)fRecMCTrackHist->Projection(1,6);\r
+ if(!h2D) return;\r
h2D->SetName("chi2PerClust_vs_phi");\r
aFolderObj->Add(h2D);\r
\r
h2D = (TH2D *)fRecMCTrackHist->Projection(2,6);\r
+ if(!h2D) return;\r
h2D->SetName("ratio_nClust_nFindableClust_vs_phi");\r
aFolderObj->Add(h2D);\r
\r
fRecMCTrackHist->GetAxis(7)->SetRangeUser(0.0,maxPt); \r
\r
h2D = (TH2D *)fRecMCTrackHist->Projection(0,7);\r
+ if(!h2D) return;\r
h2D->SetName("nClust_vs_pt");\r
aFolderObj->Add(h2D);\r
\r
h2D = (TH2D *)fRecMCTrackHist->Projection(1,7);\r
+ if(!h2D) return;\r
h2D->SetName("chi2PerClust_vs_pt");\r
aFolderObj->Add(h2D);\r
\r
h2D = (TH2D *)fRecMCTrackHist->Projection(2,7);\r
+ if(!h2D) return;\r
h2D->SetName("ratio_nClust_nFindableClust_vs_pt");\r
aFolderObj->Add(h2D);\r
\r
h2D = (TH2D *)fRecMCTrackHist->Projection(6,7);\r
+ if(!h2D) return;\r
h2D->SetName("phi_vs_pt");\r
aFolderObj->Add(h2D);\r
\r
fRecMCTrackHist->GetAxis(4)->SetRangeUser(-maxDCAr,maxDCAr);\r
\r
h2D = (TH2D *)fRecMCTrackHist->Projection(0,1);\r
+ if(!h2D) return;\r
h2D->SetName("nClust_vs_chi2PerClust");\r
aFolderObj->Add(h2D);\r
\r
h2D = (TH2D *)fRecMCTrackHist->Projection(0,2);\r
+ if(!h2D) return;\r
h2D->SetName("nClust_vs_ratio_nClust_nFindableClust");\r
aFolderObj->Add(h2D);\r
\r
// sec\r
fRecMCTrackHist->GetAxis(9)->SetRange(1,1);\r
h1D = (TH1D *)fRecMCTrackHist->Projection(3);\r
+ if(!h1D) return;\r
h1D->SetName("dcay_sec");\r
aFolderObj->Add(h1D);\r
\r
// prim\r
fRecMCTrackHist->GetAxis(9)->SetRange(2,2);\r
h1D = (TH1D *)fRecMCTrackHist->Projection(3);\r
+ if(!h1D) return;\r
h1D->SetName("dcay_prim");\r
aFolderObj->Add(h1D);\r
\r
// sec\r
fRecMCTrackHist->GetAxis(9)->SetRange(1,1);\r
h1D = (TH1D *)fRecMCTrackHist->Projection(4);\r
+ if(!h1D) return;\r
h1D->SetName("dcaz_sec");\r
aFolderObj->Add(h1D);\r
\r
// prim\r
fRecMCTrackHist->GetAxis(9)->SetRange(2,2);\r
h1D = (TH1D *)fRecMCTrackHist->Projection(4);\r
+ if(!h1D) return;\r
h1D->SetName("dcaz_prim");\r
aFolderObj->Add(h1D);\r
\r
\r
// export objects to analysis folder\r
fAnalysisFolder = ExportToFolder(aFolderObj);\r
+ if(!fAnalysisFolder) {\r
+ if(aFolderObj) delete aFolderObj;\r
+ return;\r
+ }\r
\r
// delete only TObjArray\r
if(aFolderObj) delete aFolderObj;\r