File indexing completed on 2024-04-06 12:32:01
0001 #ifndef Validation_EcalClusters_EgammaSuperClusters_h
0002 #define Validation_EcalClusters_EgammaSuperClusters_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0015
0016 #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h"
0017 #include "DataFormats/EgammaReco/interface/SuperClusterFwd.h"
0018 #include "SimDataFormats/GeneratorProducts/interface/HepMCProduct.h"
0019
0020 #include "RecoEcal/EgammaCoreTools/interface/EcalClusterLazyTools.h"
0021
0022 #include "HistSpec.h"
0023 #include "DQMServices/Core/interface/DQMStore.h"
0024
0025 #include <string>
0026
0027 class EgammaSuperClusters : public DQMEDAnalyzer {
0028 public:
0029 explicit EgammaSuperClusters(const edm::ParameterSet &);
0030 ~EgammaSuperClusters() override;
0031
0032 void analyze(const edm::Event &, const edm::EventSetup &) override;
0033 void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
0034
0035 private:
0036
0037 edm::EDGetTokenT<edm::HepMCProduct> MCTruthCollectionToken_;
0038
0039
0040 edm::EDGetTokenT<reco::SuperClusterCollection> barrelRawSuperClusterCollectionToken_;
0041 edm::EDGetTokenT<reco::SuperClusterCollection> barrelCorSuperClusterCollectionToken_;
0042
0043
0044 edm::EDGetTokenT<reco::SuperClusterCollection> endcapRawSuperClusterCollectionToken_;
0045 edm::EDGetTokenT<reco::SuperClusterCollection> endcapPreSuperClusterCollectionToken_;
0046 edm::EDGetTokenT<reco::SuperClusterCollection> endcapCorSuperClusterCollectionToken_;
0047
0048
0049 edm::EDGetTokenT<EcalRecHitCollection> barrelRecHitCollectionToken_;
0050 edm::EDGetTokenT<EcalRecHitCollection> endcapRecHitCollectionToken_;
0051
0052 EcalClusterLazyTools::ESGetTokens ecalClusterToolsESGetTokens_;
0053
0054 HistSpec hsSize_;
0055 HistSpec hsNumBC_;
0056 HistSpec hsET_;
0057 HistSpec hsEta_;
0058 HistSpec hsPhi_;
0059 HistSpec hsS1toS9_;
0060 HistSpec hsS25toE_;
0061 HistSpec hsEoverTruth_;
0062 HistSpec hsdeltaR_;
0063 HistSpec hsphiWidth_;
0064 HistSpec hsetaWidth_;
0065 HistSpec hspreshowerE_;
0066 HistSpec hsR_;
0067
0068 MonitorElement *hist_EB_RawSC_Size_;
0069 MonitorElement *hist_EE_RawSC_Size_;
0070 MonitorElement *hist_EB_CorSC_Size_;
0071 MonitorElement *hist_EE_CorSC_Size_;
0072 MonitorElement *hist_EE_PreSC_Size_;
0073 MonitorElement *hist_EB_RawSC_NumBC_;
0074 MonitorElement *hist_EE_RawSC_NumBC_;
0075 MonitorElement *hist_EB_CorSC_NumBC_;
0076 MonitorElement *hist_EE_CorSC_NumBC_;
0077 MonitorElement *hist_EE_PreSC_NumBC_;
0078 MonitorElement *hist_EB_RawSC_ET_;
0079 MonitorElement *hist_EE_RawSC_ET_;
0080 MonitorElement *hist_EB_CorSC_ET_;
0081 MonitorElement *hist_EE_CorSC_ET_;
0082 MonitorElement *hist_EE_PreSC_ET_;
0083 MonitorElement *hist_EB_RawSC_Eta_;
0084 MonitorElement *hist_EE_RawSC_Eta_;
0085 MonitorElement *hist_EB_CorSC_Eta_;
0086 MonitorElement *hist_EE_CorSC_Eta_;
0087 MonitorElement *hist_EE_PreSC_Eta_;
0088 MonitorElement *hist_EB_RawSC_Phi_;
0089 MonitorElement *hist_EE_RawSC_Phi_;
0090 MonitorElement *hist_EB_CorSC_Phi_;
0091 MonitorElement *hist_EE_CorSC_Phi_;
0092 MonitorElement *hist_EE_PreSC_Phi_;
0093 MonitorElement *hist_EB_RawSC_S1toS9_;
0094 MonitorElement *hist_EE_RawSC_S1toS9_;
0095 MonitorElement *hist_EB_CorSC_S1toS9_;
0096 MonitorElement *hist_EE_CorSC_S1toS9_;
0097 MonitorElement *hist_EE_PreSC_S1toS9_;
0098 MonitorElement *hist_EB_RawSC_S25toE_;
0099 MonitorElement *hist_EE_RawSC_S25toE_;
0100 MonitorElement *hist_EB_CorSC_S25toE_;
0101 MonitorElement *hist_EE_CorSC_S25toE_;
0102 MonitorElement *hist_EE_PreSC_S25toE_;
0103 MonitorElement *hist_EB_RawSC_EoverTruth_;
0104 MonitorElement *hist_EE_RawSC_EoverTruth_;
0105 MonitorElement *hist_EB_CorSC_EoverTruth_;
0106 MonitorElement *hist_EE_CorSC_EoverTruth_;
0107 MonitorElement *hist_EE_PreSC_EoverTruth_;
0108 MonitorElement *hist_EB_RawSC_deltaR_;
0109 MonitorElement *hist_EE_RawSC_deltaR_;
0110 MonitorElement *hist_EB_CorSC_deltaR_;
0111 MonitorElement *hist_EE_CorSC_deltaR_;
0112 MonitorElement *hist_EE_PreSC_deltaR_;
0113 MonitorElement *hist_EE_PreSC_preshowerE_;
0114 MonitorElement *hist_EE_CorSC_preshowerE_;
0115 MonitorElement *hist_EE_CorSC_phiWidth_;
0116 MonitorElement *hist_EB_CorSC_phiWidth_;
0117 MonitorElement *hist_EE_CorSC_etaWidth_;
0118 MonitorElement *hist_EB_CorSC_etaWidth_;
0119 MonitorElement *hist_EB_CorSC_ET_vs_Eta_;
0120 MonitorElement *hist_EB_CorSC_ET_vs_Phi_;
0121 MonitorElement *hist_EE_CorSC_ET_vs_Eta_;
0122 MonitorElement *hist_EE_CorSC_ET_vs_Phi_;
0123 MonitorElement *hist_EE_CorSC_ET_vs_R_;
0124
0125 void closestMCParticle(HepMC::GenEvent const *, reco::SuperCluster const &, double &, double &) const;
0126
0127 float ecalEta(float, float, float) const;
0128 };
0129
0130 #endif