File indexing completed on 2024-08-09 23:47:33
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #include "FWCore/Framework/interface/MakerMacros.h"
0011 #include "FWCore/Framework/interface/one/EDAnalyzer.h"
0012 #include "FWCore/Framework/interface/Event.h"
0013 #include "FWCore/Framework/interface/ESHandle.h"
0014 #include "FWCore/PluginManager/interface/ModuleDef.h"
0015 #include "FWCore/ServiceRegistry/interface/Service.h"
0016 #include "MagneticField/Records/interface/IdealMagneticFieldRecord.h"
0017 #include "MagneticField/Engine/interface/MagneticField.h"
0018 #include "DataFormats/L1TrackTrigger/interface/TTTypes.h"
0019 #include "DataFormats/L1TrackTrigger/interface/TTCluster.h"
0020 #include "DataFormats/L1TrackTrigger/interface/TTStub.h"
0021 #include "SimDataFormats/TrackingAnalysis/interface/TrackingParticle.h"
0022 #include "SimDataFormats/TrackingAnalysis/interface/TrackingVertex.h"
0023 #include "CommonTools/UtilAlgos/interface/TFileService.h"
0024 #include "Geometry/CommonTopologies/interface/Topology.h"
0025 #include "Geometry/CommonDetUnit/interface/PixelGeomDetUnit.h"
0026 #include "Geometry/CommonTopologies/interface/PixelTopology.h"
0027 #include <TH1D.h>
0028 #include <TH2D.h>
0029
0030 class AnalyzerClusterStub : public edm::one::EDAnalyzer<edm::one::WatchRuns, edm::one::SharedResources> {
0031
0032 public:
0033
0034 explicit AnalyzerClusterStub(const edm::ParameterSet& iConfig);
0035 ~AnalyzerClusterStub() override;
0036
0037 void beginJob() override;
0038 void endJob() override;
0039 void beginRun(const edm::Run& iEvent, const edm::EventSetup& iSetup) override {}
0040 void endRun(const edm::Run& iEvent, const edm::EventSetup& iSetup) override {}
0041 void analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) override;
0042
0043
0044 private:
0045
0046 TH2D* hSimVtx_XY;
0047 TH2D* hSimVtx_RZ;
0048
0049 TH1D* hTPart_Pt;
0050 TH1D* hTPart_Eta_Pt10;
0051 TH1D* hTPart_Phi_Pt10;
0052
0053
0054 TH2D* hCluster_Barrel_XY;
0055 TH2D* hCluster_Barrel_XY_Zoom;
0056 TH2D* hCluster_Endcap_Fw_XY;
0057 TH2D* hCluster_Endcap_Bw_XY;
0058 TH2D* hCluster_RZ;
0059 TH2D* hCluster_Endcap_Fw_RZ_Zoom;
0060 TH2D* hCluster_Endcap_Bw_RZ_Zoom;
0061
0062 TH1D* hCluster_IMem_Barrel;
0063 TH1D* hCluster_IMem_Endcap;
0064 TH1D* hCluster_OMem_Barrel;
0065 TH1D* hCluster_OMem_Endcap;
0066
0067 TH1D* hCluster_Gen_Barrel;
0068 TH1D* hCluster_Unkn_Barrel;
0069 TH1D* hCluster_Comb_Barrel;
0070 TH1D* hCluster_Gen_Endcap;
0071 TH1D* hCluster_Unkn_Endcap;
0072 TH1D* hCluster_Comb_Endcap;
0073
0074 TH1D* hCluster_Gen_Eta;
0075 TH1D* hCluster_Unkn_Eta;
0076 TH1D* hCluster_Comb_Eta;
0077
0078 TH2D* hCluster_PID;
0079 TH2D* hCluster_W;
0080
0081 TH1D* hTPart_Eta_INormalization;
0082 TH1D* hTPart_Eta_ICW_1;
0083 TH1D* hTPart_Eta_ICW_2;
0084 TH1D* hTPart_Eta_ICW_3;
0085 TH1D* hTPart_Eta_ONormalization;
0086 TH1D* hTPart_Eta_OCW_1;
0087 TH1D* hTPart_Eta_OCW_2;
0088 TH1D* hTPart_Eta_OCW_3;
0089
0090
0091 TH2D* hStub_Barrel_XY;
0092 TH2D* hStub_Barrel_XY_Zoom;
0093 TH2D* hStub_Endcap_Fw_XY;
0094 TH2D* hStub_Endcap_Bw_XY;
0095 TH2D* hStub_RZ;
0096 TH2D* hStub_Endcap_Fw_RZ_Zoom;
0097 TH2D* hStub_Endcap_Bw_RZ_Zoom;
0098
0099 TH1D* hStub_Barrel;
0100 TH1D* hStub_Endcap;
0101
0102 TH1D* hStub_Gen_Barrel;
0103 TH1D* hStub_Unkn_Barrel;
0104 TH1D* hStub_Comb_Barrel;
0105 TH1D* hStub_Gen_Endcap;
0106 TH1D* hStub_Unkn_Endcap;
0107 TH1D* hStub_Comb_Endcap;
0108
0109 TH1D* hStub_Gen_Eta;
0110 TH1D* hStub_Unkn_Eta;
0111 TH1D* hStub_Comb_Eta;
0112
0113 TH1D* hStub_PID;
0114 TH2D* hStub_Barrel_W;
0115 TH2D* hStub_Barrel_O;
0116 TH2D* hStub_Endcap_W;
0117 TH2D* hStub_Endcap_O;
0118
0119
0120 TH1D* hTPart_Eta_Pt10_Normalization;
0121 TH1D* hTPart_Eta_Pt10_NumPS;
0122 TH1D* hTPart_Eta_Pt10_Num2S;
0123
0124
0125 std::map<unsigned int, TH1D*> mapCluLayer_hTPart_Pt;
0126 std::map<unsigned int, TH1D*> mapCluLayer_hTPart_Eta_Pt10;
0127 std::map<unsigned int, TH1D*> mapCluLayer_hTPart_Phi_Pt10;
0128 std::map<unsigned int, TH1D*> mapCluDisk_hTPart_Pt;
0129 std::map<unsigned int, TH1D*> mapCluDisk_hTPart_Eta_Pt10;
0130 std::map<unsigned int, TH1D*> mapCluDisk_hTPart_Phi_Pt10;
0131
0132 std::map<unsigned int, TH1D*> mapStubLayer_hTPart_Pt;
0133 std::map<unsigned int, TH1D*> mapStubLayer_hTPart_Eta_Pt10;
0134 std::map<unsigned int, TH1D*> mapStubLayer_hTPart_Phi_Pt10;
0135 std::map<unsigned int, TH1D*> mapStubDisk_hTPart_Pt;
0136 std::map<unsigned int, TH1D*> mapStubDisk_hTPart_Eta_Pt10;
0137 std::map<unsigned int, TH1D*> mapStubDisk_hTPart_Phi_Pt10;
0138
0139
0140 std::map<unsigned int, TH2D*> mapStubLayer_hStub_InvPt_TPart_InvPt;
0141 std::map<unsigned int, TH2D*> mapStubLayer_hStub_Pt_TPart_Pt;
0142 std::map<unsigned int, TH2D*> mapStubLayer_hStub_Eta_TPart_Eta;
0143 std::map<unsigned int, TH2D*> mapStubLayer_hStub_Phi_TPart_Phi;
0144 std::map<unsigned int, TH2D*> mapStubDisk_hStub_InvPt_TPart_InvPt;
0145 std::map<unsigned int, TH2D*> mapStubDisk_hStub_Pt_TPart_Pt;
0146 std::map<unsigned int, TH2D*> mapStubDisk_hStub_Eta_TPart_Eta;
0147 std::map<unsigned int, TH2D*> mapStubDisk_hStub_Phi_TPart_Phi;
0148
0149
0150 std::map<unsigned int, TH2D*> mapStubLayer_hStub_InvPtRes_TPart_Eta;
0151 std::map<unsigned int, TH2D*> mapStubLayer_hStub_PtRes_TPart_Eta;
0152 std::map<unsigned int, TH2D*> mapStubLayer_hStub_EtaRes_TPart_Eta;
0153 std::map<unsigned int, TH2D*> mapStubLayer_hStub_PhiRes_TPart_Eta;
0154 std::map<unsigned int, TH2D*> mapStubDisk_hStub_InvPtRes_TPart_Eta;
0155 std::map<unsigned int, TH2D*> mapStubDisk_hStub_PtRes_TPart_Eta;
0156 std::map<unsigned int, TH2D*> mapStubDisk_hStub_EtaRes_TPart_Eta;
0157 std::map<unsigned int, TH2D*> mapStubDisk_hStub_PhiRes_TPart_Eta;
0158
0159
0160 std::map<unsigned int, TH2D*> mapStubLayer_hStub_W_TPart_Pt;
0161 std::map<unsigned int, TH2D*> mapStubLayer_hStub_W_TPart_InvPt;
0162 std::map<unsigned int, TH2D*> mapStubDisk_hStub_W_TPart_Pt;
0163 std::map<unsigned int, TH2D*> mapStubDisk_hStub_W_TPart_InvPt;
0164
0165
0166
0167 edm::ParameterSet config;
0168
0169 bool testedGeometry;
0170 bool DebugMode;
0171 };
0172
0173
0174
0175
0176
0177
0178
0179
0180
0181 AnalyzerClusterStub::AnalyzerClusterStub(edm::ParameterSet const& iConfig) : config(iConfig) {
0182
0183 usesResource("TFileService");
0184 DebugMode = iConfig.getParameter<bool>("DebugMode");
0185 }
0186
0187
0188
0189 AnalyzerClusterStub::~AnalyzerClusterStub() {
0190
0191
0192 }
0193
0194
0195
0196 void AnalyzerClusterStub::endJob()
0197 {
0198
0199 std::cerr << " AnalyzerClusterStub::endJob" << std::endl;
0200
0201 }
0202
0203
0204
0205 void AnalyzerClusterStub::beginJob() {
0206
0207
0208 testedGeometry = false;
0209
0210 std::ostringstream histoName;
0211 std::ostringstream histoTitle;
0212
0213
0214 std::cerr << " AnalyzerClusterStub::beginJob" << std::endl;
0215
0216
0217 edm::Service<TFileService> fs;
0218
0219
0220 int NumBins = 200;
0221 double MinPt = 0.0;
0222 double MaxPt = 100.0;
0223
0224 double* BinVec = new double[NumBins + 1];
0225 for (int iBin = 0; iBin < NumBins + 1; iBin++) {
0226 double temp = pow(10, (-NumBins + iBin) / (MaxPt - MinPt));
0227 BinVec[iBin] = temp;
0228 }
0229
0230
0231 hSimVtx_XY = fs->make<TH2D>("hSimVtx_XY", "SimVtx y vs. x", 200, -0.4, 0.4, 200, -0.4, 0.4);
0232 hSimVtx_RZ = fs->make<TH2D>("hSimVtx_RZ", "SimVtx #rho vs. z", 200, -50, 50, 200, 0, 0.4);
0233 hSimVtx_XY->Sumw2();
0234 hSimVtx_RZ->Sumw2();
0235
0236 hTPart_Pt = fs->make<TH1D>("hTPart_Pt", "TPart p_{T}", 200, 0, 50);
0237 hTPart_Eta_Pt10 = fs->make<TH1D>("hTPart_Eta_Pt10", "TPart #eta (p_{T} > 10 GeV/c)", 180, -M_PI, M_PI);
0238 hTPart_Phi_Pt10 = fs->make<TH1D>("hTPart_Phi_Pt10", "TPart #phi (p_{T} > 10 GeV/c)", 180, -M_PI, M_PI);
0239 hTPart_Pt->Sumw2();
0240 hTPart_Eta_Pt10->Sumw2();
0241 hTPart_Phi_Pt10->Sumw2();
0242
0243
0244 hCluster_Barrel_XY = fs->make<TH2D>("hCluster_Barrel_XY", "TTCluster Barrel y vs. x", 960, -120, 120, 960, -120, 120);
0245 hCluster_Barrel_XY_Zoom =
0246 fs->make<TH2D>("hCluster_Barrel_XY_Zoom", "TTCluster Barrel y vs. x", 960, 30, 60, 960, -15, 15);
0247 hCluster_Endcap_Fw_XY =
0248 fs->make<TH2D>("hCluster_Endcap_Fw_XY", "TTCluster Forward Endcap y vs. x", 960, -120, 120, 960, -120, 120);
0249 hCluster_Endcap_Bw_XY =
0250 fs->make<TH2D>("hCluster_Endcap_Bw_XY", "TTCluster Backward Endcap y vs. x", 960, -120, 120, 960, -120, 120);
0251 hCluster_RZ = fs->make<TH2D>("hCluster_RZ", "TTCluster #rho vs. z", 900, -300, 300, 480, 0, 120);
0252 hCluster_Endcap_Fw_RZ_Zoom =
0253 fs->make<TH2D>("hCluster_Endcap_Fw_RZ_Zoom", "TTCluster Forward Endcap #rho vs. z", 960, 140, 170, 960, 30, 60);
0254 hCluster_Endcap_Bw_RZ_Zoom = fs->make<TH2D>(
0255 "hCluster_Endcap_Bw_RZ_Zoom", "TTCluster Backward Endcap #rho vs. z", 960, -170, -140, 960, 70, 100);
0256 hCluster_Barrel_XY->Sumw2();
0257 hCluster_Barrel_XY_Zoom->Sumw2();
0258 hCluster_Endcap_Fw_XY->Sumw2();
0259 hCluster_Endcap_Bw_XY->Sumw2();
0260 hCluster_RZ->Sumw2();
0261 hCluster_Endcap_Fw_RZ_Zoom->Sumw2();
0262 hCluster_Endcap_Bw_RZ_Zoom->Sumw2();
0263
0264 hCluster_IMem_Barrel = fs->make<TH1D>("hCluster_IMem_Barrel", "Inner TTCluster Stack", 12, -0.5, 11.5);
0265 hCluster_IMem_Endcap = fs->make<TH1D>("hCluster_IMem_Endcap", "Inner TTCluster Stack", 12, -0.5, 11.5);
0266 hCluster_OMem_Barrel = fs->make<TH1D>("hCluster_OMem_Barrel", "Outer TTCluster Stack", 12, -0.5, 11.5);
0267 hCluster_OMem_Endcap = fs->make<TH1D>("hCluster_OMem_Endcap", "Outer TTCluster Stack", 12, -0.5, 11.5);
0268 hCluster_IMem_Barrel->Sumw2();
0269 hCluster_IMem_Endcap->Sumw2();
0270 hCluster_OMem_Barrel->Sumw2();
0271 hCluster_OMem_Endcap->Sumw2();
0272
0273 hCluster_Gen_Barrel = fs->make<TH1D>("hCluster_Gen_Barrel", "Genuine TTCluster Stack", 12, -0.5, 11.5);
0274 hCluster_Unkn_Barrel = fs->make<TH1D>("hCluster_Unkn_Barrel", "Unknown TTCluster Stack", 12, -0.5, 11.5);
0275 hCluster_Comb_Barrel = fs->make<TH1D>("hCluster_Comb_Barrel", "Combinatorial TTCluster Stack", 12, -0.5, 11.5);
0276 hCluster_Gen_Endcap = fs->make<TH1D>("hCluster_Gen_Endcap", "Genuine TTCluster Stack", 12, -0.5, 11.5);
0277 hCluster_Unkn_Endcap = fs->make<TH1D>("hCluster_Unkn_Endcap", "Unknown TTCluster Stack", 12, -0.5, 11.5);
0278 hCluster_Comb_Endcap = fs->make<TH1D>("hCluster_Comb_Endcap", "Combinatorial TTCluster Stack", 12, -0.5, 11.5);
0279 hCluster_Gen_Barrel->Sumw2();
0280 hCluster_Unkn_Barrel->Sumw2();
0281 hCluster_Comb_Barrel->Sumw2();
0282 hCluster_Gen_Endcap->Sumw2();
0283 hCluster_Unkn_Endcap->Sumw2();
0284 hCluster_Comb_Endcap->Sumw2();
0285
0286 hCluster_Gen_Eta = fs->make<TH1D>("hCluster_Gen_Eta", "Genuine TTCluster #eta", 90, 0, M_PI);
0287 hCluster_Unkn_Eta = fs->make<TH1D>("hCluster_Unkn_Eta", "Unknown TTCluster #eta", 90, 0, M_PI);
0288 hCluster_Comb_Eta = fs->make<TH1D>("hCluster_Comb_Eta", "Combinatorial TTCluster #eta", 90, 0, M_PI);
0289 hCluster_Gen_Eta->Sumw2();
0290 hCluster_Unkn_Eta->Sumw2();
0291 hCluster_Comb_Eta->Sumw2();
0292
0293 hCluster_PID = fs->make<TH2D>("hCluster_PID", "TTCluster PID (Member)", 501, -250.5, 250.5, 2, -0.5, 1.5);
0294 hCluster_W = fs->make<TH2D>("hCluster_W", "TTCluster Width (Member)", 10, -0.5, 9.5, 2, -0.5, 1.5);
0295 hCluster_PID->Sumw2();
0296 hCluster_W->Sumw2();
0297
0298 hTPart_Eta_INormalization = fs->make<TH1D>("hTPart_Eta_INormalization", "TParticles vs. TPart #eta", 90, 0, M_PI);
0299 hTPart_Eta_ICW_1 = fs->make<TH1D>("hTPart_Eta_ICW_1", "CW 1 vs. TPart #eta", 90, 0, M_PI);
0300 hTPart_Eta_ICW_2 = fs->make<TH1D>("hTPart_Eta_ICW_2", "CW 2 vs. TPart #eta", 90, 0, M_PI);
0301 hTPart_Eta_ICW_3 = fs->make<TH1D>("hTPart_Eta_ICW_3", "CW 3 or more vs. TPart #eta", 90, 0, M_PI);
0302 hTPart_Eta_INormalization->Sumw2();
0303 hTPart_Eta_ICW_1->Sumw2();
0304 hTPart_Eta_ICW_2->Sumw2();
0305 hTPart_Eta_ICW_3->Sumw2();
0306
0307 hTPart_Eta_ONormalization = fs->make<TH1D>("hTPart_Eta_ONormalization", "TParticles vs. TPart #eta", 90, 0, M_PI);
0308 hTPart_Eta_OCW_1 = fs->make<TH1D>("hTPart_Eta_OCW_1", "CW 1 vs. TPart #eta", 90, 0, M_PI);
0309 hTPart_Eta_OCW_2 = fs->make<TH1D>("hTPart_Eta_OCW_2", "CW 2 vs. TPart #eta", 90, 0, M_PI);
0310 hTPart_Eta_OCW_3 = fs->make<TH1D>("hTPart_Eta_OCW_3", "CW 3 or more vs. TPart #eta", 90, 0, M_PI);
0311 hTPart_Eta_ONormalization->Sumw2();
0312 hTPart_Eta_OCW_1->Sumw2();
0313 hTPart_Eta_OCW_2->Sumw2();
0314 hTPart_Eta_OCW_3->Sumw2();
0315
0316
0317 hStub_Barrel_XY = fs->make<TH2D>("hStub_Barrel_XY", "TTStub Barrel y vs. x", 960, -120, 120, 960, -120, 120);
0318 hStub_Barrel_XY_Zoom = fs->make<TH2D>("hStub_Barrel_XY_Zoom", "TTStub Barrel y vs. x", 960, 30, 60, 960, -15, 15);
0319 hStub_Endcap_Fw_XY =
0320 fs->make<TH2D>("hStub_Endcap_Fw_XY", "TTStub Forward Endcap y vs. x", 960, -120, 120, 960, -120, 120);
0321 hStub_Endcap_Bw_XY =
0322 fs->make<TH2D>("hStub_Endcap_Bw_XY", "TTStub Backward Endcap y vs. x", 960, -120, 120, 960, -120, 120);
0323 hStub_RZ = fs->make<TH2D>("hStub_RZ", "TTStub #rho vs. z", 900, -300, 300, 480, 0, 120);
0324 hStub_Endcap_Fw_RZ_Zoom =
0325 fs->make<TH2D>("hStub_Endcap_Fw_RZ_Zoom", "TTStub Forward Endcap #rho vs. z", 960, 140, 170, 960, 30, 60);
0326 hStub_Endcap_Bw_RZ_Zoom =
0327 fs->make<TH2D>("hStub_Endcap_Bw_RZ_Zoom", "TTStub Backward Endcap #rho vs. z", 960, -170, -140, 960, 70, 100);
0328 hStub_Barrel_XY->Sumw2();
0329 hStub_Barrel_XY_Zoom->Sumw2();
0330 hStub_Endcap_Fw_XY->Sumw2();
0331 hStub_Endcap_Bw_XY->Sumw2();
0332 hStub_RZ->Sumw2();
0333 hStub_Endcap_Fw_RZ_Zoom->Sumw2();
0334 hStub_Endcap_Bw_RZ_Zoom->Sumw2();
0335
0336 hStub_Barrel = fs->make<TH1D>("hStub_Barrel", "TTStub Stack", 12, -0.5, 11.5);
0337 hStub_Endcap = fs->make<TH1D>("hStub_Endcap", "TTStub Stack", 12, -0.5, 11.5);
0338 hStub_Barrel->Sumw2();
0339 hStub_Endcap->Sumw2();
0340
0341 hStub_Gen_Barrel = fs->make<TH1D>("hStub_Gen_Barrel", "Genuine TTStub Stack", 12, -0.5, 11.5);
0342 hStub_Unkn_Barrel = fs->make<TH1D>("hStub_Unkn_Barrel", "Unknown TTStub Stack", 12, -0.5, 11.5);
0343 hStub_Comb_Barrel = fs->make<TH1D>("hStub_Comb_Barrel", "Combinatorial TTStub Stack", 12, -0.5, 11.5);
0344 hStub_Gen_Endcap = fs->make<TH1D>("hStub_Gen_Endcap", "Genuine TTStub Stack", 12, -0.5, 11.5);
0345 hStub_Unkn_Endcap = fs->make<TH1D>("hStub_Unkn_Endcap", "Unknown TTStub Stack", 12, -0.5, 11.5);
0346 hStub_Comb_Endcap = fs->make<TH1D>("hStub_Comb_Endcap", "Combinatorial TTStub Stack", 12, -0.5, 11.5);
0347 hStub_Gen_Barrel->Sumw2();
0348 hStub_Unkn_Barrel->Sumw2();
0349 hStub_Comb_Barrel->Sumw2();
0350 hStub_Gen_Endcap->Sumw2();
0351 hStub_Unkn_Endcap->Sumw2();
0352 hStub_Comb_Endcap->Sumw2();
0353
0354 hStub_Gen_Eta = fs->make<TH1D>("hStub_Gen_Eta", "Genuine TTStub #eta", 90, 0, M_PI);
0355 hStub_Unkn_Eta = fs->make<TH1D>("hStub_Unkn_Eta", "Unknown TTStub #eta", 90, 0, M_PI);
0356 hStub_Comb_Eta = fs->make<TH1D>("hStub_Comb_Eta", "Combinatorial TTStub #eta", 90, 0, M_PI);
0357 hStub_Gen_Eta->Sumw2();
0358 hStub_Unkn_Eta->Sumw2();
0359 hStub_Comb_Eta->Sumw2();
0360
0361 hStub_PID = fs->make<TH1D>("hStub_PID", "TTStub PID", 501, -250.5, 250.5);
0362 hStub_Barrel_W =
0363 fs->make<TH2D>("hStub_Barrel_W", "TTStub Post-Corr Displacement (Layer)", 12, -0.5, 11.5, 43, -10.75, 10.75);
0364 hStub_Barrel_O = fs->make<TH2D>("hStub_Barrel_O", "TTStub Offset (Layer)", 12, -0.5, 11.5, 43, -10.75, 10.75);
0365 hStub_Endcap_W =
0366 fs->make<TH2D>("hStub_Endcap_W", "TTStub Post-Corr Displacement (Layer)", 12, -0.5, 11.5, 43, -10.75, 10.75);
0367 hStub_Endcap_O = fs->make<TH2D>("hStub_Endcap_O", "TTStub Offset (Layer)", 12, -0.5, 11.5, 43, -10.75, 10.75);
0368
0369 hStub_PID->Sumw2();
0370 hStub_Barrel_W->Sumw2();
0371 hStub_Barrel_O->Sumw2();
0372 hStub_Endcap_W->Sumw2();
0373 hStub_Endcap_O->Sumw2();
0374
0375 hTPart_Eta_Pt10_Normalization =
0376 fs->make<TH1D>("hTPart_Eta_Pt10_Normalization", "TParticles vs. TPart #eta", 90, 0, M_PI);
0377 hTPart_Eta_Pt10_NumPS = fs->make<TH1D>("hTPart_Eta_Pt10_NumPS", "PS Stubs vs. TPart #eta", 90, 0, M_PI);
0378 hTPart_Eta_Pt10_Num2S = fs->make<TH1D>("hTPart_Eta_Pt10_Num2S", "2S Stubs vs. TPart #eta", 90, 0, M_PI);
0379 hTPart_Eta_Pt10_Normalization->Sumw2();
0380 hTPart_Eta_Pt10_NumPS->Sumw2();
0381 hTPart_Eta_Pt10_Num2S->Sumw2();
0382
0383
0384 for (unsigned int stackIdx = 0; stackIdx < 12; stackIdx++) {
0385
0386
0387
0388 histoName.str("");
0389 histoName << "hTPart_Pt_Clu_L" << stackIdx;
0390 histoTitle.str("");
0391 histoTitle << "TPart p_{T}, Cluster, Barrel Stack " << stackIdx;
0392 mapCluLayer_hTPart_Pt[stackIdx] = fs->make<TH1D>(histoName.str().c_str(), histoTitle.str().c_str(), 200, 0, 50);
0393 histoName.str("");
0394 histoName << "hTPart_Eta_Pt10_Clu_L" << stackIdx;
0395 histoTitle.str("");
0396 histoTitle << "TPart #eta (p_{T} > 10 GeV/c), Cluster, Barrel Stack " << stackIdx;
0397 mapCluLayer_hTPart_Eta_Pt10[stackIdx] =
0398 fs->make<TH1D>(histoName.str().c_str(), histoTitle.str().c_str(), 180, -M_PI, M_PI);
0399 histoName.str("");
0400 histoName << "hTPart_Phi_Pt10_Clu_L" << stackIdx;
0401 histoTitle.str("");
0402 histoTitle << "TPart #phi (p_{T} > 10 GeV/c), Cluster, Barrel Stack " << stackIdx;
0403 mapCluLayer_hTPart_Phi_Pt10[stackIdx] =
0404 fs->make<TH1D>(histoName.str().c_str(), histoTitle.str().c_str(), 180, -M_PI, M_PI);
0405 mapCluLayer_hTPart_Pt[stackIdx]->Sumw2();
0406 mapCluLayer_hTPart_Eta_Pt10[stackIdx]->Sumw2();
0407 mapCluLayer_hTPart_Phi_Pt10[stackIdx]->Sumw2();
0408
0409
0410 histoName.str("");
0411 histoName << "hTPart_Pt_Stub_L" << stackIdx;
0412 histoTitle.str("");
0413 histoTitle << "TPart p_{T}, Stub, Barrel Stack " << stackIdx;
0414 mapStubLayer_hTPart_Pt[stackIdx] = fs->make<TH1D>(histoName.str().c_str(), histoTitle.str().c_str(), 200, 0, 50);
0415 histoName.str("");
0416 histoName << "hTPart_Eta_Pt10_Stub_L" << stackIdx;
0417 histoTitle.str("");
0418 histoTitle << "TPart #eta (p_{T} > 10 GeV/c), Stub, Barrel Stack " << stackIdx;
0419 mapStubLayer_hTPart_Eta_Pt10[stackIdx] =
0420 fs->make<TH1D>(histoName.str().c_str(), histoTitle.str().c_str(), 180, -M_PI, M_PI);
0421 histoName.str("");
0422 histoName << "hTPart_Phi_Pt10_Stub_L" << stackIdx;
0423 histoTitle.str("");
0424 histoTitle << "TPart #phi (p_{T} > 10 GeV/c), Stub, Barrel Stack " << stackIdx;
0425 mapStubLayer_hTPart_Phi_Pt10[stackIdx] =
0426 fs->make<TH1D>(histoName.str().c_str(), histoTitle.str().c_str(), 180, -M_PI, M_PI);
0427 mapStubLayer_hTPart_Pt[stackIdx]->Sumw2();
0428 mapStubLayer_hTPart_Eta_Pt10[stackIdx]->Sumw2();
0429 mapStubLayer_hTPart_Phi_Pt10[stackIdx]->Sumw2();
0430
0431
0432 histoName.str("");
0433 histoName << "hStub_InvPt_TPart_InvPt_L" << stackIdx;
0434 histoTitle.str("");
0435 histoTitle << "Stub p_{T}^{-1} vs. TPart p_{T}^{-1}, Barrel Stack " << stackIdx;
0436 mapStubLayer_hStub_InvPt_TPart_InvPt[stackIdx] =
0437 fs->make<TH2D>(histoName.str().c_str(), histoTitle.str().c_str(), 200, 0.0, 0.8, 200, 0.0, 0.8);
0438 mapStubLayer_hStub_InvPt_TPart_InvPt[stackIdx]->GetXaxis()->Set(NumBins, BinVec);
0439 mapStubLayer_hStub_InvPt_TPart_InvPt[stackIdx]->GetYaxis()->Set(NumBins, BinVec);
0440 mapStubLayer_hStub_InvPt_TPart_InvPt[stackIdx]->Sumw2();
0441
0442 histoName.str("");
0443 histoName << "hStub_Pt_TPart_Pt_L" << stackIdx;
0444 histoTitle.str("");
0445 histoTitle << "Stub p_{T} vs. TPart p_{T}, Barrel Stack " << stackIdx;
0446 mapStubLayer_hStub_Pt_TPart_Pt[stackIdx] =
0447 fs->make<TH2D>(histoName.str().c_str(), histoTitle.str().c_str(), 100, 0, 50, 100, 0, 50);
0448 mapStubLayer_hStub_Pt_TPart_Pt[stackIdx]->Sumw2();
0449
0450 histoName.str("");
0451 histoName << "hStub_Eta_TPart_Eta_L" << stackIdx;
0452 histoTitle.str("");
0453 histoTitle << "Stub #eta vs. TPart #eta, Barrel Stack " << stackIdx;
0454 mapStubLayer_hStub_Eta_TPart_Eta[stackIdx] =
0455 fs->make<TH2D>(histoName.str().c_str(), histoTitle.str().c_str(), 180, -M_PI, M_PI, 180, -M_PI, M_PI);
0456 mapStubLayer_hStub_Eta_TPart_Eta[stackIdx]->Sumw2();
0457
0458 histoName.str("");
0459 histoName << "hStub_Phi_TPart_Phi_L" << stackIdx;
0460 histoTitle.str("");
0461 histoTitle << "Stub #phi vs. TPart #phi, Barrel Stack " << stackIdx;
0462 mapStubLayer_hStub_Phi_TPart_Phi[stackIdx] =
0463 fs->make<TH2D>(histoName.str().c_str(), histoTitle.str().c_str(), 180, -M_PI, M_PI, 180, -M_PI, M_PI);
0464 mapStubLayer_hStub_Phi_TPart_Phi[stackIdx]->Sumw2();
0465
0466
0467 histoName.str("");
0468 histoName << "hStub_InvPtRes_TPart_Eta_L" << stackIdx;
0469 histoTitle.str("");
0470 histoTitle << "Stub p_{T}^{-1} - TPart p_{T}^{-1} vs. TPart #eta, Barrel Stack " << stackIdx;
0471 mapStubLayer_hStub_InvPtRes_TPart_Eta[stackIdx] =
0472 fs->make<TH2D>(histoName.str().c_str(), histoTitle.str().c_str(), 180, -M_PI, M_PI, 100, -2.0, 2.0);
0473 mapStubLayer_hStub_InvPtRes_TPart_Eta[stackIdx]->Sumw2();
0474
0475 histoName.str("");
0476 histoName << "hStub_PtRes_TPart_Eta_L" << stackIdx;
0477 histoTitle.str("");
0478 histoTitle << "Stub p_{T} - TPart p_{T} vs. TPart #eta, Barrel Stack " << stackIdx;
0479 mapStubLayer_hStub_PtRes_TPart_Eta[stackIdx] =
0480 fs->make<TH2D>(histoName.str().c_str(), histoTitle.str().c_str(), 180, -M_PI, M_PI, 100, -40, 40);
0481 mapStubLayer_hStub_PtRes_TPart_Eta[stackIdx]->Sumw2();
0482
0483 histoName.str("");
0484 histoName << "hStub_EtaRes_TPart_Eta_L" << stackIdx;
0485 histoTitle.str("");
0486 histoTitle << "Stub #eta - TPart #eta vs. TPart #eta, Barrel Stack " << stackIdx;
0487 mapStubLayer_hStub_EtaRes_TPart_Eta[stackIdx] =
0488 fs->make<TH2D>(histoName.str().c_str(), histoTitle.str().c_str(), 180, -M_PI, M_PI, 100, -2, 2);
0489 mapStubLayer_hStub_EtaRes_TPart_Eta[stackIdx]->Sumw2();
0490
0491 histoName.str("");
0492 histoName << "hStub_PhiRes_TPart_Eta_L" << stackIdx;
0493 histoTitle.str("");
0494 histoTitle << "Stub #phi - TPart #phi vs. TPart #eta, Barrel Stack " << stackIdx;
0495 mapStubLayer_hStub_PhiRes_TPart_Eta[stackIdx] =
0496 fs->make<TH2D>(histoName.str().c_str(), histoTitle.str().c_str(), 180, -M_PI, M_PI, 100, -0.5, 0.5);
0497 mapStubLayer_hStub_PhiRes_TPart_Eta[stackIdx]->Sumw2();
0498
0499
0500 histoName.str("");
0501 histoName << "hStub_W_TPart_Pt_L" << stackIdx;
0502 histoTitle.str("");
0503 histoTitle << "Stub Width vs. TPart p_{T}, Barrel Stack " << stackIdx;
0504 mapStubLayer_hStub_W_TPart_Pt[stackIdx] =
0505 fs->make<TH2D>(histoName.str().c_str(), histoTitle.str().c_str(), 200, 0, 50, 41, -10.25, 10.25);
0506 mapStubLayer_hStub_W_TPart_Pt[stackIdx]->Sumw2();
0507
0508 histoName.str("");
0509 histoName << "hStub_W_TPart_InvPt_L" << stackIdx;
0510 histoTitle.str("");
0511 histoTitle << "Stub Width vs. TPart p_{T}^{-1}, Barrel Stack " << stackIdx;
0512 mapStubLayer_hStub_W_TPart_InvPt[stackIdx] =
0513 fs->make<TH2D>(histoName.str().c_str(), histoTitle.str().c_str(), 200, 0, 0.8, 41, -10.25, 10.25);
0514 mapStubLayer_hStub_W_TPart_InvPt[stackIdx]->GetXaxis()->Set(NumBins, BinVec);
0515 mapStubLayer_hStub_W_TPart_InvPt[stackIdx]->Sumw2();
0516
0517
0518
0519
0520 histoName.str("");
0521 histoName << "hTPart_Pt_Clu_D" << stackIdx;
0522 histoTitle.str("");
0523 histoTitle << "TPart p_{T}, Cluster, Endcap Stack " << stackIdx;
0524 mapCluDisk_hTPart_Pt[stackIdx] = fs->make<TH1D>(histoName.str().c_str(), histoTitle.str().c_str(), 200, 0, 50);
0525 histoName.str("");
0526 histoName << "hTPart_Eta_Pt10_Clu_D" << stackIdx;
0527 histoTitle.str("");
0528 histoTitle << "TPart #eta (p_{T} > 10 GeV/c), Cluster, Endcap Stack " << stackIdx;
0529 mapCluDisk_hTPart_Eta_Pt10[stackIdx] =
0530 fs->make<TH1D>(histoName.str().c_str(), histoTitle.str().c_str(), 180, -M_PI, M_PI);
0531 histoName.str("");
0532 histoName << "hTPart_Phi_Pt10_Clu_D" << stackIdx;
0533 histoTitle.str("");
0534 histoTitle << "TPart #phi (p_{T} > 10 GeV/c), Cluster, Endcap Stack " << stackIdx;
0535 mapCluDisk_hTPart_Phi_Pt10[stackIdx] =
0536 fs->make<TH1D>(histoName.str().c_str(), histoTitle.str().c_str(), 180, -M_PI, M_PI);
0537 mapCluDisk_hTPart_Pt[stackIdx]->Sumw2();
0538 mapCluDisk_hTPart_Eta_Pt10[stackIdx]->Sumw2();
0539 mapCluDisk_hTPart_Phi_Pt10[stackIdx]->Sumw2();
0540
0541
0542 histoName.str("");
0543 histoName << "hTPart_Pt_Stub_D" << stackIdx;
0544 histoTitle.str("");
0545 histoTitle << "TPart p_{T}, Stub, Endcap Stack " << stackIdx;
0546 mapStubDisk_hTPart_Pt[stackIdx] = fs->make<TH1D>(histoName.str().c_str(), histoTitle.str().c_str(), 200, 0, 50);
0547 histoName.str("");
0548 histoName << "hTPart_Eta_Pt10_Stub_D" << stackIdx;
0549 histoTitle.str("");
0550 histoTitle << "TPart #eta (p_{T} > 10 GeV/c), Stub, Endcap Stack " << stackIdx;
0551 mapStubDisk_hTPart_Eta_Pt10[stackIdx] =
0552 fs->make<TH1D>(histoName.str().c_str(), histoTitle.str().c_str(), 180, -M_PI, M_PI);
0553 histoName.str("");
0554 histoName << "hTPart_Phi_Pt10_Stub_D" << stackIdx;
0555 histoTitle.str("");
0556 histoTitle << "TPart #phi (p_{T} > 10 GeV/c), Stub, Endcap Stack " << stackIdx;
0557 mapStubDisk_hTPart_Phi_Pt10[stackIdx] =
0558 fs->make<TH1D>(histoName.str().c_str(), histoTitle.str().c_str(), 180, -M_PI, M_PI);
0559 mapStubDisk_hTPart_Pt[stackIdx]->Sumw2();
0560 mapStubDisk_hTPart_Eta_Pt10[stackIdx]->Sumw2();
0561 mapStubDisk_hTPart_Phi_Pt10[stackIdx]->Sumw2();
0562
0563
0564 histoName.str("");
0565 histoName << "hStub_InvPt_TPart_InvPt_D" << stackIdx;
0566 histoTitle.str("");
0567 histoTitle << "Stub p_{T}^{-1} vs. TPart p_{T}^{-1}, Endcap Stack " << stackIdx;
0568 mapStubDisk_hStub_InvPt_TPart_InvPt[stackIdx] =
0569 fs->make<TH2D>(histoName.str().c_str(), histoTitle.str().c_str(), 200, 0.0, 0.8, 200, 0.0, 0.8);
0570 mapStubDisk_hStub_InvPt_TPart_InvPt[stackIdx]->GetXaxis()->Set(NumBins, BinVec);
0571 mapStubDisk_hStub_InvPt_TPart_InvPt[stackIdx]->GetYaxis()->Set(NumBins, BinVec);
0572 mapStubDisk_hStub_InvPt_TPart_InvPt[stackIdx]->Sumw2();
0573
0574 histoName.str("");
0575 histoName << "hStub_Pt_TPart_Pt_D" << stackIdx;
0576 histoTitle.str("");
0577 histoTitle << "Stub p_{T} vs. TPart p_{T}, Endcap Stack " << stackIdx;
0578 mapStubDisk_hStub_Pt_TPart_Pt[stackIdx] =
0579 fs->make<TH2D>(histoName.str().c_str(), histoTitle.str().c_str(), 100, 0, 50, 100, 0, 50);
0580 mapStubDisk_hStub_Pt_TPart_Pt[stackIdx]->Sumw2();
0581
0582 histoName.str("");
0583 histoName << "hStub_Eta_TPart_Eta_D" << stackIdx;
0584 histoTitle.str("");
0585 histoTitle << "Stub #eta vs. TPart #eta, Endcap Stack " << stackIdx;
0586 mapStubDisk_hStub_Eta_TPart_Eta[stackIdx] =
0587 fs->make<TH2D>(histoName.str().c_str(), histoTitle.str().c_str(), 180, -M_PI, M_PI, 180, -M_PI, M_PI);
0588 mapStubDisk_hStub_Eta_TPart_Eta[stackIdx]->Sumw2();
0589
0590 histoName.str("");
0591 histoName << "hStub_Phi_TPart_Phi_D" << stackIdx;
0592 histoTitle.str("");
0593 histoTitle << "Stub #phi vs. TPart #phi, Endcap Stack " << stackIdx;
0594 mapStubDisk_hStub_Phi_TPart_Phi[stackIdx] =
0595 fs->make<TH2D>(histoName.str().c_str(), histoTitle.str().c_str(), 180, -M_PI, M_PI, 180, -M_PI, M_PI);
0596 mapStubDisk_hStub_Phi_TPart_Phi[stackIdx]->Sumw2();
0597
0598
0599 histoName.str("");
0600 histoName << "hStub_InvPtRes_TPart_Eta_D" << stackIdx;
0601 histoTitle.str("");
0602 histoTitle << "Stub p_{T}^{-1} - TPart p_{T}^{-1} vs. TPart #eta, Endcap Stack " << stackIdx;
0603 mapStubDisk_hStub_InvPtRes_TPart_Eta[stackIdx] =
0604 fs->make<TH2D>(histoName.str().c_str(), histoTitle.str().c_str(), 180, -M_PI, M_PI, 100, -2.0, 2.0);
0605 mapStubDisk_hStub_InvPtRes_TPart_Eta[stackIdx]->Sumw2();
0606
0607 histoName.str("");
0608 histoName << "hStub_PtRes_TPart_Eta_D" << stackIdx;
0609 histoTitle.str("");
0610 histoTitle << "Stub p_{T} - TPart p_{T} vs. TPart #eta, Endcap Stack " << stackIdx;
0611 mapStubDisk_hStub_PtRes_TPart_Eta[stackIdx] =
0612 fs->make<TH2D>(histoName.str().c_str(), histoTitle.str().c_str(), 180, -M_PI, M_PI, 100, -40, 40);
0613 mapStubDisk_hStub_PtRes_TPart_Eta[stackIdx]->Sumw2();
0614
0615 histoName.str("");
0616 histoName << "hStub_EtaRes_TPart_Eta_D" << stackIdx;
0617 histoTitle.str("");
0618 histoTitle << "Stub #eta - TPart #eta vs. TPart #eta, Endcap Stack " << stackIdx;
0619 mapStubDisk_hStub_EtaRes_TPart_Eta[stackIdx] =
0620 fs->make<TH2D>(histoName.str().c_str(), histoTitle.str().c_str(), 180, -M_PI, M_PI, 100, -2, 2);
0621 mapStubDisk_hStub_EtaRes_TPart_Eta[stackIdx]->Sumw2();
0622
0623 histoName.str("");
0624 histoName << "hStub_PhiRes_TPart_Eta_D" << stackIdx;
0625 histoTitle.str("");
0626 histoTitle << "Stub #phi - TPart #phi vs. TPart #eta, Endcap Stack " << stackIdx;
0627 mapStubDisk_hStub_PhiRes_TPart_Eta[stackIdx] =
0628 fs->make<TH2D>(histoName.str().c_str(), histoTitle.str().c_str(), 180, -M_PI, M_PI, 100, -0.5, 0.5);
0629 mapStubDisk_hStub_PhiRes_TPart_Eta[stackIdx]->Sumw2();
0630
0631
0632 histoName.str("");
0633 histoName << "hStub_W_TPart_Pt_D" << stackIdx;
0634 histoTitle.str("");
0635 histoTitle << "Stub Width vs. TPart p_{T}, Endcap Stack " << stackIdx;
0636 mapStubDisk_hStub_W_TPart_Pt[stackIdx] =
0637 fs->make<TH2D>(histoName.str().c_str(), histoTitle.str().c_str(), 200, 0, 50, 41, -10.25, 10.25);
0638 mapStubDisk_hStub_W_TPart_Pt[stackIdx]->Sumw2();
0639
0640 histoName.str("");
0641 histoName << "hStub_W_TPart_InvPt_D" << stackIdx;
0642 histoTitle.str("");
0643 histoTitle << "Stub Width vs. TPart p_{T}^{-1}, Endcap Stack " << stackIdx;
0644 mapStubDisk_hStub_W_TPart_InvPt[stackIdx] =
0645 fs->make<TH2D>(histoName.str().c_str(), histoTitle.str().c_str(), 200, 0, 0.8, 41, -10.25, 10.25);
0646 mapStubDisk_hStub_W_TPart_InvPt[stackIdx]->GetXaxis()->Set(NumBins, BinVec);
0647 mapStubDisk_hStub_W_TPart_InvPt[stackIdx]->Sumw2();
0648 }
0649
0650
0651 }
0652
0653
0654
0655 void AnalyzerClusterStub::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) {
0656
0657
0658
0659
0660
0661
0662
0663
0664
0665
0666
0667
0668
0669
0670
0671
0672
0673
0674
0675
0676
0677
0678
0679
0680
0681
0682
0683
0684
0685
0686
0687
0688
0689
0690
0691
0692
0693
0694
0695
0696
0697
0698
0699
0700
0701
0702
0703
0704
0705
0706
0707
0708
0709
0710
0711
0712
0713
0714
0715
0716
0717
0718
0719
0720
0721
0722
0723
0724
0725
0726
0727
0728
0729
0730
0731
0732
0733
0734
0735
0736
0737
0738
0739
0740
0741
0742
0743
0744
0745
0746
0747
0748
0749
0750
0751
0752
0753
0754
0755
0756
0757
0758
0759
0760
0761
0762
0763
0764
0765
0766
0767
0768
0769
0770
0771
0772
0773
0774
0775
0776
0777
0778
0779
0780
0781
0782
0783
0784
0785
0786
0787
0788
0789
0790
0791
0792
0793
0794
0795
0796
0797
0798
0799
0800
0801
0802
0803
0804
0805
0806
0807
0808
0809
0810
0811
0812
0813
0814
0815
0816
0817
0818
0819
0820
0821
0822
0823
0824
0825
0826
0827
0828
0829
0830
0831
0832
0833
0834
0835
0836
0837
0838
0839
0840
0841
0842
0843
0844
0845
0846
0847
0848
0849
0850
0851
0852
0853
0854
0855
0856
0857
0858
0859
0860
0861
0862
0863
0864
0865
0866
0867
0868
0869
0870
0871
0872
0873
0874
0875
0876
0877
0878
0879
0880
0881
0882
0883
0884
0885
0886
0887
0888
0889
0890
0891
0892
0893
0894
0895
0896
0897
0898
0899
0900
0901
0902
0903
0904
0905
0906
0907
0908
0909
0910
0911
0912
0913
0914
0915
0916
0917
0918
0919
0920
0921
0922
0923
0924
0925
0926
0927
0928
0929
0930
0931
0932
0933
0934
0935
0936
0937
0938
0939
0940
0941
0942
0943
0944
0945
0946
0947
0948
0949
0950
0951
0952
0953
0954
0955
0956
0957
0958
0959
0960
0961
0962
0963
0964
0965
0966
0967
0968
0969
0970
0971
0972
0973
0974
0975
0976
0977
0978
0979
0980
0981
0982
0983
0984
0985
0986
0987
0988
0989
0990
0991
0992
0993
0994
0995
0996
0997
0998
0999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323 }
1324
1325
1326
1327 DEFINE_FWK_MODULE(AnalyzerClusterStub);