File indexing completed on 2025-08-06 08:11:52
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #pragma once
0013
0014 using namespace std;
0015
0016
0017
0018
0019
0020 void STrackCutStudy::MakeCutText() {
0021
0022
0023 const TString sPrimary("Is primary");
0024 const TString sMVtxCut("MVTX hits = (");
0025 const TString sNTpcCut("TPC hits = (");
0026 const TString sVzCut("z-vertex = (");
0027 const TString sDcaXyCut("DCA (XY) = (");
0028 const TString sDcaZCut("DCA (Z) = (");
0029 const TString sQualityCut("Quality = (");
0030 const TString sVzUnits("cm");
0031 const TString sDcaUnits("#mum");
0032
0033
0034 TString sMVtxTxt = sMVtxCut;
0035 TString sNTpcTxt = sNTpcCut;
0036 TString sVzTxt = sVzCut;
0037 TString sDcaXyTxt = sDcaXyCut;
0038 TString sDcaZTxt = sDcaZCut;
0039 TString sQualityTxt = sQualityCut;
0040 sMVtxTxt += nMVtxCut.first;
0041 sNTpcTxt += nTpcCut.first;
0042 sVzTxt += vzCut.first;
0043 sDcaXyTxt += dcaXyCut.first;
0044 sDcaZTxt += dcaZCut.first;
0045 sQualityTxt += qualityCut.first;
0046 sMVtxTxt += ", ";
0047 sNTpcTxt += ", ";
0048 sVzTxt += ", ";
0049 sDcaXyTxt += ", ";
0050 sDcaZTxt += ", ";
0051 sQualityTxt += ", ";
0052 sMVtxTxt += nMVtxCut.second;
0053 sNTpcTxt += nTpcCut.second;
0054 sVzTxt += vzCut.second;
0055 sDcaXyTxt += dcaXyCut.second;
0056 sDcaZTxt += dcaZCut.second;
0057 sQualityTxt += qualityCut.second;
0058 sMVtxTxt += ")";
0059 sNTpcTxt += ")";
0060 sVzTxt += ") ";
0061 sDcaXyTxt += ") ";
0062 sDcaZTxt += ") ";
0063 sQualityTxt += ")";
0064 sVzTxt += sVzUnits.Data();
0065 sDcaXyTxt += sDcaUnits.Data();
0066 sDcaZTxt += sDcaUnits.Data();
0067
0068
0069 UInt_t nCut(0);
0070 if (doPrimaryCut) nCut++;
0071 if (doMVtxCut) nCut++;
0072 if (doTpcCut) nCut++;
0073 if (doVzCut) nCut++;
0074 if (doDcaXyCut) nCut++;
0075 if (doDcaZCut) nCut++;
0076 if (doQualityCut) nCut++;
0077
0078
0079 const UInt_t fTxtC = 42;
0080 const UInt_t fAlnC = 12;
0081 const UInt_t fColC = 0;
0082 const UInt_t fLinC = 1;
0083 const UInt_t fFilC = 0;
0084 const Float_t hCut = 0.05 * nCut;
0085 const Float_t yCut = 0.1 + hCut;
0086 const Float_t xyCut[NVtx] = {0.5, 0.1, 0.7, yCut};
0087
0088 ptCut = new TPaveText(xyCut[0], xyCut[1], xyCut[2], xyCut[3], "NDC NB");
0089 ptCut -> SetFillColor(fColC);
0090 ptCut -> SetFillStyle(fFilC);
0091 ptCut -> SetLineColor(fColC);
0092 ptCut -> SetLineStyle(fLinC);
0093 ptCut -> SetTextFont(fTxtC);
0094 ptCut -> SetTextAlign(fAlnC);
0095 if (doPrimaryCut) ptCut -> AddText(sPrimary.Data());
0096 if (doMVtxCut) ptCut -> AddText(sMVtxTxt.Data());
0097 if (doTpcCut) ptCut -> AddText(sNTpcTxt.Data());
0098 if (doVzCut) ptCut -> AddText(sVzTxt.Data());
0099 if (doDcaXyCut) ptCut -> AddText(sDcaXyTxt.Data());
0100 if (doDcaZCut) ptCut -> AddText(sDcaZTxt.Data());
0101 if (doQualityCut) ptCut -> AddText(sQualityTxt.Data());
0102
0103 cout << " Made text box for cuts." << endl;
0104 return;
0105
0106 }
0107
0108
0109
0110 void STrackCutStudy::ConstructPlots(const Ssiz_t nToDraw, const Int_t typesToDraw[], const TString sDirToSaveTo, const TString sPlotLabel) {
0111
0112
0113 Bool_t dirIsThere = fOut -> cd(sDirToSaveTo.Data());
0114 if (!dirIsThere) {
0115 fOut -> mkdir(sDirToSaveTo.Data());
0116 fOut -> cd(sDirToSaveTo.Data());
0117 }
0118
0119
0120 const UInt_t fTxtL = 42;
0121 const UInt_t fColL = 0;
0122 const UInt_t fLinL = 1;
0123 const UInt_t fFilL = 0;
0124 const Float_t hLeg = 0.05 * nToDraw;
0125 const Float_t yLeg = 0.1 + hLeg;
0126 const Float_t xyLeg[NVtx] = {0.1, 0.1, 0.3, yLeg};
0127
0128 TLegend *leg = new TLegend(xyLeg[0], xyLeg[1], xyLeg[2], xyLeg[3]);
0129 leg -> SetFillColor(fColL);
0130 leg -> SetFillStyle(fFilL);
0131 leg -> SetLineColor(fColL);
0132 leg -> SetLineStyle(fLinL);
0133 leg -> SetTextFont(fTxtL);
0134 for (Ssiz_t iToDraw = 0; iToDraw < nToDraw; iToDraw++) {
0135 leg -> AddEntry(hTrkVar[typesToDraw[iToDraw]][0], sTrkLabels[typesToDraw[iToDraw]].Data(), "pf");
0136 }
0137
0138
0139 Ssiz_t nTxt(0);
0140 Bool_t hasPileup(false);
0141 for (Ssiz_t iToDraw = 0; iToDraw < nToDraw; iToDraw++) {
0142 if (isPileup[typesToDraw[iToDraw]]) {
0143 hasPileup = true;
0144 break;
0145 }
0146 }
0147
0148 if (hasPileup) {
0149 nTxt = nTxtPU;
0150 } else {
0151 nTxt = nTxtEO;
0152 }
0153
0154
0155 const UInt_t fTxtT = 42;
0156 const UInt_t fAlnT = 12;
0157 const UInt_t fColT = 0;
0158 const UInt_t fLinT = 1;
0159 const UInt_t fFilT = 0;
0160 const Float_t hTxt = 0.05 * nTxt;
0161 const Float_t yTxt = 0.1 + hTxt;
0162 const Float_t xyTxt[NVtx] = {0.3, 0.1, 0.5, yTxt};
0163
0164 TPaveText *ptTxt = new TPaveText(xyTxt[0], xyTxt[1], xyTxt[2], xyTxt[3], "NDC NB");
0165 ptTxt -> SetFillColor(fColT);
0166 ptTxt -> SetFillStyle(fFilT);
0167 ptTxt -> SetLineColor(fColT);
0168 ptTxt -> SetLineStyle(fLinT);
0169 ptTxt -> SetTextFont(fTxtT);
0170 ptTxt -> SetTextAlign(fAlnT);
0171 for (Ssiz_t iTxt = 0; iTxt < nTxt; iTxt++) {
0172 if (hasPileup) {
0173 ptTxt -> AddText(sTxtPU[iTxt].Data());
0174 } else {
0175 ptTxt -> AddText(sTxtEO[iTxt].Data());
0176 }
0177 }
0178
0179
0180 const UInt_t fWidth1P(750);
0181 const UInt_t fWidth2P(1500);
0182 const UInt_t fHeight1P(750);
0183 const UInt_t fHeight2P(750);
0184 const UInt_t fMode(0);
0185 const UInt_t fBord(2);
0186 const UInt_t fGrid(0);
0187 const UInt_t fTick(1);
0188 const UInt_t fLogX(0);
0189 const UInt_t fLogY(0);
0190 const UInt_t fLogZ(1);
0191 const UInt_t fFrame(0);
0192 const Float_t fMarginL(0.12);
0193 const Float_t fMarginR1(0.02);
0194 const Float_t fMarginR2(0.12);
0195 const Float_t fMarginT(0.02);
0196 const Float_t fMarginB(0.12);
0197 const Float_t padXY[NPanel][NVtx] = {{0., 0., 0.5, 1.}, {0.5, 0., 1., 1.}};
0198 const TString sOneVsTwoDimPanels[NPanel] = {"pOneDim", "pTwoDim"};
0199
0200
0201 const TString sDiffSuffix("Diff");
0202 const TString sFracSuffix("Frac");
0203 const TString sVsNTpcSuffix("VsNTpc");
0204 const TString sVsDcaXySuffix("VsDcaXY");
0205 const TString sVsDcaZSuffix("VsDcaZ");
0206 const TString sVsPtRecoSuffix("VsPtReco");
0207 const TString sVsPtTrueSuffix("VsPtTrue");
0208 const TString sVsPtFracSuffix("VsPtFrac");
0209
0210
0211 TString sTrkVar[NTrkVar];
0212 TString sTrkVarDiff[NTrkVar];
0213 TString sTrkVarFrac[NTrkVar];
0214 TString sTrkVarVsNTpc[NTrkVar];
0215 TString sTrkVarVsDcaXY[NTrkVar];
0216 TString sTrkVarVsDcaZ[NTrkVar];
0217 TString sTrkVarVsPtReco[NTrkVar];
0218 TString sTrkVarVsPtTrue[NTrkVar];
0219 TString sTrkVarVsPtFrac[NTrkVar];
0220
0221
0222 TString sPhysVar[NPhysVar];
0223 TString sPhysVarDiff[NPhysVar];
0224 TString sPhysVarFrac[NPhysVar];
0225 TString sPhysVarVsNTpc[NPhysVar];
0226 TString sPhysVarVsDcaXY[NPhysVar];
0227 TString sPhysVarVsDcaZ[NPhysVar];
0228 TString sPhysVarVsPtReco[NPhysVar];
0229 TString sPhysVarVsPtTrue[NPhysVar];
0230 TString sPhysVarVsPtFrac[NPhysVar];
0231
0232
0233 TString sTrkVarName[NTrkVar];
0234 TString sPhysVarName[NPhysVar];
0235 for (size_t iTrkVar = 0; iTrkVar < NTrkVar; iTrkVar++) {
0236 sTrkVarName[iTrkVar] = "c";
0237 sTrkVarName[iTrkVar].Append(sTrkVars[iTrkVar].Data());
0238 }
0239 for (size_t iPhysVar = 0; iPhysVar < NPhysVar; iPhysVar++) {
0240 sPhysVarName[iPhysVar] = "c";
0241 sPhysVarName[iPhysVar].Append(sPhysVars[iPhysVar].Data());
0242 }
0243
0244 for (size_t iTrkVar = 0; iTrkVar < NTrkVar; iTrkVar++) {
0245 sTrkVar[iTrkVar] = sTrkVarName[iTrkVar].Data();
0246 sTrkVarDiff[iTrkVar] = sTrkVarName[iTrkVar].Data();
0247 sTrkVarFrac[iTrkVar] = sTrkVarName[iTrkVar].Data();
0248 sTrkVarVsNTpc[iTrkVar] = sTrkVarName[iTrkVar].Data();
0249 sTrkVarVsDcaXY[iTrkVar] = sTrkVarName[iTrkVar].Data();
0250 sTrkVarVsDcaZ[iTrkVar] = sTrkVarName[iTrkVar].Data();
0251 sTrkVarVsPtReco[iTrkVar] = sTrkVarName[iTrkVar].Data();
0252 sTrkVarVsPtTrue[iTrkVar] = sTrkVarName[iTrkVar].Data();
0253 sTrkVarVsPtFrac[iTrkVar] = sTrkVarName[iTrkVar].Data();
0254 sTrkVarDiff[iTrkVar].Append(sDiffSuffix.Data());
0255 sTrkVarFrac[iTrkVar].Append(sFracSuffix.Data());
0256 sTrkVarVsNTpc[iTrkVar].Append(sVsNTpcSuffix.Data());
0257 sTrkVarVsDcaXY[iTrkVar].Append(sVsDcaXySuffix.Data());
0258 sTrkVarVsDcaZ[iTrkVar].Append(sVsDcaZSuffix.Data());
0259 sTrkVarVsPtReco[iTrkVar].Append(sVsPtRecoSuffix.Data());
0260 sTrkVarVsPtTrue[iTrkVar].Append(sVsPtTrueSuffix.Data());
0261 sTrkVarVsPtFrac[iTrkVar].Append(sVsPtFracSuffix.Data());
0262 sTrkVar[iTrkVar].Append("_");
0263 sTrkVarDiff[iTrkVar].Append("_");
0264 sTrkVarFrac[iTrkVar].Append("_");
0265 sTrkVarVsNTpc[iTrkVar].Append("_");
0266 sTrkVarVsDcaXY[iTrkVar].Append("_");
0267 sTrkVarVsDcaZ[iTrkVar].Append("_");
0268 sTrkVarVsPtReco[iTrkVar].Append("_");
0269 sTrkVarVsPtTrue[iTrkVar].Append("_");
0270 sTrkVarVsPtFrac[iTrkVar].Append("_");
0271 sTrkVar[iTrkVar].Append(sPlotLabel.Data());
0272 sTrkVarDiff[iTrkVar].Append(sPlotLabel.Data());
0273 sTrkVarFrac[iTrkVar].Append(sPlotLabel.Data());
0274 sTrkVarVsNTpc[iTrkVar].Append(sPlotLabel.Data());
0275 sTrkVarVsDcaXY[iTrkVar].Append(sPlotLabel.Data());
0276 sTrkVarVsDcaZ[iTrkVar].Append(sPlotLabel.Data());
0277 sTrkVarVsPtReco[iTrkVar].Append(sPlotLabel.Data());
0278 sTrkVarVsPtTrue[iTrkVar].Append(sPlotLabel.Data());
0279 sTrkVarVsPtFrac[iTrkVar].Append(sPlotLabel.Data());
0280 }
0281 for (size_t iPhysVar = 0; iPhysVar < NPhysVar; iPhysVar++) {
0282 sPhysVar[iPhysVar] = sPhysVarName[iPhysVar].Data();
0283 sPhysVarDiff[iPhysVar] = sPhysVarName[iPhysVar].Data();
0284 sPhysVarFrac[iPhysVar] = sPhysVarName[iPhysVar].Data();
0285 sPhysVarVsNTpc[iPhysVar] = sPhysVarName[iPhysVar].Data();
0286 sPhysVarVsDcaXY[iPhysVar] = sPhysVarName[iPhysVar].Data();
0287 sPhysVarVsDcaZ[iPhysVar] = sPhysVarName[iPhysVar].Data();
0288 sPhysVarVsPtReco[iPhysVar] = sPhysVarName[iPhysVar].Data();
0289 sPhysVarVsPtTrue[iPhysVar] = sPhysVarName[iPhysVar].Data();
0290 sPhysVarVsPtFrac[iPhysVar] = sPhysVarName[iPhysVar].Data();
0291 sPhysVarDiff[iPhysVar].Append(sDiffSuffix.Data());
0292 sPhysVarFrac[iPhysVar].Append(sFracSuffix.Data());
0293 sPhysVarVsNTpc[iPhysVar].Append(sVsNTpcSuffix.Data());
0294 sPhysVarVsDcaXY[iPhysVar].Append(sVsDcaXySuffix.Data());
0295 sPhysVarVsDcaZ[iPhysVar].Append(sVsDcaZSuffix.Data());
0296 sPhysVarVsPtReco[iPhysVar].Append(sVsPtRecoSuffix.Data());
0297 sPhysVarVsPtTrue[iPhysVar].Append(sVsPtTrueSuffix.Data());
0298 sPhysVarVsPtFrac[iPhysVar].Append(sVsPtFracSuffix.Data());
0299 sPhysVar[iPhysVar].Append("_");
0300 sPhysVarDiff[iPhysVar].Append("_");
0301 sPhysVarFrac[iPhysVar].Append("_");
0302 sPhysVarVsNTpc[iPhysVar].Append("_");
0303 sPhysVarVsDcaXY[iPhysVar].Append("_");
0304 sPhysVarVsDcaZ[iPhysVar].Append("_");
0305 sPhysVarVsPtReco[iPhysVar].Append("_");
0306 sPhysVarVsPtTrue[iPhysVar].Append("_");
0307 sPhysVarVsPtFrac[iPhysVar].Append("_");
0308 sPhysVar[iPhysVar].Append(sPlotLabel.Data());
0309 sPhysVarDiff[iPhysVar].Append(sPlotLabel.Data());
0310 sPhysVarFrac[iPhysVar].Append(sPlotLabel.Data());
0311 sPhysVarVsNTpc[iPhysVar].Append(sPlotLabel.Data());
0312 sPhysVarVsDcaXY[iPhysVar].Append(sPlotLabel.Data());
0313 sPhysVarVsDcaZ[iPhysVar].Append(sPlotLabel.Data());
0314 sPhysVarVsPtReco[iPhysVar].Append(sPlotLabel.Data());
0315 sPhysVarVsPtTrue[iPhysVar].Append(sPlotLabel.Data());
0316 sPhysVarVsPtFrac[iPhysVar].Append(sPlotLabel.Data());
0317 }
0318
0319
0320 TCanvas *cTrkVar[NTrkVar];
0321 TCanvas *cTrkVarDiff[NTrkVar];
0322 TCanvas *cTrkVarFrac[NTrkVar];
0323 TCanvas *cTrkVarVsNTpc[NTrkVar];
0324 TCanvas *cTrkVarVsDcaXY[NTrkVar];
0325 TCanvas *cTrkVarVsDcaZ[NTrkVar];
0326 TCanvas *cTrkVarVsPtReco[NTrkVar];
0327 TCanvas *cTrkVarVsPtTrue[NTrkVar];
0328 TCanvas *cTrkVarVsPtFrac[NTrkVar];
0329 TPad *pTrkVarVsNTpc[NTrkVar][NPanel];
0330 TPad *pTrkVarVsDcaXY[NTrkVar][NPanel];
0331 TPad *pTrkVarVsDcaZ[NTrkVar][NPanel];
0332 TPad *pTrkVarVsPtReco[NTrkVar][NPanel];
0333 TPad *pTrkVarVsPtTrue[NTrkVar][NPanel];
0334 TPad *pTrkVarVsPtFrac[NTrkVar][NPanel];
0335 for (size_t iTrkVar = 0; iTrkVar < NTrkVar; iTrkVar++) {
0336
0337
0338 cTrkVar[iTrkVar] = new TCanvas(sTrkVar[iTrkVar].Data(), "", fWidth1P, fHeight1P);
0339 cTrkVar[iTrkVar] -> SetGrid(fGrid, fGrid);
0340 cTrkVar[iTrkVar] -> SetTicks(fTick, fTick);
0341 cTrkVar[iTrkVar] -> SetLogx(fLogX);
0342 cTrkVar[iTrkVar] -> SetLogy(fLogY);
0343 cTrkVar[iTrkVar] -> SetLogz(fLogZ);
0344 cTrkVar[iTrkVar] -> SetBorderMode(fMode);
0345 cTrkVar[iTrkVar] -> SetBorderSize(fBord);
0346 cTrkVar[iTrkVar] -> SetFrameBorderMode(fFrame);
0347 cTrkVar[iTrkVar] -> SetLeftMargin(fMarginL);
0348 cTrkVar[iTrkVar] -> SetRightMargin(fMarginR1);
0349 cTrkVar[iTrkVar] -> SetTopMargin(fMarginT);
0350 cTrkVar[iTrkVar] -> SetBottomMargin(fMarginB);
0351 cTrkVar[iTrkVar] -> cd();
0352 for (Ssiz_t iToDraw = 0; iToDraw < nToDraw; iToDraw++) {
0353 if (iToDraw == 0) {
0354 hTrkVar[typesToDraw[iToDraw]][iTrkVar] -> Draw();
0355 } else {
0356 hTrkVar[typesToDraw[iToDraw]][iTrkVar] -> Draw("same");
0357 }
0358 }
0359 leg -> Draw();
0360 ptTxt -> Draw();
0361 ptCut -> Draw();
0362 cTrkVar[iTrkVar] -> Write();
0363 cTrkVar[iTrkVar] -> Close();
0364
0365
0366 cTrkVarDiff[iTrkVar] = new TCanvas(sTrkVarDiff[iTrkVar].Data(), "", fWidth1P, fHeight1P);
0367 cTrkVarDiff[iTrkVar] -> SetGrid(fGrid, fGrid);
0368 cTrkVarDiff[iTrkVar] -> SetTicks(fTick, fTick);
0369 cTrkVarDiff[iTrkVar] -> SetLogx(fLogX);
0370 cTrkVarDiff[iTrkVar] -> SetLogy(fLogY);
0371 cTrkVarDiff[iTrkVar] -> SetLogz(fLogZ);
0372 cTrkVarDiff[iTrkVar] -> SetBorderMode(fMode);
0373 cTrkVarDiff[iTrkVar] -> SetBorderSize(fBord);
0374 cTrkVarDiff[iTrkVar] -> SetFrameBorderMode(fFrame);
0375 cTrkVarDiff[iTrkVar] -> SetLeftMargin(fMarginL);
0376 cTrkVarDiff[iTrkVar] -> SetRightMargin(fMarginR1);
0377 cTrkVarDiff[iTrkVar] -> SetTopMargin(fMarginT);
0378 cTrkVarDiff[iTrkVar] -> SetBottomMargin(fMarginB);
0379 cTrkVarDiff[iTrkVar] -> cd();
0380 for (Ssiz_t iToDraw = 0; iToDraw < nToDraw; iToDraw++) {
0381 if (iToDraw == 0) {
0382 hTrkVarDiff[typesToDraw[iToDraw]][iTrkVar] -> Draw();
0383 } else {
0384 hTrkVarDiff[typesToDraw[iToDraw]][iTrkVar] -> Draw("same");
0385 }
0386 }
0387 leg -> Draw();
0388 ptTxt -> Draw();
0389 ptCut -> Draw();
0390 cTrkVarDiff[iTrkVar] -> Write();
0391 cTrkVarDiff[iTrkVar] -> Close();
0392
0393
0394 cTrkVarFrac[iTrkVar] = new TCanvas(sTrkVarFrac[iTrkVar].Data(), "", fWidth1P, fHeight1P);
0395 cTrkVarFrac[iTrkVar] -> SetGrid(fGrid, fGrid);
0396 cTrkVarFrac[iTrkVar] -> SetTicks(fTick, fTick);
0397 cTrkVarFrac[iTrkVar] -> SetLogx(fLogX);
0398 cTrkVarFrac[iTrkVar] -> SetLogy(fLogY);
0399 cTrkVarFrac[iTrkVar] -> SetLogz(fLogZ);
0400 cTrkVarFrac[iTrkVar] -> SetBorderMode(fMode);
0401 cTrkVarFrac[iTrkVar] -> SetBorderSize(fBord);
0402 cTrkVarFrac[iTrkVar] -> SetFrameBorderMode(fFrame);
0403 cTrkVarFrac[iTrkVar] -> SetLeftMargin(fMarginL);
0404 cTrkVarFrac[iTrkVar] -> SetRightMargin(fMarginR1);
0405 cTrkVarFrac[iTrkVar] -> SetTopMargin(fMarginT);
0406 cTrkVarFrac[iTrkVar] -> SetBottomMargin(fMarginB);
0407 cTrkVarFrac[iTrkVar] -> cd();
0408 for (Ssiz_t iToDraw = 0; iToDraw < nToDraw; iToDraw++) {
0409 if (iToDraw == 0) {
0410 hTrkVarFrac[typesToDraw[iToDraw]][iTrkVar] -> Draw();
0411 } else {
0412 hTrkVarFrac[typesToDraw[iToDraw]][iTrkVar] -> Draw("same");
0413 }
0414 }
0415 leg -> Draw();
0416 ptTxt -> Draw();
0417 ptCut -> Draw();
0418 cTrkVarFrac[iTrkVar] -> Write();
0419 cTrkVarFrac[iTrkVar] -> Close();
0420
0421
0422 cTrkVarVsNTpc[iTrkVar] = new TCanvas(sTrkVarVsNTpc[iTrkVar].Data(), "", fWidth2P, fHeight2P);
0423 pTrkVarVsNTpc[iTrkVar][0] = new TPad(sOneVsTwoDimPanels[0].Data(), "", padXY[0][0], padXY[0][1], padXY[0][2], padXY[0][3]);
0424 pTrkVarVsNTpc[iTrkVar][1] = new TPad(sOneVsTwoDimPanels[1].Data(), "", padXY[1][0], padXY[1][1], padXY[1][2], padXY[1][3]);
0425 cTrkVarVsNTpc[iTrkVar] -> SetGrid(fGrid, fGrid);
0426 cTrkVarVsNTpc[iTrkVar] -> SetTicks(fTick, fTick);
0427 cTrkVarVsNTpc[iTrkVar] -> SetBorderMode(fMode);
0428 cTrkVarVsNTpc[iTrkVar] -> SetBorderSize(fBord);
0429 pTrkVarVsNTpc[iTrkVar][0] -> SetGrid(fGrid, fGrid);
0430 pTrkVarVsNTpc[iTrkVar][0] -> SetTicks(fTick, fTick);
0431 pTrkVarVsNTpc[iTrkVar][0] -> SetLogx(fLogX);
0432 pTrkVarVsNTpc[iTrkVar][0] -> SetLogy(fLogY);
0433 pTrkVarVsNTpc[iTrkVar][0] -> SetLogz(fLogZ);
0434 pTrkVarVsNTpc[iTrkVar][0] -> SetBorderMode(fMode);
0435 pTrkVarVsNTpc[iTrkVar][0] -> SetBorderSize(fBord);
0436 pTrkVarVsNTpc[iTrkVar][0] -> SetFrameBorderMode(fFrame);
0437 pTrkVarVsNTpc[iTrkVar][0] -> SetLeftMargin(fMarginL);
0438 pTrkVarVsNTpc[iTrkVar][0] -> SetRightMargin(fMarginR1);
0439 pTrkVarVsNTpc[iTrkVar][0] -> SetTopMargin(fMarginT);
0440 pTrkVarVsNTpc[iTrkVar][0] -> SetBottomMargin(fMarginB);
0441 pTrkVarVsNTpc[iTrkVar][1] -> SetGrid(fGrid, fGrid);
0442 pTrkVarVsNTpc[iTrkVar][1] -> SetTicks(fTick, fTick);
0443 pTrkVarVsNTpc[iTrkVar][1] -> SetLogx(fLogX);
0444 pTrkVarVsNTpc[iTrkVar][1] -> SetLogy(fLogY);
0445 pTrkVarVsNTpc[iTrkVar][1] -> SetLogz(fLogZ);
0446 pTrkVarVsNTpc[iTrkVar][1] -> SetBorderMode(fMode);
0447 pTrkVarVsNTpc[iTrkVar][1] -> SetBorderSize(fBord);
0448 pTrkVarVsNTpc[iTrkVar][1] -> SetFrameBorderMode(fFrame);
0449 pTrkVarVsNTpc[iTrkVar][1] -> SetLeftMargin(fMarginL);
0450 pTrkVarVsNTpc[iTrkVar][1] -> SetRightMargin(fMarginR2);
0451 pTrkVarVsNTpc[iTrkVar][1] -> SetTopMargin(fMarginT);
0452 pTrkVarVsNTpc[iTrkVar][1] -> SetBottomMargin(fMarginB);
0453 cTrkVarVsNTpc[iTrkVar] -> cd();
0454 pTrkVarVsNTpc[iTrkVar][0] -> Draw();
0455 pTrkVarVsNTpc[iTrkVar][1] -> Draw();
0456 pTrkVarVsNTpc[iTrkVar][0] -> cd();
0457 for (Ssiz_t iToDraw = 0; iToDraw < nToDraw; iToDraw++) {
0458 if (iToDraw == 0) {
0459 hTrkVar[typesToDraw[iToDraw]][iTrkVar] -> Draw();
0460 } else {
0461 hTrkVar[typesToDraw[iToDraw]][iTrkVar] -> Draw("same");
0462 }
0463 }
0464 leg -> Draw();
0465 ptTxt -> Draw();
0466 ptCut -> Draw();
0467 pTrkVarVsNTpc[iTrkVar][1] -> cd();
0468 for (Ssiz_t iToDraw = 0; iToDraw < nToDraw; iToDraw++) {
0469 if (iToDraw == 0) {
0470 hTrkVarVsNTpc[typesToDraw[iToDraw]][iTrkVar] -> Draw("colz");
0471 } else {
0472 hTrkVarVsNTpc[typesToDraw[iToDraw]][iTrkVar] -> Draw("scat same");
0473 }
0474 }
0475 cTrkVarVsNTpc[iTrkVar] -> Write();
0476 cTrkVarVsNTpc[iTrkVar] -> Close();
0477
0478
0479 cTrkVarVsDcaXY[iTrkVar] = new TCanvas(sTrkVarVsDcaXY[iTrkVar].Data(), "", fWidth2P, fHeight2P);
0480 pTrkVarVsDcaXY[iTrkVar][0] = new TPad(sOneVsTwoDimPanels[0].Data(), "", padXY[0][0], padXY[0][1], padXY[0][2], padXY[0][3]);
0481 pTrkVarVsDcaXY[iTrkVar][1] = new TPad(sOneVsTwoDimPanels[1].Data(), "", padXY[1][0], padXY[1][1], padXY[1][2], padXY[1][3]);
0482 cTrkVarVsDcaXY[iTrkVar] -> SetGrid(fGrid, fGrid);
0483 cTrkVarVsDcaXY[iTrkVar] -> SetTicks(fTick, fTick);
0484 cTrkVarVsDcaXY[iTrkVar] -> SetBorderMode(fMode);
0485 cTrkVarVsDcaXY[iTrkVar] -> SetBorderSize(fBord);
0486 pTrkVarVsDcaXY[iTrkVar][0] -> SetGrid(fGrid, fGrid);
0487 pTrkVarVsDcaXY[iTrkVar][0] -> SetTicks(fTick, fTick);
0488 pTrkVarVsDcaXY[iTrkVar][0] -> SetLogx(fLogX);
0489 pTrkVarVsDcaXY[iTrkVar][0] -> SetLogy(fLogY);
0490 pTrkVarVsDcaXY[iTrkVar][0] -> SetLogz(fLogZ);
0491 pTrkVarVsDcaXY[iTrkVar][0] -> SetBorderMode(fMode);
0492 pTrkVarVsDcaXY[iTrkVar][0] -> SetBorderSize(fBord);
0493 pTrkVarVsDcaXY[iTrkVar][0] -> SetFrameBorderMode(fFrame);
0494 pTrkVarVsDcaXY[iTrkVar][0] -> SetLeftMargin(fMarginL);
0495 pTrkVarVsDcaXY[iTrkVar][0] -> SetRightMargin(fMarginR1);
0496 pTrkVarVsDcaXY[iTrkVar][0] -> SetTopMargin(fMarginT);
0497 pTrkVarVsDcaXY[iTrkVar][0] -> SetBottomMargin(fMarginB);
0498 pTrkVarVsDcaXY[iTrkVar][1] -> SetGrid(fGrid, fGrid);
0499 pTrkVarVsDcaXY[iTrkVar][1] -> SetTicks(fTick, fTick);
0500 pTrkVarVsDcaXY[iTrkVar][1] -> SetLogx(fLogX);
0501 pTrkVarVsDcaXY[iTrkVar][1] -> SetLogy(fLogY);
0502 pTrkVarVsDcaXY[iTrkVar][1] -> SetLogz(fLogZ);
0503 pTrkVarVsDcaXY[iTrkVar][1] -> SetBorderMode(fMode);
0504 pTrkVarVsDcaXY[iTrkVar][1] -> SetBorderSize(fBord);
0505 pTrkVarVsDcaXY[iTrkVar][1] -> SetFrameBorderMode(fFrame);
0506 pTrkVarVsDcaXY[iTrkVar][1] -> SetLeftMargin(fMarginL);
0507 pTrkVarVsDcaXY[iTrkVar][1] -> SetRightMargin(fMarginR2);
0508 pTrkVarVsDcaXY[iTrkVar][1] -> SetTopMargin(fMarginT);
0509 pTrkVarVsDcaXY[iTrkVar][1] -> SetBottomMargin(fMarginB);
0510 cTrkVarVsDcaXY[iTrkVar] -> cd();
0511 pTrkVarVsDcaXY[iTrkVar][0] -> Draw();
0512 pTrkVarVsDcaXY[iTrkVar][1] -> Draw();
0513 pTrkVarVsDcaXY[iTrkVar][0] -> cd();
0514 for (Ssiz_t iToDraw = 0; iToDraw < nToDraw; iToDraw++) {
0515 if (iToDraw == 0) {
0516 hTrkVar[typesToDraw[iToDraw]][iTrkVar] -> Draw();
0517 } else {
0518 hTrkVar[typesToDraw[iToDraw]][iTrkVar] -> Draw("same");
0519 }
0520 }
0521 leg -> Draw();
0522 ptTxt -> Draw();
0523 ptCut -> Draw();
0524 pTrkVarVsDcaXY[iTrkVar][1] -> cd();
0525 for (Ssiz_t iToDraw = 0; iToDraw < nToDraw; iToDraw++) {
0526 if (iToDraw == 0) {
0527 hTrkVarVsDcaXY[typesToDraw[iToDraw]][iTrkVar] -> Draw("colz");
0528 } else {
0529 hTrkVarVsDcaXY[typesToDraw[iToDraw]][iTrkVar] -> Draw("scat same");
0530 }
0531 }
0532 cTrkVarVsDcaXY[iTrkVar] -> Write();
0533 cTrkVarVsDcaXY[iTrkVar] -> Close();
0534
0535
0536 cTrkVarVsDcaZ[iTrkVar] = new TCanvas(sTrkVarVsDcaZ[iTrkVar].Data(), "", fWidth2P, fHeight2P);
0537 pTrkVarVsDcaZ[iTrkVar][0] = new TPad(sOneVsTwoDimPanels[0].Data(), "", padXY[0][0], padXY[0][1], padXY[0][2], padXY[0][3]);
0538 pTrkVarVsDcaZ[iTrkVar][1] = new TPad(sOneVsTwoDimPanels[1].Data(), "", padXY[1][0], padXY[1][1], padXY[1][2], padXY[1][3]);
0539 cTrkVarVsDcaZ[iTrkVar] -> SetGrid(fGrid, fGrid);
0540 cTrkVarVsDcaZ[iTrkVar] -> SetTicks(fTick, fTick);
0541 cTrkVarVsDcaZ[iTrkVar] -> SetBorderMode(fMode);
0542 cTrkVarVsDcaZ[iTrkVar] -> SetBorderSize(fBord);
0543 pTrkVarVsDcaZ[iTrkVar][0] -> SetGrid(fGrid, fGrid);
0544 pTrkVarVsDcaZ[iTrkVar][0] -> SetTicks(fTick, fTick);
0545 pTrkVarVsDcaZ[iTrkVar][0] -> SetLogx(fLogX);
0546 pTrkVarVsDcaZ[iTrkVar][0] -> SetLogy(fLogY);
0547 pTrkVarVsDcaZ[iTrkVar][0] -> SetLogz(fLogZ);
0548 pTrkVarVsDcaZ[iTrkVar][0] -> SetBorderMode(fMode);
0549 pTrkVarVsDcaZ[iTrkVar][0] -> SetBorderSize(fBord);
0550 pTrkVarVsDcaZ[iTrkVar][0] -> SetFrameBorderMode(fFrame);
0551 pTrkVarVsDcaZ[iTrkVar][0] -> SetLeftMargin(fMarginL);
0552 pTrkVarVsDcaZ[iTrkVar][0] -> SetRightMargin(fMarginR1);
0553 pTrkVarVsDcaZ[iTrkVar][0] -> SetTopMargin(fMarginT);
0554 pTrkVarVsDcaZ[iTrkVar][0] -> SetBottomMargin(fMarginB);
0555 pTrkVarVsDcaZ[iTrkVar][1] -> SetGrid(fGrid, fGrid);
0556 pTrkVarVsDcaZ[iTrkVar][1] -> SetTicks(fTick, fTick);
0557 pTrkVarVsDcaZ[iTrkVar][1] -> SetLogx(fLogX);
0558 pTrkVarVsDcaZ[iTrkVar][1] -> SetLogy(fLogY);
0559 pTrkVarVsDcaZ[iTrkVar][1] -> SetLogz(fLogZ);
0560 pTrkVarVsDcaZ[iTrkVar][1] -> SetBorderMode(fMode);
0561 pTrkVarVsDcaZ[iTrkVar][1] -> SetBorderSize(fBord);
0562 pTrkVarVsDcaZ[iTrkVar][1] -> SetFrameBorderMode(fFrame);
0563 pTrkVarVsDcaZ[iTrkVar][1] -> SetLeftMargin(fMarginL);
0564 pTrkVarVsDcaZ[iTrkVar][1] -> SetRightMargin(fMarginR2);
0565 pTrkVarVsDcaZ[iTrkVar][1] -> SetTopMargin(fMarginT);
0566 pTrkVarVsDcaZ[iTrkVar][1] -> SetBottomMargin(fMarginB);
0567 cTrkVarVsDcaZ[iTrkVar] -> cd();
0568 pTrkVarVsDcaZ[iTrkVar][0] -> Draw();
0569 pTrkVarVsDcaZ[iTrkVar][1] -> Draw();
0570 pTrkVarVsDcaZ[iTrkVar][0] -> cd();
0571 for (Ssiz_t iToDraw = 0; iToDraw < nToDraw; iToDraw++) {
0572 if (iToDraw == 0) {
0573 hTrkVar[typesToDraw[iToDraw]][iTrkVar] -> Draw();
0574 } else {
0575 hTrkVar[typesToDraw[iToDraw]][iTrkVar] -> Draw("same");
0576 }
0577 }
0578 leg -> Draw();
0579 ptTxt -> Draw();
0580 ptCut -> Draw();
0581 pTrkVarVsDcaZ[iTrkVar][1] -> cd();
0582 for (Ssiz_t iToDraw = 0; iToDraw < nToDraw; iToDraw++) {
0583 if (iToDraw == 0) {
0584 hTrkVarVsDcaZ[typesToDraw[iToDraw]][iTrkVar] -> Draw("colz");
0585 } else {
0586 hTrkVarVsDcaZ[typesToDraw[iToDraw]][iTrkVar] -> Draw("scat same");
0587 }
0588 }
0589 cTrkVarVsDcaZ[iTrkVar] -> Write();
0590 cTrkVarVsDcaZ[iTrkVar] -> Close();
0591
0592
0593 cTrkVarVsPtReco[iTrkVar] = new TCanvas(sTrkVarVsPtReco[iTrkVar].Data(), "", fWidth2P, fHeight2P);
0594 pTrkVarVsPtReco[iTrkVar][0] = new TPad(sOneVsTwoDimPanels[0].Data(), "", padXY[0][0], padXY[0][1], padXY[0][2], padXY[0][3]);
0595 pTrkVarVsPtReco[iTrkVar][1] = new TPad(sOneVsTwoDimPanels[1].Data(), "", padXY[1][0], padXY[1][1], padXY[1][2], padXY[1][3]);
0596 cTrkVarVsPtReco[iTrkVar] -> SetGrid(fGrid, fGrid);
0597 cTrkVarVsPtReco[iTrkVar] -> SetTicks(fTick, fTick);
0598 cTrkVarVsPtReco[iTrkVar] -> SetBorderMode(fMode);
0599 cTrkVarVsPtReco[iTrkVar] -> SetBorderSize(fBord);
0600 pTrkVarVsPtReco[iTrkVar][0] -> SetGrid(fGrid, fGrid);
0601 pTrkVarVsPtReco[iTrkVar][0] -> SetTicks(fTick, fTick);
0602 pTrkVarVsPtReco[iTrkVar][0] -> SetLogx(fLogX);
0603 pTrkVarVsPtReco[iTrkVar][0] -> SetLogy(fLogY);
0604 pTrkVarVsPtReco[iTrkVar][0] -> SetLogz(fLogZ);
0605 pTrkVarVsPtReco[iTrkVar][0] -> SetBorderMode(fMode);
0606 pTrkVarVsPtReco[iTrkVar][0] -> SetBorderSize(fBord);
0607 pTrkVarVsPtReco[iTrkVar][0] -> SetFrameBorderMode(fFrame);
0608 pTrkVarVsPtReco[iTrkVar][0] -> SetLeftMargin(fMarginL);
0609 pTrkVarVsPtReco[iTrkVar][0] -> SetRightMargin(fMarginR1);
0610 pTrkVarVsPtReco[iTrkVar][0] -> SetTopMargin(fMarginT);
0611 pTrkVarVsPtReco[iTrkVar][0] -> SetBottomMargin(fMarginB);
0612 pTrkVarVsPtReco[iTrkVar][1] -> SetGrid(fGrid, fGrid);
0613 pTrkVarVsPtReco[iTrkVar][1] -> SetTicks(fTick, fTick);
0614 pTrkVarVsPtReco[iTrkVar][1] -> SetLogx(fLogX);
0615 pTrkVarVsPtReco[iTrkVar][1] -> SetLogy(fLogY);
0616 pTrkVarVsPtReco[iTrkVar][1] -> SetLogz(fLogZ);
0617 pTrkVarVsPtReco[iTrkVar][1] -> SetBorderMode(fMode);
0618 pTrkVarVsPtReco[iTrkVar][1] -> SetBorderSize(fBord);
0619 pTrkVarVsPtReco[iTrkVar][1] -> SetFrameBorderMode(fFrame);
0620 pTrkVarVsPtReco[iTrkVar][1] -> SetLeftMargin(fMarginL);
0621 pTrkVarVsPtReco[iTrkVar][1] -> SetRightMargin(fMarginR2);
0622 pTrkVarVsPtReco[iTrkVar][1] -> SetTopMargin(fMarginT);
0623 pTrkVarVsPtReco[iTrkVar][1] -> SetBottomMargin(fMarginB);
0624 cTrkVarVsPtReco[iTrkVar] -> cd();
0625 pTrkVarVsPtReco[iTrkVar][0] -> Draw();
0626 pTrkVarVsPtReco[iTrkVar][1] -> Draw();
0627 pTrkVarVsPtReco[iTrkVar][0] -> cd();
0628 for (Ssiz_t iToDraw = 0; iToDraw < nToDraw; iToDraw++) {
0629 if (iToDraw == 0) {
0630 hTrkVar[typesToDraw[iToDraw]][iTrkVar] -> Draw();
0631 } else {
0632 hTrkVar[typesToDraw[iToDraw]][iTrkVar] -> Draw("same");
0633 }
0634 }
0635 leg -> Draw();
0636 ptTxt -> Draw();
0637 ptCut -> Draw();
0638 pTrkVarVsPtReco[iTrkVar][1] -> cd();
0639 for (Ssiz_t iToDraw = 0; iToDraw < nToDraw; iToDraw++) {
0640 if (iToDraw == 0) {
0641 hTrkVarVsPtReco[typesToDraw[iToDraw]][iTrkVar] -> Draw("colz");
0642 } else {
0643 hTrkVarVsPtReco[typesToDraw[iToDraw]][iTrkVar] -> Draw("scat same");
0644 }
0645 }
0646 cTrkVarVsPtReco[iTrkVar] -> Write();
0647 cTrkVarVsPtReco[iTrkVar] -> Close();
0648
0649
0650 cTrkVarVsPtTrue[iTrkVar] = new TCanvas(sTrkVarVsPtTrue[iTrkVar].Data(), "", fWidth2P, fHeight2P);
0651 pTrkVarVsPtTrue[iTrkVar][0] = new TPad(sOneVsTwoDimPanels[0].Data(), "", padXY[0][0], padXY[0][1], padXY[0][2], padXY[0][3]);
0652 pTrkVarVsPtTrue[iTrkVar][1] = new TPad(sOneVsTwoDimPanels[1].Data(), "", padXY[1][0], padXY[1][1], padXY[1][2], padXY[1][3]);
0653 cTrkVarVsPtTrue[iTrkVar] -> SetGrid(fGrid, fGrid);
0654 cTrkVarVsPtTrue[iTrkVar] -> SetTicks(fTick, fTick);
0655 cTrkVarVsPtTrue[iTrkVar] -> SetBorderMode(fMode);
0656 cTrkVarVsPtTrue[iTrkVar] -> SetBorderSize(fBord);
0657 pTrkVarVsPtTrue[iTrkVar][0] -> SetGrid(fGrid, fGrid);
0658 pTrkVarVsPtTrue[iTrkVar][0] -> SetTicks(fTick, fTick);
0659 pTrkVarVsPtTrue[iTrkVar][0] -> SetLogx(fLogX);
0660 pTrkVarVsPtTrue[iTrkVar][0] -> SetLogy(fLogY);
0661 pTrkVarVsPtTrue[iTrkVar][0] -> SetLogz(fLogZ);
0662 pTrkVarVsPtTrue[iTrkVar][0] -> SetBorderMode(fMode);
0663 pTrkVarVsPtTrue[iTrkVar][0] -> SetBorderSize(fBord);
0664 pTrkVarVsPtTrue[iTrkVar][0] -> SetFrameBorderMode(fFrame);
0665 pTrkVarVsPtTrue[iTrkVar][0] -> SetLeftMargin(fMarginL);
0666 pTrkVarVsPtTrue[iTrkVar][0] -> SetRightMargin(fMarginR1);
0667 pTrkVarVsPtTrue[iTrkVar][0] -> SetTopMargin(fMarginT);
0668 pTrkVarVsPtTrue[iTrkVar][0] -> SetBottomMargin(fMarginB);
0669 pTrkVarVsPtTrue[iTrkVar][1] -> SetGrid(fGrid, fGrid);
0670 pTrkVarVsPtTrue[iTrkVar][1] -> SetTicks(fTick, fTick);
0671 pTrkVarVsPtTrue[iTrkVar][1] -> SetLogx(fLogX);
0672 pTrkVarVsPtTrue[iTrkVar][1] -> SetLogy(fLogY);
0673 pTrkVarVsPtTrue[iTrkVar][1] -> SetLogz(fLogZ);
0674 pTrkVarVsPtTrue[iTrkVar][1] -> SetBorderMode(fMode);
0675 pTrkVarVsPtTrue[iTrkVar][1] -> SetBorderSize(fBord);
0676 pTrkVarVsPtTrue[iTrkVar][1] -> SetFrameBorderMode(fFrame);
0677 pTrkVarVsPtTrue[iTrkVar][1] -> SetLeftMargin(fMarginL);
0678 pTrkVarVsPtTrue[iTrkVar][1] -> SetRightMargin(fMarginR2);
0679 pTrkVarVsPtTrue[iTrkVar][1] -> SetTopMargin(fMarginT);
0680 pTrkVarVsPtTrue[iTrkVar][1] -> SetBottomMargin(fMarginB);
0681 cTrkVarVsPtTrue[iTrkVar] -> cd();
0682 pTrkVarVsPtTrue[iTrkVar][0] -> Draw();
0683 pTrkVarVsPtTrue[iTrkVar][1] -> Draw();
0684 pTrkVarVsPtTrue[iTrkVar][0] -> cd();
0685 for (Ssiz_t iToDraw = 0; iToDraw < nToDraw; iToDraw++) {
0686 if (iToDraw == 0) {
0687 hTrkVar[typesToDraw[iToDraw]][iTrkVar] -> Draw();
0688 } else {
0689 hTrkVar[typesToDraw[iToDraw]][iTrkVar] -> Draw("same");
0690 }
0691 }
0692 leg -> Draw();
0693 ptTxt -> Draw();
0694 ptCut -> Draw();
0695 pTrkVarVsPtTrue[iTrkVar][1] -> cd();
0696 for (Ssiz_t iToDraw = 0; iToDraw < nToDraw; iToDraw++) {
0697 if (iToDraw == 0) {
0698 hTrkVarVsPtTrue[typesToDraw[iToDraw]][iTrkVar] -> Draw("colz");
0699 } else {
0700 hTrkVarVsPtTrue[typesToDraw[iToDraw]][iTrkVar] -> Draw("scat same");
0701 }
0702 }
0703 cTrkVarVsPtTrue[iTrkVar] -> Write();
0704 cTrkVarVsPtTrue[iTrkVar] -> Close();
0705
0706
0707 cTrkVarVsPtFrac[iTrkVar] = new TCanvas(sTrkVarVsPtFrac[iTrkVar].Data(), "", fWidth2P, fHeight2P);
0708 pTrkVarVsPtFrac[iTrkVar][0] = new TPad(sOneVsTwoDimPanels[0].Data(), "", padXY[0][0], padXY[0][1], padXY[0][2], padXY[0][3]);
0709 pTrkVarVsPtFrac[iTrkVar][1] = new TPad(sOneVsTwoDimPanels[1].Data(), "", padXY[1][0], padXY[1][1], padXY[1][2], padXY[1][3]);
0710 cTrkVarVsPtFrac[iTrkVar] -> SetGrid(fGrid, fGrid);
0711 cTrkVarVsPtFrac[iTrkVar] -> SetTicks(fTick, fTick);
0712 cTrkVarVsPtFrac[iTrkVar] -> SetBorderMode(fMode);
0713 cTrkVarVsPtFrac[iTrkVar] -> SetBorderSize(fBord);
0714 pTrkVarVsPtFrac[iTrkVar][0] -> SetGrid(fGrid, fGrid);
0715 pTrkVarVsPtFrac[iTrkVar][0] -> SetTicks(fTick, fTick);
0716 pTrkVarVsPtFrac[iTrkVar][0] -> SetLogx(fLogX);
0717 pTrkVarVsPtFrac[iTrkVar][0] -> SetLogy(fLogY);
0718 pTrkVarVsPtFrac[iTrkVar][0] -> SetLogz(fLogZ);
0719 pTrkVarVsPtFrac[iTrkVar][0] -> SetBorderMode(fMode);
0720 pTrkVarVsPtFrac[iTrkVar][0] -> SetBorderSize(fBord);
0721 pTrkVarVsPtFrac[iTrkVar][0] -> SetFrameBorderMode(fFrame);
0722 pTrkVarVsPtFrac[iTrkVar][0] -> SetLeftMargin(fMarginL);
0723 pTrkVarVsPtFrac[iTrkVar][0] -> SetRightMargin(fMarginR1);
0724 pTrkVarVsPtFrac[iTrkVar][0] -> SetTopMargin(fMarginT);
0725 pTrkVarVsPtFrac[iTrkVar][0] -> SetBottomMargin(fMarginB);
0726 pTrkVarVsPtFrac[iTrkVar][1] -> SetGrid(fGrid, fGrid);
0727 pTrkVarVsPtFrac[iTrkVar][1] -> SetTicks(fTick, fTick);
0728 pTrkVarVsPtFrac[iTrkVar][1] -> SetLogx(fLogX);
0729 pTrkVarVsPtFrac[iTrkVar][1] -> SetLogy(fLogY);
0730 pTrkVarVsPtFrac[iTrkVar][1] -> SetLogz(fLogZ);
0731 pTrkVarVsPtFrac[iTrkVar][1] -> SetBorderMode(fMode);
0732 pTrkVarVsPtFrac[iTrkVar][1] -> SetBorderSize(fBord);
0733 pTrkVarVsPtFrac[iTrkVar][1] -> SetFrameBorderMode(fFrame);
0734 pTrkVarVsPtFrac[iTrkVar][1] -> SetLeftMargin(fMarginL);
0735 pTrkVarVsPtFrac[iTrkVar][1] -> SetRightMargin(fMarginR2);
0736 pTrkVarVsPtFrac[iTrkVar][1] -> SetTopMargin(fMarginT);
0737 pTrkVarVsPtFrac[iTrkVar][1] -> SetBottomMargin(fMarginB);
0738 cTrkVarVsPtFrac[iTrkVar] -> cd();
0739 pTrkVarVsPtFrac[iTrkVar][0] -> Draw();
0740 pTrkVarVsPtFrac[iTrkVar][1] -> Draw();
0741 pTrkVarVsPtFrac[iTrkVar][0] -> cd();
0742 for (Ssiz_t iToDraw = 0; iToDraw < nToDraw; iToDraw++) {
0743 if (iToDraw == 0) {
0744 hTrkVar[typesToDraw[iToDraw]][iTrkVar] -> Draw();
0745 } else {
0746 hTrkVar[typesToDraw[iToDraw]][iTrkVar] -> Draw("same");
0747 }
0748 }
0749 leg -> Draw();
0750 ptTxt -> Draw();
0751 ptCut -> Draw();
0752 pTrkVarVsPtFrac[iTrkVar][1] -> cd();
0753 for (Ssiz_t iToDraw = 0; iToDraw < nToDraw; iToDraw++) {
0754 if (iToDraw == 0) {
0755 hTrkVarVsPtFrac[typesToDraw[iToDraw]][iTrkVar] -> Draw("colz");
0756 } else {
0757 hTrkVarVsPtFrac[typesToDraw[iToDraw]][iTrkVar] -> Draw("scat same");
0758 }
0759 }
0760 cTrkVarVsPtFrac[iTrkVar] -> Write();
0761 cTrkVarVsPtFrac[iTrkVar] -> Close();
0762 }
0763
0764
0765 TCanvas *cPhysVar[NPhysVar];
0766 TCanvas *cPhysVarDiff[NPhysVar];
0767 TCanvas *cPhysVarFrac[NPhysVar];
0768 TCanvas *cPhysVarVsNTpc[NPhysVar];
0769 TCanvas *cPhysVarVsDcaXY[NPhysVar];
0770 TCanvas *cPhysVarVsDcaZ[NPhysVar];
0771 TCanvas *cPhysVarVsPtReco[NPhysVar];
0772 TCanvas *cPhysVarVsPtTrue[NPhysVar];
0773 TCanvas *cPhysVarVsPtFrac[NPhysVar];
0774 TPad *pPhysVarVsNTpc[NPhysVar][NPanel];
0775 TPad *pPhysVarVsDcaXY[NPhysVar][NPanel];
0776 TPad *pPhysVarVsDcaZ[NPhysVar][NPanel];
0777 TPad *pPhysVarVsPtReco[NPhysVar][NPanel];
0778 TPad *pPhysVarVsPtTrue[NPhysVar][NPanel];
0779 TPad *pPhysVarVsPtFrac[NPhysVar][NPanel];
0780 for (size_t iPhysVar = 0; iPhysVar < NPhysVar; iPhysVar++) {
0781
0782
0783 cPhysVar[iPhysVar] = new TCanvas(sPhysVar[iPhysVar].Data(), "", fWidth1P, fHeight1P);
0784 cPhysVar[iPhysVar] -> SetGrid(fGrid, fGrid);
0785 cPhysVar[iPhysVar] -> SetTicks(fTick, fTick);
0786 cPhysVar[iPhysVar] -> SetLogx(fLogX);
0787 cPhysVar[iPhysVar] -> SetLogy(fLogY);
0788 cPhysVar[iPhysVar] -> SetLogz(fLogZ);
0789 cPhysVar[iPhysVar] -> SetBorderMode(fMode);
0790 cPhysVar[iPhysVar] -> SetBorderSize(fBord);
0791 cPhysVar[iPhysVar] -> SetFrameBorderMode(fFrame);
0792 cPhysVar[iPhysVar] -> SetLeftMargin(fMarginL);
0793 cPhysVar[iPhysVar] -> SetRightMargin(fMarginR1);
0794 cPhysVar[iPhysVar] -> SetTopMargin(fMarginT);
0795 cPhysVar[iPhysVar] -> SetBottomMargin(fMarginB);
0796 cPhysVar[iPhysVar] -> cd();
0797 for (Ssiz_t iToDraw = 0; iToDraw < nToDraw; iToDraw++) {
0798 if (iToDraw == 0) {
0799 hPhysVar[typesToDraw[iToDraw]][iPhysVar] -> Draw();
0800 } else {
0801 hPhysVar[typesToDraw[iToDraw]][iPhysVar] -> Draw("same");
0802 }
0803 }
0804 leg -> Draw();
0805 ptTxt -> Draw();
0806 ptCut -> Draw();
0807 cPhysVar[iPhysVar] -> Write();
0808 cPhysVar[iPhysVar] -> Close();
0809
0810
0811 cPhysVarDiff[iPhysVar] = new TCanvas(sPhysVarDiff[iPhysVar].Data(), "", fWidth1P, fHeight1P);
0812 cPhysVarDiff[iPhysVar] -> SetGrid(fGrid, fGrid);
0813 cPhysVarDiff[iPhysVar] -> SetTicks(fTick, fTick);
0814 cPhysVarDiff[iPhysVar] -> SetLogx(fLogX);
0815 cPhysVarDiff[iPhysVar] -> SetLogy(fLogY);
0816 cPhysVarDiff[iPhysVar] -> SetLogz(fLogZ);
0817 cPhysVarDiff[iPhysVar] -> SetBorderMode(fMode);
0818 cPhysVarDiff[iPhysVar] -> SetBorderSize(fBord);
0819 cPhysVarDiff[iPhysVar] -> SetFrameBorderMode(fFrame);
0820 cPhysVarDiff[iPhysVar] -> SetLeftMargin(fMarginL);
0821 cPhysVarDiff[iPhysVar] -> SetRightMargin(fMarginR1);
0822 cPhysVarDiff[iPhysVar] -> SetTopMargin(fMarginT);
0823 cPhysVarDiff[iPhysVar] -> SetBottomMargin(fMarginB);
0824 cPhysVarDiff[iPhysVar] -> cd();
0825 for (Ssiz_t iToDraw = 0; iToDraw < nToDraw; iToDraw++) {
0826 if (iToDraw == 0) {
0827 hPhysVarDiff[typesToDraw[iToDraw]][iPhysVar] -> Draw();
0828 } else {
0829 hPhysVarDiff[typesToDraw[iToDraw]][iPhysVar] -> Draw("same");
0830 }
0831 }
0832 leg -> Draw();
0833 ptTxt -> Draw();
0834 ptCut -> Draw();
0835 cPhysVarDiff[iPhysVar] -> Write();
0836 cPhysVarDiff[iPhysVar] -> Close();
0837
0838
0839 cPhysVarFrac[iPhysVar] = new TCanvas(sPhysVarFrac[iPhysVar].Data(), "", fWidth1P, fHeight1P);
0840 cPhysVarFrac[iPhysVar] -> SetGrid(fGrid, fGrid);
0841 cPhysVarFrac[iPhysVar] -> SetTicks(fTick, fTick);
0842 cPhysVarFrac[iPhysVar] -> SetLogx(fLogX);
0843 cPhysVarFrac[iPhysVar] -> SetLogy(fLogY);
0844 cPhysVarFrac[iPhysVar] -> SetLogz(fLogZ);
0845 cPhysVarFrac[iPhysVar] -> SetBorderMode(fMode);
0846 cPhysVarFrac[iPhysVar] -> SetBorderSize(fBord);
0847 cPhysVarFrac[iPhysVar] -> SetFrameBorderMode(fFrame);
0848 cPhysVarFrac[iPhysVar] -> SetLeftMargin(fMarginL);
0849 cPhysVarFrac[iPhysVar] -> SetRightMargin(fMarginR1);
0850 cPhysVarFrac[iPhysVar] -> SetTopMargin(fMarginT);
0851 cPhysVarFrac[iPhysVar] -> SetBottomMargin(fMarginB);
0852 cPhysVarFrac[iPhysVar] -> cd();
0853 for (Ssiz_t iToDraw = 0; iToDraw < nToDraw; iToDraw++) {
0854 if (iToDraw == 0) {
0855 hPhysVarFrac[typesToDraw[iToDraw]][iPhysVar] -> Draw();
0856 } else {
0857 hPhysVarFrac[typesToDraw[iToDraw]][iPhysVar] -> Draw("same");
0858 }
0859 }
0860 leg -> Draw();
0861 ptTxt -> Draw();
0862 ptCut -> Draw();
0863 cPhysVarFrac[iPhysVar] -> Write();
0864 cPhysVarFrac[iPhysVar] -> Close();
0865
0866
0867 cPhysVarVsNTpc[iPhysVar] = new TCanvas(sPhysVarVsNTpc[iPhysVar].Data(), "", fWidth2P, fHeight2P);
0868 pPhysVarVsNTpc[iPhysVar][0] = new TPad(sOneVsTwoDimPanels[0].Data(), "", padXY[0][0], padXY[0][1], padXY[0][2], padXY[0][3]);
0869 pPhysVarVsNTpc[iPhysVar][1] = new TPad(sOneVsTwoDimPanels[1].Data(), "", padXY[1][0], padXY[1][1], padXY[1][2], padXY[1][3]);
0870 cPhysVarVsNTpc[iPhysVar] -> SetGrid(fGrid, fGrid);
0871 cPhysVarVsNTpc[iPhysVar] -> SetTicks(fTick, fTick);
0872 cPhysVarVsNTpc[iPhysVar] -> SetBorderMode(fMode);
0873 cPhysVarVsNTpc[iPhysVar] -> SetBorderSize(fBord);
0874 pPhysVarVsNTpc[iPhysVar][0] -> SetGrid(fGrid, fGrid);
0875 pPhysVarVsNTpc[iPhysVar][0] -> SetTicks(fTick, fTick);
0876 pPhysVarVsNTpc[iPhysVar][0] -> SetLogx(fLogX);
0877 pPhysVarVsNTpc[iPhysVar][0] -> SetLogy(fLogY);
0878 pPhysVarVsNTpc[iPhysVar][0] -> SetLogz(fLogZ);
0879 pPhysVarVsNTpc[iPhysVar][0] -> SetBorderMode(fMode);
0880 pPhysVarVsNTpc[iPhysVar][0] -> SetBorderSize(fBord);
0881 pPhysVarVsNTpc[iPhysVar][0] -> SetFrameBorderMode(fFrame);
0882 pPhysVarVsNTpc[iPhysVar][0] -> SetLeftMargin(fMarginL);
0883 pPhysVarVsNTpc[iPhysVar][0] -> SetRightMargin(fMarginR1);
0884 pPhysVarVsNTpc[iPhysVar][0] -> SetTopMargin(fMarginT);
0885 pPhysVarVsNTpc[iPhysVar][0] -> SetBottomMargin(fMarginB);
0886 pPhysVarVsNTpc[iPhysVar][1] -> SetGrid(fGrid, fGrid);
0887 pPhysVarVsNTpc[iPhysVar][1] -> SetTicks(fTick, fTick);
0888 pPhysVarVsNTpc[iPhysVar][1] -> SetLogx(fLogX);
0889 pPhysVarVsNTpc[iPhysVar][1] -> SetLogy(fLogY);
0890 pPhysVarVsNTpc[iPhysVar][1] -> SetLogz(fLogZ);
0891 pPhysVarVsNTpc[iPhysVar][1] -> SetBorderMode(fMode);
0892 pPhysVarVsNTpc[iPhysVar][1] -> SetBorderSize(fBord);
0893 pPhysVarVsNTpc[iPhysVar][1] -> SetFrameBorderMode(fFrame);
0894 pPhysVarVsNTpc[iPhysVar][1] -> SetLeftMargin(fMarginL);
0895 pPhysVarVsNTpc[iPhysVar][1] -> SetRightMargin(fMarginR2);
0896 pPhysVarVsNTpc[iPhysVar][1] -> SetTopMargin(fMarginT);
0897 pPhysVarVsNTpc[iPhysVar][1] -> SetBottomMargin(fMarginB);
0898 cPhysVarVsNTpc[iPhysVar] -> cd();
0899 pPhysVarVsNTpc[iPhysVar][0] -> Draw();
0900 pPhysVarVsNTpc[iPhysVar][1] -> Draw();
0901 pPhysVarVsNTpc[iPhysVar][0] -> cd();
0902 for (Ssiz_t iToDraw = 0; iToDraw < nToDraw; iToDraw++) {
0903 if (iToDraw == 0) {
0904 hPhysVar[typesToDraw[iToDraw]][iPhysVar] -> Draw();
0905 } else {
0906 hPhysVar[typesToDraw[iToDraw]][iPhysVar] -> Draw("same");
0907 }
0908 }
0909 leg -> Draw();
0910 ptTxt -> Draw();
0911 ptCut -> Draw();
0912 pPhysVarVsNTpc[iPhysVar][1] -> cd();
0913 for (Ssiz_t iToDraw = 0; iToDraw < nToDraw; iToDraw++) {
0914 if (iToDraw == 0) {
0915 hPhysVarVsNTpc[typesToDraw[iToDraw]][iPhysVar] -> Draw("colz");
0916 } else {
0917 hPhysVarVsNTpc[typesToDraw[iToDraw]][iPhysVar] -> Draw("scat same");
0918 }
0919 }
0920 cPhysVarVsNTpc[iPhysVar] -> Write();
0921 cPhysVarVsNTpc[iPhysVar] -> Close();
0922
0923
0924 cPhysVarVsDcaXY[iPhysVar] = new TCanvas(sPhysVarVsDcaXY[iPhysVar].Data(), "", fWidth2P, fHeight2P);
0925 pPhysVarVsDcaXY[iPhysVar][0] = new TPad(sOneVsTwoDimPanels[0].Data(), "", padXY[0][0], padXY[0][1], padXY[0][2], padXY[0][3]);
0926 pPhysVarVsDcaXY[iPhysVar][1] = new TPad(sOneVsTwoDimPanels[1].Data(), "", padXY[1][0], padXY[1][1], padXY[1][2], padXY[1][3]);
0927 cPhysVarVsDcaXY[iPhysVar] -> SetGrid(fGrid, fGrid);
0928 cPhysVarVsDcaXY[iPhysVar] -> SetTicks(fTick, fTick);
0929 cPhysVarVsDcaXY[iPhysVar] -> SetBorderMode(fMode);
0930 cPhysVarVsDcaXY[iPhysVar] -> SetBorderSize(fBord);
0931 pPhysVarVsDcaXY[iPhysVar][0] -> SetGrid(fGrid, fGrid);
0932 pPhysVarVsDcaXY[iPhysVar][0] -> SetTicks(fTick, fTick);
0933 pPhysVarVsDcaXY[iPhysVar][0] -> SetLogx(fLogX);
0934 pPhysVarVsDcaXY[iPhysVar][0] -> SetLogy(fLogY);
0935 pPhysVarVsDcaXY[iPhysVar][0] -> SetLogz(fLogZ);
0936 pPhysVarVsDcaXY[iPhysVar][0] -> SetBorderMode(fMode);
0937 pPhysVarVsDcaXY[iPhysVar][0] -> SetBorderSize(fBord);
0938 pPhysVarVsDcaXY[iPhysVar][0] -> SetFrameBorderMode(fFrame);
0939 pPhysVarVsDcaXY[iPhysVar][0] -> SetLeftMargin(fMarginL);
0940 pPhysVarVsDcaXY[iPhysVar][0] -> SetRightMargin(fMarginR1);
0941 pPhysVarVsDcaXY[iPhysVar][0] -> SetTopMargin(fMarginT);
0942 pPhysVarVsDcaXY[iPhysVar][0] -> SetBottomMargin(fMarginB);
0943 pPhysVarVsDcaXY[iPhysVar][1] -> SetGrid(fGrid, fGrid);
0944 pPhysVarVsDcaXY[iPhysVar][1] -> SetTicks(fTick, fTick);
0945 pPhysVarVsDcaXY[iPhysVar][1] -> SetLogx(fLogX);
0946 pPhysVarVsDcaXY[iPhysVar][1] -> SetLogy(fLogY);
0947 pPhysVarVsDcaXY[iPhysVar][1] -> SetLogz(fLogZ);
0948 pPhysVarVsDcaXY[iPhysVar][1] -> SetBorderMode(fMode);
0949 pPhysVarVsDcaXY[iPhysVar][1] -> SetBorderSize(fBord);
0950 pPhysVarVsDcaXY[iPhysVar][1] -> SetFrameBorderMode(fFrame);
0951 pPhysVarVsDcaXY[iPhysVar][1] -> SetLeftMargin(fMarginL);
0952 pPhysVarVsDcaXY[iPhysVar][1] -> SetRightMargin(fMarginR2);
0953 pPhysVarVsDcaXY[iPhysVar][1] -> SetTopMargin(fMarginT);
0954 pPhysVarVsDcaXY[iPhysVar][1] -> SetBottomMargin(fMarginB);
0955 cPhysVarVsDcaXY[iPhysVar] -> cd();
0956 pPhysVarVsDcaXY[iPhysVar][0] -> Draw();
0957 pPhysVarVsDcaXY[iPhysVar][1] -> Draw();
0958 pPhysVarVsDcaXY[iPhysVar][0] -> cd();
0959 for (Ssiz_t iToDraw = 0; iToDraw < nToDraw; iToDraw++) {
0960 if (iToDraw == 0) {
0961 hPhysVar[typesToDraw[iToDraw]][iPhysVar] -> Draw();
0962 } else {
0963 hPhysVar[typesToDraw[iToDraw]][iPhysVar] -> Draw("same");
0964 }
0965 }
0966 leg -> Draw();
0967 ptTxt -> Draw();
0968 ptCut -> Draw();
0969 pPhysVarVsDcaXY[iPhysVar][1] -> cd();
0970 for (Ssiz_t iToDraw = 0; iToDraw < nToDraw; iToDraw++) {
0971 if (iToDraw == 0) {
0972 hPhysVarVsDcaXY[typesToDraw[iToDraw]][iPhysVar] -> Draw("colz");
0973 } else {
0974 hPhysVarVsDcaXY[typesToDraw[iToDraw]][iPhysVar] -> Draw("scat same");
0975 }
0976 }
0977 cPhysVarVsDcaXY[iPhysVar] -> Write();
0978 cPhysVarVsDcaXY[iPhysVar] -> Close();
0979
0980
0981 cPhysVarVsDcaZ[iPhysVar] = new TCanvas(sPhysVarVsDcaZ[iPhysVar].Data(), "", fWidth2P, fHeight2P);
0982 pPhysVarVsDcaZ[iPhysVar][0] = new TPad(sOneVsTwoDimPanels[0].Data(), "", padXY[0][0], padXY[0][1], padXY[0][2], padXY[0][3]);
0983 pPhysVarVsDcaZ[iPhysVar][1] = new TPad(sOneVsTwoDimPanels[1].Data(), "", padXY[1][0], padXY[1][1], padXY[1][2], padXY[1][3]);
0984 cPhysVarVsDcaZ[iPhysVar] -> SetGrid(fGrid, fGrid);
0985 cPhysVarVsDcaZ[iPhysVar] -> SetTicks(fTick, fTick);
0986 cPhysVarVsDcaZ[iPhysVar] -> SetBorderMode(fMode);
0987 cPhysVarVsDcaZ[iPhysVar] -> SetBorderSize(fBord);
0988 pPhysVarVsDcaZ[iPhysVar][0] -> SetGrid(fGrid, fGrid);
0989 pPhysVarVsDcaZ[iPhysVar][0] -> SetTicks(fTick, fTick);
0990 pPhysVarVsDcaZ[iPhysVar][0] -> SetLogx(fLogX);
0991 pPhysVarVsDcaZ[iPhysVar][0] -> SetLogy(fLogY);
0992 pPhysVarVsDcaZ[iPhysVar][0] -> SetLogz(fLogZ);
0993 pPhysVarVsDcaZ[iPhysVar][0] -> SetBorderMode(fMode);
0994 pPhysVarVsDcaZ[iPhysVar][0] -> SetBorderSize(fBord);
0995 pPhysVarVsDcaZ[iPhysVar][0] -> SetFrameBorderMode(fFrame);
0996 pPhysVarVsDcaZ[iPhysVar][0] -> SetLeftMargin(fMarginL);
0997 pPhysVarVsDcaZ[iPhysVar][0] -> SetRightMargin(fMarginR1);
0998 pPhysVarVsDcaZ[iPhysVar][0] -> SetTopMargin(fMarginT);
0999 pPhysVarVsDcaZ[iPhysVar][0] -> SetBottomMargin(fMarginB);
1000 pPhysVarVsDcaZ[iPhysVar][1] -> SetGrid(fGrid, fGrid);
1001 pPhysVarVsDcaZ[iPhysVar][1] -> SetTicks(fTick, fTick);
1002 pPhysVarVsDcaZ[iPhysVar][1] -> SetLogx(fLogX);
1003 pPhysVarVsDcaZ[iPhysVar][1] -> SetLogy(fLogY);
1004 pPhysVarVsDcaZ[iPhysVar][1] -> SetLogz(fLogZ);
1005 pPhysVarVsDcaZ[iPhysVar][1] -> SetBorderMode(fMode);
1006 pPhysVarVsDcaZ[iPhysVar][1] -> SetBorderSize(fBord);
1007 pPhysVarVsDcaZ[iPhysVar][1] -> SetFrameBorderMode(fFrame);
1008 pPhysVarVsDcaZ[iPhysVar][1] -> SetLeftMargin(fMarginL);
1009 pPhysVarVsDcaZ[iPhysVar][1] -> SetRightMargin(fMarginR2);
1010 pPhysVarVsDcaZ[iPhysVar][1] -> SetTopMargin(fMarginT);
1011 pPhysVarVsDcaZ[iPhysVar][1] -> SetBottomMargin(fMarginB);
1012 cPhysVarVsDcaZ[iPhysVar] -> cd();
1013 pPhysVarVsDcaZ[iPhysVar][0] -> Draw();
1014 pPhysVarVsDcaZ[iPhysVar][1] -> Draw();
1015 pPhysVarVsDcaZ[iPhysVar][0] -> cd();
1016 for (Ssiz_t iToDraw = 0; iToDraw < nToDraw; iToDraw++) {
1017 if (iToDraw == 0) {
1018 hPhysVar[typesToDraw[iToDraw]][iPhysVar] -> Draw();
1019 } else {
1020 hPhysVar[typesToDraw[iToDraw]][iPhysVar] -> Draw("same");
1021 }
1022 }
1023 leg -> Draw();
1024 ptTxt -> Draw();
1025 ptCut -> Draw();
1026 pPhysVarVsDcaZ[iPhysVar][1] -> cd();
1027 for (Ssiz_t iToDraw = 0; iToDraw < nToDraw; iToDraw++) {
1028 if (iToDraw == 0) {
1029 hPhysVarVsDcaZ[typesToDraw[iToDraw]][iPhysVar] -> Draw("colz");
1030 } else {
1031 hPhysVarVsDcaZ[typesToDraw[iToDraw]][iPhysVar] -> Draw("scat same");
1032 }
1033 }
1034 cPhysVarVsDcaZ[iPhysVar] -> Write();
1035 cPhysVarVsDcaZ[iPhysVar] -> Close();
1036
1037
1038 cPhysVarVsPtReco[iPhysVar] = new TCanvas(sPhysVarVsPtReco[iPhysVar].Data(), "", fWidth2P, fHeight2P);
1039 pPhysVarVsPtReco[iPhysVar][0] = new TPad(sOneVsTwoDimPanels[0].Data(), "", padXY[0][0], padXY[0][1], padXY[0][2], padXY[0][3]);
1040 pPhysVarVsPtReco[iPhysVar][1] = new TPad(sOneVsTwoDimPanels[1].Data(), "", padXY[1][0], padXY[1][1], padXY[1][2], padXY[1][3]);
1041 cPhysVarVsPtReco[iPhysVar] -> SetGrid(fGrid, fGrid);
1042 cPhysVarVsPtReco[iPhysVar] -> SetTicks(fTick, fTick);
1043 cPhysVarVsPtReco[iPhysVar] -> SetBorderMode(fMode);
1044 cPhysVarVsPtReco[iPhysVar] -> SetBorderSize(fBord);
1045 pPhysVarVsPtReco[iPhysVar][0] -> SetGrid(fGrid, fGrid);
1046 pPhysVarVsPtReco[iPhysVar][0] -> SetTicks(fTick, fTick);
1047 pPhysVarVsPtReco[iPhysVar][0] -> SetLogx(fLogX);
1048 pPhysVarVsPtReco[iPhysVar][0] -> SetLogy(fLogY);
1049 pPhysVarVsPtReco[iPhysVar][0] -> SetLogz(fLogZ);
1050 pPhysVarVsPtReco[iPhysVar][0] -> SetBorderMode(fMode);
1051 pPhysVarVsPtReco[iPhysVar][0] -> SetBorderSize(fBord);
1052 pPhysVarVsPtReco[iPhysVar][0] -> SetFrameBorderMode(fFrame);
1053 pPhysVarVsPtReco[iPhysVar][0] -> SetLeftMargin(fMarginL);
1054 pPhysVarVsPtReco[iPhysVar][0] -> SetRightMargin(fMarginR1);
1055 pPhysVarVsPtReco[iPhysVar][0] -> SetTopMargin(fMarginT);
1056 pPhysVarVsPtReco[iPhysVar][0] -> SetBottomMargin(fMarginB);
1057 pPhysVarVsPtReco[iPhysVar][1] -> SetGrid(fGrid, fGrid);
1058 pPhysVarVsPtReco[iPhysVar][1] -> SetTicks(fTick, fTick);
1059 pPhysVarVsPtReco[iPhysVar][1] -> SetLogx(fLogX);
1060 pPhysVarVsPtReco[iPhysVar][1] -> SetLogy(fLogY);
1061 pPhysVarVsPtReco[iPhysVar][1] -> SetLogz(fLogZ);
1062 pPhysVarVsPtReco[iPhysVar][1] -> SetBorderMode(fMode);
1063 pPhysVarVsPtReco[iPhysVar][1] -> SetBorderSize(fBord);
1064 pPhysVarVsPtReco[iPhysVar][1] -> SetFrameBorderMode(fFrame);
1065 pPhysVarVsPtReco[iPhysVar][1] -> SetLeftMargin(fMarginL);
1066 pPhysVarVsPtReco[iPhysVar][1] -> SetRightMargin(fMarginR2);
1067 pPhysVarVsPtReco[iPhysVar][1] -> SetTopMargin(fMarginT);
1068 pPhysVarVsPtReco[iPhysVar][1] -> SetBottomMargin(fMarginB);
1069 cPhysVarVsPtReco[iPhysVar] -> cd();
1070 pPhysVarVsPtReco[iPhysVar][0] -> Draw();
1071 pPhysVarVsPtReco[iPhysVar][1] -> Draw();
1072 pPhysVarVsPtReco[iPhysVar][0] -> cd();
1073 for (Ssiz_t iToDraw = 0; iToDraw < nToDraw; iToDraw++) {
1074 if (iToDraw == 0) {
1075 hPhysVar[typesToDraw[iToDraw]][iPhysVar] -> Draw();
1076 } else {
1077 hPhysVar[typesToDraw[iToDraw]][iPhysVar] -> Draw("same");
1078 }
1079 }
1080 leg -> Draw();
1081 ptTxt -> Draw();
1082 ptCut -> Draw();
1083 pPhysVarVsPtReco[iPhysVar][1] -> cd();
1084 for (Ssiz_t iToDraw = 0; iToDraw < nToDraw; iToDraw++) {
1085 if (iToDraw == 0) {
1086 hPhysVarVsPtReco[typesToDraw[iToDraw]][iPhysVar] -> Draw("colz");
1087 } else {
1088 hPhysVarVsPtReco[typesToDraw[iToDraw]][iPhysVar] -> Draw("scat same");
1089 }
1090 }
1091 cPhysVarVsPtReco[iPhysVar] -> Write();
1092 cPhysVarVsPtReco[iPhysVar] -> Close();
1093
1094
1095 cPhysVarVsPtTrue[iPhysVar] = new TCanvas(sPhysVarVsPtTrue[iPhysVar].Data(), "", fWidth2P, fHeight2P);
1096 pPhysVarVsPtTrue[iPhysVar][0] = new TPad(sOneVsTwoDimPanels[0].Data(), "", padXY[0][0], padXY[0][1], padXY[0][2], padXY[0][3]);
1097 pPhysVarVsPtTrue[iPhysVar][1] = new TPad(sOneVsTwoDimPanels[1].Data(), "", padXY[1][0], padXY[1][1], padXY[1][2], padXY[1][3]);
1098 cPhysVarVsPtTrue[iPhysVar] -> SetGrid(fGrid, fGrid);
1099 cPhysVarVsPtTrue[iPhysVar] -> SetTicks(fTick, fTick);
1100 cPhysVarVsPtTrue[iPhysVar] -> SetBorderMode(fMode);
1101 cPhysVarVsPtTrue[iPhysVar] -> SetBorderSize(fBord);
1102 pPhysVarVsPtTrue[iPhysVar][0] -> SetGrid(fGrid, fGrid);
1103 pPhysVarVsPtTrue[iPhysVar][0] -> SetTicks(fTick, fTick);
1104 pPhysVarVsPtTrue[iPhysVar][0] -> SetLogx(fLogX);
1105 pPhysVarVsPtTrue[iPhysVar][0] -> SetLogy(fLogY);
1106 pPhysVarVsPtTrue[iPhysVar][0] -> SetLogz(fLogZ);
1107 pPhysVarVsPtTrue[iPhysVar][0] -> SetBorderMode(fMode);
1108 pPhysVarVsPtTrue[iPhysVar][0] -> SetBorderSize(fBord);
1109 pPhysVarVsPtTrue[iPhysVar][0] -> SetFrameBorderMode(fFrame);
1110 pPhysVarVsPtTrue[iPhysVar][0] -> SetLeftMargin(fMarginL);
1111 pPhysVarVsPtTrue[iPhysVar][0] -> SetRightMargin(fMarginR1);
1112 pPhysVarVsPtTrue[iPhysVar][0] -> SetTopMargin(fMarginT);
1113 pPhysVarVsPtTrue[iPhysVar][0] -> SetBottomMargin(fMarginB);
1114 pPhysVarVsPtTrue[iPhysVar][1] -> SetGrid(fGrid, fGrid);
1115 pPhysVarVsPtTrue[iPhysVar][1] -> SetTicks(fTick, fTick);
1116 pPhysVarVsPtTrue[iPhysVar][1] -> SetLogx(fLogX);
1117 pPhysVarVsPtTrue[iPhysVar][1] -> SetLogy(fLogY);
1118 pPhysVarVsPtTrue[iPhysVar][1] -> SetLogz(fLogZ);
1119 pPhysVarVsPtTrue[iPhysVar][1] -> SetBorderMode(fMode);
1120 pPhysVarVsPtTrue[iPhysVar][1] -> SetBorderSize(fBord);
1121 pPhysVarVsPtTrue[iPhysVar][1] -> SetFrameBorderMode(fFrame);
1122 pPhysVarVsPtTrue[iPhysVar][1] -> SetLeftMargin(fMarginL);
1123 pPhysVarVsPtTrue[iPhysVar][1] -> SetRightMargin(fMarginR2);
1124 pPhysVarVsPtTrue[iPhysVar][1] -> SetTopMargin(fMarginT);
1125 pPhysVarVsPtTrue[iPhysVar][1] -> SetBottomMargin(fMarginB);
1126 cPhysVarVsPtTrue[iPhysVar] -> cd();
1127 pPhysVarVsPtTrue[iPhysVar][0] -> Draw();
1128 pPhysVarVsPtTrue[iPhysVar][1] -> Draw();
1129 pPhysVarVsPtTrue[iPhysVar][0] -> cd();
1130 for (Ssiz_t iToDraw = 0; iToDraw < nToDraw; iToDraw++) {
1131 if (iToDraw == 0) {
1132 hPhysVar[typesToDraw[iToDraw]][iPhysVar] -> Draw();
1133 } else {
1134 hPhysVar[typesToDraw[iToDraw]][iPhysVar] -> Draw("same");
1135 }
1136 }
1137 leg -> Draw();
1138 ptTxt -> Draw();
1139 ptCut -> Draw();
1140 pPhysVarVsPtTrue[iPhysVar][1] -> cd();
1141 for (Ssiz_t iToDraw = 0; iToDraw < nToDraw; iToDraw++) {
1142 if (iToDraw == 0) {
1143 hPhysVarVsPtTrue[typesToDraw[iToDraw]][iPhysVar] -> Draw("colz");
1144 } else {
1145 hPhysVarVsPtTrue[typesToDraw[iToDraw]][iPhysVar] -> Draw("scat same");
1146 }
1147 }
1148 cPhysVarVsPtTrue[iPhysVar] -> Write();
1149 cPhysVarVsPtTrue[iPhysVar] -> Close();
1150
1151
1152 cPhysVarVsPtFrac[iPhysVar] = new TCanvas(sPhysVarVsPtFrac[iPhysVar].Data(), "", fWidth2P, fHeight2P);
1153 pPhysVarVsPtFrac[iPhysVar][0] = new TPad(sOneVsTwoDimPanels[0].Data(), "", padXY[0][0], padXY[0][1], padXY[0][2], padXY[0][3]);
1154 pPhysVarVsPtFrac[iPhysVar][1] = new TPad(sOneVsTwoDimPanels[1].Data(), "", padXY[1][0], padXY[1][1], padXY[1][2], padXY[1][3]);
1155 cPhysVarVsPtFrac[iPhysVar] -> SetGrid(fGrid, fGrid);
1156 cPhysVarVsPtFrac[iPhysVar] -> SetTicks(fTick, fTick);
1157 cPhysVarVsPtFrac[iPhysVar] -> SetBorderMode(fMode);
1158 cPhysVarVsPtFrac[iPhysVar] -> SetBorderSize(fBord);
1159 pPhysVarVsPtFrac[iPhysVar][0] -> SetGrid(fGrid, fGrid);
1160 pPhysVarVsPtFrac[iPhysVar][0] -> SetTicks(fTick, fTick);
1161 pPhysVarVsPtFrac[iPhysVar][0] -> SetLogx(fLogX);
1162 pPhysVarVsPtFrac[iPhysVar][0] -> SetLogy(fLogY);
1163 pPhysVarVsPtFrac[iPhysVar][0] -> SetLogz(fLogZ);
1164 pPhysVarVsPtFrac[iPhysVar][0] -> SetBorderMode(fMode);
1165 pPhysVarVsPtFrac[iPhysVar][0] -> SetBorderSize(fBord);
1166 pPhysVarVsPtFrac[iPhysVar][0] -> SetFrameBorderMode(fFrame);
1167 pPhysVarVsPtFrac[iPhysVar][0] -> SetLeftMargin(fMarginL);
1168 pPhysVarVsPtFrac[iPhysVar][0] -> SetRightMargin(fMarginR1);
1169 pPhysVarVsPtFrac[iPhysVar][0] -> SetTopMargin(fMarginT);
1170 pPhysVarVsPtFrac[iPhysVar][0] -> SetBottomMargin(fMarginB);
1171 pPhysVarVsPtFrac[iPhysVar][1] -> SetGrid(fGrid, fGrid);
1172 pPhysVarVsPtFrac[iPhysVar][1] -> SetTicks(fTick, fTick);
1173 pPhysVarVsPtFrac[iPhysVar][1] -> SetLogx(fLogX);
1174 pPhysVarVsPtFrac[iPhysVar][1] -> SetLogy(fLogY);
1175 pPhysVarVsPtFrac[iPhysVar][1] -> SetLogz(fLogZ);
1176 pPhysVarVsPtFrac[iPhysVar][1] -> SetBorderMode(fMode);
1177 pPhysVarVsPtFrac[iPhysVar][1] -> SetBorderSize(fBord);
1178 pPhysVarVsPtFrac[iPhysVar][1] -> SetFrameBorderMode(fFrame);
1179 pPhysVarVsPtFrac[iPhysVar][1] -> SetLeftMargin(fMarginL);
1180 pPhysVarVsPtFrac[iPhysVar][1] -> SetRightMargin(fMarginR2);
1181 pPhysVarVsPtFrac[iPhysVar][1] -> SetTopMargin(fMarginT);
1182 pPhysVarVsPtFrac[iPhysVar][1] -> SetBottomMargin(fMarginB);
1183 cPhysVarVsPtFrac[iPhysVar] -> cd();
1184 pPhysVarVsPtFrac[iPhysVar][0] -> Draw();
1185 pPhysVarVsPtFrac[iPhysVar][1] -> Draw();
1186 pPhysVarVsPtFrac[iPhysVar][0] -> cd();
1187 for (Ssiz_t iToDraw = 0; iToDraw < nToDraw; iToDraw++) {
1188 if (iToDraw == 0) {
1189 hPhysVar[typesToDraw[iToDraw]][iPhysVar] -> Draw();
1190 } else {
1191 hPhysVar[typesToDraw[iToDraw]][iPhysVar] -> Draw("same");
1192 }
1193 }
1194 leg -> Draw();
1195 ptTxt -> Draw();
1196 ptCut -> Draw();
1197 pPhysVarVsPtFrac[iPhysVar][1] -> cd();
1198 for (Ssiz_t iToDraw = 0; iToDraw < nToDraw; iToDraw++) {
1199 if (iToDraw == 0) {
1200 hPhysVarVsPtFrac[typesToDraw[iToDraw]][iPhysVar] -> Draw("colz");
1201 } else {
1202 hPhysVarVsPtFrac[typesToDraw[iToDraw]][iPhysVar] -> Draw("scat same");
1203 }
1204 }
1205 cPhysVarVsPtFrac[iPhysVar] -> Write();
1206 cPhysVarVsPtFrac[iPhysVar] -> Close();
1207 }
1208
1209
1210 fOut -> cd();
1211 return;
1212
1213 }
1214
1215