Go to the documentation of this file.00001 #ifndef _RECOMET_METPRODUCER_HCALNOISEINFOPRODUCER_H_
00002 #define _RECOMET_METPRODUCER_HCALNOISEINFOPRODUCER_H_
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #include <memory>
00019
00020
00021 #include "FWCore/Framework/interface/Frameworkfwd.h"
00022 #include "FWCore/Framework/interface/EDProducer.h"
00023 #include "FWCore/Framework/interface/Event.h"
00024 #include "FWCore/Framework/interface/MakerMacros.h"
00025 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00026
00027 #include "RecoMET/METAlgorithms/interface/HcalNoiseAlgo.h"
00028 #include "RecoMET/METAlgorithms/interface/HcalNoiseRBXArray.h"
00029 #include "DataFormats/METReco/interface/HcalNoiseSummary.h"
00030
00031
00032 namespace reco {
00033
00034
00035
00036
00037
00038 class HcalNoiseInfoProducer : public edm::EDProducer {
00039 public:
00040 explicit HcalNoiseInfoProducer(const edm::ParameterSet&);
00041 ~HcalNoiseInfoProducer();
00042
00043 private:
00044
00045
00046
00047
00048
00049
00050
00051 virtual void produce(edm::Event&, const edm::EventSetup&) override;
00052
00053
00054
00055
00056
00057
00058 void fillrechits(edm::Event&, const edm::EventSetup&, HcalNoiseRBXArray&, HcalNoiseSummary&) const;
00059 void filldigis(edm::Event&, const edm::EventSetup&, HcalNoiseRBXArray&, HcalNoiseSummary&);
00060 void fillcalotwrs(edm::Event&, const edm::EventSetup&, HcalNoiseRBXArray&, HcalNoiseSummary&) const;
00061 void filltracks(edm::Event&, const edm::EventSetup&, HcalNoiseSummary&) const;
00062
00063
00064 void fillOtherSummaryVariables(HcalNoiseSummary& summary, const CommonHcalNoiseRBXData& data) const;
00065
00066
00067
00068
00069
00070
00071 bool fillDigis_;
00072 bool fillRecHits_;
00073 bool fillCaloTowers_;
00074 bool fillTracks_;
00075
00076
00077 int maxProblemRBXs_;
00078
00079
00080 int maxCaloTowerIEta_;
00081 double maxTrackEta_;
00082 double minTrackPt_;
00083
00084 std::string digiCollName_;
00085 std::string recHitCollName_;
00086 std::string caloTowerCollName_;
00087 std::string trackCollName_;
00088
00089 double TotalCalibCharge;
00090
00091 double minRecHitE_, minLowHitE_, minHighHitE_;
00092 HcalNoiseAlgo algo_;
00093
00094 bool useCalibDigi_;
00095
00096
00097 double calibdigiHBHEthreshold_;
00098 std::vector<int> calibdigiHBHEtimeslices_;
00099
00100 double calibdigiHFthreshold_;
00101 std::vector<int> calibdigiHFtimeslices_;
00102
00103
00104 double TS4TS5EnergyThreshold_;
00105 std::vector<std::pair<double, double> > TS4TS5UpperCut_;
00106 std::vector<std::pair<double, double> > TS4TS5LowerCut_;
00107
00108 uint32_t HcalAcceptSeverityLevel_;
00109 std::vector<int> HcalRecHitFlagsToBeExcluded_;
00110
00111 float adc2fC[128];
00112 };
00113
00114 }
00115
00116 #endif