File indexing completed on 2024-04-06 12:25:51
0001 #ifndef __HBHE_ISOLATED_NOISE_REFLAGGER_H__
0002 #define __HBHE_ISOLATED_NOISE_REFLAGGER_H__
0003
0004
0005
0006
0007
0008
0009
0010 #include <memory>
0011
0012 #include "FWCore/Framework/interface/Frameworkfwd.h"
0013 #include "FWCore/Framework/interface/stream/EDProducer.h"
0014 #include "FWCore/Framework/interface/MakerMacros.h"
0015 #include "FWCore/Utilities/interface/ESGetToken.h"
0016 #include "CondFormats/EcalObjects/interface/EcalChannelStatus.h"
0017 #include "RecoLocalCalo/HcalRecAlgos/interface/HBHEIsolatedNoiseAlgos.h"
0018
0019 class EcalChannelStatusRcd;
0020 class HcalChannelQuality;
0021 class HcalChannelQualityRcd;
0022 class HcalSeverityLevelComputer;
0023 class HcalSeverityLevelComputerRcd;
0024 class EcalSeverityLevelAlgo;
0025 class EcalSeverityLevelAlgoRcd;
0026 class CaloTowerConstituentsMap;
0027 class CaloGeometryRecord;
0028 class HcalFrontEndMap;
0029 class HcalFrontEndMapRcd;
0030
0031 class HBHEIsolatedNoiseReflagger : public edm::stream::EDProducer<> {
0032 public:
0033 explicit HBHEIsolatedNoiseReflagger(const edm::ParameterSet&);
0034 ~HBHEIsolatedNoiseReflagger() override;
0035
0036 private:
0037 void produce(edm::Event&, const edm::EventSetup&) override;
0038
0039 void DumpHBHEHitMap(std::vector<HBHEHitMap>& i) const;
0040
0041
0042 edm::EDGetTokenT<HBHERecHitCollection> tok_hbhe_;
0043 edm::EDGetTokenT<EcalRecHitCollection> tok_EB_;
0044 edm::EDGetTokenT<EcalRecHitCollection> tok_EE_;
0045 edm::EDGetTokenT<std::vector<reco::TrackExtrapolation> > tok_trackExt_;
0046 const HcalFrontEndMap* hfemap;
0047
0048 double LooseHcalIsol_;
0049 double LooseEcalIsol_;
0050 double LooseTrackIsol_;
0051 double TightHcalIsol_;
0052 double TightEcalIsol_;
0053 double TightTrackIsol_;
0054
0055 double LooseRBXEne1_, LooseRBXEne2_;
0056 int LooseRBXHits1_, LooseRBXHits2_;
0057 double TightRBXEne1_, TightRBXEne2_;
0058 int TightRBXHits1_, TightRBXHits2_;
0059 double LooseHPDEne1_, LooseHPDEne2_;
0060 int LooseHPDHits1_, LooseHPDHits2_;
0061 double TightHPDEne1_, TightHPDEne2_;
0062 int TightHPDHits1_, TightHPDHits2_;
0063 double LooseDiHitEne_;
0064 double TightDiHitEne_;
0065 double LooseMonoHitEne_;
0066 double TightMonoHitEne_;
0067
0068 double RBXEneThreshold_;
0069
0070 bool debug_;
0071
0072
0073 ObjectValidator objvalidator_;
0074
0075
0076 edm::ESGetToken<EcalChannelStatus, EcalChannelStatusRcd> ecalChStatusToken_;
0077 edm::ESGetToken<HcalChannelQuality, HcalChannelQualityRcd> hcalChStatusToken_;
0078 edm::ESGetToken<HcalSeverityLevelComputer, HcalSeverityLevelComputerRcd> hcalSevToken_;
0079 edm::ESGetToken<EcalSeverityLevelAlgo, EcalSeverityLevelAlgoRcd> ecalSevToken_;
0080 edm::ESGetToken<CaloTowerConstituentsMap, CaloGeometryRecord> ctcmToken_;
0081 edm::ESGetToken<HcalFrontEndMap, HcalFrontEndMapRcd> hfemapToken_;
0082 edm::ESGetToken<CaloGeometry, CaloGeometryRecord> geoToken_;
0083 };
0084
0085 #endif