File indexing completed on 2024-04-06 12:22:11
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
0022
0023 #include "SimDataFormats/TrackingAnalysis/interface/TrackingParticle.h"
0024 #include "SimDataFormats/TrackingAnalysis/interface/TrackingVertex.h"
0025 #include "CommonTools/UtilAlgos/interface/TFileService.h"
0026 #include "Geometry/CommonTopologies/interface/Topology.h"
0027 #include "Geometry/CommonDetUnit/interface/PixelGeomDetUnit.h"
0028 #include "Geometry/CommonTopologies/interface/PixelTopology.h"
0029 #include <TH1D.h>
0030 #include <TH2D.h>
0031
0032 class AnalyzerClusterStub : public edm::one::EDAnalyzer<edm::one::WatchRuns, edm::one::SharedResources> {
0033
0034 public:
0035
0036 explicit AnalyzerClusterStub(const edm::ParameterSet& iConfig);
0037 ~AnalyzerClusterStub() override;
0038
0039 void beginJob() override;
0040 void endJob() override;
0041 void beginRun(const edm::Run& iEvent, const edm::EventSetup& iSetup) override {}
0042 void endRun(const edm::Run& iEvent, const edm::EventSetup& iSetup) override {}
0043 void analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) override;
0044
0045
0046 private:
0047
0048 TH2D* hSimVtx_XY;
0049 TH2D* hSimVtx_RZ;
0050
0051 TH1D* hTPart_Pt;
0052 TH1D* hTPart_Eta_Pt10;
0053 TH1D* hTPart_Phi_Pt10;
0054
0055
0056 TH2D* hCluster_Barrel_XY;
0057 TH2D* hCluster_Barrel_XY_Zoom;
0058 TH2D* hCluster_Endcap_Fw_XY;
0059 TH2D* hCluster_Endcap_Bw_XY;
0060 TH2D* hCluster_RZ;
0061 TH2D* hCluster_Endcap_Fw_RZ_Zoom;
0062 TH2D* hCluster_Endcap_Bw_RZ_Zoom;
0063
0064 TH1D* hCluster_IMem_Barrel;
0065 TH1D* hCluster_IMem_Endcap;
0066 TH1D* hCluster_OMem_Barrel;
0067 TH1D* hCluster_OMem_Endcap;
0068
0069 TH1D* hCluster_Gen_Barrel;
0070 TH1D* hCluster_Unkn_Barrel;
0071 TH1D* hCluster_Comb_Barrel;
0072 TH1D* hCluster_Gen_Endcap;
0073 TH1D* hCluster_Unkn_Endcap;
0074 TH1D* hCluster_Comb_Endcap;
0075
0076 TH1D* hCluster_Gen_Eta;
0077 TH1D* hCluster_Unkn_Eta;
0078 TH1D* hCluster_Comb_Eta;
0079
0080 TH2D* hCluster_PID;
0081 TH2D* hCluster_W;
0082
0083 TH1D* hTPart_Eta_INormalization;
0084 TH1D* hTPart_Eta_ICW_1;
0085 TH1D* hTPart_Eta_ICW_2;
0086 TH1D* hTPart_Eta_ICW_3;
0087 TH1D* hTPart_Eta_ONormalization;
0088 TH1D* hTPart_Eta_OCW_1;
0089 TH1D* hTPart_Eta_OCW_2;
0090 TH1D* hTPart_Eta_OCW_3;
0091
0092
0093 TH2D* hStub_Barrel_XY;
0094 TH2D* hStub_Barrel_XY_Zoom;
0095 TH2D* hStub_Endcap_Fw_XY;
0096 TH2D* hStub_Endcap_Bw_XY;
0097 TH2D* hStub_RZ;
0098 TH2D* hStub_Endcap_Fw_RZ_Zoom;
0099 TH2D* hStub_Endcap_Bw_RZ_Zoom;
0100
0101 TH1D* hStub_Barrel;
0102 TH1D* hStub_Endcap;
0103
0104 TH1D* hStub_Gen_Barrel;
0105 TH1D* hStub_Unkn_Barrel;
0106 TH1D* hStub_Comb_Barrel;
0107 TH1D* hStub_Gen_Endcap;
0108 TH1D* hStub_Unkn_Endcap;
0109 TH1D* hStub_Comb_Endcap;
0110
0111 TH1D* hStub_Gen_Eta;
0112 TH1D* hStub_Unkn_Eta;
0113 TH1D* hStub_Comb_Eta;
0114
0115 TH1D* hStub_PID;
0116 TH2D* hStub_Barrel_W;
0117 TH2D* hStub_Barrel_O;
0118 TH2D* hStub_Endcap_W;
0119 TH2D* hStub_Endcap_O;
0120
0121
0122 TH1D* hTPart_Eta_Pt10_Normalization;
0123 TH1D* hTPart_Eta_Pt10_NumPS;
0124 TH1D* hTPart_Eta_Pt10_Num2S;
0125
0126
0127 std::map<unsigned int, TH1D*> mapCluLayer_hTPart_Pt;
0128 std::map<unsigned int, TH1D*> mapCluLayer_hTPart_Eta_Pt10;
0129 std::map<unsigned int, TH1D*> mapCluLayer_hTPart_Phi_Pt10;
0130 std::map<unsigned int, TH1D*> mapCluDisk_hTPart_Pt;
0131 std::map<unsigned int, TH1D*> mapCluDisk_hTPart_Eta_Pt10;
0132 std::map<unsigned int, TH1D*> mapCluDisk_hTPart_Phi_Pt10;
0133
0134 std::map<unsigned int, TH1D*> mapStubLayer_hTPart_Pt;
0135 std::map<unsigned int, TH1D*> mapStubLayer_hTPart_Eta_Pt10;
0136 std::map<unsigned int, TH1D*> mapStubLayer_hTPart_Phi_Pt10;
0137 std::map<unsigned int, TH1D*> mapStubDisk_hTPart_Pt;
0138 std::map<unsigned int, TH1D*> mapStubDisk_hTPart_Eta_Pt10;
0139 std::map<unsigned int, TH1D*> mapStubDisk_hTPart_Phi_Pt10;
0140
0141
0142 std::map<unsigned int, TH2D*> mapStubLayer_hStub_InvPt_TPart_InvPt;
0143 std::map<unsigned int, TH2D*> mapStubLayer_hStub_Pt_TPart_Pt;
0144 std::map<unsigned int, TH2D*> mapStubLayer_hStub_Eta_TPart_Eta;
0145 std::map<unsigned int, TH2D*> mapStubLayer_hStub_Phi_TPart_Phi;
0146 std::map<unsigned int, TH2D*> mapStubDisk_hStub_InvPt_TPart_InvPt;
0147 std::map<unsigned int, TH2D*> mapStubDisk_hStub_Pt_TPart_Pt;
0148 std::map<unsigned int, TH2D*> mapStubDisk_hStub_Eta_TPart_Eta;
0149 std::map<unsigned int, TH2D*> mapStubDisk_hStub_Phi_TPart_Phi;
0150
0151
0152 std::map<unsigned int, TH2D*> mapStubLayer_hStub_InvPtRes_TPart_Eta;
0153 std::map<unsigned int, TH2D*> mapStubLayer_hStub_PtRes_TPart_Eta;
0154 std::map<unsigned int, TH2D*> mapStubLayer_hStub_EtaRes_TPart_Eta;
0155 std::map<unsigned int, TH2D*> mapStubLayer_hStub_PhiRes_TPart_Eta;
0156 std::map<unsigned int, TH2D*> mapStubDisk_hStub_InvPtRes_TPart_Eta;
0157 std::map<unsigned int, TH2D*> mapStubDisk_hStub_PtRes_TPart_Eta;
0158 std::map<unsigned int, TH2D*> mapStubDisk_hStub_EtaRes_TPart_Eta;
0159 std::map<unsigned int, TH2D*> mapStubDisk_hStub_PhiRes_TPart_Eta;
0160
0161
0162 std::map<unsigned int, TH2D*> mapStubLayer_hStub_W_TPart_Pt;
0163 std::map<unsigned int, TH2D*> mapStubLayer_hStub_W_TPart_InvPt;
0164 std::map<unsigned int, TH2D*> mapStubDisk_hStub_W_TPart_Pt;
0165 std::map<unsigned int, TH2D*> mapStubDisk_hStub_W_TPart_InvPt;
0166
0167
0168
0169 edm::ParameterSet config;
0170
0171 bool testedGeometry;
0172 bool DebugMode;
0173 };
0174
0175
0176
0177
0178
0179
0180
0181
0182
0183 AnalyzerClusterStub::AnalyzerClusterStub(edm::ParameterSet const& iConfig) : config(iConfig) {
0184
0185 usesResource("TFileService");
0186 DebugMode = iConfig.getParameter<bool>("DebugMode");
0187 }
0188
0189
0190
0191 AnalyzerClusterStub::~AnalyzerClusterStub() {
0192
0193
0194 }
0195
0196
0197
0198 void AnalyzerClusterStub::endJob()
0199 {
0200
0201 std::cerr << " AnalyzerClusterStub::endJob" << std::endl;
0202
0203 }
0204
0205
0206
0207 void AnalyzerClusterStub::beginJob() {
0208
0209
0210 testedGeometry = false;
0211
0212 std::ostringstream histoName;
0213 std::ostringstream histoTitle;
0214
0215
0216 std::cerr << " AnalyzerClusterStub::beginJob" << std::endl;
0217
0218
0219 edm::Service<TFileService> fs;
0220
0221
0222 int NumBins = 200;
0223 double MinPt = 0.0;
0224 double MaxPt = 100.0;
0225
0226 double* BinVec = new double[NumBins + 1];
0227 for (int iBin = 0; iBin < NumBins + 1; iBin++) {
0228 double temp = pow(10, (-NumBins + iBin) / (MaxPt - MinPt));
0229 BinVec[iBin] = temp;
0230 }
0231
0232
0233 hSimVtx_XY = fs->make<TH2D>("hSimVtx_XY", "SimVtx y vs. x", 200, -0.4, 0.4, 200, -0.4, 0.4);
0234 hSimVtx_RZ = fs->make<TH2D>("hSimVtx_RZ", "SimVtx #rho vs. z", 200, -50, 50, 200, 0, 0.4);
0235 hSimVtx_XY->Sumw2();
0236 hSimVtx_RZ->Sumw2();
0237
0238 hTPart_Pt = fs->make<TH1D>("hTPart_Pt", "TPart p_{T}", 200, 0, 50);
0239 hTPart_Eta_Pt10 = fs->make<TH1D>("hTPart_Eta_Pt10", "TPart #eta (p_{T} > 10 GeV/c)", 180, -M_PI, M_PI);
0240 hTPart_Phi_Pt10 = fs->make<TH1D>("hTPart_Phi_Pt10", "TPart #phi (p_{T} > 10 GeV/c)", 180, -M_PI, M_PI);
0241 hTPart_Pt->Sumw2();
0242 hTPart_Eta_Pt10->Sumw2();
0243 hTPart_Phi_Pt10->Sumw2();
0244
0245
0246 hCluster_Barrel_XY = fs->make<TH2D>("hCluster_Barrel_XY", "TTCluster Barrel y vs. x", 960, -120, 120, 960, -120, 120);
0247 hCluster_Barrel_XY_Zoom =
0248 fs->make<TH2D>("hCluster_Barrel_XY_Zoom", "TTCluster Barrel y vs. x", 960, 30, 60, 960, -15, 15);
0249 hCluster_Endcap_Fw_XY =
0250 fs->make<TH2D>("hCluster_Endcap_Fw_XY", "TTCluster Forward Endcap y vs. x", 960, -120, 120, 960, -120, 120);
0251 hCluster_Endcap_Bw_XY =
0252 fs->make<TH2D>("hCluster_Endcap_Bw_XY", "TTCluster Backward Endcap y vs. x", 960, -120, 120, 960, -120, 120);
0253 hCluster_RZ = fs->make<TH2D>("hCluster_RZ", "TTCluster #rho vs. z", 900, -300, 300, 480, 0, 120);
0254 hCluster_Endcap_Fw_RZ_Zoom =
0255 fs->make<TH2D>("hCluster_Endcap_Fw_RZ_Zoom", "TTCluster Forward Endcap #rho vs. z", 960, 140, 170, 960, 30, 60);
0256 hCluster_Endcap_Bw_RZ_Zoom = fs->make<TH2D>(
0257 "hCluster_Endcap_Bw_RZ_Zoom", "TTCluster Backward Endcap #rho vs. z", 960, -170, -140, 960, 70, 100);
0258 hCluster_Barrel_XY->Sumw2();
0259 hCluster_Barrel_XY_Zoom->Sumw2();
0260 hCluster_Endcap_Fw_XY->Sumw2();
0261 hCluster_Endcap_Bw_XY->Sumw2();
0262 hCluster_RZ->Sumw2();
0263 hCluster_Endcap_Fw_RZ_Zoom->Sumw2();
0264 hCluster_Endcap_Bw_RZ_Zoom->Sumw2();
0265
0266 hCluster_IMem_Barrel = fs->make<TH1D>("hCluster_IMem_Barrel", "Inner TTCluster Stack", 12, -0.5, 11.5);
0267 hCluster_IMem_Endcap = fs->make<TH1D>("hCluster_IMem_Endcap", "Inner TTCluster Stack", 12, -0.5, 11.5);
0268 hCluster_OMem_Barrel = fs->make<TH1D>("hCluster_OMem_Barrel", "Outer TTCluster Stack", 12, -0.5, 11.5);
0269 hCluster_OMem_Endcap = fs->make<TH1D>("hCluster_OMem_Endcap", "Outer TTCluster Stack", 12, -0.5, 11.5);
0270 hCluster_IMem_Barrel->Sumw2();
0271 hCluster_IMem_Endcap->Sumw2();
0272 hCluster_OMem_Barrel->Sumw2();
0273 hCluster_OMem_Endcap->Sumw2();
0274
0275 hCluster_Gen_Barrel = fs->make<TH1D>("hCluster_Gen_Barrel", "Genuine TTCluster Stack", 12, -0.5, 11.5);
0276 hCluster_Unkn_Barrel = fs->make<TH1D>("hCluster_Unkn_Barrel", "Unknown TTCluster Stack", 12, -0.5, 11.5);
0277 hCluster_Comb_Barrel = fs->make<TH1D>("hCluster_Comb_Barrel", "Combinatorial TTCluster Stack", 12, -0.5, 11.5);
0278 hCluster_Gen_Endcap = fs->make<TH1D>("hCluster_Gen_Endcap", "Genuine TTCluster Stack", 12, -0.5, 11.5);
0279 hCluster_Unkn_Endcap = fs->make<TH1D>("hCluster_Unkn_Endcap", "Unknown TTCluster Stack", 12, -0.5, 11.5);
0280 hCluster_Comb_Endcap = fs->make<TH1D>("hCluster_Comb_Endcap", "Combinatorial TTCluster Stack", 12, -0.5, 11.5);
0281 hCluster_Gen_Barrel->Sumw2();
0282 hCluster_Unkn_Barrel->Sumw2();
0283 hCluster_Comb_Barrel->Sumw2();
0284 hCluster_Gen_Endcap->Sumw2();
0285 hCluster_Unkn_Endcap->Sumw2();
0286 hCluster_Comb_Endcap->Sumw2();
0287
0288 hCluster_Gen_Eta = fs->make<TH1D>("hCluster_Gen_Eta", "Genuine TTCluster #eta", 90, 0, M_PI);
0289 hCluster_Unkn_Eta = fs->make<TH1D>("hCluster_Unkn_Eta", "Unknown TTCluster #eta", 90, 0, M_PI);
0290 hCluster_Comb_Eta = fs->make<TH1D>("hCluster_Comb_Eta", "Combinatorial TTCluster #eta", 90, 0, M_PI);
0291 hCluster_Gen_Eta->Sumw2();
0292 hCluster_Unkn_Eta->Sumw2();
0293 hCluster_Comb_Eta->Sumw2();
0294
0295 hCluster_PID = fs->make<TH2D>("hCluster_PID", "TTCluster PID (Member)", 501, -250.5, 250.5, 2, -0.5, 1.5);
0296 hCluster_W = fs->make<TH2D>("hCluster_W", "TTCluster Width (Member)", 10, -0.5, 9.5, 2, -0.5, 1.5);
0297 hCluster_PID->Sumw2();
0298 hCluster_W->Sumw2();
0299
0300 hTPart_Eta_INormalization = fs->make<TH1D>("hTPart_Eta_INormalization", "TParticles vs. TPart #eta", 90, 0, M_PI);
0301 hTPart_Eta_ICW_1 = fs->make<TH1D>("hTPart_Eta_ICW_1", "CW 1 vs. TPart #eta", 90, 0, M_PI);
0302 hTPart_Eta_ICW_2 = fs->make<TH1D>("hTPart_Eta_ICW_2", "CW 2 vs. TPart #eta", 90, 0, M_PI);
0303 hTPart_Eta_ICW_3 = fs->make<TH1D>("hTPart_Eta_ICW_3", "CW 3 or more vs. TPart #eta", 90, 0, M_PI);
0304 hTPart_Eta_INormalization->Sumw2();
0305 hTPart_Eta_ICW_1->Sumw2();
0306 hTPart_Eta_ICW_2->Sumw2();
0307 hTPart_Eta_ICW_3->Sumw2();
0308
0309 hTPart_Eta_ONormalization = fs->make<TH1D>("hTPart_Eta_ONormalization", "TParticles vs. TPart #eta", 90, 0, M_PI);
0310 hTPart_Eta_OCW_1 = fs->make<TH1D>("hTPart_Eta_OCW_1", "CW 1 vs. TPart #eta", 90, 0, M_PI);
0311 hTPart_Eta_OCW_2 = fs->make<TH1D>("hTPart_Eta_OCW_2", "CW 2 vs. TPart #eta", 90, 0, M_PI);
0312 hTPart_Eta_OCW_3 = fs->make<TH1D>("hTPart_Eta_OCW_3", "CW 3 or more vs. TPart #eta", 90, 0, M_PI);
0313 hTPart_Eta_ONormalization->Sumw2();
0314 hTPart_Eta_OCW_1->Sumw2();
0315 hTPart_Eta_OCW_2->Sumw2();
0316 hTPart_Eta_OCW_3->Sumw2();
0317
0318
0319 hStub_Barrel_XY = fs->make<TH2D>("hStub_Barrel_XY", "TTStub Barrel y vs. x", 960, -120, 120, 960, -120, 120);
0320 hStub_Barrel_XY_Zoom = fs->make<TH2D>("hStub_Barrel_XY_Zoom", "TTStub Barrel y vs. x", 960, 30, 60, 960, -15, 15);
0321 hStub_Endcap_Fw_XY =
0322 fs->make<TH2D>("hStub_Endcap_Fw_XY", "TTStub Forward Endcap y vs. x", 960, -120, 120, 960, -120, 120);
0323 hStub_Endcap_Bw_XY =
0324 fs->make<TH2D>("hStub_Endcap_Bw_XY", "TTStub Backward Endcap y vs. x", 960, -120, 120, 960, -120, 120);
0325 hStub_RZ = fs->make<TH2D>("hStub_RZ", "TTStub #rho vs. z", 900, -300, 300, 480, 0, 120);
0326 hStub_Endcap_Fw_RZ_Zoom =
0327 fs->make<TH2D>("hStub_Endcap_Fw_RZ_Zoom", "TTStub Forward Endcap #rho vs. z", 960, 140, 170, 960, 30, 60);
0328 hStub_Endcap_Bw_RZ_Zoom =
0329 fs->make<TH2D>("hStub_Endcap_Bw_RZ_Zoom", "TTStub Backward Endcap #rho vs. z", 960, -170, -140, 960, 70, 100);
0330 hStub_Barrel_XY->Sumw2();
0331 hStub_Barrel_XY_Zoom->Sumw2();
0332 hStub_Endcap_Fw_XY->Sumw2();
0333 hStub_Endcap_Bw_XY->Sumw2();
0334 hStub_RZ->Sumw2();
0335 hStub_Endcap_Fw_RZ_Zoom->Sumw2();
0336 hStub_Endcap_Bw_RZ_Zoom->Sumw2();
0337
0338 hStub_Barrel = fs->make<TH1D>("hStub_Barrel", "TTStub Stack", 12, -0.5, 11.5);
0339 hStub_Endcap = fs->make<TH1D>("hStub_Endcap", "TTStub Stack", 12, -0.5, 11.5);
0340 hStub_Barrel->Sumw2();
0341 hStub_Endcap->Sumw2();
0342
0343 hStub_Gen_Barrel = fs->make<TH1D>("hStub_Gen_Barrel", "Genuine TTStub Stack", 12, -0.5, 11.5);
0344 hStub_Unkn_Barrel = fs->make<TH1D>("hStub_Unkn_Barrel", "Unknown TTStub Stack", 12, -0.5, 11.5);
0345 hStub_Comb_Barrel = fs->make<TH1D>("hStub_Comb_Barrel", "Combinatorial TTStub Stack", 12, -0.5, 11.5);
0346 hStub_Gen_Endcap = fs->make<TH1D>("hStub_Gen_Endcap", "Genuine TTStub Stack", 12, -0.5, 11.5);
0347 hStub_Unkn_Endcap = fs->make<TH1D>("hStub_Unkn_Endcap", "Unknown TTStub Stack", 12, -0.5, 11.5);
0348 hStub_Comb_Endcap = fs->make<TH1D>("hStub_Comb_Endcap", "Combinatorial TTStub Stack", 12, -0.5, 11.5);
0349 hStub_Gen_Barrel->Sumw2();
0350 hStub_Unkn_Barrel->Sumw2();
0351 hStub_Comb_Barrel->Sumw2();
0352 hStub_Gen_Endcap->Sumw2();
0353 hStub_Unkn_Endcap->Sumw2();
0354 hStub_Comb_Endcap->Sumw2();
0355
0356 hStub_Gen_Eta = fs->make<TH1D>("hStub_Gen_Eta", "Genuine TTStub #eta", 90, 0, M_PI);
0357 hStub_Unkn_Eta = fs->make<TH1D>("hStub_Unkn_Eta", "Unknown TTStub #eta", 90, 0, M_PI);
0358 hStub_Comb_Eta = fs->make<TH1D>("hStub_Comb_Eta", "Combinatorial TTStub #eta", 90, 0, M_PI);
0359 hStub_Gen_Eta->Sumw2();
0360 hStub_Unkn_Eta->Sumw2();
0361 hStub_Comb_Eta->Sumw2();
0362
0363 hStub_PID = fs->make<TH1D>("hStub_PID", "TTStub PID", 501, -250.5, 250.5);
0364 hStub_Barrel_W =
0365 fs->make<TH2D>("hStub_Barrel_W", "TTStub Post-Corr Displacement (Layer)", 12, -0.5, 11.5, 43, -10.75, 10.75);
0366 hStub_Barrel_O = fs->make<TH2D>("hStub_Barrel_O", "TTStub Offset (Layer)", 12, -0.5, 11.5, 43, -10.75, 10.75);
0367 hStub_Endcap_W =
0368 fs->make<TH2D>("hStub_Endcap_W", "TTStub Post-Corr Displacement (Layer)", 12, -0.5, 11.5, 43, -10.75, 10.75);
0369 hStub_Endcap_O = fs->make<TH2D>("hStub_Endcap_O", "TTStub Offset (Layer)", 12, -0.5, 11.5, 43, -10.75, 10.75);
0370
0371 hStub_PID->Sumw2();
0372 hStub_Barrel_W->Sumw2();
0373 hStub_Barrel_O->Sumw2();
0374 hStub_Endcap_W->Sumw2();
0375 hStub_Endcap_O->Sumw2();
0376
0377 hTPart_Eta_Pt10_Normalization =
0378 fs->make<TH1D>("hTPart_Eta_Pt10_Normalization", "TParticles vs. TPart #eta", 90, 0, M_PI);
0379 hTPart_Eta_Pt10_NumPS = fs->make<TH1D>("hTPart_Eta_Pt10_NumPS", "PS Stubs vs. TPart #eta", 90, 0, M_PI);
0380 hTPart_Eta_Pt10_Num2S = fs->make<TH1D>("hTPart_Eta_Pt10_Num2S", "2S Stubs vs. TPart #eta", 90, 0, M_PI);
0381 hTPart_Eta_Pt10_Normalization->Sumw2();
0382 hTPart_Eta_Pt10_NumPS->Sumw2();
0383 hTPart_Eta_Pt10_Num2S->Sumw2();
0384
0385
0386 for (unsigned int stackIdx = 0; stackIdx < 12; stackIdx++) {
0387
0388
0389
0390 histoName.str("");
0391 histoName << "hTPart_Pt_Clu_L" << stackIdx;
0392 histoTitle.str("");
0393 histoTitle << "TPart p_{T}, Cluster, Barrel Stack " << stackIdx;
0394 mapCluLayer_hTPart_Pt[stackIdx] = fs->make<TH1D>(histoName.str().c_str(), histoTitle.str().c_str(), 200, 0, 50);
0395 histoName.str("");
0396 histoName << "hTPart_Eta_Pt10_Clu_L" << stackIdx;
0397 histoTitle.str("");
0398 histoTitle << "TPart #eta (p_{T} > 10 GeV/c), Cluster, Barrel Stack " << stackIdx;
0399 mapCluLayer_hTPart_Eta_Pt10[stackIdx] =
0400 fs->make<TH1D>(histoName.str().c_str(), histoTitle.str().c_str(), 180, -M_PI, M_PI);
0401 histoName.str("");
0402 histoName << "hTPart_Phi_Pt10_Clu_L" << stackIdx;
0403 histoTitle.str("");
0404 histoTitle << "TPart #phi (p_{T} > 10 GeV/c), Cluster, Barrel Stack " << stackIdx;
0405 mapCluLayer_hTPart_Phi_Pt10[stackIdx] =
0406 fs->make<TH1D>(histoName.str().c_str(), histoTitle.str().c_str(), 180, -M_PI, M_PI);
0407 mapCluLayer_hTPart_Pt[stackIdx]->Sumw2();
0408 mapCluLayer_hTPart_Eta_Pt10[stackIdx]->Sumw2();
0409 mapCluLayer_hTPart_Phi_Pt10[stackIdx]->Sumw2();
0410
0411
0412 histoName.str("");
0413 histoName << "hTPart_Pt_Stub_L" << stackIdx;
0414 histoTitle.str("");
0415 histoTitle << "TPart p_{T}, Stub, Barrel Stack " << stackIdx;
0416 mapStubLayer_hTPart_Pt[stackIdx] = fs->make<TH1D>(histoName.str().c_str(), histoTitle.str().c_str(), 200, 0, 50);
0417 histoName.str("");
0418 histoName << "hTPart_Eta_Pt10_Stub_L" << stackIdx;
0419 histoTitle.str("");
0420 histoTitle << "TPart #eta (p_{T} > 10 GeV/c), Stub, Barrel Stack " << stackIdx;
0421 mapStubLayer_hTPart_Eta_Pt10[stackIdx] =
0422 fs->make<TH1D>(histoName.str().c_str(), histoTitle.str().c_str(), 180, -M_PI, M_PI);
0423 histoName.str("");
0424 histoName << "hTPart_Phi_Pt10_Stub_L" << stackIdx;
0425 histoTitle.str("");
0426 histoTitle << "TPart #phi (p_{T} > 10 GeV/c), Stub, Barrel Stack " << stackIdx;
0427 mapStubLayer_hTPart_Phi_Pt10[stackIdx] =
0428 fs->make<TH1D>(histoName.str().c_str(), histoTitle.str().c_str(), 180, -M_PI, M_PI);
0429 mapStubLayer_hTPart_Pt[stackIdx]->Sumw2();
0430 mapStubLayer_hTPart_Eta_Pt10[stackIdx]->Sumw2();
0431 mapStubLayer_hTPart_Phi_Pt10[stackIdx]->Sumw2();
0432
0433
0434 histoName.str("");
0435 histoName << "hStub_InvPt_TPart_InvPt_L" << stackIdx;
0436 histoTitle.str("");
0437 histoTitle << "Stub p_{T}^{-1} vs. TPart p_{T}^{-1}, Barrel Stack " << stackIdx;
0438 mapStubLayer_hStub_InvPt_TPart_InvPt[stackIdx] =
0439 fs->make<TH2D>(histoName.str().c_str(), histoTitle.str().c_str(), 200, 0.0, 0.8, 200, 0.0, 0.8);
0440 mapStubLayer_hStub_InvPt_TPart_InvPt[stackIdx]->GetXaxis()->Set(NumBins, BinVec);
0441 mapStubLayer_hStub_InvPt_TPart_InvPt[stackIdx]->GetYaxis()->Set(NumBins, BinVec);
0442 mapStubLayer_hStub_InvPt_TPart_InvPt[stackIdx]->Sumw2();
0443
0444 histoName.str("");
0445 histoName << "hStub_Pt_TPart_Pt_L" << stackIdx;
0446 histoTitle.str("");
0447 histoTitle << "Stub p_{T} vs. TPart p_{T}, Barrel Stack " << stackIdx;
0448 mapStubLayer_hStub_Pt_TPart_Pt[stackIdx] =
0449 fs->make<TH2D>(histoName.str().c_str(), histoTitle.str().c_str(), 100, 0, 50, 100, 0, 50);
0450 mapStubLayer_hStub_Pt_TPart_Pt[stackIdx]->Sumw2();
0451
0452 histoName.str("");
0453 histoName << "hStub_Eta_TPart_Eta_L" << stackIdx;
0454 histoTitle.str("");
0455 histoTitle << "Stub #eta vs. TPart #eta, Barrel Stack " << stackIdx;
0456 mapStubLayer_hStub_Eta_TPart_Eta[stackIdx] =
0457 fs->make<TH2D>(histoName.str().c_str(), histoTitle.str().c_str(), 180, -M_PI, M_PI, 180, -M_PI, M_PI);
0458 mapStubLayer_hStub_Eta_TPart_Eta[stackIdx]->Sumw2();
0459
0460 histoName.str("");
0461 histoName << "hStub_Phi_TPart_Phi_L" << stackIdx;
0462 histoTitle.str("");
0463 histoTitle << "Stub #phi vs. TPart #phi, Barrel Stack " << stackIdx;
0464 mapStubLayer_hStub_Phi_TPart_Phi[stackIdx] =
0465 fs->make<TH2D>(histoName.str().c_str(), histoTitle.str().c_str(), 180, -M_PI, M_PI, 180, -M_PI, M_PI);
0466 mapStubLayer_hStub_Phi_TPart_Phi[stackIdx]->Sumw2();
0467
0468
0469 histoName.str("");
0470 histoName << "hStub_InvPtRes_TPart_Eta_L" << stackIdx;
0471 histoTitle.str("");
0472 histoTitle << "Stub p_{T}^{-1} - TPart p_{T}^{-1} vs. TPart #eta, Barrel Stack " << stackIdx;
0473 mapStubLayer_hStub_InvPtRes_TPart_Eta[stackIdx] =
0474 fs->make<TH2D>(histoName.str().c_str(), histoTitle.str().c_str(), 180, -M_PI, M_PI, 100, -2.0, 2.0);
0475 mapStubLayer_hStub_InvPtRes_TPart_Eta[stackIdx]->Sumw2();
0476
0477 histoName.str("");
0478 histoName << "hStub_PtRes_TPart_Eta_L" << stackIdx;
0479 histoTitle.str("");
0480 histoTitle << "Stub p_{T} - TPart p_{T} vs. TPart #eta, Barrel Stack " << stackIdx;
0481 mapStubLayer_hStub_PtRes_TPart_Eta[stackIdx] =
0482 fs->make<TH2D>(histoName.str().c_str(), histoTitle.str().c_str(), 180, -M_PI, M_PI, 100, -40, 40);
0483 mapStubLayer_hStub_PtRes_TPart_Eta[stackIdx]->Sumw2();
0484
0485 histoName.str("");
0486 histoName << "hStub_EtaRes_TPart_Eta_L" << stackIdx;
0487 histoTitle.str("");
0488 histoTitle << "Stub #eta - TPart #eta vs. TPart #eta, Barrel Stack " << stackIdx;
0489 mapStubLayer_hStub_EtaRes_TPart_Eta[stackIdx] =
0490 fs->make<TH2D>(histoName.str().c_str(), histoTitle.str().c_str(), 180, -M_PI, M_PI, 100, -2, 2);
0491 mapStubLayer_hStub_EtaRes_TPart_Eta[stackIdx]->Sumw2();
0492
0493 histoName.str("");
0494 histoName << "hStub_PhiRes_TPart_Eta_L" << stackIdx;
0495 histoTitle.str("");
0496 histoTitle << "Stub #phi - TPart #phi vs. TPart #eta, Barrel Stack " << stackIdx;
0497 mapStubLayer_hStub_PhiRes_TPart_Eta[stackIdx] =
0498 fs->make<TH2D>(histoName.str().c_str(), histoTitle.str().c_str(), 180, -M_PI, M_PI, 100, -0.5, 0.5);
0499 mapStubLayer_hStub_PhiRes_TPart_Eta[stackIdx]->Sumw2();
0500
0501
0502 histoName.str("");
0503 histoName << "hStub_W_TPart_Pt_L" << stackIdx;
0504 histoTitle.str("");
0505 histoTitle << "Stub Width vs. TPart p_{T}, Barrel Stack " << stackIdx;
0506 mapStubLayer_hStub_W_TPart_Pt[stackIdx] =
0507 fs->make<TH2D>(histoName.str().c_str(), histoTitle.str().c_str(), 200, 0, 50, 41, -10.25, 10.25);
0508 mapStubLayer_hStub_W_TPart_Pt[stackIdx]->Sumw2();
0509
0510 histoName.str("");
0511 histoName << "hStub_W_TPart_InvPt_L" << stackIdx;
0512 histoTitle.str("");
0513 histoTitle << "Stub Width vs. TPart p_{T}^{-1}, Barrel Stack " << stackIdx;
0514 mapStubLayer_hStub_W_TPart_InvPt[stackIdx] =
0515 fs->make<TH2D>(histoName.str().c_str(), histoTitle.str().c_str(), 200, 0, 0.8, 41, -10.25, 10.25);
0516 mapStubLayer_hStub_W_TPart_InvPt[stackIdx]->GetXaxis()->Set(NumBins, BinVec);
0517 mapStubLayer_hStub_W_TPart_InvPt[stackIdx]->Sumw2();
0518
0519
0520
0521
0522 histoName.str("");
0523 histoName << "hTPart_Pt_Clu_D" << stackIdx;
0524 histoTitle.str("");
0525 histoTitle << "TPart p_{T}, Cluster, Endcap Stack " << stackIdx;
0526 mapCluDisk_hTPart_Pt[stackIdx] = fs->make<TH1D>(histoName.str().c_str(), histoTitle.str().c_str(), 200, 0, 50);
0527 histoName.str("");
0528 histoName << "hTPart_Eta_Pt10_Clu_D" << stackIdx;
0529 histoTitle.str("");
0530 histoTitle << "TPart #eta (p_{T} > 10 GeV/c), Cluster, Endcap Stack " << stackIdx;
0531 mapCluDisk_hTPart_Eta_Pt10[stackIdx] =
0532 fs->make<TH1D>(histoName.str().c_str(), histoTitle.str().c_str(), 180, -M_PI, M_PI);
0533 histoName.str("");
0534 histoName << "hTPart_Phi_Pt10_Clu_D" << stackIdx;
0535 histoTitle.str("");
0536 histoTitle << "TPart #phi (p_{T} > 10 GeV/c), Cluster, Endcap Stack " << stackIdx;
0537 mapCluDisk_hTPart_Phi_Pt10[stackIdx] =
0538 fs->make<TH1D>(histoName.str().c_str(), histoTitle.str().c_str(), 180, -M_PI, M_PI);
0539 mapCluDisk_hTPart_Pt[stackIdx]->Sumw2();
0540 mapCluDisk_hTPart_Eta_Pt10[stackIdx]->Sumw2();
0541 mapCluDisk_hTPart_Phi_Pt10[stackIdx]->Sumw2();
0542
0543
0544 histoName.str("");
0545 histoName << "hTPart_Pt_Stub_D" << stackIdx;
0546 histoTitle.str("");
0547 histoTitle << "TPart p_{T}, Stub, Endcap Stack " << stackIdx;
0548 mapStubDisk_hTPart_Pt[stackIdx] = fs->make<TH1D>(histoName.str().c_str(), histoTitle.str().c_str(), 200, 0, 50);
0549 histoName.str("");
0550 histoName << "hTPart_Eta_Pt10_Stub_D" << stackIdx;
0551 histoTitle.str("");
0552 histoTitle << "TPart #eta (p_{T} > 10 GeV/c), Stub, Endcap Stack " << stackIdx;
0553 mapStubDisk_hTPart_Eta_Pt10[stackIdx] =
0554 fs->make<TH1D>(histoName.str().c_str(), histoTitle.str().c_str(), 180, -M_PI, M_PI);
0555 histoName.str("");
0556 histoName << "hTPart_Phi_Pt10_Stub_D" << stackIdx;
0557 histoTitle.str("");
0558 histoTitle << "TPart #phi (p_{T} > 10 GeV/c), Stub, Endcap Stack " << stackIdx;
0559 mapStubDisk_hTPart_Phi_Pt10[stackIdx] =
0560 fs->make<TH1D>(histoName.str().c_str(), histoTitle.str().c_str(), 180, -M_PI, M_PI);
0561 mapStubDisk_hTPart_Pt[stackIdx]->Sumw2();
0562 mapStubDisk_hTPart_Eta_Pt10[stackIdx]->Sumw2();
0563 mapStubDisk_hTPart_Phi_Pt10[stackIdx]->Sumw2();
0564
0565
0566 histoName.str("");
0567 histoName << "hStub_InvPt_TPart_InvPt_D" << stackIdx;
0568 histoTitle.str("");
0569 histoTitle << "Stub p_{T}^{-1} vs. TPart p_{T}^{-1}, Endcap Stack " << stackIdx;
0570 mapStubDisk_hStub_InvPt_TPart_InvPt[stackIdx] =
0571 fs->make<TH2D>(histoName.str().c_str(), histoTitle.str().c_str(), 200, 0.0, 0.8, 200, 0.0, 0.8);
0572 mapStubDisk_hStub_InvPt_TPart_InvPt[stackIdx]->GetXaxis()->Set(NumBins, BinVec);
0573 mapStubDisk_hStub_InvPt_TPart_InvPt[stackIdx]->GetYaxis()->Set(NumBins, BinVec);
0574 mapStubDisk_hStub_InvPt_TPart_InvPt[stackIdx]->Sumw2();
0575
0576 histoName.str("");
0577 histoName << "hStub_Pt_TPart_Pt_D" << stackIdx;
0578 histoTitle.str("");
0579 histoTitle << "Stub p_{T} vs. TPart p_{T}, Endcap Stack " << stackIdx;
0580 mapStubDisk_hStub_Pt_TPart_Pt[stackIdx] =
0581 fs->make<TH2D>(histoName.str().c_str(), histoTitle.str().c_str(), 100, 0, 50, 100, 0, 50);
0582 mapStubDisk_hStub_Pt_TPart_Pt[stackIdx]->Sumw2();
0583
0584 histoName.str("");
0585 histoName << "hStub_Eta_TPart_Eta_D" << stackIdx;
0586 histoTitle.str("");
0587 histoTitle << "Stub #eta vs. TPart #eta, Endcap Stack " << stackIdx;
0588 mapStubDisk_hStub_Eta_TPart_Eta[stackIdx] =
0589 fs->make<TH2D>(histoName.str().c_str(), histoTitle.str().c_str(), 180, -M_PI, M_PI, 180, -M_PI, M_PI);
0590 mapStubDisk_hStub_Eta_TPart_Eta[stackIdx]->Sumw2();
0591
0592 histoName.str("");
0593 histoName << "hStub_Phi_TPart_Phi_D" << stackIdx;
0594 histoTitle.str("");
0595 histoTitle << "Stub #phi vs. TPart #phi, Endcap Stack " << stackIdx;
0596 mapStubDisk_hStub_Phi_TPart_Phi[stackIdx] =
0597 fs->make<TH2D>(histoName.str().c_str(), histoTitle.str().c_str(), 180, -M_PI, M_PI, 180, -M_PI, M_PI);
0598 mapStubDisk_hStub_Phi_TPart_Phi[stackIdx]->Sumw2();
0599
0600
0601 histoName.str("");
0602 histoName << "hStub_InvPtRes_TPart_Eta_D" << stackIdx;
0603 histoTitle.str("");
0604 histoTitle << "Stub p_{T}^{-1} - TPart p_{T}^{-1} vs. TPart #eta, Endcap Stack " << stackIdx;
0605 mapStubDisk_hStub_InvPtRes_TPart_Eta[stackIdx] =
0606 fs->make<TH2D>(histoName.str().c_str(), histoTitle.str().c_str(), 180, -M_PI, M_PI, 100, -2.0, 2.0);
0607 mapStubDisk_hStub_InvPtRes_TPart_Eta[stackIdx]->Sumw2();
0608
0609 histoName.str("");
0610 histoName << "hStub_PtRes_TPart_Eta_D" << stackIdx;
0611 histoTitle.str("");
0612 histoTitle << "Stub p_{T} - TPart p_{T} vs. TPart #eta, Endcap Stack " << stackIdx;
0613 mapStubDisk_hStub_PtRes_TPart_Eta[stackIdx] =
0614 fs->make<TH2D>(histoName.str().c_str(), histoTitle.str().c_str(), 180, -M_PI, M_PI, 100, -40, 40);
0615 mapStubDisk_hStub_PtRes_TPart_Eta[stackIdx]->Sumw2();
0616
0617 histoName.str("");
0618 histoName << "hStub_EtaRes_TPart_Eta_D" << stackIdx;
0619 histoTitle.str("");
0620 histoTitle << "Stub #eta - TPart #eta vs. TPart #eta, Endcap Stack " << stackIdx;
0621 mapStubDisk_hStub_EtaRes_TPart_Eta[stackIdx] =
0622 fs->make<TH2D>(histoName.str().c_str(), histoTitle.str().c_str(), 180, -M_PI, M_PI, 100, -2, 2);
0623 mapStubDisk_hStub_EtaRes_TPart_Eta[stackIdx]->Sumw2();
0624
0625 histoName.str("");
0626 histoName << "hStub_PhiRes_TPart_Eta_D" << stackIdx;
0627 histoTitle.str("");
0628 histoTitle << "Stub #phi - TPart #phi vs. TPart #eta, Endcap Stack " << stackIdx;
0629 mapStubDisk_hStub_PhiRes_TPart_Eta[stackIdx] =
0630 fs->make<TH2D>(histoName.str().c_str(), histoTitle.str().c_str(), 180, -M_PI, M_PI, 100, -0.5, 0.5);
0631 mapStubDisk_hStub_PhiRes_TPart_Eta[stackIdx]->Sumw2();
0632
0633
0634 histoName.str("");
0635 histoName << "hStub_W_TPart_Pt_D" << stackIdx;
0636 histoTitle.str("");
0637 histoTitle << "Stub Width vs. TPart p_{T}, Endcap Stack " << stackIdx;
0638 mapStubDisk_hStub_W_TPart_Pt[stackIdx] =
0639 fs->make<TH2D>(histoName.str().c_str(), histoTitle.str().c_str(), 200, 0, 50, 41, -10.25, 10.25);
0640 mapStubDisk_hStub_W_TPart_Pt[stackIdx]->Sumw2();
0641
0642 histoName.str("");
0643 histoName << "hStub_W_TPart_InvPt_D" << stackIdx;
0644 histoTitle.str("");
0645 histoTitle << "Stub Width vs. TPart p_{T}^{-1}, Endcap Stack " << stackIdx;
0646 mapStubDisk_hStub_W_TPart_InvPt[stackIdx] =
0647 fs->make<TH2D>(histoName.str().c_str(), histoTitle.str().c_str(), 200, 0, 0.8, 41, -10.25, 10.25);
0648 mapStubDisk_hStub_W_TPart_InvPt[stackIdx]->GetXaxis()->Set(NumBins, BinVec);
0649 mapStubDisk_hStub_W_TPart_InvPt[stackIdx]->Sumw2();
0650 }
0651
0652
0653 }
0654
0655
0656
0657 void AnalyzerClusterStub::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) {
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
1328
1329 DEFINE_FWK_MODULE(AnalyzerClusterStub);