79 THashList* table =
new THashList;
80 table->SetOwner(kTRUE);
81 table->SetName(
"Event");
84 table =
new THashList;
85 table->SetOwner(kTRUE);
86 table->SetName(
"Track");
89 table =
new THashList;
90 table->SetOwner(kTRUE);
91 table->SetName(
"Pair");
96 TH2I* fPdgCutQA = 0x0;
97 TProfile2D* fEffCutQA = 0x0;
102 for (Int_t itype = 0; itype <
fNtypes; itype++) {
104 TString logic =
"passed";
110 fNCuts[itype], binsX->GetMatrixArray());
113 fPdgCutQA =
new TH2I(Form(
"%sPDG",
fTypeKeys[itype]),
114 Form(
"%sPDG;cuts;PDG code;# %s %ss",
fTypeKeys[itype], logic.Data(),
fTypeKeys[itype]),
115 fNCuts[itype], binsX->GetMatrixArray(), binsPdg->GetNrows() - 1, binsPdg->GetMatrixArray());
118 new TProfile2D(Form(
"%sMatchEff",
fTypeKeys[itype]),
119 Form(
"%sMatchEff;cuts;detector;<#epsilon_{match}^{MC}>",
fTypeKeys[itype]),
fNCuts[itype],
120 binsX->GetMatrixArray(), binsDet->GetNrows() - 1, binsDet->GetMatrixArray());
137 for (Int_t i = 0; i <
fNCuts[itype]; i++) {
138 fCutQA->GetXaxis()->SetBinLabel(i + 1,
fCutNames[i][itype]);
139 if (fPdgCutQA) fPdgCutQA->GetXaxis()->SetBinLabel(i + 1,
fCutNames[i][itype]);
140 if (fEffCutQA) fEffCutQA->GetXaxis()->SetBinLabel(i + 1,
fCutNames[i][itype]);
147 for (Int_t i = 0; i < binsPdg->GetNrows() - 1; i++) {
149 case 1: pdglbl =
"electron";
break;
150 case 2: pdglbl =
"muon";
break;
151 case 3: pdglbl =
"pion";
break;
152 case 4: pdglbl =
"kaon";
break;
153 case 5: pdglbl =
"proton";
break;
155 fPdgCutQA->GetYaxis()->SetBinLabel(i + 1, pdglbl.Data());
162 for (Int_t i = 0; i < binsDet->GetNrows() - 1; i++) {
171 fEffCutQA->GetYaxis()->SetBinLabel(i + 1, detlbl.Data());
178 static_cast<THashList*
>(
fQAHistList.FindObject(
"Event"))->AddLast(fCutQA);
183 static_cast<THashList*
>(
fQAHistList.FindObject(
"Track"))->AddLast(fCutQA);
184 if (fPdgCutQA)
static_cast<THashList*
>(
fQAHistList.FindObject(
"Track"))->AddLast(fPdgCutQA);
185 if (fEffCutQA)
static_cast<THashList*
>(
fQAHistList.FindObject(
"Track"))->AddLast(fEffCutQA);
189 static_cast<THashList*
>(
fQAHistList.FindObject(
"Pair"))->AddLast(fCutQA);