File indexing completed on 2025-05-23 23:48:27
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020 #include <TLorentzVector.h>
0021 #include <cmath>
0022 #include <memory>
0023 #include <vector>
0024
0025
0026 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0027 #include "DataFormats/L1TGlobal/interface/GlobalAlgBlk.h"
0028 #include "DataFormats/OnlineMetaData/interface/OnlineLuminosityRecord.h"
0029 #include "DataFormats/PatCandidates/interface/PackedTriggerPrescales.h"
0030 #include "DataFormats/PatCandidates/interface/TriggerObjectStandAlone.h"
0031 #include "DataFormats/Scouting/interface/Run3ScoutingElectron.h"
0032 #include "DataFormats/Scouting/interface/Run3ScoutingMuon.h"
0033 #include "DataFormats/Scouting/interface/Run3ScoutingPFJet.h"
0034 #include "DataFormats/Scouting/interface/Run3ScoutingParticle.h"
0035 #include "DataFormats/Scouting/interface/Run3ScoutingPhoton.h"
0036 #include "DataFormats/Scouting/interface/Run3ScoutingTrack.h"
0037 #include "DataFormats/Scouting/interface/Run3ScoutingVertex.h"
0038 #include "FWCore/Common/interface/TriggerNames.h"
0039 #include "FWCore/Framework/interface/Event.h"
0040 #include "FWCore/Framework/interface/Frameworkfwd.h"
0041 #include "FWCore/Framework/interface/MakerMacros.h"
0042 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0043 #include "FWCore/Utilities/interface/InputTag.h"
0044 #include "HLTrigger/HLTcore/interface/HLTConfigProvider.h"
0045 #include "HLTrigger/HLTcore/interface/TriggerExpressionData.h"
0046 #include "HLTrigger/HLTcore/interface/TriggerExpressionEvaluator.h"
0047 #include "HLTrigger/HLTcore/interface/TriggerExpressionParser.h"
0048 #include "L1Trigger/L1TGlobal/interface/L1TGlobalUtil.h"
0049
0050
0051
0052
0053
0054 class ScoutingCollectionMonitor : public DQMEDAnalyzer {
0055 public:
0056 explicit ScoutingCollectionMonitor(const edm::ParameterSet&);
0057 ~ScoutingCollectionMonitor() override = default;
0058
0059 static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0060
0061 private:
0062 void analyze(const edm::Event&, const edm::EventSetup&) override;
0063 void bookHistograms(DQMStore::IBooker&, edm::Run const&, edm::EventSetup const&) override;
0064
0065 template <typename T>
0066 bool getValidHandle(const edm::Event& iEvent,
0067 const edm::EDGetTokenT<T>& token,
0068 edm::Handle<T>& handle,
0069 const std::string& label);
0070
0071 static inline std::pair<float, float> trk_vtx_offSet(const Run3ScoutingTrack& tk, const Run3ScoutingVertex& vtx) {
0072 const auto pt = tk.tk_pt();
0073 const auto phi = tk.tk_phi();
0074 const auto eta = tk.tk_eta();
0075
0076 const auto px = pt * std::cos(phi);
0077 const auto py = pt * std::sin(phi);
0078 const auto pz = pt * std::sinh(eta);
0079 const auto pt2 = pt * pt;
0080
0081 const auto dx = tk.tk_vx() - vtx.x();
0082 const auto dy = tk.tk_vy() - vtx.y();
0083 const auto dz = tk.tk_vz() - vtx.z();
0084
0085 const auto tk_dxyPV = (-dx * py + dy * px) / pt;
0086 const auto tk_dzPV = dz - (dx * px + dy * py) * pz / pt2;
0087
0088 return {tk_dxyPV, tk_dzPV};
0089 }
0090
0091 const bool onlyScouting_;
0092 const edm::EDGetTokenT<std::vector<Run3ScoutingMuon>> muonsToken_;
0093 const edm::EDGetTokenT<std::vector<Run3ScoutingElectron>> electronsToken_;
0094 const edm::EDGetTokenT<std::vector<Run3ScoutingVertex>> primaryVerticesToken_;
0095 const edm::EDGetTokenT<std::vector<Run3ScoutingVertex>> verticesToken_;
0096 const edm::EDGetTokenT<std::vector<Run3ScoutingPhoton>> photonsToken_;
0097 const edm::EDGetTokenT<double> rhoToken_;
0098 const edm::EDGetTokenT<double> pfMetPhiToken_;
0099 const edm::EDGetTokenT<double> pfMetPtToken_;
0100 const edm::EDGetTokenT<std::vector<Run3ScoutingParticle>> pfcandsToken_;
0101 const edm::EDGetTokenT<std::vector<Run3ScoutingPFJet>> pfjetsToken_;
0102 const edm::EDGetTokenT<std::vector<Run3ScoutingTrack>> tracksToken_;
0103 const edm::EDGetTokenT<OnlineLuminosityRecord> onlineMetaDataDigisToken_;
0104 const std::string topfoldername_;
0105
0106
0107 int primaryVertex_counter = 0;
0108 float avgPileUp;
0109 dqm::reco::MonitorElement* PVvsPU_hist;
0110 dqm::reco::MonitorElement* rhovsPU_hist;
0111
0112
0113 dqm::reco::MonitorElement* rho_hist;
0114 dqm::reco::MonitorElement* pfMetPhi_hist;
0115 dqm::reco::MonitorElement* pfMetPt_hist;
0116
0117
0118 dqm::reco::MonitorElement* PF_pT_211_hist;
0119 dqm::reco::MonitorElement* PF_pT_n211_hist;
0120 dqm::reco::MonitorElement* PF_pT_130_hist;
0121 dqm::reco::MonitorElement* PF_pT_22_hist;
0122 dqm::reco::MonitorElement* PF_pT_13_hist;
0123 dqm::reco::MonitorElement* PF_pT_n13_hist;
0124 dqm::reco::MonitorElement* PF_pT_1_hist;
0125 dqm::reco::MonitorElement* PF_pT_2_hist;
0126
0127 dqm::reco::MonitorElement* PF_eta_211_hist;
0128 dqm::reco::MonitorElement* PF_eta_n211_hist;
0129 dqm::reco::MonitorElement* PF_eta_130_hist;
0130 dqm::reco::MonitorElement* PF_eta_22_hist;
0131 dqm::reco::MonitorElement* PF_eta_13_hist;
0132 dqm::reco::MonitorElement* PF_eta_n13_hist;
0133 dqm::reco::MonitorElement* PF_eta_1_hist;
0134 dqm::reco::MonitorElement* PF_eta_2_hist;
0135
0136 dqm::reco::MonitorElement* PF_phi_211_hist;
0137 dqm::reco::MonitorElement* PF_phi_n211_hist;
0138 dqm::reco::MonitorElement* PF_phi_130_hist;
0139 dqm::reco::MonitorElement* PF_phi_22_hist;
0140 dqm::reco::MonitorElement* PF_phi_13_hist;
0141 dqm::reco::MonitorElement* PF_phi_n13_hist;
0142 dqm::reco::MonitorElement* PF_phi_1_hist;
0143 dqm::reco::MonitorElement* PF_phi_2_hist;
0144
0145 dqm::reco::MonitorElement* PF_vertex_211_hist;
0146 dqm::reco::MonitorElement* PF_vertex_n211_hist;
0147 dqm::reco::MonitorElement* PF_vertex_130_hist;
0148 dqm::reco::MonitorElement* PF_vertex_22_hist;
0149 dqm::reco::MonitorElement* PF_vertex_13_hist;
0150 dqm::reco::MonitorElement* PF_vertex_n13_hist;
0151 dqm::reco::MonitorElement* PF_vertex_1_hist;
0152 dqm::reco::MonitorElement* PF_vertex_2_hist;
0153 dqm::reco::MonitorElement* PF_normchi2_211_hist;
0154 dqm::reco::MonitorElement* PF_normchi2_n211_hist;
0155 dqm::reco::MonitorElement* PF_normchi2_130_hist;
0156 dqm::reco::MonitorElement* PF_normchi2_22_hist;
0157 dqm::reco::MonitorElement* PF_normchi2_13_hist;
0158 dqm::reco::MonitorElement* PF_normchi2_n13_hist;
0159 dqm::reco::MonitorElement* PF_normchi2_1_hist;
0160 dqm::reco::MonitorElement* PF_normchi2_2_hist;
0161
0162 dqm::reco::MonitorElement* PF_dz_211_hist;
0163 dqm::reco::MonitorElement* PF_dz_n211_hist;
0164 dqm::reco::MonitorElement* PF_dz_13_hist;
0165 dqm::reco::MonitorElement* PF_dz_n13_hist;
0166
0167 dqm::reco::MonitorElement* PF_dxy_211_hist;
0168 dqm::reco::MonitorElement* PF_dxy_n211_hist;
0169 dqm::reco::MonitorElement* PF_dxy_13_hist;
0170 dqm::reco::MonitorElement* PF_dxy_n13_hist;
0171
0172 dqm::reco::MonitorElement* PF_dzsig_211_hist;
0173 dqm::reco::MonitorElement* PF_dzsig_n211_hist;
0174 dqm::reco::MonitorElement* PF_dzsig_13_hist;
0175 dqm::reco::MonitorElement* PF_dzsig_n13_hist;
0176
0177 dqm::reco::MonitorElement* PF_dxysig_211_hist;
0178 dqm::reco::MonitorElement* PF_dxysig_n211_hist;
0179 dqm::reco::MonitorElement* PF_dxysig_13_hist;
0180 dqm::reco::MonitorElement* PF_dxysig_n13_hist;
0181
0182 dqm::reco::MonitorElement* PF_trk_pt_211_hist;
0183 dqm::reco::MonitorElement* PF_trk_pt_n211_hist;
0184 dqm::reco::MonitorElement* PF_trk_pt_13_hist;
0185 dqm::reco::MonitorElement* PF_trk_pt_n13_hist;
0186
0187 dqm::reco::MonitorElement* PF_trk_eta_211_hist;
0188 dqm::reco::MonitorElement* PF_trk_eta_n211_hist;
0189 dqm::reco::MonitorElement* PF_trk_eta_13_hist;
0190 dqm::reco::MonitorElement* PF_trk_eta_n13_hist;
0191
0192 dqm::reco::MonitorElement* PF_trk_phi_211_hist;
0193 dqm::reco::MonitorElement* PF_trk_phi_n211_hist;
0194 dqm::reco::MonitorElement* PF_trk_phi_13_hist;
0195 dqm::reco::MonitorElement* PF_trk_phi_n13_hist;
0196
0197
0198 dqm::reco::MonitorElement* pt_pho_hist;
0199 dqm::reco::MonitorElement* eta_pho_hist;
0200 dqm::reco::MonitorElement* phi_pho_hist;
0201 dqm::reco::MonitorElement* rawEnergy_pho_hist;
0202 dqm::reco::MonitorElement* preshowerEnergy_pho_hist;
0203 dqm::reco::MonitorElement* corrEcalEnergyError_pho_hist;
0204 dqm::reco::MonitorElement* sigmaIetaIeta_pho_hist;
0205 dqm::reco::MonitorElement* hOverE_pho_hist;
0206 dqm::reco::MonitorElement* ecalIso_pho_hist;
0207 dqm::reco::MonitorElement* hcalIso_pho_hist;
0208 dqm::reco::MonitorElement* trackIso_pho_hist;
0209 dqm::reco::MonitorElement* r9_pho_hist;
0210 dqm::reco::MonitorElement* sMin_pho_hist;
0211 dqm::reco::MonitorElement* sMaj_pho_hist;
0212 dqm::reco::MonitorElement* seedId_pho_hist;
0213 dqm::reco::MonitorElement* nClusters_pho_hist;
0214 dqm::reco::MonitorElement* nCrystals_pho_hist;
0215 dqm::reco::MonitorElement* rechitZeroSuppression_pho_hist;
0216
0217
0218 dqm::reco::MonitorElement* pt_ele_hist;
0219 dqm::reco::MonitorElement* eta_ele_hist;
0220 dqm::reco::MonitorElement* phi_ele_hist;
0221 dqm::reco::MonitorElement* rawEnergy_ele_hist;
0222 dqm::reco::MonitorElement* preshowerEnergy_ele_hist;
0223 dqm::reco::MonitorElement* corrEcalEnergyError_ele_hist;
0224 dqm::reco::MonitorElement* dEtaIn_ele_hist;
0225 dqm::reco::MonitorElement* dPhiIn_ele_hist;
0226 dqm::reco::MonitorElement* sigmaIetaIeta_ele_hist;
0227 dqm::reco::MonitorElement* hOverE_ele_hist;
0228 dqm::reco::MonitorElement* ooEMOop_ele_hist;
0229 dqm::reco::MonitorElement* missingHits_ele_hist;
0230 dqm::reco::MonitorElement* trackfbrem_ele_hist;
0231 dqm::reco::MonitorElement* ecalIso_ele_hist;
0232 dqm::reco::MonitorElement* hcalIso_ele_hist;
0233 dqm::reco::MonitorElement* trackIso_ele_hist;
0234 dqm::reco::MonitorElement* r9_ele_hist;
0235 dqm::reco::MonitorElement* sMin_ele_hist;
0236 dqm::reco::MonitorElement* sMaj_ele_hist;
0237
0238
0239 dqm::reco::MonitorElement* pt_mu_hist;
0240 dqm::reco::MonitorElement* eta_mu_hist;
0241 dqm::reco::MonitorElement* phi_mu_hist;
0242 dqm::reco::MonitorElement* type_mu_hist;
0243 dqm::reco::MonitorElement* charge_mu_hist;
0244 dqm::reco::MonitorElement* normalizedChi2_mu_hist;
0245 dqm::reco::MonitorElement* ecalIso_mu_hist;
0246 dqm::reco::MonitorElement* hcalIso_mu_hist;
0247 dqm::reco::MonitorElement* trackIso_mu_hist;
0248 dqm::reco::MonitorElement* nValidStandAloneMuonHits_mu_hist;
0249 dqm::reco::MonitorElement* nStandAloneMuonMatchedStations_mu_hist;
0250 dqm::reco::MonitorElement* nValidRecoMuonHits_mu_hist;
0251 dqm::reco::MonitorElement* nRecoMuonChambers_mu_hist;
0252 dqm::reco::MonitorElement* nRecoMuonChambersCSCorDT_mu_hist;
0253 dqm::reco::MonitorElement* nRecoMuonMatches_mu_hist;
0254 dqm::reco::MonitorElement* nRecoMuonMatchedStations_mu_hist;
0255 dqm::reco::MonitorElement* nRecoMuonExpectedMatchedStations_mu_hist;
0256 dqm::reco::MonitorElement* recoMuonStationMask_mu_hist;
0257 dqm::reco::MonitorElement* nRecoMuonMatchedRPCLayers_mu_hist;
0258 dqm::reco::MonitorElement* recoMuonRPClayerMask_mu_hist;
0259 dqm::reco::MonitorElement* nValidPixelHits_mu_hist;
0260 dqm::reco::MonitorElement* nValidStripHits_mu_hist;
0261 dqm::reco::MonitorElement* nPixelLayersWithMeasurement_mu_hist;
0262 dqm::reco::MonitorElement* nTrackerLayersWithMeasurement_mu_hist;
0263 dqm::reco::MonitorElement* trk_chi2_mu_hist;
0264 dqm::reco::MonitorElement* trk_ndof_mu_hist;
0265 dqm::reco::MonitorElement* trk_dxy_mu_hist;
0266 dqm::reco::MonitorElement* trk_dz_mu_hist;
0267 dqm::reco::MonitorElement* trk_qoverp_mu_hist;
0268 dqm::reco::MonitorElement* trk_lambda_mu_hist;
0269 dqm::reco::MonitorElement* trk_pt_mu_hist;
0270 dqm::reco::MonitorElement* trk_phi_mu_hist;
0271 dqm::reco::MonitorElement* trk_eta_mu_hist;
0272 dqm::reco::MonitorElement* trk_dxyError_mu_hist;
0273 dqm::reco::MonitorElement* trk_dzError_mu_hist;
0274 dqm::reco::MonitorElement* trk_qoverpError_mu_hist;
0275 dqm::reco::MonitorElement* trk_lambdaError_mu_hist;
0276 dqm::reco::MonitorElement* trk_phiError_mu_hist;
0277 dqm::reco::MonitorElement* trk_dsz_mu_hist;
0278 dqm::reco::MonitorElement* trk_dszError_mu_hist;
0279 dqm::reco::MonitorElement* trk_qoverp_lambda_cov_mu_hist;
0280 dqm::reco::MonitorElement* trk_qoverp_phi_cov_mu_hist;
0281 dqm::reco::MonitorElement* trk_qoverp_dxy_cov_mu_hist;
0282 dqm::reco::MonitorElement* trk_qoverp_dsz_cov_mu_hist;
0283 dqm::reco::MonitorElement* trk_lambda_phi_cov_mu_hist;
0284 dqm::reco::MonitorElement* trk_lambda_dxy_cov_mu_hist;
0285 dqm::reco::MonitorElement* trk_lambda_dsz_cov_mu_hist;
0286 dqm::reco::MonitorElement* trk_phi_dxy_cov_mu_hist;
0287 dqm::reco::MonitorElement* trk_phi_dsz_cov_mu_hist;
0288 dqm::reco::MonitorElement* trk_dxy_dsz_cov_mu_hist;
0289 dqm::reco::MonitorElement* trk_vx_mu_hist;
0290 dqm::reco::MonitorElement* trk_vy_mu_hist;
0291 dqm::reco::MonitorElement* trk_vz_mu_hist;
0292 dqm::reco::MonitorElement* trk_chi2_prob_hist;
0293
0294
0295 dqm::reco::MonitorElement* pt_pfj_hist;
0296 dqm::reco::MonitorElement* eta_pfj_hist;
0297 dqm::reco::MonitorElement* phi_pfj_hist;
0298 dqm::reco::MonitorElement* m_pfj_hist;
0299 dqm::reco::MonitorElement* jetArea_pfj_hist;
0300 dqm::reco::MonitorElement* chargedHadronEnergy_pfj_hist;
0301 dqm::reco::MonitorElement* neutralHadronEnergy_pfj_hist;
0302 dqm::reco::MonitorElement* photonEnergy_pfj_hist;
0303 dqm::reco::MonitorElement* electronEnergy_pfj_hist;
0304 dqm::reco::MonitorElement* muonEnergy_pfj_hist;
0305 dqm::reco::MonitorElement* HFHadronEnergy_pfj_hist;
0306 dqm::reco::MonitorElement* HFEMEnergy_pfj_hist;
0307 dqm::reco::MonitorElement* chargedHadronMultiplicity_pfj_hist;
0308 dqm::reco::MonitorElement* neutralHadronMultiplicity_pfj_hist;
0309 dqm::reco::MonitorElement* photonMultiplicity_pfj_hist;
0310 dqm::reco::MonitorElement* electronMultiplicity_pfj_hist;
0311 dqm::reco::MonitorElement* muonMultiplicity_pfj_hist;
0312 dqm::reco::MonitorElement* HFHadronMultiplicity_pfj_hist;
0313 dqm::reco::MonitorElement* HFEMMultiplicity_pfj_hist;
0314 dqm::reco::MonitorElement* HOEnergy_pfj_hist;
0315 dqm::reco::MonitorElement* mvaDiscriminator_pfj_hist;
0316
0317
0318 dqm::reco::MonitorElement* x_pv_hist;
0319 dqm::reco::MonitorElement* y_pv_hist;
0320 dqm::reco::MonitorElement* z_pv_hist;
0321 dqm::reco::MonitorElement* zError_pv_hist;
0322 dqm::reco::MonitorElement* xError_pv_hist;
0323 dqm::reco::MonitorElement* yError_pv_hist;
0324 dqm::reco::MonitorElement* tracksSize_pv_hist;
0325 dqm::reco::MonitorElement* chi2_pv_hist;
0326 dqm::reco::MonitorElement* ndof_pv_hist;
0327 dqm::reco::MonitorElement* isValidVtx_pv_hist;
0328 dqm::reco::MonitorElement* xyCov_pv_hist;
0329 dqm::reco::MonitorElement* xzCov_pv_hist;
0330 dqm::reco::MonitorElement* yzCov_pv_hist;
0331
0332
0333 dqm::reco::MonitorElement* x_vtx_hist;
0334 dqm::reco::MonitorElement* y_vtx_hist;
0335 dqm::reco::MonitorElement* z_vtx_hist;
0336 dqm::reco::MonitorElement* zError_vtx_hist;
0337 dqm::reco::MonitorElement* xError_vtx_hist;
0338 dqm::reco::MonitorElement* yError_vtx_hist;
0339 dqm::reco::MonitorElement* tracksSize_vtx_hist;
0340 dqm::reco::MonitorElement* chi2_vtx_hist;
0341 dqm::reco::MonitorElement* ndof_vtx_hist;
0342 dqm::reco::MonitorElement* isValidVtx_vtx_hist;
0343 dqm::reco::MonitorElement* xyCov_vtx_hist;
0344 dqm::reco::MonitorElement* xzCov_vtx_hist;
0345 dqm::reco::MonitorElement* yzCov_vtx_hist;
0346
0347
0348 dqm::reco::MonitorElement* tk_pt_tk_hist;
0349 dqm::reco::MonitorElement* tk_eta_tk_hist;
0350 dqm::reco::MonitorElement* tk_phi_tk_hist;
0351 dqm::reco::MonitorElement* tk_chi2_tk_hist;
0352 dqm::reco::MonitorElement* tk_ndof_tk_hist;
0353 dqm::reco::MonitorElement* tk_charge_tk_hist;
0354 dqm::reco::MonitorElement* tk_dxy_tk_hist;
0355 dqm::reco::MonitorElement* tk_dz_tk_hist;
0356 dqm::reco::MonitorElement* tk_nValidPixelHits_tk_hist;
0357 dqm::reco::MonitorElement* tk_nTrackerLayersWithMeasurement_tk_hist;
0358 dqm::reco::MonitorElement* tk_nValidStripHits_tk_hist;
0359 dqm::reco::MonitorElement* tk_qoverp_tk_hist;
0360 dqm::reco::MonitorElement* tk_lambda_tk_hist;
0361 dqm::reco::MonitorElement* tk_dxy_Error_tk_hist;
0362 dqm::reco::MonitorElement* tk_dz_Error_tk_hist;
0363 dqm::reco::MonitorElement* tk_qoverp_Error_tk_hist;
0364 dqm::reco::MonitorElement* tk_lambda_Error_tk_hist;
0365 dqm::reco::MonitorElement* tk_phi_Error_tk_hist;
0366 dqm::reco::MonitorElement* tk_dsz_tk_hist;
0367 dqm::reco::MonitorElement* tk_dsz_Error_tk_hist;
0368 dqm::reco::MonitorElement* tk_qoverp_lambda_cov_tk_hist;
0369 dqm::reco::MonitorElement* tk_qoverp_phi_cov_tk_hist;
0370 dqm::reco::MonitorElement* tk_qoverp_dxy_cov_tk_hist;
0371 dqm::reco::MonitorElement* tk_qoverp_dsz_cov_tk_hist;
0372 dqm::reco::MonitorElement* tk_lambda_phi_cov_tk_hist;
0373 dqm::reco::MonitorElement* tk_lambda_dxy_cov_tk_hist;
0374 dqm::reco::MonitorElement* tk_lambda_dsz_cov_tk_hist;
0375 dqm::reco::MonitorElement* tk_phi_dxy_cov_tk_hist;
0376 dqm::reco::MonitorElement* tk_phi_dsz_cov_tk_hist;
0377 dqm::reco::MonitorElement* tk_dxy_dsz_cov_tk_hist;
0378 dqm::reco::MonitorElement* tk_vtxInd_tk_hist;
0379 dqm::reco::MonitorElement* tk_vx_tk_hist;
0380 dqm::reco::MonitorElement* tk_vy_tk_hist;
0381 dqm::reco::MonitorElement* tk_vz_tk_hist;
0382 dqm::reco::MonitorElement* tk_chi2_ndof_tk_hist;
0383
0384 dqm::reco::MonitorElement* tk_PV_dxy_hist;
0385 dqm::reco::MonitorElement* tk_PV_dz_hist;
0386 };
0387
0388
0389
0390
0391 ScoutingCollectionMonitor::ScoutingCollectionMonitor(const edm::ParameterSet& iConfig)
0392 : onlyScouting_(iConfig.getParameter<bool>("onlyScouting")),
0393 muonsToken_(consumes<std::vector<Run3ScoutingMuon>>(iConfig.getParameter<edm::InputTag>("muons"))),
0394 electronsToken_(consumes<std::vector<Run3ScoutingElectron>>(iConfig.getParameter<edm::InputTag>("electrons"))),
0395 primaryVerticesToken_(
0396 consumes<std::vector<Run3ScoutingVertex>>(iConfig.getParameter<edm::InputTag>("primaryVertices"))),
0397 verticesToken_(
0398 consumes<std::vector<Run3ScoutingVertex>>(iConfig.getParameter<edm::InputTag>("displacedVertices"))),
0399 photonsToken_(consumes<std::vector<Run3ScoutingPhoton>>(iConfig.getParameter<edm::InputTag>("photons"))),
0400 rhoToken_(consumes<double>(iConfig.getParameter<edm::InputTag>("rho"))),
0401 pfMetPhiToken_(consumes<double>(iConfig.getParameter<edm::InputTag>("pfMetPhi"))),
0402 pfMetPtToken_(consumes<double>(iConfig.getParameter<edm::InputTag>("pfMetPt"))),
0403 pfcandsToken_(consumes<std::vector<Run3ScoutingParticle>>(iConfig.getParameter<edm::InputTag>("pfcands"))),
0404 pfjetsToken_(consumes<std::vector<Run3ScoutingPFJet>>(iConfig.getParameter<edm::InputTag>("pfjets"))),
0405 tracksToken_(consumes<std::vector<Run3ScoutingTrack>>(iConfig.getParameter<edm::InputTag>("tracks"))),
0406 onlineMetaDataDigisToken_(consumes(iConfig.getParameter<edm::InputTag>("onlineMetaDataDigis"))),
0407 topfoldername_(iConfig.getParameter<std::string>("topfoldername"))
0408
0409 {}
0410
0411
0412
0413
0414 template <typename T>
0415 bool ScoutingCollectionMonitor::getValidHandle(const edm::Event& iEvent,
0416 const edm::EDGetTokenT<T>& token,
0417 edm::Handle<T>& handle,
0418 const std::string& label) {
0419 iEvent.getByToken(token, handle);
0420 if (!handle.isValid()) {
0421 edm::LogWarning("ScoutingAnalyzer") << "Invalid handle for " << label;
0422 return false;
0423 }
0424 return true;
0425 }
0426
0427
0428 void ScoutingCollectionMonitor::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) {
0429 using namespace edm;
0430 using namespace std;
0431 using namespace reco;
0432
0433
0434 edm::Handle<double> rhoH;
0435 edm::Handle<double> pfMetPhiH;
0436 edm::Handle<double> pfMetPtH;
0437 edm::Handle<std::vector<Run3ScoutingParticle>> pfcandsH;
0438 edm::Handle<std::vector<Run3ScoutingPhoton>> photonsH;
0439 edm::Handle<std::vector<Run3ScoutingElectron>> electronsH;
0440 edm::Handle<std::vector<Run3ScoutingMuon>> muonsH;
0441 edm::Handle<std::vector<Run3ScoutingPFJet>> PFjetsH;
0442 edm::Handle<std::vector<Run3ScoutingVertex>> verticesH;
0443 edm::Handle<std::vector<Run3ScoutingVertex>> primaryVerticesH;
0444 edm::Handle<std::vector<Run3ScoutingTrack>> tracksH;
0445 edm::Handle<OnlineLuminosityRecord> onlineMetaDataDigisHandle;
0446
0447 if (!getValidHandle(iEvent, rhoToken_, rhoH, "rho") ||
0448 !getValidHandle(iEvent, pfMetPhiToken_, pfMetPhiH, "MET phi") ||
0449 !getValidHandle(iEvent, pfMetPtToken_, pfMetPtH, "MET pT") ||
0450 !getValidHandle(iEvent, pfcandsToken_, pfcandsH, "PF candidates") ||
0451 !getValidHandle(iEvent, photonsToken_, photonsH, "photons") ||
0452 !getValidHandle(iEvent, electronsToken_, electronsH, "electrons") ||
0453 !getValidHandle(iEvent, muonsToken_, muonsH, "muons") ||
0454 !getValidHandle(iEvent, pfjetsToken_, PFjetsH, "PF jets") ||
0455 !getValidHandle(iEvent, verticesToken_, verticesH, "vertices") ||
0456 !getValidHandle(iEvent, primaryVerticesToken_, primaryVerticesH, "primary vertices") ||
0457 !getValidHandle(iEvent, tracksToken_, tracksH, "tracks")) {
0458 return;
0459 }
0460
0461
0462 if (!onlyScouting_) {
0463 if (!getValidHandle(iEvent, onlineMetaDataDigisToken_, onlineMetaDataDigisHandle, "avgPileUp")) {
0464 return;
0465 }
0466 avgPileUp = onlineMetaDataDigisHandle->avgPileUp();
0467 rhovsPU_hist->Fill(avgPileUp, *rhoH);
0468 }
0469
0470
0471 rho_hist->Fill(*rhoH);
0472 pfMetPhi_hist->Fill(*pfMetPhiH);
0473 pfMetPt_hist->Fill(*pfMetPtH);
0474
0475
0476
0477 for (const auto& cand : *pfcandsH) {
0478 switch (cand.pdgId()) {
0479 case 211:
0480 PF_pT_211_hist->Fill(cand.pt());
0481 PF_eta_211_hist->Fill(cand.eta());
0482 PF_phi_211_hist->Fill(cand.phi());
0483 PF_vertex_211_hist->Fill(cand.vertex());
0484 PF_normchi2_211_hist->Fill(cand.normchi2());
0485 PF_dz_211_hist->Fill(cand.dz());
0486 PF_dxy_211_hist->Fill(cand.dxy());
0487 PF_dzsig_211_hist->Fill(cand.dzsig());
0488 PF_dxysig_211_hist->Fill(cand.dxysig());
0489 PF_trk_pt_211_hist->Fill(cand.trk_pt());
0490 PF_trk_eta_211_hist->Fill(cand.trk_eta());
0491 PF_trk_phi_211_hist->Fill(cand.trk_phi());
0492 break;
0493
0494 case -211:
0495 PF_pT_n211_hist->Fill(cand.pt());
0496 PF_eta_n211_hist->Fill(cand.eta());
0497 PF_phi_n211_hist->Fill(cand.phi());
0498 PF_vertex_n211_hist->Fill(cand.vertex());
0499 PF_normchi2_n211_hist->Fill(cand.normchi2());
0500 PF_dz_n211_hist->Fill(cand.dz());
0501 PF_dxy_n211_hist->Fill(cand.dxy());
0502 PF_dzsig_n211_hist->Fill(cand.dzsig());
0503 PF_dxysig_n211_hist->Fill(cand.dxysig());
0504 PF_trk_pt_n211_hist->Fill(cand.trk_pt());
0505 PF_trk_eta_n211_hist->Fill(cand.trk_eta());
0506 PF_trk_phi_n211_hist->Fill(cand.trk_phi());
0507 break;
0508
0509 case 130:
0510 PF_pT_130_hist->Fill(cand.pt());
0511 PF_eta_130_hist->Fill(cand.eta());
0512 PF_phi_130_hist->Fill(cand.phi());
0513 PF_vertex_130_hist->Fill(cand.vertex());
0514 PF_normchi2_130_hist->Fill(cand.normchi2());
0515 break;
0516
0517 case 22:
0518 PF_pT_22_hist->Fill(cand.pt());
0519 PF_eta_22_hist->Fill(cand.eta());
0520 PF_phi_22_hist->Fill(cand.phi());
0521 PF_vertex_22_hist->Fill(cand.vertex());
0522 PF_normchi2_22_hist->Fill(cand.normchi2());
0523 break;
0524
0525 case 13:
0526 PF_pT_13_hist->Fill(cand.pt());
0527 PF_eta_13_hist->Fill(cand.eta());
0528 PF_phi_13_hist->Fill(cand.phi());
0529 PF_vertex_13_hist->Fill(cand.vertex());
0530 PF_normchi2_13_hist->Fill(cand.normchi2());
0531 PF_dz_13_hist->Fill(cand.dz());
0532 PF_dxy_13_hist->Fill(cand.dxy());
0533 PF_dzsig_13_hist->Fill(cand.dzsig());
0534 PF_dxysig_13_hist->Fill(cand.dxysig());
0535 PF_trk_pt_13_hist->Fill(cand.trk_pt());
0536 PF_trk_eta_13_hist->Fill(cand.trk_eta());
0537 PF_trk_phi_13_hist->Fill(cand.trk_phi());
0538 break;
0539
0540 case -13:
0541 PF_pT_n13_hist->Fill(cand.pt());
0542 PF_eta_n13_hist->Fill(cand.eta());
0543 PF_phi_n13_hist->Fill(cand.phi());
0544 PF_vertex_n13_hist->Fill(cand.vertex());
0545 PF_normchi2_n13_hist->Fill(cand.normchi2());
0546 PF_dz_n13_hist->Fill(cand.dz());
0547 PF_dxy_n13_hist->Fill(cand.dxy());
0548 PF_dzsig_n13_hist->Fill(cand.dzsig());
0549 PF_dxysig_n13_hist->Fill(cand.dxysig());
0550 PF_trk_pt_n13_hist->Fill(cand.trk_pt());
0551 PF_trk_eta_n13_hist->Fill(cand.trk_eta());
0552 PF_trk_phi_n13_hist->Fill(cand.trk_phi());
0553 break;
0554
0555 case 1:
0556 PF_pT_1_hist->Fill(cand.pt());
0557 PF_eta_1_hist->Fill(cand.eta());
0558 PF_phi_1_hist->Fill(cand.phi());
0559 PF_vertex_1_hist->Fill(cand.vertex());
0560 PF_normchi2_1_hist->Fill(cand.normchi2());
0561 break;
0562
0563 case 2:
0564 PF_pT_2_hist->Fill(cand.pt());
0565 PF_eta_2_hist->Fill(cand.eta());
0566 PF_phi_2_hist->Fill(cand.phi());
0567 PF_vertex_2_hist->Fill(cand.vertex());
0568 PF_normchi2_2_hist->Fill(cand.normchi2());
0569 break;
0570 }
0571 }
0572
0573
0574 for (const auto& pho : *photonsH) {
0575 pt_pho_hist->Fill(pho.pt());
0576 eta_pho_hist->Fill(pho.eta());
0577 phi_pho_hist->Fill(pho.phi());
0578 rawEnergy_pho_hist->Fill(pho.rawEnergy());
0579 preshowerEnergy_pho_hist->Fill(pho.preshowerEnergy());
0580 corrEcalEnergyError_pho_hist->Fill(pho.corrEcalEnergyError());
0581 sigmaIetaIeta_pho_hist->Fill(pho.sigmaIetaIeta());
0582 hOverE_pho_hist->Fill(pho.hOverE());
0583 ecalIso_pho_hist->Fill(pho.ecalIso());
0584 hcalIso_pho_hist->Fill(pho.hcalIso());
0585 trackIso_pho_hist->Fill(pho.trkIso());
0586 r9_pho_hist->Fill(pho.r9());
0587 sMin_pho_hist->Fill(pho.sMin());
0588 sMaj_pho_hist->Fill(pho.sMaj());
0589 }
0590
0591
0592 for (const auto& ele : *electronsH) {
0593 pt_ele_hist->Fill(ele.pt());
0594 eta_ele_hist->Fill(ele.eta());
0595 phi_ele_hist->Fill(ele.phi());
0596 rawEnergy_ele_hist->Fill(ele.rawEnergy());
0597 preshowerEnergy_ele_hist->Fill(ele.preshowerEnergy());
0598 corrEcalEnergyError_ele_hist->Fill(ele.corrEcalEnergyError());
0599 dEtaIn_ele_hist->Fill(ele.dEtaIn());
0600 dPhiIn_ele_hist->Fill(ele.dPhiIn());
0601 sigmaIetaIeta_ele_hist->Fill(ele.sigmaIetaIeta());
0602 hOverE_ele_hist->Fill(ele.hOverE());
0603 ooEMOop_ele_hist->Fill(ele.ooEMOop());
0604 missingHits_ele_hist->Fill(ele.missingHits());
0605 trackfbrem_ele_hist->Fill(ele.trackfbrem());
0606 ecalIso_ele_hist->Fill(ele.ecalIso());
0607 hcalIso_ele_hist->Fill(ele.hcalIso());
0608 trackIso_ele_hist->Fill(ele.trackIso());
0609 r9_ele_hist->Fill(ele.r9());
0610 sMin_ele_hist->Fill(ele.sMin());
0611 sMaj_ele_hist->Fill(ele.sMaj());
0612 }
0613
0614
0615 for (const auto& mu : *muonsH) {
0616 pt_mu_hist->Fill(mu.pt());
0617 eta_mu_hist->Fill(mu.eta());
0618 phi_mu_hist->Fill(mu.phi());
0619 type_mu_hist->Fill(mu.type());
0620 charge_mu_hist->Fill(mu.charge());
0621 normalizedChi2_mu_hist->Fill(mu.normalizedChi2());
0622 ecalIso_mu_hist->Fill(mu.ecalIso());
0623 hcalIso_mu_hist->Fill(mu.hcalIso());
0624 trackIso_mu_hist->Fill(mu.trackIso());
0625 nValidStandAloneMuonHits_mu_hist->Fill(mu.nValidStandAloneMuonHits());
0626 nStandAloneMuonMatchedStations_mu_hist->Fill(mu.nStandAloneMuonMatchedStations());
0627 nValidRecoMuonHits_mu_hist->Fill(mu.nValidRecoMuonHits());
0628 nRecoMuonChambers_mu_hist->Fill(mu.nRecoMuonChambers());
0629 nRecoMuonChambersCSCorDT_mu_hist->Fill(mu.nRecoMuonChambersCSCorDT());
0630 nRecoMuonMatches_mu_hist->Fill(mu.nRecoMuonMatches());
0631 nRecoMuonMatchedStations_mu_hist->Fill(mu.nRecoMuonMatchedStations());
0632 nRecoMuonExpectedMatchedStations_mu_hist->Fill(mu.nRecoMuonExpectedMatchedStations());
0633 recoMuonStationMask_mu_hist->Fill(mu.recoMuonStationMask());
0634 nRecoMuonMatchedRPCLayers_mu_hist->Fill(mu.nRecoMuonMatchedRPCLayers());
0635 recoMuonRPClayerMask_mu_hist->Fill(mu.recoMuonRPClayerMask());
0636 nValidPixelHits_mu_hist->Fill(mu.nValidPixelHits());
0637 nValidStripHits_mu_hist->Fill(mu.nValidStripHits());
0638 nPixelLayersWithMeasurement_mu_hist->Fill(mu.nPixelLayersWithMeasurement());
0639 nTrackerLayersWithMeasurement_mu_hist->Fill(mu.nTrackerLayersWithMeasurement());
0640 trk_chi2_mu_hist->Fill(mu.trk_chi2());
0641 trk_ndof_mu_hist->Fill(mu.trk_ndof());
0642 trk_dxy_mu_hist->Fill(mu.trk_dxy());
0643 trk_dz_mu_hist->Fill(mu.trk_dz());
0644 trk_qoverp_mu_hist->Fill(mu.trk_qoverp());
0645 trk_lambda_mu_hist->Fill(mu.trk_lambda());
0646 trk_pt_mu_hist->Fill(mu.trk_pt());
0647 trk_phi_mu_hist->Fill(mu.trk_phi());
0648 trk_eta_mu_hist->Fill(mu.trk_eta());
0649 trk_dxyError_mu_hist->Fill(mu.trk_dxyError());
0650 trk_dzError_mu_hist->Fill(mu.trk_dzError());
0651 trk_qoverpError_mu_hist->Fill(mu.trk_qoverpError());
0652 trk_lambdaError_mu_hist->Fill(mu.trk_lambdaError());
0653 trk_phiError_mu_hist->Fill(mu.trk_phiError());
0654 trk_dsz_mu_hist->Fill(mu.trk_dsz());
0655 trk_dszError_mu_hist->Fill(mu.trk_dszError());
0656 trk_qoverp_lambda_cov_mu_hist->Fill(mu.trk_qoverp_lambda_cov());
0657 trk_qoverp_phi_cov_mu_hist->Fill(mu.trk_qoverp_phi_cov());
0658 trk_qoverp_dxy_cov_mu_hist->Fill(mu.trk_qoverp_dxy_cov());
0659 trk_qoverp_dsz_cov_mu_hist->Fill(mu.trk_qoverp_dsz_cov());
0660 trk_lambda_phi_cov_mu_hist->Fill(mu.trk_lambda_phi_cov());
0661 trk_lambda_dxy_cov_mu_hist->Fill(mu.trk_lambda_dxy_cov());
0662 trk_lambda_dsz_cov_mu_hist->Fill(mu.trk_lambda_dsz_cov());
0663 trk_phi_dxy_cov_mu_hist->Fill(mu.trk_phi_dxy_cov());
0664 trk_phi_dsz_cov_mu_hist->Fill(mu.trk_phi_dsz_cov());
0665 trk_dxy_dsz_cov_mu_hist->Fill(mu.trk_dxy_dsz_cov());
0666 trk_vx_mu_hist->Fill(mu.trk_vx());
0667 trk_vy_mu_hist->Fill(mu.trk_vy());
0668 trk_vz_mu_hist->Fill(mu.trk_vz());
0669 }
0670
0671
0672 for (const auto& jet : *PFjetsH) {
0673 pt_pfj_hist->Fill(jet.pt());
0674 eta_pfj_hist->Fill(jet.eta());
0675 phi_pfj_hist->Fill(jet.phi());
0676 m_pfj_hist->Fill(jet.m());
0677 jetArea_pfj_hist->Fill(jet.jetArea());
0678 chargedHadronEnergy_pfj_hist->Fill(jet.chargedHadronEnergy());
0679 neutralHadronEnergy_pfj_hist->Fill(jet.neutralHadronEnergy());
0680 photonEnergy_pfj_hist->Fill(jet.photonEnergy());
0681 electronEnergy_pfj_hist->Fill(jet.electronEnergy());
0682 muonEnergy_pfj_hist->Fill(jet.muonEnergy());
0683 HFHadronEnergy_pfj_hist->Fill(jet.HFHadronEnergy());
0684 HFEMEnergy_pfj_hist->Fill(jet.HFEMEnergy());
0685 chargedHadronMultiplicity_pfj_hist->Fill(jet.chargedHadronMultiplicity());
0686 neutralHadronMultiplicity_pfj_hist->Fill(jet.neutralHadronMultiplicity());
0687 photonMultiplicity_pfj_hist->Fill(jet.photonMultiplicity());
0688 electronMultiplicity_pfj_hist->Fill(jet.electronMultiplicity());
0689 muonMultiplicity_pfj_hist->Fill(jet.muonMultiplicity());
0690 HFHadronMultiplicity_pfj_hist->Fill(jet.HFHadronMultiplicity());
0691 HFEMMultiplicity_pfj_hist->Fill(jet.HFEMMultiplicity());
0692 HOEnergy_pfj_hist->Fill(jet.HOEnergy());
0693 mvaDiscriminator_pfj_hist->Fill(jet.mvaDiscriminator());
0694 }
0695
0696
0697 for (const auto& vtx : *primaryVerticesH) {
0698 primaryVertex_counter++;
0699 x_pv_hist->Fill(vtx.x());
0700 y_pv_hist->Fill(vtx.y());
0701 z_pv_hist->Fill(vtx.z());
0702 zError_pv_hist->Fill(vtx.zError());
0703 xError_pv_hist->Fill(vtx.xError());
0704 yError_pv_hist->Fill(vtx.yError());
0705 tracksSize_pv_hist->Fill(vtx.tracksSize());
0706 chi2_pv_hist->Fill(vtx.chi2());
0707 ndof_pv_hist->Fill(vtx.ndof());
0708 isValidVtx_pv_hist->Fill(vtx.isValidVtx());
0709 xyCov_pv_hist->Fill(vtx.xyCov());
0710 xzCov_pv_hist->Fill(vtx.xzCov());
0711 yzCov_pv_hist->Fill(vtx.yzCov());
0712 }
0713
0714 if (!onlyScouting_) {
0715 PVvsPU_hist->Fill(avgPileUp, primaryVertex_counter);
0716 }
0717
0718
0719 for (const auto& vtx : *verticesH) {
0720 x_vtx_hist->Fill(vtx.x());
0721 y_vtx_hist->Fill(vtx.y());
0722 z_vtx_hist->Fill(vtx.z());
0723 zError_vtx_hist->Fill(vtx.zError());
0724 xError_vtx_hist->Fill(vtx.xError());
0725 yError_vtx_hist->Fill(vtx.yError());
0726 tracksSize_vtx_hist->Fill(vtx.tracksSize());
0727 chi2_vtx_hist->Fill(vtx.chi2());
0728 ndof_vtx_hist->Fill(vtx.ndof());
0729 isValidVtx_vtx_hist->Fill(vtx.isValidVtx());
0730 xyCov_vtx_hist->Fill(vtx.xyCov());
0731 xzCov_vtx_hist->Fill(vtx.xzCov());
0732 yzCov_vtx_hist->Fill(vtx.yzCov());
0733 }
0734
0735
0736 for (const auto& tk : *tracksH) {
0737 tk_pt_tk_hist->Fill(tk.tk_pt());
0738 tk_eta_tk_hist->Fill(tk.tk_eta());
0739 tk_phi_tk_hist->Fill(tk.tk_phi());
0740 tk_chi2_tk_hist->Fill(tk.tk_chi2());
0741 tk_ndof_tk_hist->Fill(tk.tk_ndof());
0742 tk_charge_tk_hist->Fill(tk.tk_charge());
0743 tk_dxy_tk_hist->Fill(tk.tk_dxy());
0744 tk_dz_tk_hist->Fill(tk.tk_dz());
0745 tk_nValidPixelHits_tk_hist->Fill(tk.tk_nValidPixelHits());
0746 tk_nTrackerLayersWithMeasurement_tk_hist->Fill(tk.tk_nTrackerLayersWithMeasurement());
0747 tk_nValidStripHits_tk_hist->Fill(tk.tk_nValidStripHits());
0748 tk_qoverp_tk_hist->Fill(tk.tk_qoverp());
0749 tk_lambda_tk_hist->Fill(tk.tk_lambda());
0750 tk_dxy_Error_tk_hist->Fill(tk.tk_dxy_Error());
0751 tk_dz_Error_tk_hist->Fill(tk.tk_dz_Error());
0752 tk_qoverp_Error_tk_hist->Fill(tk.tk_qoverp_Error());
0753 tk_lambda_Error_tk_hist->Fill(tk.tk_lambda_Error());
0754 tk_phi_Error_tk_hist->Fill(tk.tk_phi_Error());
0755 tk_dsz_tk_hist->Fill(tk.tk_dsz());
0756 tk_dsz_Error_tk_hist->Fill(tk.tk_dsz_Error());
0757 tk_vtxInd_tk_hist->Fill(tk.tk_vtxInd());
0758 tk_vx_tk_hist->Fill(tk.tk_vx());
0759 tk_vy_tk_hist->Fill(tk.tk_vy());
0760 tk_vz_tk_hist->Fill(tk.tk_vz());
0761 tk_chi2_ndof_tk_hist->Fill(tk.tk_chi2() / tk.tk_ndof());
0762 trk_chi2_prob_hist->Fill(TMath::Prob(tk.tk_chi2(), tk.tk_ndof()));
0763
0764
0765 std::pair<float, float> best_offset{9999.f, 99999.f};
0766
0767
0768 for (const auto& vtx : *primaryVerticesH) {
0769 const auto offset = trk_vtx_offSet(tk, vtx);
0770 if (std::abs(offset.second) < std::abs(best_offset.second)) {
0771 best_offset = offset;
0772 }
0773 }
0774
0775 tk_PV_dxy_hist->Fill(best_offset.first);
0776 tk_PV_dz_hist->Fill(best_offset.second);
0777 }
0778 }
0779
0780
0781 void ScoutingCollectionMonitor::bookHistograms(DQMStore::IBooker& ibook,
0782 edm::Run const& run,
0783 edm::EventSetup const& iSetup) {
0784 ibook.setCurrentFolder(topfoldername_);
0785
0786 rho_hist = ibook.book1D("rho", "#rho; #rho; Entries", 100, 0.0, 60.0);
0787 pfMetPhi_hist = ibook.book1D("pfMetPhi", "pf MET #phi; #phi ;Entries", 100, -3.14, 3.14);
0788 pfMetPt_hist = ibook.book1D("pfMetPt", "pf MET pT;p_{T} [GeV];Entries", 100, 0.0, 250.0);
0789
0790 if (!onlyScouting_) {
0791 PVvsPU_hist =
0792 ibook.bookProfile("PVvsPU", "Number of primary vertices vs pile up; pile up; <N_{PV}>", 20, 20, 60, 0, 65);
0793 rhovsPU_hist = ibook.bookProfile("rhovsPU", "#rho vs pile up; pile up; <#rho>", 20, 20, 60, 0, 45);
0794 }
0795
0796 ibook.setCurrentFolder(topfoldername_ + "/PFcand");
0797 PF_pT_211_hist = ibook.book1DD("pT_211", "PF h^{+} pT (GeV);p_{T} [GeV];Entries", 100, 0.0, 13.0);
0798 PF_pT_n211_hist = ibook.book1DD("pT_n211", "PF h^{-} pT (GeV);p_{T} [GeV];Entries", 100, 0.0, 14.0);
0799 PF_pT_130_hist = ibook.book1DD("pT_130", "PF h^{0} pT (GeV);p_{T} [GeV];Entries", 100, 0.0, 20.0);
0800 PF_pT_22_hist = ibook.book1DD("pT_22", "PF #gamma pT (GeV);p_{T} [GeV];Entries", 100, 0.0, 18.0);
0801 PF_pT_13_hist = ibook.book1DD("pT_13", "PF #mu^{+} pT (GeV);p_{T} [GeV];Entries", 100, 0.0, 80.0);
0802 PF_pT_n13_hist = ibook.book1DD("pT_n13", "PF #mu^{-} pT (GeV);p_{T} [GeV];Entries", 100, 0.0, 80.0);
0803 PF_pT_2_hist = ibook.book1DD("pT_2", "PF HF h (GeV);pT [GeV];Entries", 100, 0.0, 4.5);
0804 PF_pT_1_hist = ibook.book1DD("pT_1", "PF HF e/#gamma pT (GeV);p_{T} [GeV];Entries", 100, 0.0, 6.0);
0805
0806 PF_eta_211_hist = ibook.book1DD("eta_211", "PF h^{+} #eta;#eta;Entries", 100, -5.0, 5.0);
0807 PF_eta_n211_hist = ibook.book1DD("eta_n211", "PF h^{-} #eta;#eta;Entries", 100, -5.0, 5.0);
0808 PF_eta_130_hist = ibook.book1DD("eta_130", "PF h^{0} #eta;#eta;Entries", 100, -5.0, 5.0);
0809 PF_eta_22_hist = ibook.book1DD("eta_22", "PF #gamma #eta;#eta;Entries", 100, -5.0, 5.0);
0810 PF_eta_13_hist = ibook.book1DD("eta_13", "PF #mu^{+} #eta;#eta;Entries", 100, -5.0, 5.0);
0811 PF_eta_n13_hist = ibook.book1DD("eta_n13", "PF #mu^{-} #eta;#eta;Entries", 100, -5.0, 5.0);
0812 PF_eta_1_hist = ibook.book1DD("eta_2", "PF HF h #eta;#eta;Entries", 100, -5.0, 5.0);
0813 PF_eta_2_hist = ibook.book1DD("eta_1", "PF HF e/#gamma #eta;#eta;Entries", 100, -5.0, 5.0);
0814
0815 PF_phi_211_hist = ibook.book1DD("phi_211", "PF h^{+} #phi;#phi;Entries", 100, -3.2, 3.2);
0816 PF_phi_n211_hist = ibook.book1DD("phi_n211", "PF h^{-} #phi;#phi;Entries", 100, -3.2, 3.2);
0817 PF_phi_130_hist = ibook.book1DD("phi_130", "PF h^{0} #phi;#phi;Entries", 100, -3.2, 3.2);
0818 PF_phi_22_hist = ibook.book1DD("phi_22", "PF #gamma #phi;#phi;Entries", 100, -3.2, 3.2);
0819 PF_phi_13_hist = ibook.book1DD("phi_13", "PF #mu^{+} #phi;#phi;Entries", 100, -3.2, 3.2);
0820 PF_phi_n13_hist = ibook.book1DD("phi_n13", "PF #mu^{-} #phi;#phi;Entries", 100, -3.2, 3.2);
0821 PF_phi_1_hist = ibook.book1DD("phi_2", "PF HF h #phi;#phi;Entries", 100, -3.2, 3.2);
0822 PF_phi_2_hist = ibook.book1DD("phi_1", "PF HF e/#gamma #phi;#phi;Entries", 100, -3.2, 3.2);
0823
0824 PF_vertex_211_hist = ibook.book1DD("vertex_211", "PF h^{+} Vertex;Vertex;Entries", 100, -10.0, 15.0);
0825 PF_vertex_n211_hist = ibook.book1DD("vertex_n211", "PF h^{-} Vertex;Vertex;Entries", 100, -10.0, 15.0);
0826 PF_vertex_130_hist = ibook.book1DD("vertex_130", "PF h^{0} Vertex;Vertex;Entries", 100, -10.0, 10.0);
0827 PF_vertex_22_hist = ibook.book1DD("vertex_22", "PF #gamma Vertex;Vertex;Entries", 100, -10.0, 10.0);
0828 PF_vertex_13_hist = ibook.book1DD("vertex_13", "PF #mu^{+} Vertex;Vertex;Entries", 100, -10.0, 15.0);
0829 PF_vertex_n13_hist = ibook.book1DD("vertex_n13", "PF #mu^{-} Vertex;Vertex;Entries", 100, -10.0, 15.0);
0830 PF_vertex_1_hist = ibook.book1DD("vertex_1", "PF HF h Vertex;Vertex;Entries", 100, -10.0, 10.0);
0831 PF_vertex_2_hist = ibook.book1DD("vertex_2", "PF HF e/#gamma Vertex;Vertex;Entries", 100, -10.0, 10.0);
0832
0833 PF_normchi2_211_hist = ibook.book1DD("normchi2_211", "PF h^{+} Norm #chi^2;Norm #chi^2;Entries", 100, 0.0, 10.0);
0834 PF_normchi2_n211_hist = ibook.book1DD("normchi2_n211", "PF h^{-} Norm #chi^2;Norm #chi^2;Entries", 100, 0.0, 10.0);
0835 PF_normchi2_130_hist = ibook.book1DD("normchi2_130", "PF h^{0} Norm #chi^2;Norm #chi^2;Entries", 100, 0.0, 100.0);
0836 PF_normchi2_22_hist = ibook.book1DD("normchi2_22", "PF #gamma Norm #chi^2;Norm #chi^2;Entries", 100, 0.0, 100.0);
0837 PF_normchi2_13_hist = ibook.book1DD("normchi2_13", "PF #mu^{+} Norm #chi^2;Norm #chi^2;Entries", 100, 0.0, 10.0);
0838 PF_normchi2_n13_hist = ibook.book1DD("normchi2_n13", "PF #mu^{-} Norm #chi^2;Norm #chi^2;Entries", 100, 0.0, 10.0);
0839 PF_normchi2_1_hist = ibook.book1DD("normchi2_1", "PF HF h Norm #chi^2;Norm #chi^2;Entries", 100, 0.0, 100.0);
0840 PF_normchi2_2_hist = ibook.book1DD("normchi2_2", "PF HF e/#gamma Norm #chi^2;Norm #chi^2;Entries", 100, 0.0, 100.0);
0841
0842 PF_dz_211_hist = ibook.book1DD("dz_211", "PF h^{+} dz (cm);dz (cm);Entries", 100, -1.0, 1.0);
0843 PF_dz_n211_hist = ibook.book1DD("dz_n211", "PF h^{-} dz (cm);dz (cm);Entries", 100, -1.0, 1.0);
0844 PF_dz_13_hist = ibook.book1DD("dz_13", "PF #mu^{+} dz (cm);dz (cm);Entries", 100, -1.0, 1.0);
0845 PF_dz_n13_hist = ibook.book1DD("dz_n13", "PF #mu^{-} dz (cm);dz (cm);Entries", 100, -1.0, 1.0);
0846
0847 PF_dxy_211_hist = ibook.book1DD("dxy_211", "PF h^{+} dxy (cm);dxy (cm);Entries", 100, -0.5, 0.5);
0848 PF_dxy_n211_hist = ibook.book1DD("dxy_n211", "PF h^{-} dxy (cm);dxy (cm);Entries", 100, -0.5, 0.5);
0849 PF_dxy_13_hist = ibook.book1DD("dxy_13", "PF #mu^{+} dxy (cm);dxy (cm);Entries", 100, -0.5, 0.5);
0850 PF_dxy_n13_hist = ibook.book1DD("dxy_n13", "PF #mu^{-} dxy (cm);dxy (cm);Entries", 100, -0.5, 0.5);
0851
0852 PF_dzsig_211_hist = ibook.book1DD("dzsig_211", "PF h^{+} dzsig;dzsig;Entries", 100, 0.0, 10.0);
0853 PF_dzsig_n211_hist = ibook.book1DD("dzsig_n211", "PF h^{-} dzsig;dzsig;Entries", 100, 0.0, 10.0);
0854 PF_dzsig_13_hist = ibook.book1DD("dzsig_13", "PF #mu^{+} dzsig;dzsig;Entries", 100, 0.0, 10.0);
0855 PF_dzsig_n13_hist = ibook.book1DD("dzsig_n13", "PF #mu^{-} dzsig;dzsig;Entries", 100, 0.0, 10.0);
0856
0857 PF_dxysig_211_hist = ibook.book1DD("dxysig_211", "PF h^{+} dxysig;dxysig;Entries", 100, 0.0, 10.0);
0858 PF_dxysig_n211_hist = ibook.book1DD("dxysig_n211", "PF h^{-} dxysig;dxysig;Entries", 100, 0.0, 10.0);
0859 PF_dxysig_13_hist = ibook.book1DD("dxysig_13", "PF #mu^{+} dxysig;dxysig;Entries", 100, 0.0, 10.0);
0860 PF_dxysig_n13_hist = ibook.book1DD("dxysig_n13", "PF #mu^{-} dxysig;dxysig;Entries", 100, 0.0, 10.0);
0861
0862 PF_trk_pt_211_hist = ibook.book1DD("trk_pt_211", "PF h^{+} Track pT (GeV);Track p_{T} (GeV);Entries", 100, 0.0, 10.0);
0863 PF_trk_pt_n211_hist =
0864 ibook.book1DD("trk_pt_n211", "PF h^{-} Track pT (GeV);Track p_{T} (GeV);Entries", 100, 0.0, 10.0);
0865 PF_trk_pt_13_hist = ibook.book1DD("trk_pt_13", "PF #mu^{+} Track pT (GeV);Track p_{T} (GeV);Entries", 100, 0.0, 10.0);
0866 PF_trk_pt_n13_hist =
0867 ibook.book1DD("trk_pt_n13", "PF #mu^{-} Track pT (GeV);Track p_{T} (GeV);Entries", 100, 0.0, 10.0);
0868
0869 PF_trk_eta_211_hist = ibook.book1DD("trk_eta_211", "PF h^{+} Track #eta;Track #eta;Entries", 100, -3.0, 3.0);
0870 PF_trk_eta_n211_hist = ibook.book1DD("trk_eta_n211", "PF h^{-} Track #eta;Track #eta;Entries", 100, -3.0, 3.0);
0871 PF_trk_eta_13_hist = ibook.book1DD("trk_eta_13", "PF #mu^{+} Track #eta;Track #eta;Entries", 100, -3.0, 3.0);
0872 PF_trk_eta_n13_hist = ibook.book1DD("trk_eta_n13", "PF #mu^{-} Track #eta;Track #eta;Entries", 100, -3.0, 3.0);
0873
0874 PF_trk_phi_211_hist = ibook.book1DD("trk_phi_211", "PF h^{+} Track #phi;Track #phi;Entries", 100, -3.2, 3.2);
0875 PF_trk_phi_n211_hist = ibook.book1DD("trk_phi_n211", "PF h^{-} Track #phi;Track #phi;Entries", 100, -3.2, 3.2);
0876 PF_trk_phi_13_hist = ibook.book1DD("trk_phi_13", "PF #mu^{+} Track #phi;Track #phi;Entries", 100, -3.2, 3.2);
0877 PF_trk_phi_n13_hist = ibook.book1DD("trk_phi_n13", "PF #mu^{-} Track #phi;Track #phi;Entries", 100, -3.2, 3.2);
0878
0879 ibook.setCurrentFolder(topfoldername_ + "/Photon");
0880 pt_pho_hist = ibook.book1D("pt_pho", "Photon pT; p_{T} (GeV); Entries", 100, 0.0, 100.0);
0881 eta_pho_hist = ibook.book1D("eta_pho", "photon #eta; #eta; Entries", 100, -2.7, 2.7);
0882 phi_pho_hist = ibook.book1D("phi_pho", "Photon #phi; #phi (rad); Entries", 100, -3.14, 3.14);
0883 rawEnergy_pho_hist = ibook.book1D("rawEnergy_pho", "Raw Energy Photon; Energy (GeV); Entries", 100, 0.0, 250.0);
0884 preshowerEnergy_pho_hist =
0885 ibook.book1D("preshowerEnergy_pho", "Preshower Energy Photon; Energy (GeV); Entries", 100, 0.0, 8.0);
0886 corrEcalEnergyError_pho_hist = ibook.book1D(
0887 "corrEcalEnergyError_pho", "Corrected ECAL Energy Error Photon; Energy Error (GeV); Entries", 100, 0.0, 20.0);
0888 sigmaIetaIeta_pho_hist =
0889 ibook.book1D("sigmaIetaIeta_pho", "Sigma iEta iEta Photon; #sigma_{i#eta i#eta}; Entries", 100, 0.0, 0.5);
0890 hOverE_pho_hist = ibook.book1D("hOverE_pho", "H/E Photon; H/E; Entries", 100, 0.0, 1.5);
0891 ecalIso_pho_hist = ibook.book1D("ecalIso_pho", "ECAL Isolation Photon; Isolation (GeV); Entries", 100, 0.0, 100.0);
0892 hcalIso_pho_hist = ibook.book1D("hcalIso_pho", "HCAL Isolation Photon; Isolation (GeV); Entries", 100, 0.0, 100.0);
0893 trackIso_pho_hist = ibook.book1D("trackIso_pho", "Track Isolation Photon; Isolation (GeV); Entries", 100, 0.0, 0.05);
0894 r9_pho_hist = ibook.book1D("r9_pho", "R9; R9; Entries", 100, 0.0, 5);
0895 sMin_pho_hist = ibook.book1D("sMin_pho", "sMin Photon; sMin; Entries", 100, 0.0, 3);
0896 sMaj_pho_hist = ibook.book1D("sMaj_pho", "sMaj Photon; sMaj; Entries", 100, 0.0, 3);
0897
0898 ibook.setCurrentFolder(topfoldername_ + "/Electron");
0899 pt_ele_hist = ibook.book1D("pt_ele", "Electron pT; p_{T} (GeV); Entries", 100, 0.0, 100.0);
0900 eta_ele_hist = ibook.book1D("eta_ele", "Electron #eta; #eta; Entries", 100, -2.7, 2.7);
0901 phi_ele_hist = ibook.book1D("phi_ele", "Electron #phi; #phi (rad); Entries", 100, -3.14, 3.14);
0902 rawEnergy_ele_hist = ibook.book1D("rawEnergy_ele", "Raw Energy Electron; Energy (GeV); Entries", 100, 0.0, 250.0);
0903 preshowerEnergy_ele_hist =
0904 ibook.book1D("preshowerEnergy_ele", "Preshower Energy Electron; Energy (GeV); Entries", 100, 0.0, 10.0);
0905 corrEcalEnergyError_ele_hist = ibook.book1D(
0906 "corrEcalEnergyError_ele", "Corrected ECAL Energy Error Electron; Energy Error (GeV); Entries", 100, 0.0, 20.0);
0907 dEtaIn_ele_hist = ibook.book1D("dEtaIn_ele", "dEtaIn Electron; dEtaIn; Entries", 100, -0.05, 0.05);
0908 dPhiIn_ele_hist = ibook.book1D("dPhiIn_ele", "dPhiIn Electron; dPhiIn; Entries", 100, -0.5, 0.5);
0909 sigmaIetaIeta_ele_hist =
0910 ibook.book1D("sigmaIetaIeta_ele", "Sigma iEta iEta Electron; #sigma_{i#eta i#eta}; Entries", 100, 0.0, 0.05);
0911 hOverE_ele_hist = ibook.book1D("hOverE_ele", "H/E Electron; H/E; Entries", 100, 0.0, 0.3);
0912 ooEMOop_ele_hist = ibook.book1D("ooEMOop_ele", "1/E - 1/p Electron; 1/E - 1/p; Entries", 100, -0.3, 0.3);
0913 missingHits_ele_hist = ibook.book1D("missingHits_ele", "Missing Hits Electron; Count; Entries", 10, 0, 5);
0914 trackfbrem_ele_hist = ibook.book1D("trackfbrem_ele", "Track fbrem Electron; fbrem; Entries", 100, -1.5, 1.0);
0915 ecalIso_ele_hist = ibook.book1D("ecalIso_ele", "ECAL Isolation Electron; Isolation (GeV); Entries", 100, 0.0, 70.0);
0916 hcalIso_ele_hist = ibook.book1D("hcalIso_ele", "HCAL Isolation Electron; Isolation (GeV); Entries", 100, 0.0, 60.0);
0917 trackIso_ele_hist =
0918 ibook.book1D("trackIso_ele", "Track Isolation Electron; Isolation (GeV); Entries", 100, 0.0, 0.05);
0919 r9_ele_hist = ibook.book1D("r9_ele", "R9 Electron; R9; Entries", 100, 0.0, 5);
0920 sMin_ele_hist = ibook.book1D("sMin_ele", "sMin Electron; sMin; Entries", 100, 0.0, 3);
0921 sMaj_ele_hist = ibook.book1D("sMaj_ele", "sMaj Electron; sMaj; Entries", 100, 0.0, 3);
0922
0923 ibook.setCurrentFolder(topfoldername_ + "/Muon");
0924 pt_mu_hist = ibook.book1D("pt_mu", "Muon pT; p_{T} (GeV); Entries", 100, 0.0, 200.0);
0925 eta_mu_hist = ibook.book1D("eta_mu", "Muon #eta; #eta; Entries", 100, -2.7, 2.7);
0926 phi_mu_hist = ibook.book1D("phi_mu", "Muon #phi; #phi (rad); Entries", 100, -3.14, 3.14);
0927 type_mu_hist = ibook.book1D("type_mu", "Muon Type; Type; Entries", 10, 0, 10);
0928 charge_mu_hist = ibook.book1D("charge_mu", "Muon Charge; Charge; Entries", 3, -1, 2);
0929 normalizedChi2_mu_hist = ibook.book1D("normalizedChi2_mu", "Normalized chi2; chi2; Entries", 100, 0.0, 10.0);
0930 ecalIso_mu_hist = ibook.book1D("ecalIso_mu", "ECAL Isolation Muon; Isolation (GeV); Entries", 100, 0.0, 100.0);
0931 hcalIso_mu_hist = ibook.book1D("hcalIso_mu", "HCAL Isolation Muon; Isolation (GeV); Entries", 100, 0.0, 100.0);
0932 trackIso_mu_hist = ibook.book1D("trackIso_mu", "Track Isolation Muon; Isolation (GeV); Entries", 100, 0.0, 10.0);
0933 nValidStandAloneMuonHits_mu_hist =
0934 ibook.book1D("nValidStandAloneMuonHits_mu", "Valid Standalone Muon Hits; Hits; Entries", 50, 0, 50);
0935 nStandAloneMuonMatchedStations_mu_hist = ibook.book1D(
0936 "nStandAloneMuonMatchedStations_mu", "Standalone Muon Matched Stations; Stations; Entries", 10, 0, 10);
0937 nValidRecoMuonHits_mu_hist = ibook.book1D("nValidRecoMuonHits_mu", "Valid Reco Muon Hits; Hits; Entries", 50, 0, 50);
0938 nRecoMuonChambers_mu_hist = ibook.book1D("nRecoMuonChambers_mu", "Reco Muon Chambers; Chambers; Entries", 10, 0, 20);
0939 nRecoMuonChambersCSCorDT_mu_hist =
0940 ibook.book1D("nRecoMuonChambersCSCorDT_mu", "Reco Muon Chambers (CSC or DT); Chambers; Entries", 10, 0, 14);
0941 nRecoMuonMatches_mu_hist = ibook.book1D("nRecoMuonMatches_mu", "Reco Muon Matches; Matches; Entries", 10, 0, 10);
0942 nRecoMuonMatchedStations_mu_hist =
0943 ibook.book1D("nRecoMuonMatchedStations_mu", "Reco Muon Matched Stations; Stations; Entries", 10, 0, 10);
0944 nRecoMuonExpectedMatchedStations_mu_hist = ibook.book1D(
0945 "nRecoMuonExpectedMatchedStations_mu", "Reco Muon Expected Matched Stations; Stations; Entries", 10, 0, 10);
0946 recoMuonStationMask_mu_hist =
0947 ibook.book1D("recoMuonStationMask_mu", "Reco Muon Station Mask; Mask; Entries", 20, 0, 20);
0948 nRecoMuonMatchedRPCLayers_mu_hist =
0949 ibook.book1D("nRecoMuonMatchedRPCLayers_mu", "Reco Muon Matched RPC Layers; Layers; Entries", 10, 0, 2);
0950 recoMuonRPClayerMask_mu_hist =
0951 ibook.book1D("recoMuonRPClayerMask_mu", "Reco Muon RPC Layer Mask; Mask; Entries", 20, 0, 5);
0952 nValidPixelHits_mu_hist = ibook.book1D("nValidPixelHits_mu", "Valid Pixel Hits; Hits; Entries", 20, 0, 20);
0953 nValidStripHits_mu_hist = ibook.book1D("nValidStripHits_mu", "Valid Strip Hits; Hits; Entries", 50, 0, 50);
0954 nPixelLayersWithMeasurement_mu_hist =
0955 ibook.book1D("nPixelLayersWithMeasurement_mu", "Pixel Layers with Measurement; Layers; Entries", 10, 0, 10);
0956 nTrackerLayersWithMeasurement_mu_hist =
0957 ibook.book1D("nTrackerLayersWithMeasurement_mu", "Tracker Layers with Measurement; Layers; Entries", 20, 0, 20);
0958 trk_chi2_mu_hist = ibook.book1D("trk_chi2_mu", "Muon Tracker chi2; #chi^{2}; Entries", 100, 0.0, 100.0);
0959 trk_ndof_mu_hist = ibook.book1D("trk_ndof_mu", "Muon Tracker Ndof; Ndof; Entries", 100, 0, 100);
0960 trk_dxy_mu_hist = ibook.book1D("trk_dxy_mu", "Muon Tracker dxy; dxy (cm); Entries", 100, -0.5, 0.5);
0961 trk_dz_mu_hist = ibook.book1D("trk_dz_mu", "Muon Tracker dz; dz (cm); Entries", 100, -20.0, 20.0);
0962 trk_qoverp_mu_hist = ibook.book1D("trk_qoverp_mu", "Muon q/p; q/p; Entries", 100, -1, 1);
0963 trk_lambda_mu_hist = ibook.book1D("trk_lambda_mu", "Muon Lambda; #lambda; Entries", 100, -2, 2);
0964 trk_pt_mu_hist = ibook.book1D("trk_pt_mu", "Muon Tracker pT; p_{T} (GeV); Entries", 100, 0.0, 200.0);
0965 trk_phi_mu_hist = ibook.book1D("trk_phi_mu", "Muon Tracker #phi; #phi (rad); Entries", 100, -3.14, 3.14);
0966 trk_eta_mu_hist = ibook.book1D("trk_eta_mu", "Muon Tracker #eta; #eta; Entries", 100, -2.7, 2.7);
0967 trk_dxyError_mu_hist = ibook.book1D("trk_dxyError_mu", "Muon dxy Error; dxy Error (cm); Entries", 100, 0.0, 0.05);
0968 trk_dzError_mu_hist = ibook.book1D("trk_dzError_mu", "Muon dz Error; dz Error (cm); Entries", 100, 0.0, 0.05);
0969 trk_qoverpError_mu_hist = ibook.book1D("trk_qoverpError_mu", "Muon q/p Error; q/p Error; Entries", 100, 0.0, 0.01);
0970 trk_lambdaError_mu_hist =
0971 ibook.book1D("trk_lambdaError_mu", "Muon Lambda Error; #lambda Error; Entries", 100, 0.0, 0.1);
0972 trk_phiError_mu_hist = ibook.book1D("trk_phiError_mu", "Muon Phi Error; #phi Error (rad); Entries", 100, 0.0, 0.01);
0973 trk_dsz_mu_hist = ibook.book1D("trk_dsz_mu", "Muon dsz; dsz (cm); Entries", 100, -2, 2);
0974 trk_dszError_mu_hist = ibook.book1D("trk_dszError_mu", "Muon dsz Error; dsz Error (cm); Entries", 100, 0.0, 0.05);
0975 trk_qoverp_lambda_cov_mu_hist =
0976 ibook.book1D("trk_qoverp_lambda_cov_mu", "Muon q/p-#lambda Covariance; Covariance; Entries", 100, -0.001, 0.001);
0977 trk_qoverp_phi_cov_mu_hist =
0978 ibook.book1D("trk_qoverp_phi_cov_mu", "Muon q/p-#phi Covariance; Covariance; Entries", 100, -0.001, 0.001);
0979 trk_qoverp_dxy_cov_mu_hist =
0980 ibook.book1D("trk_qoverp_dxy_cov_mu", "Muon q/p-dxy Covariance; Covariance; Entries", 100, -0.001, 0.001);
0981 trk_qoverp_dsz_cov_mu_hist =
0982 ibook.book1D("trk_qoverp_dsz_cov_mu", "Muon q/p-dsz Covariance; Covariance; Entries", 100, -0.001, 0.001);
0983 trk_lambda_phi_cov_mu_hist =
0984 ibook.book1D("trk_lambda_phi_cov_mu", "Muon Lambda-#phi Covariance; Covariance; Entries", 100, -0.001, 0.001);
0985 trk_lambda_dxy_cov_mu_hist =
0986 ibook.book1D("trk_lambda_dxy_cov_mu", "Muon Lambda-dxy Covariance; Covariance; Entries", 100, -0.001, 0.001);
0987 trk_lambda_dsz_cov_mu_hist =
0988 ibook.book1D("trk_lambda_dsz_cov_mu", "Muon Lambda-dsz Covariance; Covariance; Entries", 100, -0.001, 0.001);
0989 trk_phi_dxy_cov_mu_hist =
0990 ibook.book1D("trk_phi_dxy_cov_mu", "Muon Phi-dxy Covariance; Covariance; Entries", 100, -0.001, 0.001);
0991 trk_phi_dsz_cov_mu_hist =
0992 ibook.book1D("trk_phi_dsz_cov_mu", "Muon Phi-dsz Covariance; Covariance; Entries", 100, -0.001, 0.001);
0993 trk_dxy_dsz_cov_mu_hist =
0994 ibook.book1D("trk_dxy_dsz_cov_mu", "Muon dxy-dsz Covariance; Covariance; Entries", 100, -0.001, 0.001);
0995 trk_vx_mu_hist = ibook.book1D("trk_vx_mu", "Muon Tracker Vertex X; x (cm); Entries", 100, -0.5, 0.5);
0996 trk_vy_mu_hist = ibook.book1D("trk_vy_mu", "Muon Tracker Vertex Y; y (cm); Entries", 100, -0.5, 0.5);
0997 trk_vz_mu_hist = ibook.book1D("trk_vz_mu", "Muon Tracker Vertex Z; z (cm); Entries", 100, -20.0, 20.0);
0998
0999 ibook.setCurrentFolder(topfoldername_ + "/PFJet");
1000 pt_pfj_hist = ibook.book1D("pt_pfj", "PF Jet pT; p_{T} (GeV); Entries", 100, 0.0, 150.0);
1001 eta_pfj_hist = ibook.book1D("eta_pfj", "PF Jet #eta; #eta; Entries", 100, -5.0, 5.0);
1002 phi_pfj_hist = ibook.book1D("phi_pfj", "PF Jet #phi; #phi (rad); Entries", 100, -3.14, 3.14);
1003 m_pfj_hist = ibook.book1D("m_pfj", "PF Jet Mass; Mass (GeV); Entries", 100, 0.0, 40.0);
1004 jetArea_pfj_hist = ibook.book1D("jetArea_pfj", "PF Jet Area; Area; Entries", 100, 0.0, 0.8);
1005 chargedHadronEnergy_pfj_hist =
1006 ibook.book1D("chargedHadronEnergy_pfj", "Charged Hadron Energy; Energy (GeV); Entries", 100, 0.0, 150.0);
1007 neutralHadronEnergy_pfj_hist =
1008 ibook.book1D("neutralHadronEnergy_pfj", "Neutral Hadron Energy; Energy (GeV); Entries", 100, 0.0, 600.0);
1009 photonEnergy_pfj_hist = ibook.book1D("photonEnergy_pfj", "Photon Energy; Energy (GeV); Entries", 100, 0.0, 90.0);
1010 electronEnergy_pfj_hist = ibook.book1D("electronEnergy_pfj", "Electron Energy; Energy (GeV); Entries", 100, 0.0, 3.0);
1011 muonEnergy_pfj_hist = ibook.book1D("muonEnergy_pfj", "Muon Energy; Energy (GeV); Entries", 100, 0.0, 3.0);
1012 HFHadronEnergy_pfj_hist =
1013 ibook.book1D("HFHadronEnergy_pfj", "HF Hadron Energy; Energy (GeV); Entries", 100, 0.0, 300.0);
1014 HFEMEnergy_pfj_hist = ibook.book1D("HFEMEnergy_pfj", "HF EM Energy; Energy (GeV); Entries", 100, 0.0, 300.0);
1015 chargedHadronMultiplicity_pfj_hist =
1016 ibook.book1D("chargedHadronMultiplicity_pfj", "Charged Hadron Multiplicity; Multiplicity; Entries", 50, 0, 25);
1017 neutralHadronMultiplicity_pfj_hist =
1018 ibook.book1D("neutralHadronMultiplicity_pfj", "Neutral Hadron Multiplicity; Multiplicity; Entries", 50, 0, 10);
1019 photonMultiplicity_pfj_hist =
1020 ibook.book1D("photonMultiplicity_pfj", "Photon Multiplicity; Multiplicity; Entries", 50, 0, 22);
1021 electronMultiplicity_pfj_hist =
1022 ibook.book1D("electronMultiplicity_pfj", "Electron Multiplicity; Multiplicity; Entries", 20, 0, 5);
1023 muonMultiplicity_pfj_hist =
1024 ibook.book1D("muonMultiplicity_pfj", "Muon Multiplicity; Multiplicity; Entries", 20, 0, 5);
1025 HFHadronMultiplicity_pfj_hist =
1026 ibook.book1D("HFHadronMultiplicity_pfj", "HF Hadron Multiplicity; Multiplicity; Entries", 20, 0, 20);
1027 HFEMMultiplicity_pfj_hist =
1028 ibook.book1D("HFEMMultiplicity_pfj", "HF EM Multiplicity; Multiplicity; Entries", 20, 0, 20);
1029 HOEnergy_pfj_hist = ibook.book1D("HOEnergy_pfj", "HO Energy; Energy (GeV); Entries", 100, 0.0, 5.0);
1030 mvaDiscriminator_pfj_hist = ibook.book1D("mvaDiscriminator_pfj", "MVA Discriminator; Score; Entries", 100, -1.0, 1.0);
1031
1032 ibook.setCurrentFolder(topfoldername_ + "/PrimaryVertex");
1033 x_pv_hist = ibook.book1D("x_pv", "Primary Vertex X Position; x (cm); Entries", 100, -0.5, 0.5);
1034 y_pv_hist = ibook.book1D("y_pv", "Primary Vertex Y Position; y (cm); Entries", 100, -0.5, 0.5);
1035 z_pv_hist = ibook.book1D("z_pv", "Primary Vertex Z Position; z (cm); Entries", 100, -20.0, 20.0);
1036 zError_pv_hist = ibook.book1D("zError_pv", "Primary Vertex Z Error; z Error (cm); Entries", 100, 0.0, 0.05);
1037 xError_pv_hist = ibook.book1D("xError_pv", "Primary Vertex X Error; x Error (cm); Entries", 100, 0.0, 0.05);
1038 yError_pv_hist = ibook.book1D("yError_pv", "Primary Vertex Y Error; y Error (cm); Entries", 100, 0.0, 0.05);
1039 tracksSize_pv_hist =
1040 ibook.book1D("tracksSize_pv", "Number of Tracks at Primary Vertex; Tracks; Entries", 100, 0, 100);
1041 chi2_pv_hist = ibook.book1D("chi2_pv", "Primary Vertex chi2; #chi^{2}; Entries", 100, 0.0, 50.0);
1042 ndof_pv_hist = ibook.book1D("ndof_pv", "Primary Vertex Ndof; Ndof; Entries", 100, 0, 100);
1043 isValidVtx_pv_hist = ibook.book1D("isValidVtx_pv", "Is Valid Primary Vertex?; 0 = False, 1 = True; Entries", 2, 0, 2);
1044 xyCov_pv_hist = ibook.book1D("xyCov_pv", "Primary Vertex XY Covariance; Cov(x,y); Entries", 100, -0.01, 0.01);
1045 xzCov_pv_hist = ibook.book1D("xzCov_pv", "Primary Vertex XZ Covariance; Cov(x,z); Entries", 100, -0.01, 0.01);
1046 yzCov_pv_hist = ibook.book1D("yzCov_pv", "Primary Vertex YZ Covariance; Cov(y,z); Entries", 100, -0.01, 0.01);
1047
1048 ibook.setCurrentFolder(topfoldername_ + "/DisplacedVertex");
1049 x_vtx_hist = ibook.book1D("x_vtx", "Vertex X Position; x (cm); Entries", 100, -0.5, 0.5);
1050 y_vtx_hist = ibook.book1D("y_vtx", "Vertex Y Position; y (cm); Entries", 100, -0.5, 0.5);
1051 z_vtx_hist = ibook.book1D("z_vtx", "Vertex Z Position; z (cm); Entries", 100, -20.0, 20.0);
1052 zError_vtx_hist = ibook.book1D("zError_vtx", "Vertex Z Error; z Error (cm); Entries", 100, 0.0, 0.2);
1053 xError_vtx_hist = ibook.book1D("xError_vtx", "Vertex X Error; x Error (cm); Entries", 100, 0.0, 0.2);
1054 yError_vtx_hist = ibook.book1D("yError_vtx", "Vertex Y Error; y Error (cm); Entries", 100, 0.0, 0.2);
1055 tracksSize_vtx_hist = ibook.book1D("tracksSize_vtx", "Number of Tracks at Vertex; Tracks; Entries", 100, 0, 100);
1056 chi2_vtx_hist = ibook.book1D("chi2_vtx", "Vertex #chi^{2}; #chi^{2}; Entries", 100, 0.0, 5.0);
1057 ndof_vtx_hist = ibook.book1D("ndof_vtx", "Vertex Ndof; Ndof; Entries", 100, 0, 5);
1058 isValidVtx_vtx_hist = ibook.book1D("isValidVtx_vtx", "Is Valid Vertex?; 0 = False, 1 = True; Entries", 2, 0, 2);
1059 xyCov_vtx_hist = ibook.book1D("xyCov_vtx", "Vertex XY Covariance; Cov(x,y); Entries", 100, -0.01, 0.01);
1060 xzCov_vtx_hist = ibook.book1D("xzCov_vtx", "Vertex XZ Covariance; Cov(x,z); Entries", 100, -0.01, 0.01);
1061 yzCov_vtx_hist = ibook.book1D("yzCov_vtx", "Vertex YZ Covariance; Cov(y,z); Entries", 100, -0.01, 0.01);
1062
1063 ibook.setCurrentFolder(topfoldername_ + "/Tracking");
1064 tk_pt_tk_hist = ibook.book1D("tk_pt_tk", "Track pT; p_{T} (GeV); Entries", 100, 0.0, 30.0);
1065 tk_eta_tk_hist = ibook.book1D("tk_eta_tk", "Track #eta; #eta; Entries", 100, -2.7, 2.7);
1066 tk_phi_tk_hist = ibook.book1D("tk_phi_tk", "Track #phi; #phi (rad); Entries", 100, -3.14, 3.14);
1067 tk_chi2_tk_hist = ibook.book1D("tk_chi2_tk", "Track #chi^{2}; #chi^{2}; Entries", 100, 0.0, 50.0);
1068 tk_ndof_tk_hist = ibook.book1D("tk_ndof_tk", "Track Ndof; Ndof; Entries", 100, 0, 10);
1069 tk_charge_tk_hist = ibook.book1D("tk_charge_tk", "Track Charge; Charge; Entries", 3, -1, 2);
1070 tk_dxy_tk_hist = ibook.book1D("tk_dxy_tk", "Track dxy; dxy (cm); Entries", 100, -0.5, 0.5);
1071 tk_dz_tk_hist = ibook.book1D("tk_dz_tk", "Track dz; dz (cm); Entries", 100, -20.0, 20.0);
1072 tk_nValidPixelHits_tk_hist = ibook.book1D("tk_nValidPixelHits_tk", "Valid Pixel Hits; Hits; Entries", 20, 0, 20);
1073 tk_nTrackerLayersWithMeasurement_tk_hist = ibook.book1D(
1074 "tk_nTrackerLayersWithMeasurement_tk", "Tracker Layers with Measurement; Layers; Entries", 20, 0, 20);
1075 tk_nValidStripHits_tk_hist = ibook.book1D("tk_nValidStripHits_tk", "Valid Strip Hits; Hits; Entries", 50, 0, 50);
1076 tk_qoverp_tk_hist = ibook.book1D("tk_qoverp_tk", "q/p; q/p; Entries", 100, -1.0, 1.0);
1077 tk_lambda_tk_hist = ibook.book1D("tk_lambda_tk", "Lambda; #lambda; Entries", 100, -2, 2);
1078 tk_dxy_Error_tk_hist = ibook.book1D("tk_dxy_Error_tk", "dxy Error; dxy Error (cm); Entries", 100, 0.0, 0.05);
1079 tk_dz_Error_tk_hist = ibook.book1D("tk_dz_Error_tk", "dz Error; dz Error (cm); Entries", 100, 0.0, 0.05);
1080 tk_qoverp_Error_tk_hist = ibook.book1D("tk_qoverp_Error_tk", "q/p Error; q/p Error; Entries", 100, 0.0, 0.05);
1081 tk_lambda_Error_tk_hist = ibook.book1D("tk_lambda_Error_tk", "Lambda Error; #lambda Error; Entries", 100, 0.0, 0.1);
1082 tk_phi_Error_tk_hist = ibook.book1D("tk_phi_Error_tk", "Phi Error; #phi Error (rad); Entries", 100, 0.0, 0.01);
1083 tk_dsz_tk_hist = ibook.book1D("tk_dsz_tk", "dsz; dsz (cm); Entries", 100, -2, 2);
1084 tk_dsz_Error_tk_hist = ibook.book1D("tk_dsz_Error_tk", "dsz Error; dsz Error (cm); Entries", 100, 0.0, 0.05);
1085 tk_vtxInd_tk_hist = ibook.book1D("tk_vtxInd_tk", "Vertex Index; Index; Entries", 50, 0, 50);
1086 tk_vx_tk_hist = ibook.book1D("tk_vx_tk", "Tracker Vertex X; x (cm); Entries", 100, -0.5, 0.5);
1087 tk_vy_tk_hist = ibook.book1D("tk_vy_tk", "Tracker Vertex Y; y (cm); Entries", 100, -0.5, 0.5);
1088 tk_vz_tk_hist = ibook.book1D("tk_vz_tk", "Tracker Vertex Z; z (cm); Entries", 100, -20.0, 20.0);
1089 tk_chi2_ndof_tk_hist = ibook.book1D("tk_chi2_ndof_tk", "Reduced #chi^{2}; #chi^{2}/NDOF; Entries", 100, 0, 50);
1090 trk_chi2_prob_hist = ibook.book1D("tk_chi2_prob_hist", "p(#chi^{2}, NDOF); p(#chi^{2}, NDOF); Entries", 100, 0, 1);
1091 tk_PV_dz_hist = ibook.book1D("tk_PV_dz", "Track dz w.r.t. PV; Track dz w.r.t. PV; Entries", 100, -0.35, 0.35);
1092 tk_PV_dxy_hist = ibook.book1D("tk_PV_dxy", "Track dxy w.r.t. PV; Track dxy w.r.t. PV; Entries", 100, -0.15, 0.15);
1093 }
1094
1095
1096 void ScoutingCollectionMonitor::fillDescriptions(edm::ConfigurationDescriptions& descriptions) {
1097 edm::ParameterSetDescription desc;
1098 desc.add<bool>("onlyScouting", false);
1099 desc.add<edm::InputTag>("electrons", edm::InputTag("hltScoutingEgammaPacker"));
1100 desc.add<edm::InputTag>("muons", edm::InputTag("hltScoutingMuonPackerNoVtx"));
1101 desc.add<edm::InputTag>("pfcands", edm::InputTag("hltScoutingPFPacker"));
1102 desc.add<edm::InputTag>("photons", edm::InputTag("hltScoutingEgammaPacker"));
1103 desc.add<edm::InputTag>("pfjets", edm::InputTag("hltScoutingPFPacker"));
1104 desc.add<edm::InputTag>("tracks", edm::InputTag("hltScoutingTrackPacker"));
1105 desc.add<edm::InputTag>("displacedVertices", edm::InputTag("hltScoutingMuonPackerNoVtx", "displacedVtx"));
1106 desc.add<edm::InputTag>("primaryVertices", edm::InputTag("hltScoutingPrimaryVertexPacker", "primaryVtx"));
1107 desc.add<edm::InputTag>("pfMetPt", edm::InputTag("hltScoutingPFPacker", "pfMetPt"));
1108 desc.add<edm::InputTag>("pfMetPhi", edm::InputTag("hltScoutingPFPacker", "pfMetPhi"));
1109 desc.add<edm::InputTag>("rho", edm::InputTag("hltScoutingPFPacker", "rho"));
1110 desc.add<edm::InputTag>("onlineMetaDataDigis", edm::InputTag("onlineMetaDataDigis"));
1111 desc.add<std::string>("topfoldername", "HLT/ScoutingOffline/Miscellaneous");
1112 descriptions.addWithDefaultLabel(desc);
1113 }
1114
1115
1116 DEFINE_FWK_MODULE(ScoutingCollectionMonitor);