File indexing completed on 2024-04-06 12:33:03
0001 #ifndef PhotonValidator_H
0002 #define PhotonValidator_H
0003 #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h"
0004 #include "Geometry/CaloGeometry/interface/CaloGeometry.h"
0005 #include "Geometry/CaloTopology/interface/CaloTopology.h"
0006 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0007 #include "FWCore/Framework/interface/Event.h"
0008 #include "FWCore/Framework/interface/EventSetup.h"
0009 #include "FWCore/Framework/interface/ESHandle.h"
0010 #include "RecoEgamma/EgammaMCTools/interface/PhotonMCTruthFinder.h"
0011 #include "MagneticField/Engine/interface/MagneticField.h"
0012 #include "DataFormats/EgammaCandidates/interface/Photon.h"
0013 #include "DataFormats/EgammaCandidates/interface/PhotonFwd.h"
0014 #include "DataFormats/ParticleFlowCandidate/interface/PFCandidateFwd.h"
0015 #include "DataFormats/VertexReco/interface/VertexFwd.h"
0016 #include "DataFormats/JetReco/interface/GenJetCollection.h"
0017 #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h"
0018 #include "DataFormats/Common/interface/ValueMap.h"
0019 #include "SimDataFormats/Track/interface/SimTrack.h"
0020 #include "SimDataFormats/Track/interface/SimTrackContainer.h"
0021 #include "SimDataFormats/Track/interface/SimTrackContainer.h"
0022 #include "SimDataFormats/TrackingAnalysis/interface/TrackingParticleFwd.h"
0023 #include "SimDataFormats/Vertex/interface/SimVertex.h"
0024 #include "SimDataFormats/Vertex/interface/SimVertexContainer.h"
0025 #include "DataFormats/HepMCCandidate/interface/GenParticle.h"
0026 #include "Geometry/Records/interface/CaloGeometryRecord.h"
0027 #include "TrackingTools/TransientTrack/interface/TransientTrackBuilder.h"
0028 #include "TrackingTools/Records/interface/TransientTrackRecord.h"
0029
0030
0031 #include "DQMServices/Core/interface/DQMStore.h"
0032 #include "FWCore/ServiceRegistry/interface/Service.h"
0033 #include "DQMServices/Core/interface/DQMOneEDAnalyzer.h"
0034
0035
0036 #include <map>
0037 #include <vector>
0038 #include <memory>
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048 namespace edm {
0049 class HepMCProduct;
0050 }
0051 class TFile;
0052 class TH1F;
0053 class TH2F;
0054 class TProfile;
0055 class TTree;
0056 class SimVertex;
0057 class SimTrack;
0058
0059 class PhotonValidator : public DQMOneEDAnalyzer<> {
0060 public:
0061
0062 explicit PhotonValidator(const edm::ParameterSet&);
0063 ~PhotonValidator() override;
0064
0065 void analyze(const edm::Event&, const edm::EventSetup&) override;
0066
0067 void dqmBeginRun(edm::Run const& r, edm::EventSetup const& theEventSetup) override;
0068 void dqmEndRun(edm::Run const& r, edm::EventSetup const& es) override;
0069 void bookHistograms(DQMStore::IBooker&, edm::Run const&, edm::EventSetup const&) override;
0070
0071 private:
0072
0073
0074 float phiNormalization(float& a);
0075 float etaTransformation(float a, float b);
0076
0077 std::string fName_;
0078 edm::ESHandle<MagneticField> theMF_;
0079
0080 int verbosity_;
0081 int nEvt_;
0082 int nEntry_;
0083 int nSimPho_[2];
0084 int nSimConv_[2];
0085 int nMatched_;
0086 int nRecConv_;
0087 int nRecConvAss_;
0088 int nRecConvAssWithEcal_;
0089
0090 int nInvalidPCA_;
0091
0092 edm::ParameterSet parameters_;
0093 edm::ESHandle<CaloGeometry> theCaloGeom_;
0094 edm::ESHandle<CaloTopology> theCaloTopo_;
0095
0096 std::string photonCollectionProducer_;
0097 std::string photonCollection_;
0098 edm::EDGetTokenT<reco::PhotonCollection> photonCollectionToken_;
0099 edm::EDGetTokenT<reco::PFCandidateCollection> pfCandidates_;
0100 std::string valueMapPhoPFCandIso_;
0101 edm::EDGetTokenT<edm::ValueMap<std::vector<reco::PFCandidateRef> > > particleBasedIso_token;
0102 edm::EDGetTokenT<reco::VertexCollection> offline_pvToken_;
0103 edm::InputTag bcBarrelCollection_;
0104 edm::InputTag bcEndcapCollection_;
0105 edm::EDGetTokenT<reco::GenParticleCollection> genpartToken_;
0106
0107 edm::EDGetTokenT<EcalRecHitCollection> barrelEcalHits_;
0108 edm::EDGetTokenT<EcalRecHitCollection> endcapEcalHits_;
0109 edm::EDGetTokenT<TrackingParticleCollection> token_tp_;
0110
0111 edm::InputTag conversionOITrackProducer_;
0112 edm::InputTag conversionIOTrackProducer_;
0113
0114 edm::EDGetTokenT<edm::View<reco::Track> > conversionOITrackPr_Token_;
0115 edm::EDGetTokenT<edm::View<reco::Track> > conversionIOTrackPr_Token_;
0116
0117 edm::EDGetTokenT<edm::SimTrackContainer> g4_simTk_Token_;
0118 edm::EDGetTokenT<edm::SimVertexContainer> g4_simVtx_Token_;
0119 edm::EDGetTokenT<edm::SimTrackContainer> famos_simTk_Token_;
0120 edm::EDGetTokenT<edm::SimVertexContainer> famos_simVtx_Token_;
0121 edm::EDGetTokenT<edm::HepMCProduct> hepMC_Token_;
0122 edm::EDGetTokenT<reco::GenJetCollection> genjets_Token_;
0123
0124 const edm::ESGetToken<MagneticField, IdealMagneticFieldRecord> magneticFieldToken_;
0125 const edm::ESGetToken<CaloGeometry, CaloGeometryRecord> caloGeometryToken_;
0126 const edm::ESGetToken<TransientTrackBuilder, TransientTrackRecord> transientTrackBuilderToken_;
0127
0128 std::unique_ptr<PhotonMCTruthFinder> thePhotonMCTruthFinder_;
0129
0130 bool fastSim_;
0131 bool isRunCentrally_;
0132
0133 double minPhoEtCut_;
0134 double convTrackMinPtCut_;
0135 double likelihoodCut_;
0136 double trkIsolExtRadius_;
0137 double trkIsolInnRadius_;
0138 double trkPtLow_;
0139 double lip_;
0140 double ecalIsolRadius_;
0141 double bcEtLow_;
0142 double hcalIsolExtRadius_;
0143 double hcalIsolInnRadius_;
0144 double hcalHitEtLow_;
0145 int numOfTracksInCone_;
0146 double trkPtSumCut_;
0147 double ecalEtSumCut_;
0148 double hcalEtSumCut_;
0149 bool dCotCutOn_;
0150 double dCotCutValue_;
0151 double dCotHardCutValue_;
0152
0153
0154 double mcPhi_;
0155 double mcEta_;
0156 double mcConvR_;
0157 double mcConvZ_;
0158 double mcConvY_;
0159 double mcConvX_;
0160 double mcConvPhi_;
0161 double mcConvEta_;
0162 double mcJetEta_;
0163 double mcJetPhi_;
0164
0165 edm::RefVector<TrackingParticleCollection> theConvTP_;
0166
0167
0168 double simMinPt_;
0169 double simMaxPt_;
0170
0171
0172 double recMinPt_;
0173 double recMaxPt_;
0174 MonitorElement* h_nRecoVtx_;
0175
0176 MonitorElement* h_nSimPho_[2];
0177 MonitorElement* h_SimPhoMotherType_[2];
0178 MonitorElement* h_SimPhoMotherEt_[2];
0179 MonitorElement* h_SimPhoMotherEta_[2];
0180 MonitorElement* h_SimPhoEtaSmallR9_;
0181
0182 MonitorElement* h_nSimConv_[2];
0183 MonitorElement* h_SimConvEtaPix_[2];
0184
0185 MonitorElement* h_simTkPt_;
0186 MonitorElement* h_simTkEta_;
0187
0188 MonitorElement* h_simConvVtxRvsZ_[4];
0189 MonitorElement* h_simConvVtxYvsX_;
0190
0191
0192 MonitorElement* h_SimPho_[3];
0193 MonitorElement* h_AllSimConv_[5];
0194 MonitorElement* h_VisSimConv_[6];
0195 MonitorElement* h_VisSimConvLarge_;
0196
0197 MonitorElement* h_MatchedSimPho_[3];
0198 MonitorElement* h_MatchedSimPhoBadCh_[3];
0199 MonitorElement* h_SimConvOneTracks_[5];
0200 MonitorElement* h_SimConvOneMTracks_[5];
0201 MonitorElement* h_SimConvTwoTracks_[5];
0202 MonitorElement* h_SimConvTwoMTracks_[5];
0203 MonitorElement* h_SimConvMTotal_[5];
0204 MonitorElement* h_SimConvTwoMTracksAndVtxPGT0_[5];
0205 MonitorElement* h_SimConvTwoMTracksAndVtxPGT0005_[5];
0206 MonitorElement* h_SimConvTwoMTracksAndVtxPGT01_[5];
0207
0208 MonitorElement* h_RecoConvTwoTracks_[5];
0209
0210 MonitorElement* h_RecoConvTwoMTracks_[5];
0211
0212
0213 TH1F* th1f_SimConvMTotal_[5];
0214
0215
0216 MonitorElement* h_OIinnermostHitR_;
0217 MonitorElement* h_IOinnermostHitR_;
0218 MonitorElement* h_trkProv_[2];
0219 MonitorElement* h_trkAlgo_;
0220 MonitorElement* h_convAlgo_;
0221 MonitorElement* h_convQuality_;
0222
0223 MonitorElement* h_phoDEta_[2];
0224 MonitorElement* h_phoDPhi_[2];
0225
0226 MonitorElement* h_scEta_[2];
0227 MonitorElement* h_scEtaWidth_[2];
0228 MonitorElement* h_scPhi_[2];
0229 MonitorElement* h_scPhiWidth_[2];
0230 MonitorElement* h_scEtaPhi_[2];
0231
0232 MonitorElement* h_scE_[2][3];
0233 MonitorElement* h_scEt_[2][3];
0234
0235 MonitorElement* h_psE_;
0236
0237 MonitorElement* h_EtR9Less093_[3][3];
0238 MonitorElement* h_r9_[3][3];
0239 MonitorElement* p_r9VsEta_[3];
0240 MonitorElement* h2_r9VsEt_[3];
0241 MonitorElement* p_r9VsEt_[3];
0242
0243 MonitorElement* h_r1_[3][3];
0244 MonitorElement* h2_r1VsEta_[3];
0245 MonitorElement* p_r1VsEta_[3];
0246 MonitorElement* h2_r1VsEt_[3];
0247 MonitorElement* p_r1VsEt_[3];
0248
0249 MonitorElement* h_r2_[3][3];
0250 MonitorElement* h2_r2VsEta_[3];
0251 MonitorElement* p_r2VsEta_[3];
0252 MonitorElement* h2_r2VsEt_[3];
0253 MonitorElement* p_r2VsEt_[3];
0254
0255 MonitorElement* h_sigmaIetaIeta_[3][3];
0256 MonitorElement* h2_sigmaIetaIetaVsEta_[3];
0257 MonitorElement* p_sigmaIetaIetaVsEta_[3];
0258 MonitorElement* h2_sigmaIetaIetaVsEt_[3];
0259 MonitorElement* p_sigmaIetaIetaVsEt_[3];
0260
0261 MonitorElement* h_hOverE_[3][3];
0262 MonitorElement* h2_hOverEVsEta_[3];
0263 MonitorElement* p_hOverEVsEta_[3];
0264 MonitorElement* h2_hOverEVsEt_[3];
0265 MonitorElement* p_hOverEVsEt_[3];
0266
0267 MonitorElement* h_newhOverE_[3][3];
0268 MonitorElement* p_newhOverEVsEta_[3];
0269 MonitorElement* p_newhOverEVsEt_[3];
0270
0271
0272 MonitorElement* h_ecalRecHitSumEtConeDR04_[3][3];
0273 MonitorElement* h2_ecalRecHitSumEtConeDR04VsEta_[3];
0274 MonitorElement* p_ecalRecHitSumEtConeDR04VsEta_[3];
0275 MonitorElement* h2_ecalRecHitSumEtConeDR04VsEt_[3];
0276 MonitorElement* p_ecalRecHitSumEtConeDR04VsEt_[3];
0277
0278 MonitorElement* h_hcalTowerSumEtConeDR04_[3][3];
0279 MonitorElement* h2_hcalTowerSumEtConeDR04VsEta_[3];
0280 MonitorElement* p_hcalTowerSumEtConeDR04VsEta_[3];
0281 MonitorElement* h2_hcalTowerSumEtConeDR04VsEt_[3];
0282 MonitorElement* p_hcalTowerSumEtConeDR04VsEt_[3];
0283
0284 MonitorElement* h_hcalTowerBcSumEtConeDR04_[3][3];
0285 MonitorElement* p_hcalTowerBcSumEtConeDR04VsEta_[3];
0286 MonitorElement* p_hcalTowerBcSumEtConeDR04VsEt_[3];
0287
0288 MonitorElement* h_isoTrkSolidConeDR04_[3][3];
0289 MonitorElement* h2_isoTrkSolidConeDR04VsEta_[3];
0290 MonitorElement* p_isoTrkSolidConeDR04VsEta_[3];
0291 MonitorElement* h2_isoTrkSolidConeDR04VsEt_[3];
0292 MonitorElement* p_isoTrkSolidConeDR04VsEt_[3];
0293
0294 MonitorElement* h_nTrkSolidConeDR04_[3][3];
0295 MonitorElement* h2_nTrkSolidConeDR04VsEta_[3];
0296 MonitorElement* p_nTrkSolidConeDR04VsEta_[3];
0297 MonitorElement* h2_nTrkSolidConeDR04VsEt_[3];
0298 MonitorElement* p_nTrkSolidConeDR04VsEt_[3];
0299
0300
0301 MonitorElement* h_gamgamMass_[3][3];
0302 MonitorElement* h_gamgamMassRegr1_[3][3];
0303 MonitorElement* h_gamgamMassRegr2_[3][3];
0304
0305 MonitorElement* h_phoE_[2][3];
0306 MonitorElement* h_phoEt_[2][3];
0307 MonitorElement* h_phoERes_[3][3];
0308 MonitorElement* h_phoSigmaEoE_[3][3];
0309
0310 MonitorElement* h2_eResVsEta_[3];
0311 MonitorElement* p_eResVsEta_[3];
0312 MonitorElement* p_sigmaEoEVsEta_[3];
0313 MonitorElement* h2_eResVsEt_[3][3];
0314 MonitorElement* p_eResVsEt_[3][3];
0315 MonitorElement* p_eResVsNVtx_[3][3];
0316
0317 MonitorElement* p_sigmaEoEVsEt_[3][3];
0318 MonitorElement* p_sigmaEoEVsNVtx_[3][3];
0319
0320 MonitorElement* h2_eResVsR9_[3];
0321 MonitorElement* p_eResVsR9_[3];
0322 MonitorElement* h2_sceResVsR9_[3];
0323 MonitorElement* p_sceResVsR9_[3];
0324
0325 MonitorElement* h_phoEta_[2];
0326 MonitorElement* h_phoPhi_[2];
0327
0328
0329 MonitorElement* h_phoEResRegr1_[3][3];
0330 MonitorElement* h_phoEResRegr2_[3][3];
0331
0332
0333 MonitorElement* h_phoPixSeedSize_[2];
0334
0335
0336
0337 MonitorElement* h_chHadIso_[3];
0338 MonitorElement* h_nHadIso_[3];
0339 MonitorElement* h_phoIso_[3];
0340
0341 MonitorElement* h_nCluOutsideMustache_[3];
0342 MonitorElement* h_etOutsideMustache_[3];
0343 MonitorElement* h_pfMva_[3];
0344
0345 MonitorElement* h_dRPhoPFcand_ChHad_Cleaned_[3];
0346 MonitorElement* h_dRPhoPFcand_NeuHad_Cleaned_[5];
0347 MonitorElement* h_dRPhoPFcand_Pho_Cleaned_[3];
0348 MonitorElement* h_dRPhoPFcand_ChHad_unCleaned_[3];
0349 MonitorElement* h_dRPhoPFcand_NeuHad_unCleaned_[5];
0350 MonitorElement* h_dRPhoPFcand_Pho_unCleaned_[3];
0351 MonitorElement* h_SumPtOverPhoPt_ChHad_Cleaned_[3];
0352 MonitorElement* h_SumPtOverPhoPt_NeuHad_Cleaned_[3];
0353 MonitorElement* h_SumPtOverPhoPt_Pho_Cleaned_[3];
0354 MonitorElement* h_SumPtOverPhoPt_ChHad_unCleaned_[3];
0355 MonitorElement* h_SumPtOverPhoPt_NeuHad_unCleaned_[3];
0356 MonitorElement* h_SumPtOverPhoPt_Pho_unCleaned_[3];
0357
0358
0359 MonitorElement* h_scEta_miniAOD_[2];
0360 MonitorElement* h_scPhi_miniAOD_[2];
0361
0362 MonitorElement* h_r9_miniAOD_[3][3];
0363 MonitorElement* h_full5x5_r9_miniAOD_[3][3];
0364 MonitorElement* h_sigmaIetaIeta_miniAOD_[3][3];
0365 MonitorElement* h_full5x5_sigmaIetaIeta_miniAOD_[3][3];
0366 MonitorElement* h_r1_miniAOD_[3][3];
0367 MonitorElement* h_r2_miniAOD_[3][3];
0368 MonitorElement* h_hOverE_miniAOD_[3][3];
0369 MonitorElement* h_newhOverE_miniAOD_[3][3];
0370 MonitorElement* h_ecalRecHitSumEtConeDR04_miniAOD_[3][3];
0371 MonitorElement* h_hcalTowerSumEtConeDR04_miniAOD_[3][3];
0372 MonitorElement* h_hcalTowerBcSumEtConeDR04_miniAOD_[3][3];
0373 MonitorElement* h_isoTrkSolidConeDR04_miniAOD_[3][3];
0374 MonitorElement* h_nTrkSolidConeDR04_miniAOD_[3][3];
0375
0376 MonitorElement* h_phoE_miniAOD_[2][3];
0377 MonitorElement* h_phoEt_miniAOD_[2][3];
0378 MonitorElement* h_phoERes_miniAOD_[3][3];
0379 MonitorElement* h_phoSigmaEoE_miniAOD_[3][3];
0380
0381
0382
0383 MonitorElement* h_chHadIso_miniAOD_[3];
0384 MonitorElement* h_nHadIso_miniAOD_[3];
0385 MonitorElement* h_phoIso_miniAOD_[3];
0386
0387
0388 MonitorElement* h_nConv_[2][3];
0389 MonitorElement* h_convEta_[3];
0390 MonitorElement* h_convPhi_[2];
0391 MonitorElement* h_convERes_[2][3];
0392 MonitorElement* p_eResVsR_;
0393
0394 MonitorElement* h_convPtRes_[2][3];
0395
0396 MonitorElement* h_invMass_[2][3];
0397 MonitorElement* h_r9VsNofTracks_[2][3];
0398 MonitorElement* h_EoverPTracks_[2][3];
0399 MonitorElement* h_PoverETracks_[2][3];
0400
0401 MonitorElement* h_EoverP_SL_[3];
0402
0403 MonitorElement* h_mvaOut_[3];
0404 MonitorElement* h2_etaVsRsim_[3];
0405 MonitorElement* h2_etaVsRreco_[3];
0406
0407 MonitorElement* h2_EoverEtrueVsEoverP_[3];
0408 MonitorElement* h2_PoverPtrueVsEoverP_[3];
0409
0410 MonitorElement* h2_EoverPVsEta_[3];
0411 MonitorElement* p_EoverPVsEta_[3];
0412 MonitorElement* h2_EoverPVsR_[3];
0413 MonitorElement* p_EoverPVsR_[3];
0414
0415 MonitorElement* h2_EoverEtrueVsEta_[3];
0416 MonitorElement* p_EoverEtrueVsEta_[3];
0417 MonitorElement* h2_EoverEtrueVsR_[3];
0418 MonitorElement* p_EoverEtrueVsR_[3];
0419
0420 MonitorElement* h2_PoverPtrueVsEta_[3];
0421 MonitorElement* p_PoverPtrueVsEta_[3];
0422
0423 MonitorElement* h_DPhiTracksAtVtx_[2][3];
0424 MonitorElement* h2_DPhiTracksAtVtxVsEta_;
0425 MonitorElement* p_DPhiTracksAtVtxVsEta_;
0426 MonitorElement* h2_DPhiTracksAtVtxVsR_;
0427 MonitorElement* p_DPhiTracksAtVtxVsR_;
0428
0429 MonitorElement* h_DCotTracks_[2][3];
0430 MonitorElement* h2_DCotTracksVsEta_;
0431 MonitorElement* p_DCotTracksVsEta_;
0432 MonitorElement* h2_DCotTracksVsR_;
0433 MonitorElement* p_DCotTracksVsR_;
0434
0435 MonitorElement* h_distMinAppTracks_[2][3];
0436
0437 MonitorElement* h_DPhiTracksAtEcal_[2][3];
0438 MonitorElement* h2_DPhiTracksAtEcalVsR_;
0439 MonitorElement* p_DPhiTracksAtEcalVsR_;
0440 MonitorElement* h2_DPhiTracksAtEcalVsEta_;
0441 MonitorElement* p_DPhiTracksAtEcalVsEta_;
0442
0443 MonitorElement* h_DEtaTracksAtEcal_[2][3];
0444
0445 MonitorElement* h_convVtxRvsZ_[3];
0446 MonitorElement* h_convVtxYvsX_;
0447 MonitorElement* h_convVtxRvsZ_zoom_[2];
0448 MonitorElement* h_convVtxYvsX_zoom_[2];
0449 MonitorElement* h_convSLVtxRvsZ_[3];
0450
0451 MonitorElement* h_convVtxdX_;
0452 MonitorElement* h_convVtxdY_;
0453 MonitorElement* h_convVtxdZ_;
0454 MonitorElement* h_convVtxdR_;
0455
0456 MonitorElement* h_convVtxdX_barrel_;
0457 MonitorElement* h_convVtxdY_barrel_;
0458 MonitorElement* h_convVtxdZ_barrel_;
0459 MonitorElement* h_convVtxdR_barrel_;
0460
0461 MonitorElement* h_convVtxdX_endcap_;
0462 MonitorElement* h_convVtxdY_endcap_;
0463 MonitorElement* h_convVtxdZ_endcap_;
0464 MonitorElement* h_convVtxdR_endcap_;
0465
0466 MonitorElement* h_convVtxdEta_;
0467 MonitorElement* h_convVtxdPhi_;
0468
0469 MonitorElement* h2_convVtxdRVsR_;
0470 MonitorElement* p_convVtxdRVsR_;
0471 MonitorElement* h2_convVtxdRVsEta_;
0472 MonitorElement* p_convVtxdRVsEta_;
0473 MonitorElement* p_convVtxdXVsX_;
0474 MonitorElement* p_convVtxdYVsY_;
0475 MonitorElement* p_convVtxdZVsZ_;
0476
0477 MonitorElement* h2_convVtxRrecVsTrue_;
0478
0479 MonitorElement* h_vtxChi2_[3];
0480 MonitorElement* h_vtxChi2Prob_[3];
0481
0482 MonitorElement* h_zPVFromTracks_[5];
0483 MonitorElement* h_dzPVFromTracks_[5];
0484 MonitorElement* h2_dzPVVsR_;
0485 MonitorElement* p_dzPVVsR_;
0486 MonitorElement* p_dzPVVsEta_;
0487
0488
0489 MonitorElement* p_nHitsVsEta_[2];
0490 MonitorElement* p_nHitsVsEtaSL_[2];
0491 MonitorElement* nHitsVsEta_[2];
0492 MonitorElement* p_nHitsVsR_[2];
0493 MonitorElement* p_nHitsVsRSL_[2];
0494 MonitorElement* nHitsVsR_[2];
0495 MonitorElement* h_tkChi2_[2];
0496 MonitorElement* h_tkChi2SL_[2];
0497 MonitorElement* h_tkChi2Large_[2];
0498 MonitorElement* h2_Chi2VsEta_[3];
0499 MonitorElement* p_Chi2VsEta_[3];
0500 MonitorElement* h2_Chi2VsR_[3];
0501 MonitorElement* p_Chi2VsR_[3];
0502
0503 MonitorElement* h_TkD0_[3];
0504
0505 MonitorElement* h_TkPtPull_[3];
0506 MonitorElement* h2_TkPtPull_[3];
0507 MonitorElement* p_TkPtPull_[3];
0508 MonitorElement* h2_PtRecVsPtSim_[3];
0509 MonitorElement* h2_PtRecVsPtSimMixProv_;
0510
0511 MonitorElement* hBCEnergyOverTrackPout_[3];
0512
0513
0514 MonitorElement* h_SimJet_[3];
0515 MonitorElement* h_MatchedSimJet_[3];
0516 MonitorElement* h_MatchedSimJetBadCh_[3];
0517
0518
0519 MonitorElement* h_nPho_;
0520
0521 MonitorElement* h_scBkgEta_;
0522 MonitorElement* h_scBkgPhi_;
0523 MonitorElement* h_phoBkgEta_;
0524 MonitorElement* h_phoBkgPhi_;
0525 MonitorElement* h_phoBkgDEta_;
0526 MonitorElement* h_phoBkgDPhi_;
0527 MonitorElement* h_phoBkgE_[3];
0528 MonitorElement* h_phoBkgEt_[3];
0529
0530 MonitorElement* h_scBkgE_[3];
0531 MonitorElement* h_scBkgEt_[3];
0532
0533 MonitorElement* h_r9Bkg_[3];
0534 MonitorElement* h_r1Bkg_[3];
0535 MonitorElement* h_r2Bkg_[3];
0536 MonitorElement* h_hOverEBkg_[3];
0537
0538 MonitorElement* h2_r9VsEtaBkg_;
0539 MonitorElement* h2_r9VsEtBkg_;
0540
0541 MonitorElement* h2_r1VsEtaBkg_;
0542 MonitorElement* h2_r1VsEtBkg_;
0543 MonitorElement* p_r1VsEtaBkg_;
0544 MonitorElement* p_r1VsEtBkg_;
0545
0546 MonitorElement* h2_r2VsEtaBkg_;
0547 MonitorElement* h2_r2VsEtBkg_;
0548 MonitorElement* p_r2VsEtaBkg_;
0549 MonitorElement* p_r2VsEtBkg_;
0550
0551 MonitorElement* h_sigmaIetaIetaBkg_[3];
0552 MonitorElement* h2_sigmaIetaIetaVsEtaBkg_;
0553 MonitorElement* p_sigmaIetaIetaVsEtaBkg_;
0554 MonitorElement* h2_sigmaIetaIetaVsEtBkg_[3];
0555 MonitorElement* p_sigmaIetaIetaVsEtBkg_[3];
0556
0557 MonitorElement* h2_hOverEVsEtaBkg_;
0558 MonitorElement* h2_hOverEVsEtBkg_;
0559 MonitorElement* p_hOverEVsEtaBkg_;
0560 MonitorElement* p_hOverEVsEtBkg_;
0561
0562 MonitorElement* h_ecalRecHitSumEtConeDR04Bkg_[3];
0563 MonitorElement* h2_ecalRecHitSumEtConeDR04VsEtaBkg_;
0564 MonitorElement* p_ecalRecHitSumEtConeDR04VsEtaBkg_;
0565 MonitorElement* h2_ecalRecHitSumEtConeDR04VsEtBkg_[3];
0566 MonitorElement* p_ecalRecHitSumEtConeDR04VsEtBkg_[3];
0567
0568 MonitorElement* h_hcalTowerSumEtConeDR04Bkg_[3];
0569 MonitorElement* h2_hcalTowerSumEtConeDR04VsEtaBkg_;
0570 MonitorElement* p_hcalTowerSumEtConeDR04VsEtaBkg_;
0571 MonitorElement* h2_hcalTowerSumEtConeDR04VsEtBkg_[3];
0572 MonitorElement* p_hcalTowerSumEtConeDR04VsEtBkg_[3];
0573
0574 MonitorElement* h_isoTrkSolidConeDR04Bkg_[3];
0575 MonitorElement* h2_isoTrkSolidConeDR04VsEtaBkg_;
0576 MonitorElement* p_isoTrkSolidConeDR04VsEtaBkg_;
0577 MonitorElement* h2_isoTrkSolidConeDR04VsEtBkg_[3];
0578 MonitorElement* p_isoTrkSolidConeDR04VsEtBkg_[3];
0579
0580 MonitorElement* h_nTrkSolidConeDR04Bkg_[3];
0581 MonitorElement* h2_nTrkSolidConeDR04VsEtaBkg_;
0582 MonitorElement* p_nTrkSolidConeDR04VsEtaBkg_;
0583 MonitorElement* h2_nTrkSolidConeDR04VsEtBkg_[3];
0584 MonitorElement* p_nTrkSolidConeDR04VsEtBkg_[3];
0585
0586 MonitorElement* h_convEtaBkg_;
0587 MonitorElement* h_convPhiBkg_;
0588 MonitorElement* h_mvaOutBkg_[3];
0589 MonitorElement* nHitsVsEtaBkg_;
0590 MonitorElement* h_tkChi2Bkg_;
0591 MonitorElement* h_EoverPTracksBkg_[3];
0592 MonitorElement* h_PoverETracksBkg_[3];
0593 MonitorElement* h_DPhiTracksAtVtxBkg_[3];
0594 MonitorElement* h_DCotTracksBkg_[3];
0595 MonitorElement* h_convVtxYvsXBkg_;
0596 MonitorElement* h_convVtxRvsZBkg_[2];
0597
0598 class sortPhotons {
0599 public:
0600 bool operator()(const reco::PhotonRef& lhs, const reco::PhotonRef& rhs) { return lhs->et() > rhs->et(); }
0601 };
0602 };
0603
0604 #endif