File indexing completed on 2025-08-06 08:11:47
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 SDeltaPtCutStudy::InitVectors() {
0021
0022
0023 for (size_t iProj = 0; iProj < nProj; iProj++) {
0024
0025
0026 muProj.push_back(0.);
0027 sigProj.push_back(0.);
0028
0029
0030 hPtDeltaProj.push_back(NULL);
0031 fPtDeltaProj.push_back(NULL);
0032 sPtProj.push_back("");
0033 }
0034
0035
0036 for (size_t iCut = 0; iCut < nDPtCuts; iCut++) {
0037
0038
0039 nNormCut.push_back(0.);
0040 nWeirdCut.push_back(0.);
0041 rejCut.push_back(0.);
0042
0043
0044 hPtDeltaProj.push_back(NULL);
0045 hPtDeltaCut.push_back(NULL);
0046 hPtTrackCut.push_back(NULL);
0047 hPtFracCut.push_back(NULL);
0048 hPtTrkTruCut.push_back(NULL);
0049 hEffCut.push_back(NULL);
0050 hPtDeltaVsFracCut.push_back(NULL);
0051 hPtDeltaVsTrueCut.push_back(NULL);
0052 hPtDeltaVsTrackCut.push_back(NULL);
0053 hPtTrueVsTrackCut.push_back(NULL);
0054 }
0055
0056
0057 for (size_t iSig = 0; iSig < nSigCuts; iSig++) {
0058
0059
0060 nNormSig.push_back(0.);
0061 nWeirdSig.push_back(0.);
0062 rejSig.push_back(0.);
0063
0064
0065 vector<double> vecHiProj(nProj, 0.);
0066 vector<double> vecLoProj(nProj, 0.);
0067 muHiProj.push_back(vecHiProj);
0068 muLoProj.push_back(vecLoProj);
0069
0070
0071 hPtDeltaSig.push_back(NULL);
0072 hPtTrackSig.push_back(NULL);
0073 hPtFracSig.push_back(NULL);
0074 hPtTrkTruSig.push_back(NULL);
0075 hEffSig.push_back(NULL);
0076 hPtDeltaVsFracSig.push_back(NULL);
0077 hPtDeltaVsTrueSig.push_back(NULL);
0078 hPtDeltaVsTrackSig.push_back(NULL);
0079 hPtTrueVsTrackSig.push_back(NULL);
0080
0081
0082 fPtDeltaProj.push_back(NULL);
0083 fMuHiProj.push_back(NULL);
0084 fMuLoProj.push_back(NULL);
0085 grMuHiProj.push_back(NULL);
0086 grMuLoProj.push_back(NULL);
0087 }
0088
0089 cout << " Initialized vectors." << endl;
0090 return;
0091
0092 }
0093
0094
0095 void SDeltaPtCutStudy::InitTuples() {
0096
0097
0098 ntTrack -> SetBranchAddress("event", &trk_event);
0099 ntTrack -> SetBranchAddress("seed", &trk_seed);
0100 ntTrack -> SetBranchAddress("trackID", &trk_trackID);
0101 ntTrack -> SetBranchAddress("crossing", &trk_crossing);
0102 ntTrack -> SetBranchAddress("px", &trk_px);
0103 ntTrack -> SetBranchAddress("py", &trk_py);
0104 ntTrack -> SetBranchAddress("pz", &trk_pz);
0105 ntTrack -> SetBranchAddress("pt", &trk_pt);
0106 ntTrack -> SetBranchAddress("eta", &trk_eta);
0107 ntTrack -> SetBranchAddress("phi", &trk_phi);
0108 ntTrack -> SetBranchAddress("deltapt", &trk_deltapt);
0109 ntTrack -> SetBranchAddress("deltaeta", &trk_deltaeta);
0110 ntTrack -> SetBranchAddress("deltaphi", &trk_deltaphi);
0111 ntTrack -> SetBranchAddress("charge", &trk_charge);
0112 ntTrack -> SetBranchAddress("quality", &trk_quality);
0113 ntTrack -> SetBranchAddress("chisq", &trk_chisq);
0114 ntTrack -> SetBranchAddress("ndf", &trk_ndf);
0115 ntTrack -> SetBranchAddress("nhits", &trk_nhits);
0116 ntTrack -> SetBranchAddress("nmaps", &trk_nmaps);
0117 ntTrack -> SetBranchAddress("nintt", &trk_nintt);
0118 ntTrack -> SetBranchAddress("ntpc", &trk_ntpc);
0119 ntTrack -> SetBranchAddress("nmms", &trk_nmms);
0120 ntTrack -> SetBranchAddress("ntpc1", &trk_ntpc1);
0121 ntTrack -> SetBranchAddress("ntpc11", &trk_ntpc11);
0122 ntTrack -> SetBranchAddress("ntpc2", &trk_ntpc2);
0123 ntTrack -> SetBranchAddress("ntpc3", &trk_ntpc3);
0124 ntTrack -> SetBranchAddress("nlmaps", &trk_nlmaps);
0125 ntTrack -> SetBranchAddress("nlintt", &trk_nlintt);
0126 ntTrack -> SetBranchAddress("nltpc", &trk_nltpc);
0127 ntTrack -> SetBranchAddress("nlmms", &trk_nlmms);
0128 ntTrack -> SetBranchAddress("layers", &trk_layers);
0129 ntTrack -> SetBranchAddress("vertexID", &trk_vertexID);
0130 ntTrack -> SetBranchAddress("vx", &trk_vx);
0131 ntTrack -> SetBranchAddress("vy", &trk_vy);
0132 ntTrack -> SetBranchAddress("vz", &trk_vz);
0133 ntTrack -> SetBranchAddress("dca2d", &trk_dca2d);
0134 ntTrack -> SetBranchAddress("dca2dsigma", &trk_dca2dsigma);
0135 ntTrack -> SetBranchAddress("dca3dxy", &trk_dca3dxy);
0136 ntTrack -> SetBranchAddress("dca3dxysigma", &trk_dca3dxysigma);
0137 ntTrack -> SetBranchAddress("dca3dz", &trk_dca3dz);
0138 ntTrack -> SetBranchAddress("dca3dzsigma", &trk_dca3dzsigma);
0139 ntTrack -> SetBranchAddress("pcax", &trk_pcax);
0140 ntTrack -> SetBranchAddress("pcay", &trk_pcay);
0141 ntTrack -> SetBranchAddress("pcaz", &trk_pcaz);
0142 ntTrack -> SetBranchAddress("gtrackID", &trk_gtrackID);
0143 ntTrack -> SetBranchAddress("gflavor", &trk_gflavor);
0144 ntTrack -> SetBranchAddress("gnhits", &trk_gnhits);
0145 ntTrack -> SetBranchAddress("gnmaps", &trk_gnmaps);
0146 ntTrack -> SetBranchAddress("gnintt", &trk_gnintt);
0147 ntTrack -> SetBranchAddress("gntpc", &trk_gntpc);
0148 ntTrack -> SetBranchAddress("gnmms", &trk_gnmms);
0149 ntTrack -> SetBranchAddress("gnlmaps", &trk_gnlmaps);
0150 ntTrack -> SetBranchAddress("gnlintt", &trk_gnlintt);
0151 ntTrack -> SetBranchAddress("gnltpc", &trk_gnltpc);
0152 ntTrack -> SetBranchAddress("gnlmms", &trk_gnlmms);
0153 ntTrack -> SetBranchAddress("gpx", &trk_gpx);
0154 ntTrack -> SetBranchAddress("gpy", &trk_gpy);
0155 ntTrack -> SetBranchAddress("gpz", &trk_gpz);
0156 ntTrack -> SetBranchAddress("gpt", &trk_gpt);
0157 ntTrack -> SetBranchAddress("geta", &trk_geta);
0158 ntTrack -> SetBranchAddress("gphi", &trk_gphi);
0159 ntTrack -> SetBranchAddress("gvx", &trk_gvx);
0160 ntTrack -> SetBranchAddress("gvy", &trk_gvy);
0161 ntTrack -> SetBranchAddress("gvz", &trk_gvz);
0162 ntTrack -> SetBranchAddress("gvt", &trk_gvt);
0163 ntTrack -> SetBranchAddress("gfpx", &trk_gfpx);
0164 ntTrack -> SetBranchAddress("gfpy", &trk_gfpy);
0165 ntTrack -> SetBranchAddress("gfpz", &trk_gfpz);
0166 ntTrack -> SetBranchAddress("gfx", &trk_gfx);
0167 ntTrack -> SetBranchAddress("gfy", &trk_gfy);
0168 ntTrack -> SetBranchAddress("gfz", &trk_gfz);
0169 ntTrack -> SetBranchAddress("gembed", &trk_gembed);
0170 ntTrack -> SetBranchAddress("gprimary", &trk_gprimary);
0171 ntTrack -> SetBranchAddress("nfromtruth", &trk_nfromtruth);
0172 ntTrack -> SetBranchAddress("nwrong", &trk_nwrong);
0173 ntTrack -> SetBranchAddress("ntrumaps", &trk_ntrumaps);
0174 ntTrack -> SetBranchAddress("ntruintt", &trk_ntruintt);
0175 ntTrack -> SetBranchAddress("ntrutpc", &trk_ntrutpc);
0176 ntTrack -> SetBranchAddress("ntrumms", &trk_ntrumms);
0177 ntTrack -> SetBranchAddress("ntrutpc1", &trk_ntrutpc1);
0178 ntTrack -> SetBranchAddress("ntrutpc11", &trk_ntrutpc11);
0179 ntTrack -> SetBranchAddress("ntrutpc2", &trk_ntrutpc2);
0180 ntTrack -> SetBranchAddress("ntrutpc3", &trk_ntrutpc3);
0181 ntTrack -> SetBranchAddress("layersfromtruth", &trk_layersfromtruth);
0182 ntTrack -> SetBranchAddress("nhittpcall", &trk_nhittpcall);
0183 ntTrack -> SetBranchAddress("nhittpcin", &trk_nhittpcin);
0184 ntTrack -> SetBranchAddress("nhittpcmid", &trk_nhittpcmid);
0185 ntTrack -> SetBranchAddress("nhittpcout", &trk_nhittpcout);
0186 ntTrack -> SetBranchAddress("nclusall", &trk_nclusall);
0187 ntTrack -> SetBranchAddress("nclustpc", &trk_nclustpc);
0188 ntTrack -> SetBranchAddress("nclusintt", &trk_nclusintt);
0189 ntTrack -> SetBranchAddress("nclusmaps", &trk_nclusmaps);
0190 ntTrack -> SetBranchAddress("nclusmms", &trk_nclusmms);
0191
0192
0193 ntTruth -> SetBranchAddress("event", &tru_event);
0194 ntTruth -> SetBranchAddress("seed", &tru_seed);
0195 ntTruth -> SetBranchAddress("gntracks", &tru_gntracks);
0196 ntTruth -> SetBranchAddress("gtrackID", &tru_gtrackID);
0197 ntTruth -> SetBranchAddress("gflavor", &tru_gflavor);
0198 ntTruth -> SetBranchAddress("gnhits", &tru_gnhits);
0199 ntTruth -> SetBranchAddress("gnmaps", &tru_gnmaps);
0200 ntTruth -> SetBranchAddress("gnintt", &tru_gnintt);
0201 ntTruth -> SetBranchAddress("gnmms", &tru_gnmms);
0202 ntTruth -> SetBranchAddress("gnintt1", &tru_gnintt1);
0203 ntTruth -> SetBranchAddress("gnintt2", &tru_gnintt2);
0204 ntTruth -> SetBranchAddress("gnintt3", &tru_gnintt3);
0205 ntTruth -> SetBranchAddress("gnintt4", &tru_gnintt4);
0206 ntTruth -> SetBranchAddress("gnintt5", &tru_gnintt5);
0207 ntTruth -> SetBranchAddress("gnintt6", &tru_gnintt6);
0208 ntTruth -> SetBranchAddress("gnintt7", &tru_gnintt7);
0209 ntTruth -> SetBranchAddress("gnintt8", &tru_gnintt8);
0210 ntTruth -> SetBranchAddress("gntpc", &tru_gntpc);
0211 ntTruth -> SetBranchAddress("gnlmaps", &tru_gnlmaps);
0212 ntTruth -> SetBranchAddress("gnlintt", &tru_gnlintt);
0213 ntTruth -> SetBranchAddress("gnltpc", &tru_gnltpc);
0214 ntTruth -> SetBranchAddress("gnlmms", &tru_gnlmms);
0215 ntTruth -> SetBranchAddress("gpx", &tru_gpx);
0216 ntTruth -> SetBranchAddress("gpy", &tru_gpy);
0217 ntTruth -> SetBranchAddress("gpz", &tru_gpz);
0218 ntTruth -> SetBranchAddress("gpt", &tru_gpt);
0219 ntTruth -> SetBranchAddress("geta", &tru_geta);
0220 ntTruth -> SetBranchAddress("gphi", &tru_gphi);
0221 ntTruth -> SetBranchAddress("gvx", &tru_gvx);
0222 ntTruth -> SetBranchAddress("gvy", &tru_gvy);
0223 ntTruth -> SetBranchAddress("gvz", &tru_gvz);
0224 ntTruth -> SetBranchAddress("gvt", &tru_gvt);
0225 ntTruth -> SetBranchAddress("gfpx", &tru_gfpx);
0226 ntTruth -> SetBranchAddress("gfpy", &tru_gfpy);
0227 ntTruth -> SetBranchAddress("gfpz", &tru_gfpz);
0228 ntTruth -> SetBranchAddress("gfx", &tru_gfx);
0229 ntTruth -> SetBranchAddress("gfy", &tru_gfy);
0230 ntTruth -> SetBranchAddress("gfz", &tru_gfz);
0231 ntTruth -> SetBranchAddress("gembed", &tru_gembed);
0232 ntTruth -> SetBranchAddress("gprimary", &tru_gprimary);
0233 ntTruth -> SetBranchAddress("trackID", &tru_trackID);
0234 ntTruth -> SetBranchAddress("px", &tru_px);
0235 ntTruth -> SetBranchAddress("py", &tru_py);
0236 ntTruth -> SetBranchAddress("pz", &tru_pz);
0237 ntTruth -> SetBranchAddress("pt", &tru_pt);
0238 ntTruth -> SetBranchAddress("eta", &tru_eta);
0239 ntTruth -> SetBranchAddress("phi", &tru_phi);
0240 ntTruth -> SetBranchAddress("deltapt", &tru_deltapt);
0241 ntTruth -> SetBranchAddress("deltaeta", &tru_deltaeta);
0242 ntTruth -> SetBranchAddress("deltaphi", &tru_deltaphi);
0243 ntTruth -> SetBranchAddress("charge", &tru_charge);
0244 ntTruth -> SetBranchAddress("quality", &tru_quality);
0245 ntTruth -> SetBranchAddress("chisq", &tru_chisq);
0246 ntTruth -> SetBranchAddress("ndf", &tru_ndf);
0247 ntTruth -> SetBranchAddress("nhits", &tru_nhits);
0248 ntTruth -> SetBranchAddress("layers", &tru_layers);
0249 ntTruth -> SetBranchAddress("nmaps", &tru_nmaps);
0250 ntTruth -> SetBranchAddress("nintt", &tru_nintt);
0251 ntTruth -> SetBranchAddress("ntpc", &tru_ntpc);
0252 ntTruth -> SetBranchAddress("nmms", &tru_nmms);
0253 ntTruth -> SetBranchAddress("ntpc1", &tru_ntpc1);
0254 ntTruth -> SetBranchAddress("ntpc11", &tru_ntpc11);
0255 ntTruth -> SetBranchAddress("ntpc2", &tru_ntpc2);
0256 ntTruth -> SetBranchAddress("ntpc3", &tru_ntpc3);
0257 ntTruth -> SetBranchAddress("nlmaps", &tru_nlmaps);
0258 ntTruth -> SetBranchAddress("nlintt", &tru_nlintt);
0259 ntTruth -> SetBranchAddress("nltpc", &tru_nltpc);
0260 ntTruth -> SetBranchAddress("nlmms", &tru_nlmms);
0261 ntTruth -> SetBranchAddress("vertexID", &tru_vertexID);
0262 ntTruth -> SetBranchAddress("vx", &tru_vx);
0263 ntTruth -> SetBranchAddress("vy", &tru_vy);
0264 ntTruth -> SetBranchAddress("vz", &tru_vz);
0265 ntTruth -> SetBranchAddress("dca2d", &tru_dca2d);
0266 ntTruth -> SetBranchAddress("dca2dsigma", &tru_dca2dsigma);
0267 ntTruth -> SetBranchAddress("dca3dxy", &tru_dca3dxy);
0268 ntTruth -> SetBranchAddress("dca3dxysigma", &tru_dca3dxysigma);
0269 ntTruth -> SetBranchAddress("dca3dz", &tru_dca3dz);
0270 ntTruth -> SetBranchAddress("dca3dzsigma", &tru_dca3dzsigma);
0271 ntTruth -> SetBranchAddress("pcax", &tru_pcax);
0272 ntTruth -> SetBranchAddress("pcay", &tru_pcay);
0273 ntTruth -> SetBranchAddress("pcaz", &tru_pcaz);
0274 ntTruth -> SetBranchAddress("nfromtruth", &tru_nfromtruth);
0275 ntTruth -> SetBranchAddress("nwrong", &tru_nwrong);
0276 ntTruth -> SetBranchAddress("ntrumaps", &tru_ntrumaps);
0277 ntTruth -> SetBranchAddress("ntruintt", &tru_ntruintt);
0278 ntTruth -> SetBranchAddress("ntrutpc", &tru_ntrutpc);
0279 ntTruth -> SetBranchAddress("ntrumms", &tru_ntrumms);
0280 ntTruth -> SetBranchAddress("ntrutpc1", &tru_ntrutpc1);
0281 ntTruth -> SetBranchAddress("ntrutpc11", &tru_ntrutpc11);
0282 ntTruth -> SetBranchAddress("ntrutpc2", &tru_ntrutpc2);
0283 ntTruth -> SetBranchAddress("ntrutpc3", &tru_ntrutpc3);
0284 ntTruth -> SetBranchAddress("layersfromtruth", &tru_layersfromtruth);
0285 ntTruth -> SetBranchAddress("nhittpcall", &tru_nhittpcall);
0286 ntTruth -> SetBranchAddress("nhittpcin", &tru_nhittpcin);
0287 ntTruth -> SetBranchAddress("nhittpcmid", &tru_nhittpcmid);
0288 ntTruth -> SetBranchAddress("nhittpcout", &tru_nhittpcout);
0289 ntTruth -> SetBranchAddress("nclusall", &tru_nclusall);
0290 ntTruth -> SetBranchAddress("nclustpc", &tru_nclustpc);
0291 ntTruth -> SetBranchAddress("nclusintt", &tru_nclusintt);
0292 ntTruth -> SetBranchAddress("nclusmaps", &tru_nclusmaps);
0293 ntTruth -> SetBranchAddress("nclusmms", &tru_nclusmms);
0294
0295 cout << " Initialized input tuples." << endl;
0296 return;
0297
0298 }
0299
0300
0301
0302 void SDeltaPtCutStudy::InitHists() {
0303
0304
0305 const uint64_t nPtBins(1000);
0306 const uint64_t nFracBins(1000);
0307 const uint64_t nDeltaBins(5000);
0308 const float rPtBins[Const::NRange] = {0., 100.};
0309 const float rFracBins[Const::NRange] = {0., 10.};
0310 const float rDeltaBins[Const::NRange] = {0., 5.};
0311
0312
0313 TString sPtTruth("h");
0314 TString sPtDelta("h");
0315 TString sPtTrack("h");
0316 TString sPtFrac("h");
0317 TString sPtTrkTru("h");
0318 sPtTruth.Append(sPtTrueBase.Data());
0319 sPtDelta.Append(sPtDeltaBase.Data());
0320 sPtTrack.Append(sPtRecoBase.Data());
0321 sPtFrac.Append(sPtFracBase.Data());
0322 sPtTrkTru.Append(sPtTrkTruBase.Data());
0323
0324 TString sPtDeltaVsFrac("h");
0325 TString sPtDeltaVsTrue("h");
0326 TString sPtDeltaVsTrack("h");
0327 TString sPtTrueVsTrack("h");
0328 sPtDeltaVsFrac.Append(sPtDeltaBase.Data());
0329 sPtDeltaVsTrue.Append(sPtDeltaBase.Data());
0330 sPtDeltaVsTrack.Append(sPtDeltaBase.Data());
0331 sPtTrueVsTrack.Append(sPtTrueBase.Data());
0332 sPtDeltaVsFrac.Append("Vs");
0333 sPtDeltaVsTrue.Append("Vs");
0334 sPtDeltaVsTrack.Append("Vs");
0335 sPtTrueVsTrack.Append("Vs");
0336 sPtDeltaVsFrac.Append(sPtFracBase.Data());
0337 sPtDeltaVsTrue.Append(sPtTrueBase.Data());
0338 sPtDeltaVsTrack.Append(sPtRecoBase.Data());
0339 sPtTrueVsTrack.Append(sPtRecoBase.Data());
0340
0341
0342 for (size_t iProj = 0; iProj < nProj; iProj++) {
0343 sPtProj[iProj] = "h";
0344 sPtProj[iProj].Append(sPtProjBase.Data());
0345 sPtProj[iProj].Append(sProjSuffix[iProj].Data());
0346 }
0347
0348
0349 vector<TString> sPtDeltaCut(nDPtCuts);
0350 vector<TString> sPtTrackCut(nDPtCuts);
0351 vector<TString> sPtFracCut(nDPtCuts);
0352 vector<TString> sPtTrkTruCut(nDPtCuts);
0353 vector<TString> sPtDeltaVsFracCut(nDPtCuts);
0354 vector<TString> sPtDeltaVsTrueCut(nDPtCuts);
0355 vector<TString> sPtDeltaVsTrackCut(nDPtCuts);
0356 vector<TString> sPtTrueVsTrackCut(nDPtCuts);
0357 for (size_t iCut = 0; iCut < nDPtCuts; iCut++) {
0358 sPtDeltaCut[iCut] = "h";
0359 sPtTrackCut[iCut] = "h";
0360 sPtFracCut[iCut] = "h";
0361 sPtTrkTruCut[iCut] = "h";
0362 sPtDeltaCut[iCut].Append(sPtDeltaBase.Data());
0363 sPtTrackCut[iCut].Append(sPtRecoBase.Data());
0364 sPtFracCut[iCut].Append(sPtFracBase.Data());
0365 sPtTrkTruCut[iCut].Append(sPtTrkTruBase.Data());
0366 sPtDeltaCut[iCut].Append(sDPtSuffix[iCut].Data());
0367 sPtTrackCut[iCut].Append(sDPtSuffix[iCut].Data());
0368 sPtFracCut[iCut].Append(sDPtSuffix[iCut].Data());
0369 sPtTrkTruCut[iCut].Append(sDPtSuffix[iCut].Data());
0370
0371 sPtDeltaVsFracCut[iCut] = "h";
0372 sPtDeltaVsTrueCut[iCut] = "h";
0373 sPtDeltaVsTrackCut[iCut] = "h";
0374 sPtTrueVsTrackCut[iCut] = "h";
0375 sPtDeltaVsFracCut[iCut].Append(sPtDeltaBase.Data());
0376 sPtDeltaVsFracCut[iCut].Append(sPtDeltaBase.Data());
0377 sPtDeltaVsTrueCut[iCut].Append(sPtDeltaBase.Data());
0378 sPtDeltaVsTrackCut[iCut].Append(sPtDeltaBase.Data());
0379 sPtTrueVsTrackCut[iCut].Append(sPtTrueBase.Data());
0380 sPtDeltaVsFracCut[iCut].Append("Vs");
0381 sPtDeltaVsTrueCut[iCut].Append("Vs");
0382 sPtDeltaVsTrackCut[iCut].Append("Vs");
0383 sPtTrueVsTrackCut[iCut].Append("Vs");
0384 sPtDeltaVsFracCut[iCut].Append(sPtFracBase.Data());
0385 sPtDeltaVsTrueCut[iCut].Append(sPtTrueBase.Data());
0386 sPtDeltaVsTrackCut[iCut].Append(sPtRecoBase.Data());
0387 sPtTrueVsTrackCut[iCut].Append(sPtRecoBase.Data());
0388 sPtDeltaVsFracCut[iCut].Append(sDPtSuffix[iCut].Data());
0389 sPtDeltaVsTrueCut[iCut].Append(sDPtSuffix[iCut].Data());
0390 sPtDeltaVsTrackCut[iCut].Append(sDPtSuffix[iCut].Data());
0391 sPtTrueVsTrackCut[iCut].Append(sDPtSuffix[iCut].Data());
0392 }
0393
0394
0395 vector<TString> sPtDeltaSig(nSigCuts);
0396 vector<TString> sPtTrackSig(nSigCuts);
0397 vector<TString> sPtFracSig(nSigCuts);
0398 vector<TString> sPtTrkTruSig(nSigCuts);
0399 vector<TString> sPtDeltaVsFracSig(nSigCuts);
0400 vector<TString> sPtDeltaVsTrueSig(nSigCuts);
0401 vector<TString> sPtDeltaVsTrackSig(nSigCuts);
0402 vector<TString> sPtTrueVsTrackSig(nSigCuts);
0403 for (size_t iSig = 0; iSig < nSigCuts; iSig++) {
0404 sPtDeltaSig[iSig] = "h";
0405 sPtTrackSig[iSig] = "h";
0406 sPtFracSig[iSig] = "h";
0407 sPtTrkTruSig[iSig] = "h";
0408 sPtDeltaSig[iSig].Append(sPtDeltaBase.Data());
0409 sPtTrackSig[iSig].Append(sPtRecoBase.Data());
0410 sPtFracSig[iSig].Append(sPtFracBase.Data());
0411 sPtTrkTruSig[iSig].Append(sPtTrkTruBase.Data());
0412 sPtDeltaSig[iSig].Append(sSigSuffix[iSig].Data());
0413 sPtTrackSig[iSig].Append(sSigSuffix[iSig].Data());
0414 sPtFracSig[iSig].Append(sSigSuffix[iSig].Data());
0415 sPtTrkTruSig[iSig].Append(sSigSuffix[iSig].Data());
0416
0417 sPtDeltaVsFracSig[iSig] = "h";
0418 sPtDeltaVsTrueSig[iSig] = "h";
0419 sPtDeltaVsTrackSig[iSig] = "h";
0420 sPtTrueVsTrackSig[iSig] = "h";
0421 sPtDeltaVsFracSig[iSig].Append(sPtDeltaBase.Data());
0422 sPtDeltaVsFracSig[iSig].Append(sPtDeltaBase.Data());
0423 sPtDeltaVsTrueSig[iSig].Append(sPtDeltaBase.Data());
0424 sPtDeltaVsTrackSig[iSig].Append(sPtDeltaBase.Data());
0425 sPtTrueVsTrackSig[iSig].Append(sPtTrueBase.Data());
0426 sPtDeltaVsFracSig[iSig].Append("Vs");
0427 sPtDeltaVsTrueSig[iSig].Append("Vs");
0428 sPtDeltaVsTrackSig[iSig].Append("Vs");
0429 sPtTrueVsTrackSig[iSig].Append("Vs");
0430 sPtDeltaVsFracSig[iSig].Append(sPtFracBase.Data());
0431 sPtDeltaVsTrueSig[iSig].Append(sPtTrueBase.Data());
0432 sPtDeltaVsTrackSig[iSig].Append(sPtRecoBase.Data());
0433 sPtTrueVsTrackSig[iSig].Append(sPtRecoBase.Data());
0434 sPtDeltaVsFracSig[iSig].Append(sSigSuffix[iSig].Data());
0435 sPtDeltaVsTrueSig[iSig].Append(sSigSuffix[iSig].Data());
0436 sPtDeltaVsTrackSig[iSig].Append(sSigSuffix[iSig].Data());
0437 sPtTrueVsTrackSig[iSig].Append(sSigSuffix[iSig].Data());
0438 }
0439
0440
0441 hPtTruth = new TH1D(sPtTruth.Data(), "", nPtBins, rPtBins[0], rPtBins[1]);
0442 hPtDelta = new TH1D(sPtDelta.Data(), "", nDeltaBins, rDeltaBins[0], rDeltaBins[1]);
0443 hPtTrack = new TH1D(sPtTrack.Data(), "", nPtBins, rPtBins[0], rPtBins[1]);
0444 hPtFrac = new TH1D(sPtFrac.Data(), "", nFracBins, rFracBins[0], rFracBins[1]);
0445 hPtTrkTru = new TH1D(sPtTrkTru.Data(), "", nPtBins, rPtBins[0], rPtBins[1]);
0446 hPtTruth -> Sumw2();
0447 hPtDelta -> Sumw2();
0448 hPtTrack -> Sumw2();
0449 hPtFrac -> Sumw2();
0450 hPtTrkTru -> Sumw2();
0451
0452 hPtDeltaVsFrac = new TH2D(sPtDeltaVsFrac.Data(), "", nFracBins, rFracBins[0], rFracBins[1], nDeltaBins, rDeltaBins[0], rDeltaBins[1]);
0453 hPtDeltaVsTrue = new TH2D(sPtDeltaVsTrue.Data(), "", nPtBins, rPtBins[0], rPtBins[1], nDeltaBins, rDeltaBins[0], rDeltaBins[1]);
0454 hPtDeltaVsTrack = new TH2D(sPtDeltaVsTrack.Data(), "", nPtBins, rPtBins[0], rPtBins[1], nDeltaBins, rDeltaBins[0], rDeltaBins[1]);
0455 hPtTrueVsTrack = new TH2D(sPtTrueVsTrack.Data(), "", nPtBins, rPtBins[0], rPtBins[1], nPtBins, rPtBins[0], rPtBins[1]);
0456 hPtDeltaVsFrac -> Sumw2();
0457 hPtDeltaVsTrue -> Sumw2();
0458 hPtDeltaVsTrack -> Sumw2();
0459 hPtTrueVsTrack -> Sumw2();
0460
0461
0462 for (size_t iProj = 0; iProj < nProj; iProj++) {
0463 hPtDeltaProj[iProj] = new TH1D(sPtProj[iProj].Data(), "", nDeltaBins, rDeltaBins[0], rDeltaBins[1]);
0464 hPtDeltaProj[iProj] -> Sumw2();
0465 }
0466
0467
0468 for (size_t iCut = 0; iCut < nDPtCuts; iCut++) {
0469 hPtDeltaCut[iCut] = new TH1D(sPtDeltaCut[iCut].Data(), "", nDeltaBins, rDeltaBins[0], rDeltaBins[1]);
0470 hPtTrackCut[iCut] = new TH1D(sPtTrackCut[iCut].Data(), "", nPtBins, rPtBins[0], rPtBins[1]);
0471 hPtFracCut[iCut] = new TH1D(sPtFracCut[iCut].Data(), "", nFracBins, rFracBins[0], rFracBins[1]);
0472 hPtTrkTruCut[iCut] = new TH1D(sPtTrkTruCut[iCut].Data(), "", nPtBins, rPtBins[0], rPtBins[1]);
0473 hPtDeltaCut[iCut] -> Sumw2();
0474 hPtTrackCut[iCut] -> Sumw2();
0475 hPtFracCut[iCut] -> Sumw2();
0476 hPtTrkTruCut[iCut] -> Sumw2();
0477
0478 hPtDeltaVsFracCut[iCut] = new TH2D(sPtDeltaVsFracCut[iCut].Data(), "", nFracBins, rFracBins[0], rFracBins[1], nDeltaBins, rDeltaBins[0], rDeltaBins[1]);
0479 hPtDeltaVsTrueCut[iCut] = new TH2D(sPtDeltaVsTrueCut[iCut].Data(), "", nPtBins, rPtBins[0], rPtBins[1], nDeltaBins, rDeltaBins[0], rDeltaBins[1]);
0480 hPtDeltaVsTrackCut[iCut] = new TH2D(sPtDeltaVsTrackCut[iCut].Data(), "", nPtBins, rPtBins[0], rPtBins[1], nDeltaBins, rDeltaBins[0], rDeltaBins[1]);
0481 hPtTrueVsTrackCut[iCut] = new TH2D(sPtTrueVsTrackCut[iCut].Data(), "", nPtBins, rPtBins[0], rPtBins[1], nPtBins, rPtBins[0], rPtBins[1]);
0482 hPtDeltaVsFracCut[iCut] -> Sumw2();
0483 hPtDeltaVsTrueCut[iCut] -> Sumw2();
0484 hPtDeltaVsTrackCut[iCut] -> Sumw2();
0485 hPtTrueVsTrackCut[iCut] -> Sumw2();
0486 }
0487
0488
0489 for (size_t iSig = 0; iSig < nSigCuts; iSig++) {
0490 hPtDeltaSig[iSig] = new TH1D(sPtDeltaSig[iSig].Data(), "", nDeltaBins, rDeltaBins[0], rDeltaBins[1]);
0491 hPtTrackSig[iSig] = new TH1D(sPtTrackSig[iSig].Data(), "", nPtBins, rPtBins[0], rPtBins[1]);
0492 hPtFracSig[iSig] = new TH1D(sPtFracSig[iSig].Data(), "", nFracBins, rFracBins[0], rFracBins[1]);
0493 hPtTrkTruSig[iSig] = new TH1D(sPtTrkTruSig[iSig].Data(), "", nPtBins, rPtBins[0], rPtBins[1]);
0494 hPtDeltaSig[iSig] -> Sumw2();
0495 hPtTrackSig[iSig] -> Sumw2();
0496 hPtFracSig[iSig] -> Sumw2();
0497 hPtTrkTruSig[iSig] -> Sumw2();
0498
0499 hPtDeltaVsFracSig[iSig] = new TH2D(sPtDeltaVsFracSig[iSig].Data(), "", nFracBins, rFracBins[0], rFracBins[1], nDeltaBins, rDeltaBins[0], rDeltaBins[1]);
0500 hPtDeltaVsTrueSig[iSig] = new TH2D(sPtDeltaVsTrueSig[iSig].Data(), "", nPtBins, rPtBins[0], rPtBins[1], nDeltaBins, rDeltaBins[0], rDeltaBins[1]);
0501 hPtDeltaVsTrackSig[iSig] = new TH2D(sPtDeltaVsTrackSig[iSig].Data(), "", nPtBins, rPtBins[0], rPtBins[1], nDeltaBins, rDeltaBins[0], rDeltaBins[1]);
0502 hPtTrueVsTrackSig[iSig] = new TH2D(sPtTrueVsTrackSig[iSig].Data(), "", nPtBins, rPtBins[0], rPtBins[1], nPtBins, rPtBins[0], rPtBins[1]);
0503 hPtDeltaVsFracSig[iSig] -> Sumw2();
0504 hPtDeltaVsTrueSig[iSig] -> Sumw2();
0505 hPtDeltaVsTrackSig[iSig] -> Sumw2();
0506 hPtTrueVsTrackSig[iSig] -> Sumw2();
0507 }
0508
0509 cout << " Initialized output histograms." << endl;
0510 return;
0511
0512 }
0513
0514