File indexing completed on 2024-04-06 12:33:22
0001
0002
0003
0004
0005
0006
0007 #include <memory>
0008 #include <string>
0009 #include <iostream>
0010 #include <TMath.h>
0011 #include "Validation/RecoTrack/interface/SiPixelTrackingRecHitsValid.h"
0012
0013 #include "DataFormats/TrajectorySeed/interface/TrajectorySeedCollection.h"
0014 #include "FWCore/Framework/interface/ESHandle.h"
0015 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
0016 #include "DataFormats/GeometryVector/interface/GlobalVector.h"
0017 #include "DataFormats/GeometryVector/interface/LocalVector.h"
0018 #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h"
0019 #include "Geometry/Records/interface/TrackerDigiGeometryRecord.h"
0020 #include "TrackingTools/Records/interface/TransientRecHitRecord.h"
0021 #include "Geometry/CommonDetUnit/interface/GluedGeomDet.h"
0022
0023 #include "DataFormats/TrackReco/interface/Track.h"
0024 #include "DataFormats/TrackReco/interface/TrackExtra.h"
0025 #include "DataFormats/DetId/interface/DetId.h"
0026 #include "DataFormats/GeometryVector/interface/LocalPoint.h"
0027 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
0028
0029 #include "DataFormats/TrackerRecHit2D/interface/SiPixelRecHit.h"
0030 #include "DataFormats/TrackerCommon/interface/TrackerTopology.h"
0031 #include "Geometry/Records/interface/TrackerTopologyRcd.h"
0032 #include "DataFormats/SiPixelDetId/interface/PixelSubdetector.h"
0033
0034 #include "Geometry/CommonDetUnit/interface/PixelGeomDetUnit.h"
0035
0036 #include "Geometry/Records/interface/TrackerDigiGeometryRecord.h"
0037
0038 #include "Geometry/TrackerGeometryBuilder/interface/PixelTopologyBuilder.h"
0039 #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h"
0040 #include "Geometry/CommonDetUnit/interface/GeomDetType.h"
0041 #include "Geometry/CommonDetUnit/interface/GeomDet.h"
0042
0043 #include <TTree.h>
0044 #include <TFile.h>
0045
0046
0047 void SiPixelTrackingRecHitsValid::endJob() {
0048 if (!debugNtuple_.empty()) {
0049 tfile_->Write();
0050 tfile_->Close();
0051 }
0052 }
0053
0054 void SiPixelTrackingRecHitsValid::beginJob() {
0055 if (!debugNtuple_.empty()) {
0056 tfile_ = new TFile(debugNtuple_.c_str(), "RECREATE");
0057
0058 t_ = new TTree("Ntuple", "Ntuple");
0059 int bufsize = 64000;
0060
0061 t_->Branch("subdetId", &subdetId, "subdetId/I", bufsize);
0062
0063 t_->Branch("layer", &layer, "layer/I", bufsize);
0064 t_->Branch("ladder", &ladder, "ladder/I", bufsize);
0065 t_->Branch("mod", &mod, "mod/I", bufsize);
0066 t_->Branch("side", &side, "side/I", bufsize);
0067 t_->Branch("disk", &disk, "disk/I", bufsize);
0068 t_->Branch("blade", &blade, "blade/I", bufsize);
0069 t_->Branch("panel", &panel, "panel/I", bufsize);
0070 t_->Branch("plaq", &plaq, "plaq/I", bufsize);
0071
0072 t_->Branch("rechitx", &rechitx, "rechitx/F", bufsize);
0073 t_->Branch("rechity", &rechity, "rechity/F", bufsize);
0074 t_->Branch("rechitz", &rechitz, "rechitz/F", bufsize);
0075 t_->Branch("rechiterrx", &rechiterrx, "rechiterrx/F", bufsize);
0076 t_->Branch("rechiterry", &rechiterry, "rechiterry/F", bufsize);
0077 t_->Branch("rechitresx", &rechitresx, "rechitresx/F", bufsize);
0078 t_->Branch("rechitresy", &rechitresy, "rechitresy/F", bufsize);
0079 t_->Branch("rechitpullx", &rechitpullx, "rechitpullx/F", bufsize);
0080 t_->Branch("rechitpully", &rechitpully, "rechitpully/F", bufsize);
0081
0082 t_->Branch("npix", &npix, "npix/I", bufsize);
0083 t_->Branch("nxpix", &nxpix, "nxpix/I", bufsize);
0084 t_->Branch("nypix", &nypix, "nypix/I", bufsize);
0085 t_->Branch("charge", &charge, "charge/F", bufsize);
0086
0087 t_->Branch("alpha", &alpha, "alpha/F", bufsize);
0088 t_->Branch("beta", &beta, "beta/F", bufsize);
0089
0090 t_->Branch("phi", &phi, "phi/F", bufsize);
0091 t_->Branch("eta", &eta, "eta/F", bufsize);
0092
0093 t_->Branch("half", &half, "half/I", bufsize);
0094 t_->Branch("flipped", &flipped, "flipped/I", bufsize);
0095
0096 t_->Branch("simhitx", &simhitx, "simhitx/F", bufsize);
0097 t_->Branch("simhity", &simhity, "simhity/F", bufsize);
0098
0099 t_->Branch("nsimhit", &nsimhit, "nsimhit/I", bufsize);
0100 t_->Branch("pidhit", &pidhit, "pidhit/I", bufsize);
0101
0102 t_->Branch("evt", &evt, "evt/I", bufsize);
0103 t_->Branch("run", &run, "run/I", bufsize);
0104 }
0105 }
0106
0107 SiPixelTrackingRecHitsValid::SiPixelTrackingRecHitsValid(const edm::ParameterSet& ps)
0108 : tTopoEsToken_(esConsumes()),
0109 tGeomEsToken_(esConsumes()),
0110 trackerHitAssociatorConfig_(ps, consumesCollector()),
0111 dbe_(nullptr),
0112 tfile_(nullptr),
0113 t_(nullptr) {
0114
0115 MTCCtrack_ = ps.getParameter<bool>("MTCCtrack");
0116 runStandalone = ps.getParameter<bool>("runStandalone");
0117 outputFile_ = ps.getUntrackedParameter<std::string>("outputFile", "pixeltrackingrechitshisto.root");
0118 siPixelRecHitCollectionToken_ = consumes<SiPixelRecHitCollection>(edm::InputTag("siPixelRecHits"));
0119 recoTrackCollectionToken_ =
0120 consumes<reco::TrackCollection>(edm::InputTag(ps.getUntrackedParameter<std::string>("src")));
0121 builderName_ = ps.getParameter<std::string>("TTRHBuilder");
0122 checkType_ = ps.getParameter<bool>("checkType");
0123 genType_ = ps.getParameter<int>("genType");
0124 debugNtuple_ = ps.getUntrackedParameter<std::string>("debugNtuple", "SiPixelTrackingRecHitsValid_Ntuple.root");
0125 }
0126
0127 void SiPixelTrackingRecHitsValid::bookHistograms(DQMStore::IBooker& ibooker,
0128 const edm::Run& run,
0129 const edm::EventSetup& es) {
0130
0131 dbe_ = edm::Service<DQMStore>().operator->();
0132
0133
0134
0135
0136
0137
0138 float xl = -1.0;
0139 float xh = 1.0;
0140 float errxl = 0.0;
0141 float errxh = 0.003;
0142 float resxl = -0.02;
0143 float resxh = 0.02;
0144 float pullxl = -10.0;
0145 float pullxh = 10.0;
0146
0147 float yl = -4.0;
0148 float yh = 4.0;
0149 float erryl = 0.0;
0150 float erryh = 0.010;
0151 float resyl = -0.04;
0152 float resyh = 0.04;
0153 float pullyl = -10.0;
0154 float pullyh = 10.0;
0155
0156 float barrel_alphal = 80.0;
0157 float barrel_alphah = 100.0;
0158 float barrel_betal = 10.0;
0159 float barrel_betah = 170.0;
0160
0161
0162
0163
0164
0165 float forward_p1_alphal = 100.0;
0166 float forward_p1_alphah = 115.0;
0167 float forward_p2_alphal = 65.0;
0168 float forward_p2_alphah = 80.0;
0169 float forward_neg_betal = 67.0;
0170 float forward_neg_betah = 73.0;
0171 float forward_pos_betal = 107.0;
0172 float forward_pos_betah = 113.0;
0173
0174
0175
0176
0177
0178
0179
0180
0181 float pull_barrel_alphal = 80.0;
0182 float pull_barrel_alphah = 100.0;
0183 float pull_barrel_betal = 10.0;
0184 float pull_barrel_betah = 170.0;
0185 float pull_barrel_phil = -180.0;
0186 float pull_barrel_phih = 180.0;
0187 float pull_barrel_etal = -2.4;
0188 float pull_barrel_etah = 2.4;
0189
0190 float pull_forward_p1_alphal = 100.0;
0191 float pull_forward_p1_alphah = 112.0;
0192 float pull_forward_p2_alphal = 68.0;
0193 float pull_forward_p2_alphah = 80.0;
0194 float pull_forward_neg_betal = 68.0;
0195 float pull_forward_neg_betah = 72.0;
0196 float pull_forward_pos_betal = 108.0;
0197 float pull_forward_pos_betah = 112.0;
0198 float pull_forward_phil = -180.0;
0199 float pull_forward_phih = 180.0;
0200 float pull_forward_neg_etal = -2.4;
0201 float pull_forward_neg_etah = -1.4;
0202 float pull_forward_pos_etal = 1.5;
0203 float pull_forward_pos_etah = 2.5;
0204
0205 int npixl = 0;
0206 int npixh = 20;
0207 int nxpixl = 0;
0208 int nxpixh = 10;
0209 int nypixl = 0;
0210 int nypixh = 20;
0211
0212 float barrel_chargel = 0.0;
0213 float barrel_chargeh = 250000.0;
0214 float forward_chargel = 0.0;
0215 float forward_chargeh = 100000.0;
0216
0217 ibooker.setCurrentFolder("Tracking/TrackingRecHits/Pixel/Histograms_per_ring-layer_or_disk-plaquette");
0218
0219
0220 for (int i = 0; i < 3; i++)
0221 {
0222 Char_t chisto[100];
0223
0224 sprintf(chisto, "meResxBarrelLayer_%d", i + 1);
0225 meResxBarrelLayer[i] = ibooker.book1D(chisto, chisto, 100, resxl, resxh);
0226 sprintf(chisto, "meResyBarrelLayer_%d", i + 1);
0227 meResyBarrelLayer[i] = ibooker.book1D(chisto, chisto, 100, resyl, resyh);
0228 sprintf(chisto, "mePullxBarrelLayer_%d", i + 1);
0229 mePullxBarrelLayer[i] = ibooker.book1D(chisto, chisto, 100, pullxl, pullxh);
0230 sprintf(chisto, "mePullyBarrelLayer_%d", i + 1);
0231 mePullyBarrelLayer[i] = ibooker.book1D(chisto, chisto, 100, pullyl, pullyh);
0232
0233 sprintf(chisto, "meResXvsAlphaBarrelFlippedLaddersLayer_%d", i + 1);
0234 meResXvsAlphaBarrelFlippedLaddersLayer[i] =
0235 ibooker.bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resxh, "");
0236 sprintf(chisto, "meResYvsAlphaBarrelFlippedLaddersLayer_%d", i + 1);
0237 meResYvsAlphaBarrelFlippedLaddersLayer[i] =
0238 ibooker.bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resyh, "");
0239 sprintf(chisto, "meResXvsBetaBarrelFlippedLaddersLayer_%d", i + 1);
0240 meResXvsBetaBarrelFlippedLaddersLayer[i] =
0241 ibooker.bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resxh, "");
0242 sprintf(chisto, "meResYvsBetaBarrelFlippedLaddersLayer_%d", i + 1);
0243 meResYvsBetaBarrelFlippedLaddersLayer[i] =
0244 ibooker.bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resyh, "");
0245
0246 sprintf(chisto, "meResXvsAlphaBarrelNonFlippedLaddersLayer_%d", i + 1);
0247 meResXvsAlphaBarrelNonFlippedLaddersLayer[i] =
0248 ibooker.bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resxh, "");
0249 sprintf(chisto, "meResYvsAlphaBarrelNonFlippedLaddersLayer_%d", i + 1);
0250 meResYvsAlphaBarrelNonFlippedLaddersLayer[i] =
0251 ibooker.bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resyh, "");
0252 sprintf(chisto, "meResXvsBetaBarrelNonFlippedLaddersLayer_%d", i + 1);
0253 meResXvsBetaBarrelNonFlippedLaddersLayer[i] =
0254 ibooker.bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resxh, "");
0255 sprintf(chisto, "meResYvsBetaBarrelNonFlippedLaddersLayer_%d", i + 1);
0256 meResYvsBetaBarrelNonFlippedLaddersLayer[i] =
0257 ibooker.bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resyh, "");
0258
0259 for (int j = 0; j < 8; j++)
0260 {
0261 sprintf(chisto, "mePosxBarrelLayerModule_%d_%d", i + 1, j + 1);
0262 mePosxBarrelLayerModule[i][j] = ibooker.book1D(chisto, chisto, 100, xl, xh);
0263 sprintf(chisto, "mePosyBarrelLayerModule_%d_%d", i + 1, j + 1);
0264 mePosyBarrelLayerModule[i][j] = ibooker.book1D(chisto, chisto, 100, yl, yh);
0265 sprintf(chisto, "meErrxBarrelLayerModule_%d_%d", i + 1, j + 1);
0266 meErrxBarrelLayerModule[i][j] = ibooker.book1D(chisto, chisto, 100, errxl, errxh);
0267 sprintf(chisto, "meErryBarrelLayerModule_%d_%d", i + 1, j + 1);
0268 meErryBarrelLayerModule[i][j] = ibooker.book1D(chisto, chisto, 100, erryl, erryh);
0269 sprintf(chisto, "meResxBarrelLayerModule_%d_%d", i + 1, j + 1);
0270 meResxBarrelLayerModule[i][j] = ibooker.book1D(chisto, chisto, 100, resxl, resxh);
0271 sprintf(chisto, "meResyBarrelLayerModule_%d_%d", i + 1, j + 1);
0272 meResyBarrelLayerModule[i][j] = ibooker.book1D(chisto, chisto, 100, resyl, resyh);
0273 sprintf(chisto, "mePullxBarrelLayerModule_%d_%d", i + 1, j + 1);
0274 mePullxBarrelLayerModule[i][j] = ibooker.book1D(chisto, chisto, 100, pullxl, pullxh);
0275 sprintf(chisto, "mePullyBarrelLayerModule_%d_%d", i + 1, j + 1);
0276 mePullyBarrelLayerModule[i][j] = ibooker.book1D(chisto, chisto, 100, pullyl, pullyh);
0277 sprintf(chisto, "meNpixBarrelLayerModule_%d_%d", i + 1, j + 1);
0278 meNpixBarrelLayerModule[i][j] = ibooker.book1D(chisto, chisto, 100, npixl, npixh);
0279 sprintf(chisto, "meNxpixBarrelLayerModule_%d_%d", i + 1, j + 1);
0280 meNxpixBarrelLayerModule[i][j] = ibooker.book1D(chisto, chisto, 100, nxpixl, nxpixh);
0281 sprintf(chisto, "meNypixBarrelLayerModule_%d_%d", i + 1, j + 1);
0282 meNypixBarrelLayerModule[i][j] = ibooker.book1D(chisto, chisto, 100, nypixl, nypixh);
0283 sprintf(chisto, "meChargeBarrelLayerModule_%d_%d", i + 1, j + 1);
0284 meChargeBarrelLayerModule[i][j] = ibooker.book1D(chisto, chisto, 100, barrel_chargel, barrel_chargeh);
0285
0286 sprintf(chisto, "meResXvsAlphaBarrelLayerModule_%d_%d", i + 1, j + 1);
0287 meResXvsAlphaBarrelLayerModule[i][j] =
0288 ibooker.bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resxh, "");
0289 sprintf(chisto, "meResYvsAlphaBarrelLayerModule_%d_%d", i + 1, j + 1);
0290 meResYvsAlphaBarrelLayerModule[i][j] =
0291 ibooker.bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resyh, "");
0292 sprintf(chisto, "meResXvsBetaBarrelLayerModule_%d_%d", i + 1, j + 1);
0293 meResXvsBetaBarrelLayerModule[i][j] =
0294 ibooker.bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resxh, "");
0295 sprintf(chisto, "meResYvsBetaBarrelLayerModule_%d_%d", i + 1, j + 1);
0296 meResYvsBetaBarrelLayerModule[i][j] =
0297 ibooker.bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resyh, "");
0298
0299 sprintf(chisto, "mePullXvsAlphaBarrelLayerModule_%d_%d", i + 1, j + 1);
0300 mePullXvsAlphaBarrelLayerModule[i][j] =
0301 ibooker.bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullxl, pullxh, "");
0302 sprintf(chisto, "mePullYvsAlphaBarrelLayerModule_%d_%d", i + 1, j + 1);
0303 mePullYvsAlphaBarrelLayerModule[i][j] =
0304 ibooker.bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullyl, pullyh, "");
0305 sprintf(chisto, "mePullXvsBetaBarrelLayerModule_%d_%d", i + 1, j + 1);
0306 mePullXvsBetaBarrelLayerModule[i][j] =
0307 ibooker.bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullxl, pullxh, "");
0308 sprintf(chisto, "mePullYvsBetaBarrelLayerModule_%d_%d", i + 1, j + 1);
0309 mePullYvsBetaBarrelLayerModule[i][j] =
0310 ibooker.bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullyl, pullyh, "");
0311 sprintf(chisto, "mePullXvsPhiBarrelLayerModule_%d_%d", i + 1, j + 1);
0312 mePullXvsPhiBarrelLayerModule[i][j] =
0313 ibooker.bookProfile(chisto, chisto, 20, pull_barrel_phil, pull_barrel_phih, 100, pullxl, pullxh, "");
0314 sprintf(chisto, "mePullYvsPhiBarrelLayerModule_%d_%d", i + 1, j + 1);
0315 mePullYvsPhiBarrelLayerModule[i][j] =
0316 ibooker.bookProfile(chisto, chisto, 20, pull_barrel_phil, pull_barrel_phih, 100, pullyl, pullyh, "");
0317 sprintf(chisto, "mePullXvsEtaBarrelLayerModule_%d_%d", i + 1, j + 1);
0318 mePullXvsEtaBarrelLayerModule[i][j] =
0319 ibooker.bookProfile(chisto, chisto, 20, pull_barrel_etal, pull_barrel_etah, 100, pullxl, pullxh, "");
0320 sprintf(chisto, "mePullYvsEtaBarrelLayerModule_%d_%d", i + 1, j + 1);
0321 mePullYvsEtaBarrelLayerModule[i][j] =
0322 ibooker.bookProfile(chisto, chisto, 20, pull_barrel_etal, pull_barrel_etah, 100, pullyl, pullyh, "");
0323 }
0324
0325 }
0326
0327
0328
0329
0330
0331
0332
0333 for (int i = 0; i < 2; i++)
0334 for (int j = 0; j < 4; j++)
0335 {
0336 Char_t chisto[100];
0337
0338 sprintf(chisto, "mePosxZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
0339 mePosxZmPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, xl, xh);
0340 sprintf(chisto, "mePosyZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
0341 mePosyZmPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, yl, yh);
0342 sprintf(chisto, "meErrxZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
0343 meErrxZmPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, errxl, errxh);
0344 sprintf(chisto, "meErryZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
0345 meErryZmPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, erryl, erryh);
0346 sprintf(chisto, "meResxZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
0347 meResxZmPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, resxl, resxh);
0348 sprintf(chisto, "meResyZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
0349 meResyZmPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, resyl, resyh);
0350 sprintf(chisto, "mePullxZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
0351 mePullxZmPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, pullxl, pullxh);
0352 sprintf(chisto, "mePullyZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
0353 mePullyZmPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, pullyl, pullyh);
0354 sprintf(chisto, "meNpixZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
0355 meNpixZmPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, npixl, npixh);
0356 sprintf(chisto, "meNxpixZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
0357 meNxpixZmPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, nxpixl, nxpixh);
0358 sprintf(chisto, "meNypixZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
0359 meNypixZmPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, nypixl, nypixh);
0360 sprintf(chisto, "meChargeZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
0361 meChargeZmPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, forward_chargel, forward_chargeh);
0362
0363 sprintf(chisto, "meResXvsAlphaZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
0364 meResXvsAlphaZmPanel1DiskPlaq[i][j] =
0365 ibooker.bookProfile(chisto, chisto, 20, forward_p1_alphal, forward_p1_alphah, 100, 0.0, resxh, "");
0366 sprintf(chisto, "meResYvsAlphaZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
0367 meResYvsAlphaZmPanel1DiskPlaq[i][j] =
0368 ibooker.bookProfile(chisto, chisto, 20, forward_p1_alphal, forward_p1_alphah, 100, 0.0, resyh, "");
0369 sprintf(chisto, "meResXvsBetaZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
0370 meResXvsBetaZmPanel1DiskPlaq[i][j] =
0371 ibooker.bookProfile(chisto, chisto, 20, forward_neg_betal, forward_neg_betah, 100, 0.0, resxh, "");
0372 sprintf(chisto, "meResYvsBetaZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
0373 meResYvsBetaZmPanel1DiskPlaq[i][j] =
0374 ibooker.bookProfile(chisto, chisto, 20, forward_neg_betal, forward_neg_betah, 100, 0.0, resyh, "");
0375
0376 sprintf(chisto, "mePullXvsAlphaZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
0377 mePullXvsAlphaZmPanel1DiskPlaq[i][j] = ibooker.bookProfile(
0378 chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullxl, pullxh, "");
0379 sprintf(chisto, "mePullYvsAlphaZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
0380 mePullYvsAlphaZmPanel1DiskPlaq[i][j] = ibooker.bookProfile(
0381 chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullyl, pullyh, "");
0382 sprintf(chisto, "mePullXvsBetaZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
0383 mePullXvsBetaZmPanel1DiskPlaq[i][j] = ibooker.bookProfile(
0384 chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullxl, pullxh, "");
0385 sprintf(chisto, "mePullYvsBetaZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
0386 mePullYvsBetaZmPanel1DiskPlaq[i][j] = ibooker.bookProfile(
0387 chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullyl, pullyh, "");
0388 sprintf(chisto, "mePullXvsPhiZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
0389 mePullXvsPhiZmPanel1DiskPlaq[i][j] =
0390 ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullxl, pullxh, "");
0391 sprintf(chisto, "mePullYvsPhiZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
0392 mePullYvsPhiZmPanel1DiskPlaq[i][j] =
0393 ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullyl, pullyh, "");
0394 sprintf(chisto, "mePullXvsEtaZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
0395 mePullXvsEtaZmPanel1DiskPlaq[i][j] = ibooker.bookProfile(
0396 chisto, chisto, 20, pull_forward_neg_etal, pull_forward_neg_etah, 100, pullxl, pullxh, "");
0397 sprintf(chisto, "mePullYvsEtaZmPanel1DiskPlaq_%d_%d", i + 1, j + 1);
0398 mePullYvsEtaZmPanel1DiskPlaq[i][j] = ibooker.bookProfile(
0399 chisto, chisto, 20, pull_forward_neg_etal, pull_forward_neg_etah, 100, pullyl, pullyh, "");
0400
0401 sprintf(chisto, "mePosxZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
0402 mePosxZpPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, xl, xh);
0403 sprintf(chisto, "mePosyZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
0404 mePosyZpPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, yl, yh);
0405 sprintf(chisto, "meErrxZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
0406 meErrxZpPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, errxl, errxh);
0407 sprintf(chisto, "meErryZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
0408 meErryZpPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, erryl, erryh);
0409 sprintf(chisto, "meResxZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
0410 meResxZpPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, resxl, resxh);
0411 sprintf(chisto, "meResyZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
0412 meResyZpPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, resyl, resyh);
0413 sprintf(chisto, "mePullxZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
0414 mePullxZpPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, pullxl, pullxh);
0415 sprintf(chisto, "mePullyZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
0416 mePullyZpPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, pullyl, pullyh);
0417 sprintf(chisto, "meNpixZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
0418 meNpixZpPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, npixl, npixh);
0419 sprintf(chisto, "meNxpixZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
0420 meNxpixZpPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, nxpixl, nxpixh);
0421 sprintf(chisto, "meNypixZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
0422 meNypixZpPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, nypixl, nypixh);
0423 sprintf(chisto, "meChargeZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
0424 meChargeZpPanel1DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, forward_chargel, forward_chargeh);
0425 sprintf(chisto, "meResXvsAlphaZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
0426 meResXvsAlphaZpPanel1DiskPlaq[i][j] =
0427 ibooker.bookProfile(chisto, chisto, 20, forward_p1_alphal, forward_p1_alphah, 100, 0.0, resxh, "");
0428 sprintf(chisto, "meResYvsAlphaZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
0429 meResYvsAlphaZpPanel1DiskPlaq[i][j] =
0430 ibooker.bookProfile(chisto, chisto, 20, forward_p1_alphal, forward_p1_alphah, 100, 0.0, resyh, "");
0431 sprintf(chisto, "meResXvsBetaZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
0432 meResXvsBetaZpPanel1DiskPlaq[i][j] =
0433 ibooker.bookProfile(chisto, chisto, 20, forward_pos_betal, forward_pos_betah, 100, 0.0, resxh, "");
0434 sprintf(chisto, "meResYvsBetaZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
0435 meResYvsBetaZpPanel1DiskPlaq[i][j] =
0436 ibooker.bookProfile(chisto, chisto, 20, forward_pos_betal, forward_pos_betah, 100, 0.0, resyh, "");
0437
0438 sprintf(chisto, "mePullXvsAlphaZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
0439 mePullXvsAlphaZpPanel1DiskPlaq[i][j] = ibooker.bookProfile(
0440 chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullxl, pullxh, "");
0441 sprintf(chisto, "mePullYvsAlphaZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
0442 mePullYvsAlphaZpPanel1DiskPlaq[i][j] = ibooker.bookProfile(
0443 chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullyl, pullyh, "");
0444 sprintf(chisto, "mePullXvsBetaZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
0445 mePullXvsBetaZpPanel1DiskPlaq[i][j] = ibooker.bookProfile(
0446 chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullxl, pullxh, "");
0447 sprintf(chisto, "mePullYvsBetaZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
0448 mePullYvsBetaZpPanel1DiskPlaq[i][j] = ibooker.bookProfile(
0449 chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullyl, pullyh, "");
0450 sprintf(chisto, "mePullXvsPhiZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
0451 mePullXvsPhiZpPanel1DiskPlaq[i][j] =
0452 ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullxl, pullxh, "");
0453 sprintf(chisto, "mePullYvsPhiZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
0454 mePullYvsPhiZpPanel1DiskPlaq[i][j] =
0455 ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullyl, pullyh, "");
0456 sprintf(chisto, "mePullXvsEtaZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
0457 mePullXvsEtaZpPanel1DiskPlaq[i][j] = ibooker.bookProfile(
0458 chisto, chisto, 20, pull_forward_pos_etal, pull_forward_pos_etah, 100, pullxl, pullxh, "");
0459 sprintf(chisto, "mePullYvsEtaZpPanel1DiskPlaq_%d_%d", i + 1, j + 1);
0460 mePullYvsEtaZpPanel1DiskPlaq[i][j] = ibooker.bookProfile(
0461 chisto, chisto, 20, pull_forward_pos_etal, pull_forward_pos_etah, 100, pullyl, pullyh, "");
0462
0463 if (j > 2)
0464 continue;
0465
0466 sprintf(chisto, "mePosxZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
0467 mePosxZmPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, xl, xh);
0468 sprintf(chisto, "mePosyZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
0469 mePosyZmPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, yl, yh);
0470 sprintf(chisto, "meErrxZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
0471 meErrxZmPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, errxl, errxh);
0472 sprintf(chisto, "meErryZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
0473 meErryZmPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, erryl, erryh);
0474 sprintf(chisto, "meResxZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
0475 meResxZmPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, resxl, resxh);
0476 sprintf(chisto, "meResyZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
0477 meResyZmPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, resyl, resyh);
0478 sprintf(chisto, "mePullxZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
0479 mePullxZmPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, pullxl, pullxh);
0480 sprintf(chisto, "mePullyZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
0481 mePullyZmPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, pullyl, pullyh);
0482 sprintf(chisto, "meNpixZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
0483 meNpixZmPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, npixl, npixh);
0484 sprintf(chisto, "meNxpixZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
0485 meNxpixZmPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, nxpixl, nxpixh);
0486 sprintf(chisto, "meNypixZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
0487 meNypixZmPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, nypixl, nypixh);
0488 sprintf(chisto, "meChargeZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
0489 meChargeZmPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, forward_chargel, forward_chargeh);
0490 sprintf(chisto, "meResXvsAlphaZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
0491 meResXvsAlphaZmPanel2DiskPlaq[i][j] =
0492 ibooker.bookProfile(chisto, chisto, 20, forward_p2_alphal, forward_p2_alphah, 100, 0.0, resxh, "");
0493 sprintf(chisto, "meResYvsAlphaZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
0494 meResYvsAlphaZmPanel2DiskPlaq[i][j] =
0495 ibooker.bookProfile(chisto, chisto, 20, forward_p2_alphal, forward_p2_alphah, 100, 0.0, resyh, "");
0496 sprintf(chisto, "meResXvsBetaZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
0497 meResXvsBetaZmPanel2DiskPlaq[i][j] =
0498 ibooker.bookProfile(chisto, chisto, 20, forward_neg_betal, forward_neg_betah, 100, 0.0, resxh, "");
0499 sprintf(chisto, "meResYvsBetaZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
0500 meResYvsBetaZmPanel2DiskPlaq[i][j] =
0501 ibooker.bookProfile(chisto, chisto, 20, forward_neg_betal, forward_neg_betah, 100, 0.0, resyh, "");
0502
0503 sprintf(chisto, "mePullXvsAlphaZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
0504 mePullXvsAlphaZmPanel2DiskPlaq[i][j] = ibooker.bookProfile(
0505 chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullxl, pullxh, "");
0506 sprintf(chisto, "mePullYvsAlphaZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
0507 mePullYvsAlphaZmPanel2DiskPlaq[i][j] = ibooker.bookProfile(
0508 chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullyl, pullyh, "");
0509 sprintf(chisto, "mePullXvsBetaZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
0510 mePullXvsBetaZmPanel2DiskPlaq[i][j] = ibooker.bookProfile(
0511 chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullxl, pullxh, "");
0512 sprintf(chisto, "mePullYvsBetaZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
0513 mePullYvsBetaZmPanel2DiskPlaq[i][j] = ibooker.bookProfile(
0514 chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullyl, pullyh, "");
0515 sprintf(chisto, "mePullXvsPhiZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
0516 mePullXvsPhiZmPanel2DiskPlaq[i][j] =
0517 ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullxl, pullxh, "");
0518 sprintf(chisto, "mePullYvsPhiZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
0519 mePullYvsPhiZmPanel2DiskPlaq[i][j] =
0520 ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullyl, pullyh, "");
0521 sprintf(chisto, "mePullXvsEtaZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
0522 mePullXvsEtaZmPanel2DiskPlaq[i][j] = ibooker.bookProfile(
0523 chisto, chisto, 20, pull_forward_neg_etal, pull_forward_neg_etah, 100, pullxl, pullxh, "");
0524 sprintf(chisto, "mePullYvsEtaZmPanel2DiskPlaq_%d_%d", i + 1, j + 1);
0525 mePullYvsEtaZmPanel2DiskPlaq[i][j] = ibooker.bookProfile(
0526 chisto, chisto, 20, pull_forward_neg_etal, pull_forward_neg_etah, 100, pullyl, pullyh, "");
0527
0528 sprintf(chisto, "mePosxZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
0529 mePosxZpPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, xl, xh);
0530 sprintf(chisto, "mePosyZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
0531 mePosyZpPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, yl, yh);
0532 sprintf(chisto, "meErrxZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
0533 meErrxZpPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, errxl, errxh);
0534 sprintf(chisto, "meErryZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
0535 meErryZpPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, erryl, erryh);
0536 sprintf(chisto, "meResxZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
0537 meResxZpPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, resxl, resxh);
0538 sprintf(chisto, "meResyZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
0539 meResyZpPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, resyl, resyh);
0540 sprintf(chisto, "mePullxZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
0541 mePullxZpPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, pullxl, pullxh);
0542 sprintf(chisto, "mePullyZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
0543 mePullyZpPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, pullyl, pullyh);
0544 sprintf(chisto, "meNpixZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
0545 meNpixZpPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, npixl, npixh);
0546 sprintf(chisto, "meNxpixZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
0547 meNxpixZpPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, nxpixl, nxpixh);
0548 sprintf(chisto, "meNypixZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
0549 meNypixZpPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, nypixl, nypixh);
0550 sprintf(chisto, "meChargeZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
0551 meChargeZpPanel2DiskPlaq[i][j] = ibooker.book1D(chisto, chisto, 100, forward_chargel, forward_chargeh);
0552 sprintf(chisto, "meResXvsAlphaZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
0553 meResXvsAlphaZpPanel2DiskPlaq[i][j] =
0554 ibooker.bookProfile(chisto, chisto, 20, forward_p2_alphal, forward_p2_alphah, 100, 0.0, resxh, "");
0555 sprintf(chisto, "meResYvsAlphaZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
0556 meResYvsAlphaZpPanel2DiskPlaq[i][j] =
0557 ibooker.bookProfile(chisto, chisto, 20, forward_p2_alphal, forward_p2_alphah, 100, 0.0, resyh, "");
0558 sprintf(chisto, "meResXvsBetaZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
0559 meResXvsBetaZpPanel2DiskPlaq[i][j] =
0560 ibooker.bookProfile(chisto, chisto, 20, forward_pos_betal, forward_pos_betah, 100, 0.0, resxh, "");
0561 sprintf(chisto, "meResYvsBetaZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
0562 meResYvsBetaZpPanel2DiskPlaq[i][j] =
0563 ibooker.bookProfile(chisto, chisto, 20, forward_pos_betal, forward_pos_betah, 100, 0.0, resyh, "");
0564
0565 sprintf(chisto, "mePullXvsAlphaZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
0566 mePullXvsAlphaZpPanel2DiskPlaq[i][j] = ibooker.bookProfile(
0567 chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullxl, pullxh, "");
0568 sprintf(chisto, "mePullYvsAlphaZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
0569 mePullYvsAlphaZpPanel2DiskPlaq[i][j] = ibooker.bookProfile(
0570 chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullyl, pullyh, "");
0571 sprintf(chisto, "mePullXvsBetaZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
0572 mePullXvsBetaZpPanel2DiskPlaq[i][j] = ibooker.bookProfile(
0573 chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullxl, pullxh, "");
0574 sprintf(chisto, "mePullYvsBetaZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
0575 mePullYvsBetaZpPanel2DiskPlaq[i][j] = ibooker.bookProfile(
0576 chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullyl, pullyh, "");
0577 sprintf(chisto, "mePullXvsPhiZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
0578 mePullXvsPhiZpPanel2DiskPlaq[i][j] =
0579 ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullxl, pullxh, "");
0580 sprintf(chisto, "mePullYvsPhiZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
0581 mePullYvsPhiZpPanel2DiskPlaq[i][j] =
0582 ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullyl, pullyh, "");
0583 sprintf(chisto, "mePullXvsEtaZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
0584 mePullXvsEtaZpPanel2DiskPlaq[i][j] = ibooker.bookProfile(
0585 chisto, chisto, 20, pull_forward_pos_etal, pull_forward_pos_etah, 100, pullxl, pullxh, "");
0586 sprintf(chisto, "mePullYvsEtaZpPanel2DiskPlaq_%d_%d", i + 1, j + 1);
0587 mePullYvsEtaZpPanel2DiskPlaq[i][j] = ibooker.bookProfile(
0588 chisto, chisto, 20, pull_forward_pos_etal, pull_forward_pos_etah, 100, pullyl, pullyh, "");
0589
0590 }
0591
0592 ibooker.setCurrentFolder("Tracking/TrackingRecHits/Pixel/Histograms_all");
0593
0594 Char_t chisto[100];
0595 sprintf(chisto, "mePosxBarrel");
0596 mePosxBarrel = ibooker.book1D(chisto, chisto, 100, xl, xh);
0597 sprintf(chisto, "mePosyBarrel");
0598 mePosyBarrel = ibooker.book1D(chisto, chisto, 100, yl, yh);
0599 sprintf(chisto, "meErrxBarrel");
0600 meErrxBarrel = ibooker.book1D(chisto, chisto, 100, errxl, errxh);
0601 sprintf(chisto, "meErryBarrel");
0602 meErryBarrel = ibooker.book1D(chisto, chisto, 100, erryl, erryh);
0603 sprintf(chisto, "meResxBarrel");
0604 meResxBarrel = ibooker.book1D(chisto, chisto, 100, resxl, resxh);
0605 sprintf(chisto, "meResyBarrel");
0606 meResyBarrel = ibooker.book1D(chisto, chisto, 100, resyl, resyh);
0607 sprintf(chisto, "mePullxBarrel");
0608 mePullxBarrel = ibooker.book1D(chisto, chisto, 100, pullxl, pullxh);
0609 sprintf(chisto, "mePullyBarrel");
0610 mePullyBarrel = ibooker.book1D(chisto, chisto, 100, pullyl, pullyh);
0611 sprintf(chisto, "meNpixBarrel");
0612 meNpixBarrel = ibooker.book1D(chisto, chisto, 100, npixl, npixh);
0613 sprintf(chisto, "meNxpixBarrel");
0614 meNxpixBarrel = ibooker.book1D(chisto, chisto, 100, nxpixl, nxpixh);
0615 sprintf(chisto, "meNypixBarrel");
0616 meNypixBarrel = ibooker.book1D(chisto, chisto, 100, nypixl, nypixh);
0617 sprintf(chisto, "meChargeBarrel");
0618 meChargeBarrel = ibooker.book1D(chisto, chisto, 100, barrel_chargel, barrel_chargeh);
0619 sprintf(chisto, "meResXvsAlphaBarrel");
0620 meResXvsAlphaBarrel = ibooker.bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resxh, "");
0621 sprintf(chisto, "meResYvsAlphaBarrel");
0622 meResYvsAlphaBarrel = ibooker.bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resyh, "");
0623 sprintf(chisto, "meResXvsBetaBarrel");
0624 meResXvsBetaBarrel = ibooker.bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resxh, "");
0625 sprintf(chisto, "meResYvsBetaBarrel");
0626 meResYvsBetaBarrel = ibooker.bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resyh, "");
0627
0628 sprintf(chisto, "mePullXvsAlphaBarrel");
0629 mePullXvsAlphaBarrel =
0630 ibooker.bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullxl, pullxh, "");
0631 sprintf(chisto, "mePullYvsAlphaBarrel");
0632 mePullYvsAlphaBarrel =
0633 ibooker.bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullyl, pullyh, "");
0634 sprintf(chisto, "mePullXvsBetaBarrel");
0635 mePullXvsBetaBarrel =
0636 ibooker.bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullxl, pullxh, "");
0637 sprintf(chisto, "mePullYvsBetaBarrel");
0638 mePullYvsBetaBarrel =
0639 ibooker.bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullyl, pullyh, "");
0640 sprintf(chisto, "mePullXvsPhiBarrel");
0641 mePullXvsPhiBarrel =
0642 ibooker.bookProfile(chisto, chisto, 20, pull_barrel_phil, pull_barrel_phih, 100, pullxl, pullxh, "");
0643 sprintf(chisto, "mePullYvsPhiBarrel");
0644 mePullYvsPhiBarrel =
0645 ibooker.bookProfile(chisto, chisto, 20, pull_barrel_phil, pull_barrel_phih, 100, pullyl, pullyh, "");
0646 sprintf(chisto, "mePullXvsEtaBarrel");
0647 mePullXvsEtaBarrel =
0648 ibooker.bookProfile(chisto, chisto, 20, pull_barrel_etal, pull_barrel_etah, 100, pullxl, pullxh, "");
0649 sprintf(chisto, "mePullYvsEtaBarrel");
0650 mePullYvsEtaBarrel =
0651 ibooker.bookProfile(chisto, chisto, 20, pull_barrel_etal, pull_barrel_etah, 100, pullyl, pullyh, "");
0652
0653 sprintf(chisto, "mePosxBarrelHalfModule");
0654 mePosxBarrelHalfModule = ibooker.book1D(chisto, chisto, 100, xl, xh);
0655 sprintf(chisto, "mePosxBarrelFullModule");
0656 mePosxBarrelFullModule = ibooker.book1D(chisto, chisto, 100, xl, xh);
0657 sprintf(chisto, "mePosxBarrelFlippedLadders");
0658 mePosxBarrelFlippedLadders = ibooker.book1D(chisto, chisto, 100, xl, xh);
0659 sprintf(chisto, "mePosxBarrelNonFlippedLadders");
0660 mePosxBarrelNonFlippedLadders = ibooker.book1D(chisto, chisto, 100, xl, xh);
0661 sprintf(chisto, "mePosyBarrelHalfModule");
0662 mePosyBarrelHalfModule = ibooker.book1D(chisto, chisto, 100, yl, yh);
0663 sprintf(chisto, "mePosyBarrelFullModule");
0664 mePosyBarrelFullModule = ibooker.book1D(chisto, chisto, 100, yl, yh);
0665 sprintf(chisto, "mePosyBarrelFlippedLadders");
0666 mePosyBarrelFlippedLadders = ibooker.book1D(chisto, chisto, 100, yl, yh);
0667 sprintf(chisto, "mePosyBarrelNonFlippedLadders");
0668 mePosyBarrelNonFlippedLadders = ibooker.book1D(chisto, chisto, 100, yl, yh);
0669
0670 sprintf(chisto, "meResXvsAlphaBarrelFlippedLadders");
0671 meResXvsAlphaBarrelFlippedLadders =
0672 ibooker.bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resxh, "");
0673 sprintf(chisto, "meResYvsAlphaBarrelFlippedLadders");
0674 meResYvsAlphaBarrelFlippedLadders =
0675 ibooker.bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resyh, "");
0676 sprintf(chisto, "meResXvsBetaBarrelFlippedLadders");
0677 meResXvsBetaBarrelFlippedLadders =
0678 ibooker.bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resxh, "");
0679 sprintf(chisto, "meResYvsBetaBarrelFlippedLadders");
0680 meResYvsBetaBarrelFlippedLadders =
0681 ibooker.bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resyh, "");
0682
0683 sprintf(chisto, "mePullXvsAlphaBarrelFlippedLadders");
0684 mePullXvsAlphaBarrelFlippedLadders =
0685 ibooker.bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullxl, pullxh, "");
0686 sprintf(chisto, "mePullYvsAlphaBarrelFlippedLadders");
0687 mePullYvsAlphaBarrelFlippedLadders =
0688 ibooker.bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullyl, pullyh, "");
0689 sprintf(chisto, "mePullXvsBetaBarrelFlippedLadders");
0690 mePullXvsBetaBarrelFlippedLadders =
0691 ibooker.bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullxl, pullxh, "");
0692 sprintf(chisto, "mePullYvsBetaBarrelFlippedLadders");
0693 mePullYvsBetaBarrelFlippedLadders =
0694 ibooker.bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullyl, pullyh, "");
0695 sprintf(chisto, "mePullXvsPhiBarrelFlippedLadders");
0696 mePullXvsPhiBarrelFlippedLadders =
0697 ibooker.bookProfile(chisto, chisto, 20, pull_barrel_phil, pull_barrel_phih, 100, pullxl, pullxh, "");
0698 sprintf(chisto, "mePullYvsPhiBarrelFlippedLadders");
0699 mePullYvsPhiBarrelFlippedLadders =
0700 ibooker.bookProfile(chisto, chisto, 20, pull_barrel_phil, pull_barrel_phih, 100, pullyl, pullyh, "");
0701 sprintf(chisto, "mePullXvsEtaBarrelFlippedLadders");
0702 mePullXvsEtaBarrelFlippedLadders =
0703 ibooker.bookProfile(chisto, chisto, 20, pull_barrel_etal, pull_barrel_etah, 100, pullxl, pullxh, "");
0704 sprintf(chisto, "mePullYvsEtaBarrelFlippedLadders");
0705 mePullYvsEtaBarrelFlippedLadders =
0706 ibooker.bookProfile(chisto, chisto, 20, pull_barrel_etal, pull_barrel_etah, 100, pullyl, pullyh, "");
0707
0708 sprintf(chisto, "meWPullXvsAlphaBarrelFlippedLadders");
0709 meWPullXvsAlphaBarrelFlippedLadders =
0710 ibooker.bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullxl, pullxh, "");
0711 sprintf(chisto, "meWPullYvsAlphaBarrelFlippedLadders");
0712 meWPullYvsAlphaBarrelFlippedLadders =
0713 ibooker.bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullyl, pullyh, "");
0714 sprintf(chisto, "meWPullXvsBetaBarrelFlippedLadders");
0715 meWPullXvsBetaBarrelFlippedLadders =
0716 ibooker.bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullxl, pullxh, "");
0717 sprintf(chisto, "meWPullYvsBetaBarrelFlippedLadders");
0718 meWPullYvsBetaBarrelFlippedLadders =
0719 ibooker.bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullyl, pullyh, "");
0720
0721 sprintf(chisto, "meResXvsAlphaBarrelNonFlippedLadders");
0722 meResXvsAlphaBarrelNonFlippedLadders =
0723 ibooker.bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resxh, "");
0724 sprintf(chisto, "meResYvsAlphaBarrelNonFlippedLadders");
0725 meResYvsAlphaBarrelNonFlippedLadders =
0726 ibooker.bookProfile(chisto, chisto, 20, barrel_alphal, barrel_alphah, 100, 0.0, resyh, "");
0727 sprintf(chisto, "meResXvsBetaBarrelNonFlippedLadders");
0728 meResXvsBetaBarrelNonFlippedLadders =
0729 ibooker.bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resxh, "");
0730 sprintf(chisto, "meResYvsBetaBarrelNonFlippedLadders");
0731 meResYvsBetaBarrelNonFlippedLadders =
0732 ibooker.bookProfile(chisto, chisto, 20, barrel_betal, barrel_betah, 100, 0.0, resyh, "");
0733
0734 sprintf(chisto, "mePullXvsAlphaBarrelNonFlippedLadders");
0735 mePullXvsAlphaBarrelNonFlippedLadders =
0736 ibooker.bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullxl, pullxh, "");
0737 sprintf(chisto, "mePullYvsAlphaBarrelNonFlippedLadders");
0738 mePullYvsAlphaBarrelNonFlippedLadders =
0739 ibooker.bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullyl, pullyh, "");
0740 sprintf(chisto, "mePullXvsBetaBarrelNonFlippedLadders");
0741 mePullXvsBetaBarrelNonFlippedLadders =
0742 ibooker.bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullxl, pullxh, "");
0743 sprintf(chisto, "mePullYvsBetaBarrelNonFlippedLadders");
0744 mePullYvsBetaBarrelNonFlippedLadders =
0745 ibooker.bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullyl, pullyh, "");
0746 sprintf(chisto, "mePullXvsPhiBarrelNonFlippedLadders");
0747 mePullXvsPhiBarrelNonFlippedLadders =
0748 ibooker.bookProfile(chisto, chisto, 20, pull_barrel_phil, pull_barrel_phih, 100, pullxl, pullxh, "");
0749 sprintf(chisto, "mePullYvsPhiBarrelNonFlippedLadders");
0750 mePullYvsPhiBarrelNonFlippedLadders =
0751 ibooker.bookProfile(chisto, chisto, 20, pull_barrel_phil, pull_barrel_phih, 100, pullyl, pullyh, "");
0752 sprintf(chisto, "mePullXvsEtaBarrelNonFlippedLadders");
0753 mePullXvsEtaBarrelNonFlippedLadders =
0754 ibooker.bookProfile(chisto, chisto, 20, pull_barrel_etal, pull_barrel_etah, 100, pullxl, pullxh, "");
0755 sprintf(chisto, "mePullYvsEtaBarrelNonFlippedLadders");
0756 mePullYvsEtaBarrelNonFlippedLadders =
0757 ibooker.bookProfile(chisto, chisto, 20, pull_barrel_etal, pull_barrel_etah, 100, pullyl, pullyh, "");
0758
0759 sprintf(chisto, "meWPullXvsAlphaBarrelNonFlippedLadders");
0760 meWPullXvsAlphaBarrelNonFlippedLadders =
0761 ibooker.bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullxl, pullxh, "");
0762 sprintf(chisto, "meWPullYvsAlphaBarrelNonFlippedLadders");
0763 meWPullYvsAlphaBarrelNonFlippedLadders =
0764 ibooker.bookProfile(chisto, chisto, 20, pull_barrel_alphal, pull_barrel_alphah, 100, pullyl, pullyh, "");
0765 sprintf(chisto, "meWPullXvsBetaBarrelNonFlippedLadders");
0766 meWPullXvsBetaBarrelNonFlippedLadders =
0767 ibooker.bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullxl, pullxh, "");
0768 sprintf(chisto, "meWPullYvsBetaBarrelNonFlippedLadders");
0769 meWPullYvsBetaBarrelNonFlippedLadders =
0770 ibooker.bookProfile(chisto, chisto, 20, pull_barrel_betal, pull_barrel_betah, 100, pullyl, pullyh, "");
0771
0772 sprintf(chisto, "mePosxZmPanel1");
0773 mePosxZmPanel1 = ibooker.book1D(chisto, chisto, 100, xl, xh);
0774 sprintf(chisto, "mePosyZmPanel1");
0775 mePosyZmPanel1 = ibooker.book1D(chisto, chisto, 100, yl, yh);
0776 sprintf(chisto, "meErrxZmPanel1");
0777 meErrxZmPanel1 = ibooker.book1D(chisto, chisto, 100, errxl, errxh);
0778 sprintf(chisto, "meErryZmPanel1");
0779 meErryZmPanel1 = ibooker.book1D(chisto, chisto, 100, erryl, erryh);
0780 sprintf(chisto, "meResxZmPanel1");
0781 meResxZmPanel1 = ibooker.book1D(chisto, chisto, 100, resxl, resxh);
0782 sprintf(chisto, "meResyZmPanel1");
0783 meResyZmPanel1 = ibooker.book1D(chisto, chisto, 100, resyl, resyh);
0784 sprintf(chisto, "mePullxZmPanel1");
0785 mePullxZmPanel1 = ibooker.book1D(chisto, chisto, 100, pullxl, pullxh);
0786 sprintf(chisto, "mePullyZmPanel1");
0787 mePullyZmPanel1 = ibooker.book1D(chisto, chisto, 100, pullyl, pullyh);
0788 sprintf(chisto, "meNpixZmPanel1");
0789 meNpixZmPanel1 = ibooker.book1D(chisto, chisto, 100, npixl, npixh);
0790 sprintf(chisto, "meNxpixZmPanel1");
0791 meNxpixZmPanel1 = ibooker.book1D(chisto, chisto, 100, nxpixl, nxpixh);
0792 sprintf(chisto, "meNypixZmPanel1");
0793 meNypixZmPanel1 = ibooker.book1D(chisto, chisto, 100, nypixl, nypixh);
0794 sprintf(chisto, "meChargeZmPanel1");
0795 meChargeZmPanel1 = ibooker.book1D(chisto, chisto, 100, forward_chargel, forward_chargeh);
0796 sprintf(chisto, "meResXvsAlphaZmPanel1");
0797 meResXvsAlphaZmPanel1 =
0798 ibooker.bookProfile(chisto, chisto, 20, forward_p1_alphal, forward_p1_alphah, 100, 0.0, resxh, "");
0799 sprintf(chisto, "meResYvsAlphaZmPanel1");
0800 meResYvsAlphaZmPanel1 =
0801 ibooker.bookProfile(chisto, chisto, 20, forward_p1_alphal, forward_p1_alphah, 100, 0.0, resyh, "");
0802 sprintf(chisto, "meResXvsBetaZmPanel1");
0803 meResXvsBetaZmPanel1 =
0804 ibooker.bookProfile(chisto, chisto, 20, forward_neg_betal, forward_neg_betah, 100, 0.0, resxh, "");
0805 sprintf(chisto, "meResYvsBetaZmPanel1");
0806 meResYvsBetaZmPanel1 =
0807 ibooker.bookProfile(chisto, chisto, 20, forward_neg_betal, forward_neg_betah, 100, 0.0, resyh, "");
0808
0809 sprintf(chisto, "mePullXvsAlphaZmPanel1");
0810 mePullXvsAlphaZmPanel1 =
0811 ibooker.bookProfile(chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullxl, pullxh, "");
0812 sprintf(chisto, "mePullYvsAlphaZmPanel1");
0813 mePullYvsAlphaZmPanel1 =
0814 ibooker.bookProfile(chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullyl, pullyh, "");
0815 sprintf(chisto, "mePullXvsBetaZmPanel1");
0816 mePullXvsBetaZmPanel1 =
0817 ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullxl, pullxh, "");
0818 sprintf(chisto, "mePullYvsBetaZmPanel1");
0819 mePullYvsBetaZmPanel1 =
0820 ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullyl, pullyh, "");
0821 sprintf(chisto, "mePullXvsPhiZmPanel1");
0822 mePullXvsPhiZmPanel1 =
0823 ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullxl, pullxh, "");
0824 sprintf(chisto, "mePullYvsPhiZmPanel1");
0825 mePullYvsPhiZmPanel1 =
0826 ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullyl, pullyh, "");
0827 sprintf(chisto, "mePullXvsEtaZmPanel1");
0828 mePullXvsEtaZmPanel1 =
0829 ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_etal, pull_forward_neg_etah, 100, pullxl, pullxh, "");
0830 sprintf(chisto, "mePullYvsEtaZmPanel1");
0831 mePullYvsEtaZmPanel1 =
0832 ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_etal, pull_forward_neg_etah, 100, pullyl, pullyh, "");
0833
0834 sprintf(chisto, "meWPullXvsAlphaZmPanel1");
0835 meWPullXvsAlphaZmPanel1 =
0836 ibooker.bookProfile(chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullxl, pullxh, "");
0837 sprintf(chisto, "meWPullYvsAlphaZmPanel1");
0838 meWPullYvsAlphaZmPanel1 =
0839 ibooker.bookProfile(chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullyl, pullyh, "");
0840 sprintf(chisto, "meWPullXvsBetaZmPanel1");
0841 meWPullXvsBetaZmPanel1 =
0842 ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullxl, pullxh, "");
0843 sprintf(chisto, "meWPullYvsBetaZmPanel1");
0844 meWPullYvsBetaZmPanel1 =
0845 ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullyl, pullyh, "");
0846
0847 sprintf(chisto, "mePosxZpPanel1");
0848 mePosxZpPanel1 = ibooker.book1D(chisto, chisto, 100, xl, xh);
0849 sprintf(chisto, "mePosyZpPanel1");
0850 mePosyZpPanel1 = ibooker.book1D(chisto, chisto, 100, yl, yh);
0851 sprintf(chisto, "meErrxZpPanel1");
0852 meErrxZpPanel1 = ibooker.book1D(chisto, chisto, 100, errxl, errxh);
0853 sprintf(chisto, "meErryZpPanel1");
0854 meErryZpPanel1 = ibooker.book1D(chisto, chisto, 100, erryl, erryh);
0855 sprintf(chisto, "meResxZpPanel1");
0856 meResxZpPanel1 = ibooker.book1D(chisto, chisto, 100, resxl, resxh);
0857 sprintf(chisto, "meResyZpPanel1");
0858 meResyZpPanel1 = ibooker.book1D(chisto, chisto, 100, resyl, resyh);
0859 sprintf(chisto, "mePullxZpPanel1");
0860 mePullxZpPanel1 = ibooker.book1D(chisto, chisto, 100, pullxl, pullxh);
0861 sprintf(chisto, "mePullyZpPanel1");
0862 mePullyZpPanel1 = ibooker.book1D(chisto, chisto, 100, pullyl, pullyh);
0863 sprintf(chisto, "meNpixZpPanel1");
0864 meNpixZpPanel1 = ibooker.book1D(chisto, chisto, 100, npixl, npixh);
0865 sprintf(chisto, "meNxpixZpPanel1");
0866 meNxpixZpPanel1 = ibooker.book1D(chisto, chisto, 100, nxpixl, nxpixh);
0867 sprintf(chisto, "meNypixZpPanel1");
0868 meNypixZpPanel1 = ibooker.book1D(chisto, chisto, 100, nypixl, nypixh);
0869 sprintf(chisto, "meChargeZpPanel1");
0870 meChargeZpPanel1 = ibooker.book1D(chisto, chisto, 100, forward_chargel, forward_chargeh);
0871 sprintf(chisto, "meResXvsAlphaZpPanel1");
0872 meResXvsAlphaZpPanel1 =
0873 ibooker.bookProfile(chisto, chisto, 20, forward_p1_alphal, forward_p1_alphah, 100, 0.0, resxh, "");
0874 sprintf(chisto, "meResYvsAlphaZpPanel1");
0875 meResYvsAlphaZpPanel1 =
0876 ibooker.bookProfile(chisto, chisto, 20, forward_p1_alphal, forward_p1_alphah, 100, 0.0, resyh, "");
0877 sprintf(chisto, "meResXvsBetaZpPanel1");
0878 meResXvsBetaZpPanel1 =
0879 ibooker.bookProfile(chisto, chisto, 20, forward_pos_betal, forward_pos_betah, 100, 0.0, resxh, "");
0880 sprintf(chisto, "meResYvsBetaZpPanel1");
0881 meResYvsBetaZpPanel1 =
0882 ibooker.bookProfile(chisto, chisto, 20, forward_pos_betal, forward_pos_betah, 100, 0.0, resyh, "");
0883
0884 sprintf(chisto, "mePullXvsAlphaZpPanel1");
0885 mePullXvsAlphaZpPanel1 =
0886 ibooker.bookProfile(chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullxl, pullxh, "");
0887 sprintf(chisto, "mePullYvsAlphaZpPanel1");
0888 mePullYvsAlphaZpPanel1 =
0889 ibooker.bookProfile(chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullyl, pullyh, "");
0890 sprintf(chisto, "mePullXvsBetaZpPanel1");
0891 mePullXvsBetaZpPanel1 =
0892 ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullxl, pullxh, "");
0893 sprintf(chisto, "mePullYvsBetaZpPanel1");
0894 mePullYvsBetaZpPanel1 =
0895 ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullyl, pullyh, "");
0896 sprintf(chisto, "mePullXvsPhiZpPanel1");
0897 mePullXvsPhiZpPanel1 =
0898 ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullxl, pullxh, "");
0899 sprintf(chisto, "mePullYvsPhiZpPanel1");
0900 mePullYvsPhiZpPanel1 =
0901 ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullyl, pullyh, "");
0902 sprintf(chisto, "mePullXvsEtaZpPanel1");
0903 mePullXvsEtaZpPanel1 =
0904 ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_etal, pull_forward_pos_etah, 100, pullxl, pullxh, "");
0905 sprintf(chisto, "mePullYvsEtaZpPanel1");
0906 mePullYvsEtaZpPanel1 =
0907 ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_etal, pull_forward_pos_etah, 100, pullyl, pullyh, "");
0908
0909 sprintf(chisto, "meWPullXvsAlphaZpPanel1");
0910 meWPullXvsAlphaZpPanel1 =
0911 ibooker.bookProfile(chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullxl, pullxh, "");
0912 sprintf(chisto, "meWPullYvsAlphaZpPanel1");
0913 meWPullYvsAlphaZpPanel1 =
0914 ibooker.bookProfile(chisto, chisto, 20, pull_forward_p1_alphal, pull_forward_p1_alphah, 100, pullyl, pullyh, "");
0915 sprintf(chisto, "meWPullXvsBetaZpPanel1");
0916 meWPullXvsBetaZpPanel1 =
0917 ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullxl, pullxh, "");
0918 sprintf(chisto, "meWPullYvsBetaZpPanel1");
0919 meWPullYvsBetaZpPanel1 =
0920 ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullyl, pullyh, "");
0921
0922 sprintf(chisto, "mePosxZmPanel2");
0923 mePosxZmPanel2 = ibooker.book1D(chisto, chisto, 100, xl, xh);
0924 sprintf(chisto, "mePosyZmPanel2");
0925 mePosyZmPanel2 = ibooker.book1D(chisto, chisto, 100, yl, yh);
0926 sprintf(chisto, "meErrxZmPanel2");
0927 meErrxZmPanel2 = ibooker.book1D(chisto, chisto, 100, errxl, errxh);
0928 sprintf(chisto, "meErryZmPanel2");
0929 meErryZmPanel2 = ibooker.book1D(chisto, chisto, 100, erryl, erryh);
0930 sprintf(chisto, "meResxZmPanel2");
0931 meResxZmPanel2 = ibooker.book1D(chisto, chisto, 100, resxl, resxh);
0932 sprintf(chisto, "meResyZmPanel2");
0933 meResyZmPanel2 = ibooker.book1D(chisto, chisto, 100, resyl, resyh);
0934 sprintf(chisto, "mePullxZmPanel2");
0935 mePullxZmPanel2 = ibooker.book1D(chisto, chisto, 100, pullxl, pullxh);
0936 sprintf(chisto, "mePullyZmPanel2");
0937 mePullyZmPanel2 = ibooker.book1D(chisto, chisto, 100, pullyl, pullyh);
0938 sprintf(chisto, "meNpixZmPanel2");
0939 meNpixZmPanel2 = ibooker.book1D(chisto, chisto, 100, npixl, npixh);
0940 sprintf(chisto, "meNxpixZmPanel2");
0941 meNxpixZmPanel2 = ibooker.book1D(chisto, chisto, 100, nxpixl, nxpixh);
0942 sprintf(chisto, "meNypixZmPanel2");
0943 meNypixZmPanel2 = ibooker.book1D(chisto, chisto, 100, nypixl, nypixh);
0944 sprintf(chisto, "meChargeZmPanel2");
0945 meChargeZmPanel2 = ibooker.book1D(chisto, chisto, 100, forward_chargel, forward_chargeh);
0946 sprintf(chisto, "meResXvsAlphaZmPanel2");
0947 meResXvsAlphaZmPanel2 =
0948 ibooker.bookProfile(chisto, chisto, 20, forward_p2_alphal, forward_p2_alphah, 100, 0.0, resxh, "");
0949 sprintf(chisto, "meResYvsAlphaZmPanel2");
0950 meResYvsAlphaZmPanel2 =
0951 ibooker.bookProfile(chisto, chisto, 20, forward_p2_alphal, forward_p2_alphah, 100, 0.0, resyh, "");
0952 sprintf(chisto, "meResXvsBetaZmPanel2");
0953 meResXvsBetaZmPanel2 =
0954 ibooker.bookProfile(chisto, chisto, 20, forward_neg_betal, forward_neg_betah, 100, 0.0, resxh, "");
0955 sprintf(chisto, "meResYvsBetaZmPanel2");
0956 meResYvsBetaZmPanel2 =
0957 ibooker.bookProfile(chisto, chisto, 20, forward_neg_betal, forward_neg_betah, 100, 0.0, resyh, "");
0958
0959 sprintf(chisto, "mePullXvsAlphaZmPanel2");
0960 mePullXvsAlphaZmPanel2 =
0961 ibooker.bookProfile(chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullxl, pullxh, "");
0962 sprintf(chisto, "mePullYvsAlphaZmPanel2");
0963 mePullYvsAlphaZmPanel2 =
0964 ibooker.bookProfile(chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullyl, pullyh, "");
0965 sprintf(chisto, "mePullXvsBetaZmPanel2");
0966 mePullXvsBetaZmPanel2 =
0967 ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullxl, pullxh, "");
0968 sprintf(chisto, "mePullYvsBetaZmPanel2");
0969 mePullYvsBetaZmPanel2 =
0970 ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullyl, pullyh, "");
0971 sprintf(chisto, "mePullXvsPhiZmPanel2");
0972 mePullXvsPhiZmPanel2 =
0973 ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullxl, pullxh, "");
0974 sprintf(chisto, "mePullYvsPhiZmPanel2");
0975 mePullYvsPhiZmPanel2 =
0976 ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullyl, pullyh, "");
0977 sprintf(chisto, "mePullXvsEtaZmPanel2");
0978 mePullXvsEtaZmPanel2 =
0979 ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_etal, pull_forward_neg_etah, 100, pullxl, pullxh, "");
0980 sprintf(chisto, "mePullYvsEtaZmPanel2");
0981 mePullYvsEtaZmPanel2 =
0982 ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_etal, pull_forward_neg_etah, 100, pullyl, pullyh, "");
0983
0984 sprintf(chisto, "meWPullXvsAlphaZmPanel2");
0985 meWPullXvsAlphaZmPanel2 =
0986 ibooker.bookProfile(chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullxl, pullxh, "");
0987 sprintf(chisto, "meWPullYvsAlphaZmPanel2");
0988 meWPullYvsAlphaZmPanel2 =
0989 ibooker.bookProfile(chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullyl, pullyh, "");
0990 sprintf(chisto, "meWPullXvsBetaZmPanel2");
0991 meWPullXvsBetaZmPanel2 =
0992 ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullxl, pullxh, "");
0993 sprintf(chisto, "meWPullYvsBetaZmPanel2");
0994 meWPullYvsBetaZmPanel2 =
0995 ibooker.bookProfile(chisto, chisto, 20, pull_forward_neg_betal, pull_forward_neg_betah, 100, pullyl, pullyh, "");
0996
0997 sprintf(chisto, "mePosxZpPanel2");
0998 mePosxZpPanel2 = ibooker.book1D(chisto, chisto, 100, xl, xh);
0999 sprintf(chisto, "mePosyZpPanel2");
1000 mePosyZpPanel2 = ibooker.book1D(chisto, chisto, 100, yl, yh);
1001 sprintf(chisto, "meErrxZpPanel2");
1002 meErrxZpPanel2 = ibooker.book1D(chisto, chisto, 100, errxl, errxh);
1003 sprintf(chisto, "meErryZpPanel2");
1004 meErryZpPanel2 = ibooker.book1D(chisto, chisto, 100, erryl, erryh);
1005 sprintf(chisto, "meResxZpPanel2");
1006 meResxZpPanel2 = ibooker.book1D(chisto, chisto, 100, resxl, resxh);
1007 sprintf(chisto, "meResyZpPanel2");
1008 meResyZpPanel2 = ibooker.book1D(chisto, chisto, 100, resyl, resyh);
1009 sprintf(chisto, "mePullxZpPanel2");
1010 mePullxZpPanel2 = ibooker.book1D(chisto, chisto, 100, pullxl, pullxh);
1011 sprintf(chisto, "mePullyZpPanel2");
1012 mePullyZpPanel2 = ibooker.book1D(chisto, chisto, 100, pullyl, pullyh);
1013 sprintf(chisto, "meNpixZpPanel2");
1014 meNpixZpPanel2 = ibooker.book1D(chisto, chisto, 100, npixl, npixh);
1015 sprintf(chisto, "meNxpixZpPanel2");
1016 meNxpixZpPanel2 = ibooker.book1D(chisto, chisto, 100, nxpixl, nxpixh);
1017 sprintf(chisto, "meNypixZpPanel2");
1018 meNypixZpPanel2 = ibooker.book1D(chisto, chisto, 100, nypixl, nypixh);
1019 sprintf(chisto, "meChargeZpPanel2");
1020 meChargeZpPanel2 = ibooker.book1D(chisto, chisto, 100, forward_chargel, forward_chargeh);
1021 sprintf(chisto, "meResXvsAlphaZpPanel2");
1022 meResXvsAlphaZpPanel2 =
1023 ibooker.bookProfile(chisto, chisto, 20, forward_p2_alphal, forward_p2_alphah, 100, 0.0, resxh, "");
1024 sprintf(chisto, "meResYvsAlphaZpPanel2");
1025 meResYvsAlphaZpPanel2 =
1026 ibooker.bookProfile(chisto, chisto, 20, forward_p2_alphal, forward_p2_alphah, 100, 0.0, resyh, "");
1027 sprintf(chisto, "meResXvsBetaZpPanel2");
1028 meResXvsBetaZpPanel2 =
1029 ibooker.bookProfile(chisto, chisto, 20, forward_pos_betal, forward_pos_betah, 100, 0.0, resxh, "");
1030 sprintf(chisto, "meResYvsBetaZpPanel2");
1031 meResYvsBetaZpPanel2 =
1032 ibooker.bookProfile(chisto, chisto, 20, forward_pos_betal, forward_pos_betah, 100, 0.0, resyh, "");
1033
1034 sprintf(chisto, "mePullXvsAlphaZpPanel2");
1035 mePullXvsAlphaZpPanel2 =
1036 ibooker.bookProfile(chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullxl, pullxh, "");
1037 sprintf(chisto, "mePullYvsAlphaZpPanel2");
1038 mePullYvsAlphaZpPanel2 =
1039 ibooker.bookProfile(chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullyl, pullyh, "");
1040 sprintf(chisto, "mePullXvsBetaZpPanel2");
1041 mePullXvsBetaZpPanel2 =
1042 ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullxl, pullxh, "");
1043 sprintf(chisto, "mePullYvsBetaZpPanel2");
1044 mePullYvsBetaZpPanel2 =
1045 ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullyl, pullyh, "");
1046 sprintf(chisto, "mePullXvsPhiZpPanel2");
1047 mePullXvsPhiZpPanel2 =
1048 ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullxl, pullxh, "");
1049 sprintf(chisto, "mePullYvsPhiZpPanel2");
1050 mePullYvsPhiZpPanel2 =
1051 ibooker.bookProfile(chisto, chisto, 20, pull_forward_phil, pull_forward_phih, 100, pullyl, pullyh, "");
1052 sprintf(chisto, "mePullXvsEtaZpPanel2");
1053 mePullXvsEtaZpPanel2 =
1054 ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_etal, pull_forward_pos_etah, 100, pullxl, pullxh, "");
1055 sprintf(chisto, "mePullYvsEtaZpPanel2");
1056 mePullYvsEtaZpPanel2 =
1057 ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_etal, pull_forward_pos_etah, 100, pullyl, pullyh, "");
1058
1059 sprintf(chisto, "meWPullXvsAlphaZpPanel2");
1060 meWPullXvsAlphaZpPanel2 =
1061 ibooker.bookProfile(chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullxl, pullxh, "");
1062 sprintf(chisto, "meWPullYvsAlphaZpPanel2");
1063 meWPullYvsAlphaZpPanel2 =
1064 ibooker.bookProfile(chisto, chisto, 20, pull_forward_p2_alphal, pull_forward_p2_alphah, 100, pullyl, pullyh, "");
1065 sprintf(chisto, "meWPullXvsBetaZpPanel2");
1066 meWPullXvsBetaZpPanel2 =
1067 ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullxl, pullxh, "");
1068 sprintf(chisto, "meWPullYvsBetaZpPanel2");
1069 meWPullYvsBetaZpPanel2 =
1070 ibooker.bookProfile(chisto, chisto, 20, pull_forward_pos_betal, pull_forward_pos_betah, 100, pullyl, pullyh, "");
1071
1072
1073 sprintf(chisto, "mePosxBarrel_all_hits");
1074 mePosxBarrel_all_hits = ibooker.book1D(chisto, chisto, 100, xl, xh);
1075 sprintf(chisto, "mePosyBarrel_all_hits");
1076 mePosyBarrel_all_hits = ibooker.book1D(chisto, chisto, 100, yl, yh);
1077
1078 sprintf(chisto, "mePosxZmPanel1_all_hits");
1079 mePosxZmPanel1_all_hits = ibooker.book1D(chisto, chisto, 100, xl, xh);
1080 sprintf(chisto, "mePosyZmPanel1_all_hits");
1081 mePosyZmPanel1_all_hits = ibooker.book1D(chisto, chisto, 100, yl, yh);
1082 sprintf(chisto, "mePosxZmPanel2_all_hits");
1083 mePosxZmPanel2_all_hits = ibooker.book1D(chisto, chisto, 100, xl, xh);
1084 sprintf(chisto, "mePosyZmPanel2_all_hits");
1085 mePosyZmPanel2_all_hits = ibooker.book1D(chisto, chisto, 100, yl, yh);
1086
1087 sprintf(chisto, "mePosxZpPanel1_all_hits");
1088 mePosxZpPanel1_all_hits = ibooker.book1D(chisto, chisto, 100, xl, xh);
1089 sprintf(chisto, "mePosyZpPanel1_all_hits");
1090 mePosyZpPanel1_all_hits = ibooker.book1D(chisto, chisto, 100, yl, yh);
1091 sprintf(chisto, "mePosxZpPanel2_all_hits");
1092 mePosxZpPanel2_all_hits = ibooker.book1D(chisto, chisto, 100, xl, xh);
1093 sprintf(chisto, "mePosyZpPanel2_all_hits");
1094 mePosyZpPanel2_all_hits = ibooker.book1D(chisto, chisto, 100, yl, yh);
1095
1096
1097 meTracksPerEvent = ibooker.book1D("meTracksPerEvent", "meTracksPerEvent", 200, 0.0, 200.0);
1098 mePixRecHitsPerTrack = ibooker.book1D("mePixRecHitsPerTrack", "mePixRecHitsPerTrack", 6, 0.0, 6.0);
1099 }
1100
1101
1102 SiPixelTrackingRecHitsValid::~SiPixelTrackingRecHitsValid() {
1103
1104 if (runStandalone && !outputFile_.empty() && dbe_)
1105 dbe_->save(outputFile_);
1106 }
1107
1108
1109 void SiPixelTrackingRecHitsValid::analyze(const edm::Event& e, const edm::EventSetup& es) {
1110
1111 const auto& tTopo = &es.getData(tTopoEsToken_);
1112
1113 run = e.id().run();
1114 evt = e.id().event();
1115
1116
1117
1118
1119 float math_pi = 3.14159265;
1120 float radtodeg = 180.0 / math_pi;
1121
1122 DetId detId;
1123
1124 LocalPoint position;
1125 LocalError error;
1126 float mindist = 999999.9;
1127
1128 std::vector<PSimHit> matched;
1129 TrackerHitAssociator associate(e, trackerHitAssociatorConfig_);
1130
1131 const TrackerGeometry* tracker = &es.getData(tGeomEsToken_);
1132
1133 if (!MTCCtrack_) {
1134
1135
1136 edm::Handle<SiPixelRecHitCollection> recHitColl;
1137 e.getByToken(siPixelRecHitCollectionToken_, recHitColl);
1138
1139
1140
1141
1142
1143
1144 for (const auto& it : tracker->dets()) {
1145 DetId detId = it->geographicalId();
1146
1147 unsigned int subid = detId.subdetId();
1148 if (!((subid == 1) || (subid == 2)))
1149 continue;
1150
1151 SiPixelRecHitCollection::const_iterator match = recHitColl->find(detId);
1152 if (match == recHitColl->end())
1153 continue;
1154
1155 SiPixelRecHitCollection::DetSet pixelrechitRange = *match;
1156 SiPixelRecHitCollection::DetSet::const_iterator pixelrechitRangeIteratorBegin = pixelrechitRange.begin();
1157 SiPixelRecHitCollection::DetSet::const_iterator pixelrechitRangeIteratorEnd = pixelrechitRange.end();
1158 SiPixelRecHitCollection::DetSet::const_iterator pixeliter = pixelrechitRangeIteratorBegin;
1159 std::vector<PSimHit> matched;
1160
1161
1162 for (; pixeliter != pixelrechitRangeIteratorEnd; ++pixeliter) {
1163 LocalPoint lp = pixeliter->localPosition();
1164 float rechitx = lp.x();
1165 float rechity = lp.y();
1166
1167 detId = it->geographicalId();
1168 subdetId = (int)detId.subdetId();
1169 if ((int)detId.subdetId() == (int)PixelSubdetector::PixelBarrel) {
1170 mePosxBarrel_all_hits->Fill(rechitx);
1171 mePosyBarrel_all_hits->Fill(rechity);
1172 } else if ((int)detId.subdetId() == (int)PixelSubdetector::PixelEndcap) {
1173 side = tTopo->pxfSide(detId);
1174 disk = tTopo->pxfDisk(detId);
1175 blade = tTopo->pxfBlade(detId);
1176 panel = tTopo->pxfPanel(detId);
1177 plaq = tTopo->pxfModule(detId);
1178
1179 if (side == 1) {
1180 if (panel == 1) {
1181 mePosxZmPanel1_all_hits->Fill(rechitx);
1182 mePosyZmPanel1_all_hits->Fill(rechity);
1183 } else if (panel == 2) {
1184 mePosxZmPanel2_all_hits->Fill(rechitx);
1185 mePosyZmPanel2_all_hits->Fill(rechity);
1186 } else
1187 edm::LogWarning("SiPixelTrackingRecHitsValid")
1188 << "..............................................Wrong panel number !";
1189 }
1190 else if (side == 2) {
1191 if (panel == 1) {
1192 mePosxZpPanel1_all_hits->Fill(rechitx);
1193 mePosyZpPanel1_all_hits->Fill(rechity);
1194 } else if (panel == 2) {
1195 mePosxZpPanel2_all_hits->Fill(rechitx);
1196 mePosyZpPanel2_all_hits->Fill(rechity);
1197 } else
1198 edm::LogWarning("SiPixelTrackingRecHitsValid")
1199 << "..............................................Wrong panel number !";
1200 }
1201 else
1202 edm::LogWarning("SiPixelTrackingRecHitsValid")
1203 << ".......................................................Wrong side !";
1204
1205 }
1206 else
1207 edm::LogWarning("SiPixelTrackingRecHitsValid")
1208 << "Pixel rechit collection but we are not in the pixel detector" << (int)detId.subdetId();
1209 }
1210 }
1211
1212
1213
1214 edm::Handle<reco::TrackCollection> trackCollection;
1215 e.getByToken(recoTrackCollectionToken_, trackCollection);
1216 const reco::TrackCollection* tracks = trackCollection.product();
1217 reco::TrackCollection::const_iterator tciter;
1218
1219 int n_tracks = (int)tracks->size();
1220 meTracksPerEvent->Fill(n_tracks);
1221
1222 if (!tracks->empty()) {
1223
1224 for (tciter = tracks->begin(); tciter != tracks->end(); tciter++) {
1225 phi = tciter->momentum().phi() / math_pi * 180.0;
1226 eta = tciter->momentum().eta();
1227
1228 int n_hits = 0;
1229
1230 for (trackingRecHit_iterator it = tciter->recHitsBegin(); it != tciter->recHitsEnd(); it++) {
1231 const TrackingRecHit& thit = **it;
1232
1233 const SiPixelRecHit* matchedhit = dynamic_cast<const SiPixelRecHit*>(&thit);
1234
1235 if (matchedhit) {
1236 ++n_hits;
1237
1238 layer = -9999;
1239 ladder = -9999;
1240 mod = -9999;
1241 side = -9999;
1242 disk = -9999;
1243 blade = -9999;
1244 panel = -9999;
1245 plaq = -9999;
1246
1247 rechitx = -9999.9;
1248 rechity = -9999.9;
1249 rechitz = -9999.9;
1250 rechiterrx = -9999.9;
1251 rechiterry = -9999.9;
1252 rechitresx = -9999.9;
1253 rechitresy = -9999.9;
1254 rechitpullx = -9999.9;
1255 rechitpully = -9999.9;
1256
1257 npix = -9999;
1258 nxpix = -9999;
1259 nypix = -9999;
1260 charge = -9999.9;
1261
1262 alpha = -9999.9;
1263 beta = -9999.9;
1264
1265 half = -9999;
1266 flipped = -9999;
1267
1268 nsimhit = -9999;
1269
1270 simhitx = -9999.9;
1271 simhity = -9999.9;
1272
1273 position = (*it)->localPosition();
1274 error = (*it)->localPositionError();
1275
1276 rechitx = position.x();
1277 rechity = position.y();
1278 rechitz = position.z();
1279 rechiterrx = sqrt(error.xx());
1280 rechiterry = sqrt(error.yy());
1281
1282 npix = (*matchedhit).cluster()->size();
1283 nxpix = (*matchedhit).cluster()->sizeX();
1284 nypix = (*matchedhit).cluster()->sizeY();
1285 charge = (*matchedhit).cluster()->charge();
1286
1287
1288 matched.clear();
1289 matched = associate.associateHit(*matchedhit);
1290
1291 nsimhit = (int)matched.size();
1292
1293 if (!matched.empty()) {
1294 mindist = 999999.9;
1295 float distx, disty, dist;
1296 bool found_hit_from_generated_particle = false;
1297
1298 int n_assoc_muon = 0;
1299
1300 std::vector<PSimHit>::const_iterator closestit = matched.begin();
1301 for (std::vector<PSimHit>::const_iterator m = matched.begin(); m < matched.end(); m++) {
1302 if (checkType_) {
1303 int pid = (*m).particleType();
1304 if (abs(pid) != genType_)
1305 continue;
1306 }
1307
1308 float simhitx = 0.5 * ((*m).entryPoint().x() + (*m).exitPoint().x());
1309 float simhity = 0.5 * ((*m).entryPoint().y() + (*m).exitPoint().y());
1310
1311 distx = fabs(rechitx - simhitx);
1312 disty = fabs(rechity - simhity);
1313 dist = sqrt(distx * distx + disty * disty);
1314
1315 if (dist < mindist) {
1316 n_assoc_muon++;
1317
1318 mindist = dist;
1319 closestit = m;
1320 found_hit_from_generated_particle = true;
1321 }
1322 }
1323
1324
1325
1326 if (checkType_ && !found_hit_from_generated_particle)
1327 continue;
1328
1329 if (n_assoc_muon > 1) {
1330 edm::LogWarning("SiPixelTrackingRecHitsValid")
1331 << " ----- This is not good: n_assoc_muon = " << n_assoc_muon;
1332 edm::LogWarning("SiPixelTrackingRecHitsValid") << "evt = " << evt;
1333 }
1334
1335 pidhit = (*closestit).particleType();
1336
1337 simhitx = 0.5 * ((*closestit).entryPoint().x() + (*closestit).exitPoint().x());
1338 simhity = 0.5 * ((*closestit).entryPoint().y() + (*closestit).exitPoint().y());
1339
1340 rechitresx = rechitx - simhitx;
1341 rechitresy = rechity - simhity;
1342 rechitpullx = (rechitx - simhitx) / sqrt(error.xx());
1343 rechitpully = (rechity - simhity) / sqrt(error.yy());
1344
1345 float simhitpx = (*closestit).momentumAtEntry().x();
1346 float simhitpy = (*closestit).momentumAtEntry().y();
1347 float simhitpz = (*closestit).momentumAtEntry().z();
1348
1349
1350
1351
1352 beta = fabs(atan2(simhitpz, simhitpy)) * radtodeg;
1353 alpha = fabs(atan2(simhitpz, simhitpx)) * radtodeg;
1354
1355 detId = (*it)->geographicalId();
1356
1357 subdetId = (int)detId.subdetId();
1358
1359 if ((int)detId.subdetId() == (int)PixelSubdetector::PixelBarrel) {
1360 mePosxBarrel->Fill(rechitx);
1361 mePosyBarrel->Fill(rechity);
1362 meErrxBarrel->Fill(rechiterrx);
1363 meErryBarrel->Fill(rechiterry);
1364 meResxBarrel->Fill(rechitresx);
1365 meResyBarrel->Fill(rechitresy);
1366 mePullxBarrel->Fill(rechitpullx);
1367 mePullyBarrel->Fill(rechitpully);
1368 meNpixBarrel->Fill(npix);
1369 meNxpixBarrel->Fill(nxpix);
1370 meNypixBarrel->Fill(nypix);
1371 meChargeBarrel->Fill(charge);
1372 meResXvsAlphaBarrel->Fill(alpha, fabs(rechitresx));
1373 meResYvsAlphaBarrel->Fill(alpha, fabs(rechitresy));
1374 meResXvsBetaBarrel->Fill(beta, fabs(rechitresx));
1375 meResYvsBetaBarrel->Fill(beta, fabs(rechitresy));
1376 mePullXvsAlphaBarrel->Fill(alpha, rechitpullx);
1377 mePullYvsAlphaBarrel->Fill(alpha, rechitpully);
1378 mePullXvsBetaBarrel->Fill(beta, rechitpullx);
1379 mePullYvsBetaBarrel->Fill(beta, rechitpully);
1380 mePullXvsPhiBarrel->Fill(phi, rechitpullx);
1381 mePullYvsPhiBarrel->Fill(phi, rechitpully);
1382 mePullXvsEtaBarrel->Fill(eta, rechitpullx);
1383 mePullYvsEtaBarrel->Fill(eta, rechitpully);
1384
1385 const PixelGeomDetUnit* theGeomDet = dynamic_cast<const PixelGeomDetUnit*>(tracker->idToDet(detId));
1386
1387
1388 int tmp_nrows = theGeomDet->specificTopology().nrows();
1389
1390 if (tmp_nrows == 80) {
1391 mePosxBarrelHalfModule->Fill(rechitx);
1392 mePosyBarrelHalfModule->Fill(rechity);
1393 half = 1;
1394 } else if (tmp_nrows == 160) {
1395 mePosxBarrelFullModule->Fill(rechitx);
1396 mePosyBarrelFullModule->Fill(rechity);
1397 half = 0;
1398 } else
1399 edm::LogWarning("SiPixelTrackingRecHitsValid")
1400 << "-------------------------------------------------- Wrong module size !!!";
1401
1402 float tmp1 = theGeomDet->surface().toGlobal(Local3DPoint(0., 0., 0.)).perp();
1403 float tmp2 = theGeomDet->surface().toGlobal(Local3DPoint(0., 0., 1.)).perp();
1404
1405 if (tmp2 < tmp1) {
1406 mePosxBarrelFlippedLadders->Fill(rechitx);
1407 mePosyBarrelFlippedLadders->Fill(rechity);
1408 flipped = 1;
1409
1410 meResXvsAlphaBarrelFlippedLadders->Fill(alpha, fabs(rechitresx));
1411 meResYvsAlphaBarrelFlippedLadders->Fill(alpha, fabs(rechitresy));
1412 meResXvsBetaBarrelFlippedLadders->Fill(beta, fabs(rechitresx));
1413 meResYvsBetaBarrelFlippedLadders->Fill(beta, fabs(rechitresy));
1414 mePullXvsAlphaBarrelFlippedLadders->Fill(alpha, rechitpullx);
1415 mePullYvsAlphaBarrelFlippedLadders->Fill(alpha, rechitpully);
1416 mePullXvsBetaBarrelFlippedLadders->Fill(beta, rechitpullx);
1417 mePullYvsBetaBarrelFlippedLadders->Fill(beta, rechitpully);
1418 mePullXvsPhiBarrelFlippedLadders->Fill(phi, rechitpullx);
1419 mePullYvsPhiBarrelFlippedLadders->Fill(phi, rechitpully);
1420 mePullXvsEtaBarrelFlippedLadders->Fill(eta, rechitpullx);
1421 mePullYvsEtaBarrelFlippedLadders->Fill(eta, rechitpully);
1422
1423 meWPullXvsAlphaBarrelFlippedLadders->Fill(alpha, fabs(rechitpullx));
1424 meWPullYvsAlphaBarrelFlippedLadders->Fill(alpha, fabs(rechitpully));
1425 meWPullXvsBetaBarrelFlippedLadders->Fill(beta, fabs(rechitpullx));
1426 meWPullYvsBetaBarrelFlippedLadders->Fill(beta, fabs(rechitpully));
1427 } else {
1428 mePosxBarrelNonFlippedLadders->Fill(rechitx);
1429 mePosyBarrelNonFlippedLadders->Fill(rechity);
1430 flipped = 0;
1431
1432 meResXvsAlphaBarrelNonFlippedLadders->Fill(alpha, fabs(rechitresx));
1433 meResYvsAlphaBarrelNonFlippedLadders->Fill(alpha, fabs(rechitresy));
1434 meResXvsBetaBarrelNonFlippedLadders->Fill(beta, fabs(rechitresx));
1435 meResYvsBetaBarrelNonFlippedLadders->Fill(beta, fabs(rechitresy));
1436 mePullXvsAlphaBarrelNonFlippedLadders->Fill(alpha, rechitpullx);
1437 mePullYvsAlphaBarrelNonFlippedLadders->Fill(alpha, rechitpully);
1438 mePullXvsBetaBarrelNonFlippedLadders->Fill(beta, rechitpullx);
1439 mePullYvsBetaBarrelNonFlippedLadders->Fill(beta, rechitpully);
1440 mePullXvsPhiBarrelNonFlippedLadders->Fill(phi, rechitpullx);
1441 mePullYvsPhiBarrelNonFlippedLadders->Fill(phi, rechitpully);
1442 mePullXvsEtaBarrelNonFlippedLadders->Fill(eta, rechitpullx);
1443 mePullYvsEtaBarrelNonFlippedLadders->Fill(eta, rechitpully);
1444
1445 meWPullXvsAlphaBarrelNonFlippedLadders->Fill(alpha, fabs(rechitpullx));
1446 meWPullYvsAlphaBarrelNonFlippedLadders->Fill(alpha, fabs(rechitpully));
1447 meWPullXvsBetaBarrelNonFlippedLadders->Fill(beta, fabs(rechitpullx));
1448 meWPullYvsBetaBarrelNonFlippedLadders->Fill(beta, fabs(rechitpully));
1449 }
1450
1451 layer = tTopo->pxbLayer(detId);
1452 ladder = tTopo->pxbLadder(detId);
1453 mod = tTopo->pxbModule(detId);
1454
1455 mePosxBarrelLayerModule[layer - 1][mod - 1]->Fill(rechitx);
1456 mePosyBarrelLayerModule[layer - 1][mod - 1]->Fill(rechity);
1457 meErrxBarrelLayerModule[layer - 1][mod - 1]->Fill(rechiterrx);
1458 meErryBarrelLayerModule[layer - 1][mod - 1]->Fill(rechiterry);
1459 meResxBarrelLayerModule[layer - 1][mod - 1]->Fill(rechitresx);
1460 meResyBarrelLayerModule[layer - 1][mod - 1]->Fill(rechitresy);
1461 mePullxBarrelLayerModule[layer - 1][mod - 1]->Fill(rechitpullx);
1462 mePullyBarrelLayerModule[layer - 1][mod - 1]->Fill(rechitpully);
1463 meNpixBarrelLayerModule[layer - 1][mod - 1]->Fill(npix);
1464 meNxpixBarrelLayerModule[layer - 1][mod - 1]->Fill(nxpix);
1465 meNypixBarrelLayerModule[layer - 1][mod - 1]->Fill(nypix);
1466 meChargeBarrelLayerModule[layer - 1][mod - 1]->Fill(charge);
1467 meResXvsAlphaBarrelLayerModule[layer - 1][mod - 1]->Fill(alpha, fabs(rechitresx));
1468 meResYvsAlphaBarrelLayerModule[layer - 1][mod - 1]->Fill(alpha, fabs(rechitresy));
1469 meResXvsBetaBarrelLayerModule[layer - 1][mod - 1]->Fill(beta, fabs(rechitresx));
1470 meResYvsBetaBarrelLayerModule[layer - 1][mod - 1]->Fill(beta, fabs(rechitresy));
1471 mePullXvsAlphaBarrelLayerModule[layer - 1][mod - 1]->Fill(alpha, rechitpullx);
1472 mePullYvsAlphaBarrelLayerModule[layer - 1][mod - 1]->Fill(alpha, rechitpully);
1473 mePullXvsBetaBarrelLayerModule[layer - 1][mod - 1]->Fill(beta, rechitpullx);
1474 mePullYvsBetaBarrelLayerModule[layer - 1][mod - 1]->Fill(beta, rechitpully);
1475 mePullXvsPhiBarrelLayerModule[layer - 1][mod - 1]->Fill(phi, rechitpullx);
1476 mePullYvsPhiBarrelLayerModule[layer - 1][mod - 1]->Fill(phi, rechitpully);
1477 mePullXvsEtaBarrelLayerModule[layer - 1][mod - 1]->Fill(eta, rechitpullx);
1478 mePullYvsEtaBarrelLayerModule[layer - 1][mod - 1]->Fill(eta, rechitpully);
1479
1480 meResxBarrelLayer[layer - 1]->Fill(rechitresx);
1481 meResyBarrelLayer[layer - 1]->Fill(rechitresy);
1482 mePullxBarrelLayer[layer - 1]->Fill(rechitpullx);
1483 mePullyBarrelLayer[layer - 1]->Fill(rechitpully);
1484
1485 if (tmp2 < tmp1) {
1486 meResXvsAlphaBarrelFlippedLaddersLayer[layer - 1]->Fill(alpha, fabs(rechitresx));
1487 meResYvsAlphaBarrelFlippedLaddersLayer[layer - 1]->Fill(alpha, fabs(rechitresy));
1488 meResXvsBetaBarrelFlippedLaddersLayer[layer - 1]->Fill(beta, fabs(rechitresx));
1489 meResYvsBetaBarrelFlippedLaddersLayer[layer - 1]->Fill(beta, fabs(rechitresy));
1490 } else {
1491 meResXvsAlphaBarrelNonFlippedLaddersLayer[layer - 1]->Fill(alpha, fabs(rechitresx));
1492 meResYvsAlphaBarrelNonFlippedLaddersLayer[layer - 1]->Fill(alpha, fabs(rechitresy));
1493 meResXvsBetaBarrelNonFlippedLaddersLayer[layer - 1]->Fill(beta, fabs(rechitresx));
1494 meResYvsBetaBarrelNonFlippedLaddersLayer[layer - 1]->Fill(beta, fabs(rechitresy));
1495 }
1496
1497 } else if ((int)detId.subdetId() == (int)PixelSubdetector::PixelEndcap) {
1498 side = tTopo->pxfSide(detId);
1499 disk = tTopo->pxfDisk(detId);
1500 blade = tTopo->pxfBlade(detId);
1501 panel = tTopo->pxfPanel(detId);
1502 plaq = tTopo->pxfModule(detId);
1503
1504 if (side == 1) {
1505 if (panel == 1) {
1506 mePosxZmPanel1->Fill(rechitx);
1507 mePosyZmPanel1->Fill(rechity);
1508 meErrxZmPanel1->Fill(rechiterrx);
1509 meErryZmPanel1->Fill(rechiterry);
1510 meResxZmPanel1->Fill(rechitresx);
1511 meResyZmPanel1->Fill(rechitresy);
1512 mePullxZmPanel1->Fill(rechitpullx);
1513 mePullyZmPanel1->Fill(rechitpully);
1514 meNpixZmPanel1->Fill(npix);
1515 meNxpixZmPanel1->Fill(nxpix);
1516 meNypixZmPanel1->Fill(nypix);
1517 meChargeZmPanel1->Fill(charge);
1518 meResXvsAlphaZmPanel1->Fill(alpha, fabs(rechitresx));
1519 meResYvsAlphaZmPanel1->Fill(alpha, fabs(rechitresy));
1520 meResXvsBetaZmPanel1->Fill(beta, fabs(rechitresx));
1521 meResYvsBetaZmPanel1->Fill(beta, fabs(rechitresy));
1522 mePullXvsAlphaZmPanel1->Fill(alpha, rechitpullx);
1523 mePullYvsAlphaZmPanel1->Fill(alpha, rechitpully);
1524 mePullXvsBetaZmPanel1->Fill(beta, rechitpullx);
1525 mePullYvsBetaZmPanel1->Fill(beta, rechitpully);
1526 mePullXvsPhiZmPanel1->Fill(phi, rechitpullx);
1527 mePullYvsPhiZmPanel1->Fill(phi, rechitpully);
1528 mePullXvsEtaZmPanel1->Fill(eta, rechitpullx);
1529 mePullYvsEtaZmPanel1->Fill(eta, rechitpully);
1530
1531 meWPullXvsAlphaZmPanel1->Fill(alpha, fabs(rechitpullx));
1532 meWPullYvsAlphaZmPanel1->Fill(alpha, fabs(rechitpully));
1533 meWPullXvsBetaZmPanel1->Fill(beta, fabs(rechitpullx));
1534 meWPullYvsBetaZmPanel1->Fill(beta, fabs(rechitpully));
1535
1536 mePosxZmPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(rechitx);
1537 mePosyZmPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(rechity);
1538 meErrxZmPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(rechiterrx);
1539 meErryZmPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(rechiterry);
1540 meResxZmPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(rechitresx);
1541 meResyZmPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(rechitresy);
1542 mePullxZmPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(rechitpullx);
1543 mePullyZmPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(rechitpully);
1544 meNpixZmPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(npix);
1545 meNxpixZmPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(nxpix);
1546 meNypixZmPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(nypix);
1547 meChargeZmPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(charge);
1548 meResXvsAlphaZmPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(alpha, fabs(rechitresx));
1549 meResYvsAlphaZmPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(alpha, fabs(rechitresy));
1550 meResXvsBetaZmPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(beta, fabs(rechitresx));
1551 meResYvsBetaZmPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(beta, fabs(rechitresy));
1552 mePullXvsAlphaZmPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(alpha, rechitpullx);
1553 mePullYvsAlphaZmPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(alpha, rechitpully);
1554 mePullXvsBetaZmPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(beta, rechitpullx);
1555 mePullYvsBetaZmPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(beta, rechitpully);
1556 mePullXvsPhiZmPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(phi, rechitpullx);
1557 mePullYvsPhiZmPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(phi, rechitpully);
1558 mePullXvsEtaZmPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(eta, rechitpullx);
1559 mePullYvsEtaZmPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(eta, rechitpully);
1560
1561 } else if (panel == 2) {
1562 mePosxZmPanel2->Fill(rechitx);
1563 mePosyZmPanel2->Fill(rechity);
1564 meErrxZmPanel2->Fill(rechiterrx);
1565 meErryZmPanel2->Fill(rechiterry);
1566 meResxZmPanel2->Fill(rechitresx);
1567 meResyZmPanel2->Fill(rechitresy);
1568 mePullxZmPanel2->Fill(rechitpullx);
1569 mePullyZmPanel2->Fill(rechitpully);
1570 meNpixZmPanel2->Fill(npix);
1571 meNxpixZmPanel2->Fill(nxpix);
1572 meNypixZmPanel2->Fill(nypix);
1573 meChargeZmPanel2->Fill(charge);
1574 meResXvsAlphaZmPanel2->Fill(alpha, fabs(rechitresx));
1575 meResYvsAlphaZmPanel2->Fill(alpha, fabs(rechitresy));
1576 meResXvsBetaZmPanel2->Fill(beta, fabs(rechitresx));
1577 meResYvsBetaZmPanel2->Fill(beta, fabs(rechitresy));
1578 mePullXvsAlphaZmPanel2->Fill(alpha, rechitpullx);
1579 mePullYvsAlphaZmPanel2->Fill(alpha, rechitpully);
1580 mePullXvsBetaZmPanel2->Fill(beta, rechitpullx);
1581 mePullYvsBetaZmPanel2->Fill(beta, rechitpully);
1582 mePullXvsPhiZmPanel2->Fill(phi, rechitpullx);
1583 mePullYvsPhiZmPanel2->Fill(phi, rechitpully);
1584 mePullXvsEtaZmPanel2->Fill(eta, rechitpullx);
1585 mePullYvsEtaZmPanel2->Fill(eta, rechitpully);
1586
1587 meWPullXvsAlphaZmPanel2->Fill(alpha, fabs(rechitpullx));
1588 meWPullYvsAlphaZmPanel2->Fill(alpha, fabs(rechitpully));
1589 meWPullXvsBetaZmPanel2->Fill(beta, fabs(rechitpullx));
1590 meWPullYvsBetaZmPanel2->Fill(beta, fabs(rechitpully));
1591
1592 mePosxZmPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(rechitx);
1593 mePosyZmPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(rechity);
1594 meErrxZmPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(rechiterrx);
1595 meErryZmPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(rechiterry);
1596 meResxZmPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(rechitresx);
1597 meResyZmPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(rechitresy);
1598 mePullxZmPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(rechitpullx);
1599 mePullyZmPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(rechitpully);
1600 meNpixZmPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(npix);
1601 meNxpixZmPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(nxpix);
1602 meNypixZmPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(nypix);
1603 meChargeZmPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(charge);
1604 meResXvsAlphaZmPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(alpha, fabs(rechitresx));
1605 meResYvsAlphaZmPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(alpha, fabs(rechitresy));
1606 meResXvsBetaZmPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(beta, fabs(rechitresx));
1607 meResYvsBetaZmPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(beta, fabs(rechitresy));
1608 mePullXvsAlphaZmPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(alpha, rechitpullx);
1609 mePullYvsAlphaZmPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(alpha, rechitpully);
1610 mePullXvsBetaZmPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(beta, rechitpullx);
1611 mePullYvsBetaZmPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(beta, rechitpully);
1612 mePullXvsPhiZmPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(phi, rechitpullx);
1613 mePullYvsPhiZmPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(phi, rechitpully);
1614 mePullXvsEtaZmPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(eta, rechitpullx);
1615 mePullYvsEtaZmPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(eta, rechitpully);
1616
1617 } else
1618 edm::LogWarning("SiPixelTrackingRecHitsValid")
1619 << "..............................................Wrong panel number !";
1620 }
1621 else if (side == 2) {
1622 if (panel == 1) {
1623 mePosxZpPanel1->Fill(rechitx);
1624 mePosyZpPanel1->Fill(rechity);
1625 meErrxZpPanel1->Fill(rechiterrx);
1626 meErryZpPanel1->Fill(rechiterry);
1627 meResxZpPanel1->Fill(rechitresx);
1628 meResyZpPanel1->Fill(rechitresy);
1629 mePullxZpPanel1->Fill(rechitpullx);
1630 mePullyZpPanel1->Fill(rechitpully);
1631 meNpixZpPanel1->Fill(npix);
1632 meNxpixZpPanel1->Fill(nxpix);
1633 meNypixZpPanel1->Fill(nypix);
1634 meChargeZpPanel1->Fill(charge);
1635 meResXvsAlphaZpPanel1->Fill(alpha, fabs(rechitresx));
1636 meResYvsAlphaZpPanel1->Fill(alpha, fabs(rechitresy));
1637 meResXvsBetaZpPanel1->Fill(beta, fabs(rechitresx));
1638 meResYvsBetaZpPanel1->Fill(beta, fabs(rechitresy));
1639 mePullXvsAlphaZpPanel1->Fill(alpha, rechitpullx);
1640 mePullYvsAlphaZpPanel1->Fill(alpha, rechitpully);
1641 mePullXvsBetaZpPanel1->Fill(beta, rechitpullx);
1642 mePullYvsBetaZpPanel1->Fill(beta, rechitpully);
1643 mePullXvsPhiZpPanel1->Fill(phi, rechitpullx);
1644 mePullYvsPhiZpPanel1->Fill(phi, rechitpully);
1645 mePullXvsEtaZpPanel1->Fill(eta, rechitpullx);
1646 mePullYvsEtaZpPanel1->Fill(eta, rechitpully);
1647
1648 meWPullXvsAlphaZpPanel1->Fill(alpha, fabs(rechitpullx));
1649 meWPullYvsAlphaZpPanel1->Fill(alpha, fabs(rechitpully));
1650 meWPullXvsBetaZpPanel1->Fill(beta, fabs(rechitpullx));
1651 meWPullYvsBetaZpPanel1->Fill(beta, fabs(rechitpully));
1652
1653 mePosxZpPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(rechitx);
1654 mePosyZpPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(rechity);
1655 meErrxZpPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(rechiterrx);
1656 meErryZpPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(rechiterry);
1657 meResxZpPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(rechitresx);
1658 meResyZpPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(rechitresy);
1659 mePullxZpPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(rechitpullx);
1660 mePullyZpPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(rechitpully);
1661 meNpixZpPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(npix);
1662 meNxpixZpPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(nxpix);
1663 meNypixZpPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(nypix);
1664 meChargeZpPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(charge);
1665 meResXvsAlphaZpPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(alpha, fabs(rechitresx));
1666 meResYvsAlphaZpPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(alpha, fabs(rechitresy));
1667 meResXvsBetaZpPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(beta, fabs(rechitresx));
1668 meResYvsBetaZpPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(beta, fabs(rechitresy));
1669 mePullXvsAlphaZpPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(alpha, rechitpullx);
1670 mePullYvsAlphaZpPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(alpha, rechitpully);
1671 mePullXvsBetaZpPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(beta, rechitpullx);
1672 mePullYvsBetaZpPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(beta, rechitpully);
1673 mePullXvsPhiZpPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(phi, rechitpullx);
1674 mePullYvsPhiZpPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(phi, rechitpully);
1675 mePullXvsEtaZpPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(eta, rechitpullx);
1676 mePullYvsEtaZpPanel1DiskPlaq[disk - 1][plaq - 1]->Fill(eta, rechitpully);
1677
1678 } else if (panel == 2) {
1679 mePosxZpPanel2->Fill(rechitx);
1680 mePosyZpPanel2->Fill(rechity);
1681 meErrxZpPanel2->Fill(rechiterrx);
1682 meErryZpPanel2->Fill(rechiterry);
1683 meResxZpPanel2->Fill(rechitresx);
1684 meResyZpPanel2->Fill(rechitresy);
1685 mePullxZpPanel2->Fill(rechitpullx);
1686 mePullyZpPanel2->Fill(rechitpully);
1687 meNpixZpPanel2->Fill(npix);
1688 meNxpixZpPanel2->Fill(nxpix);
1689 meNypixZpPanel2->Fill(nypix);
1690 meChargeZpPanel2->Fill(charge);
1691 meResXvsAlphaZpPanel2->Fill(alpha, fabs(rechitresx));
1692 meResYvsAlphaZpPanel2->Fill(alpha, fabs(rechitresy));
1693 meResXvsBetaZpPanel2->Fill(beta, fabs(rechitresx));
1694 meResYvsBetaZpPanel2->Fill(beta, fabs(rechitresy));
1695 mePullXvsAlphaZpPanel2->Fill(alpha, rechitpullx);
1696 mePullYvsAlphaZpPanel2->Fill(alpha, rechitpully);
1697 mePullXvsBetaZpPanel2->Fill(beta, rechitpullx);
1698 mePullYvsBetaZpPanel2->Fill(beta, rechitpully);
1699 mePullXvsPhiZpPanel2->Fill(phi, rechitpullx);
1700 mePullYvsPhiZpPanel2->Fill(phi, rechitpully);
1701 mePullXvsEtaZpPanel2->Fill(eta, rechitpullx);
1702 mePullYvsEtaZpPanel2->Fill(eta, rechitpully);
1703
1704 meWPullXvsAlphaZpPanel2->Fill(alpha, fabs(rechitpullx));
1705 meWPullYvsAlphaZpPanel2->Fill(alpha, fabs(rechitpully));
1706 meWPullXvsBetaZpPanel2->Fill(beta, fabs(rechitpullx));
1707 meWPullYvsBetaZpPanel2->Fill(beta, fabs(rechitpully));
1708
1709 mePosxZpPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(rechitx);
1710 mePosyZpPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(rechity);
1711 meErrxZpPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(rechiterrx);
1712 meErryZpPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(rechiterry);
1713 meResxZpPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(rechitresx);
1714 meResyZpPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(rechitresy);
1715 mePullxZpPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(rechitpullx);
1716 mePullyZpPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(rechitpully);
1717 meNpixZpPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(npix);
1718 meNxpixZpPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(nxpix);
1719 meNypixZpPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(nypix);
1720 meChargeZpPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(charge);
1721 meResXvsAlphaZpPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(alpha, fabs(rechitresx));
1722 meResYvsAlphaZpPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(alpha, fabs(rechitresy));
1723 meResXvsBetaZpPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(beta, fabs(rechitresx));
1724 meResYvsBetaZpPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(beta, fabs(rechitresy));
1725 mePullXvsAlphaZpPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(alpha, rechitpullx);
1726 mePullYvsAlphaZpPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(alpha, rechitpully);
1727 mePullXvsBetaZpPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(beta, rechitpullx);
1728 mePullYvsBetaZpPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(beta, rechitpully);
1729 mePullXvsPhiZpPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(phi, rechitpullx);
1730 mePullYvsPhiZpPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(phi, rechitpully);
1731 mePullXvsEtaZpPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(eta, rechitpullx);
1732 mePullYvsEtaZpPanel2DiskPlaq[disk - 1][plaq - 1]->Fill(eta, rechitpully);
1733
1734 } else
1735 edm::LogWarning("SiPixelTrackingRecHitsValid")
1736 << "..............................................Wrong panel number !";
1737 }
1738 else
1739 edm::LogWarning("SiPixelTrackingRecHitsValid")
1740 << ".......................................................Wrong side !";
1741
1742 }
1743 else
1744 edm::LogWarning("SiPixelTrackingRecHitsValid")
1745 << "Pixel rechit but we are not in the pixel detector" << (int)detId.subdetId();
1746
1747 if (!debugNtuple_.empty())
1748 t_->Fill();
1749
1750 }
1751
1752
1753
1754 }
1755
1756 }
1757
1758 mePixRecHitsPerTrack->Fill(n_hits);
1759
1760
1761 }
1762
1763 }
1764
1765 }
1766 }