CMS 3D CMS Logo

HcalNoiseInfoProducer.h
Go to the documentation of this file.
1 #ifndef _RECOMET_METPRODUCER_HCALNOISEINFOPRODUCER_H_
2 #define _RECOMET_METPRODUCER_HCALNOISEINFOPRODUCER_H_
3 
4 //
5 // HcalNoiseInfoProducer.h
6 //
7 // description: Definition of the producer for the HCAL noise information.
8 // Uses various algorithms to process digis, rechits, and calotowers
9 // and produce a vector of HcalNoiseRBXs.
10 // To minimize the time used to sort the data into HPD/RBX space, we fill
11 // an rbxarray of size 72, and then pick which rbxs are interesting at
12 // the end.
13 //
14 // author: J.P. Chou, Brown
15 //
16 
17 // system include files
18 #include <memory>
19 
20 // user include files
28 
32 
44 
49 
50 namespace reco {
51 
52  //
53  // class declaration
54  //
55 
57  public:
59  ~HcalNoiseInfoProducer() override;
60 
61  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
62 
63  private:
64  //
65  // methods inherited from EDProducer
66  // produce(...) fills an HcalNoiseRBXArray with information from various places, and then
67  // picks which rbxs are interesting, storing them to the EDM.
68  //
69 
70  void produce(edm::Event&, const edm::EventSetup&) override;
71 
72  //
73  // more internal methods
74  // fills an HcalNoiseRBXArray with various data
75  // filldigis() depends on fillrechits() being called first
76  //
82 
83  // other helper functions
85 
86  //
87  // parameters
88  //
89 
90  bool fillDigis_; // fill digi information into HcalNoiseRBXs
91  bool fillRecHits_; // fill rechit information into HcalNoiseRBXs and HcalNoiseSummary
92  bool fillCaloTowers_; // fill calotower information into HcalNoiseRBXs and HcalNoiseSummary
93  bool fillTracks_; // fill track information into HcalNoiseSummary
94  bool fillLaserMonitor_; // fill laser monitor information into HcalNoiseSummary
95 
96  // These provide the requirements for writing an RBX to the event
97  int maxProblemRBXs_; // maximum number of problematic RBXs to be written to the event record
98 
99  // parameters for calculating summary variables
100  int maxCaloTowerIEta_; // maximum caloTower ieta
101  double maxTrackEta_; // maximum eta of the track
102  double minTrackPt_; // minimum track Pt
103  double maxNHF_;
105 
107 
108  std::string digiCollName_; // name of the digi collection
109  std::string recHitCollName_; // name of the rechit collection
110  std::string caloTowerCollName_; // name of the caloTower collection
111  std::string trackCollName_; // name of the track collection
112  std::string jetCollName_; // name of the jet collection
113 
126 
127  double totalCalibCharge; // placeholder to calculate total charge in calibration channels
128  double totalLasmonCharge; // placeholder to calculate total charge in laser monitor channels
129 
130  double minRecHitE_, minLowHitE_, minHighHitE_, minR45HitE_; // parameters used to determine noise status
131  HcalNoiseAlgo algo_; // algorithms to determine if an RBX is noisy
132 
134 
135  // Variables to store info regarding HBHE calibration digis
136  double calibdigiHBHEthreshold_; // minimum charge calib digi in order to be counted by noise algorithm
137  std::vector<int> calibdigiHBHEtimeslices_; // time slices to use when computing calibration charge
138  // Variables to store info regarding HF calibration digis
140  std::vector<int> calibdigiHFtimeslices_;
141 
143  std::vector<std::pair<double, double> > TS4TS5UpperCut_;
144  std::vector<std::pair<double, double> > TS4TS5LowerCut_;
145 
148 
149  std::vector<int> laserMonCBoxList_;
150  std::vector<int> laserMonIPhiList_;
151  std::vector<int> laserMonIEtaList_;
152 
156 
157  std::vector<float> adc2fC;
158  std::vector<float> adc2fCHF;
159  };
160 
161 } // namespace reco
162 
163 #endif
reco::HcalNoiseInfoProducer::fillRecHits_
bool fillRecHits_
Definition: HcalNoiseInfoProducer.h:91
reco::HcalNoiseInfoProducer::laserMonitorSamples_
unsigned laserMonitorSamples_
Definition: HcalNoiseInfoProducer.h:155
HcalNoiseSummary
Definition: HcalNoiseSummary.h:31
reco::HcalNoiseInfoProducer::totalLasmonCharge
double totalLasmonCharge
Definition: HcalNoiseInfoProducer.h:128
HcalNoiseSummary.h
reco::HcalNoiseInfoProducer::severitycomputer_token_
edm::ESGetToken< HcalSeverityLevelComputer, HcalSeverityLevelComputerRcd > severitycomputer_token_
Definition: HcalNoiseInfoProducer.h:124
reco::HcalNoiseInfoProducer::fillcalotwrs
void fillcalotwrs(edm::Event &, const edm::EventSetup &, HcalNoiseRBXArray &, HcalNoiseSummary &) const
Definition: HcalNoiseInfoProducer.cc:1283
reco::HcalNoiseInfoProducer::minLowHitE_
double minLowHitE_
Definition: HcalNoiseInfoProducer.h:130
reco::HcalNoiseInfoProducer::maxNHF_
double maxNHF_
Definition: HcalNoiseInfoProducer.h:103
reco::HcalNoiseInfoProducer::fillTracks_
bool fillTracks_
Definition: HcalNoiseInfoProducer.h:93
reco::HcalNoiseInfoProducer::filltracks
void filltracks(edm::Event &, const edm::EventSetup &, HcalNoiseSummary &) const
Definition: HcalNoiseInfoProducer.cc:1362
reco::HcalNoiseInfoProducer::calibdigiHFtimeslices_
std::vector< int > calibdigiHFtimeslices_
Definition: HcalNoiseInfoProducer.h:140
edm::EDGetTokenT
Definition: EDGetToken.h:33
reco::HcalNoiseInfoProducer::digiCollName_
std::string digiCollName_
Definition: HcalNoiseInfoProducer.h:108
HcalTopology
Definition: HcalTopology.h:26
PFJetCollection.h
reco::HcalNoiseInfoProducer::lasermondigi_token_
edm::EDGetTokenT< QIE10DigiCollection > lasermondigi_token_
Definition: HcalNoiseInfoProducer.h:116
reco::HcalNoiseInfoProducer::minTrackPt_
double minTrackPt_
Definition: HcalNoiseInfoProducer.h:102
reco::HcalNoiseInfoProducer::fillDescriptions
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition: HcalNoiseInfoProducer.cc:425
EDProducer.h
reco::HcalNoiseInfoProducer::HcalRecHitFlagsToBeExcluded_
std::vector< int > HcalRecHitFlagsToBeExcluded_
Definition: HcalNoiseInfoProducer.h:147
HcalRecNumberingRecord.h
HcalNoiseInfoProducer.h
reco::HcalNoiseInfoProducer
Definition: HcalNoiseInfoProducer.h:56
reco::HcalNoiseInfoProducer::TS4TS5LowerCut_
std::vector< std::pair< double, double > > TS4TS5LowerCut_
Definition: HcalNoiseInfoProducer.h:144
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:46
ESGetToken.h
reco::HcalNoiseInfoProducer::jet_token_
edm::EDGetTokenT< reco::PFJetCollection > jet_token_
Definition: HcalNoiseInfoProducer.h:120
reco::HcalNoiseInfoProducer::laserMonIPhiList_
std::vector< int > laserMonIPhiList_
Definition: HcalNoiseInfoProducer.h:150
HcalNoiseAlgo
Definition: HcalNoiseAlgo.h:77
reco::HcalNoiseInfoProducer::produce
void produce(edm::Event &, const edm::EventSetup &) override
Definition: HcalNoiseInfoProducer.cc:674
reco::HcalNoiseInfoProducer::fillrechits
void fillrechits(edm::Event &, const edm::EventSetup &, HcalNoiseRBXArray &, HcalNoiseSummary &) const
Definition: HcalNoiseInfoProducer.cc:1111
MakerMacros.h
CommonHcalNoiseRBXData
Definition: HcalNoiseAlgo.h:11
reco::HcalNoiseInfoProducer::adc2fC
std::vector< float > adc2fC
Definition: HcalNoiseInfoProducer.h:157
Track.h
TrackFwd.h
reco::HcalNoiseInfoProducer::minR45HitE_
double minR45HitE_
Definition: HcalNoiseInfoProducer.h:130
HcalDigiCollections.h
reco::HcalNoiseInfoProducer::hbhedigi_token_
edm::EDGetTokenT< HBHEDigiCollection > hbhedigi_token_
Definition: HcalNoiseInfoProducer.h:114
reco::HcalNoiseInfoProducer::maxProblemRBXs_
int maxProblemRBXs_
Definition: HcalNoiseInfoProducer.h:97
reco::HcalNoiseInfoProducer::hcaltopo_token_
edm::ESGetToken< HcalTopology, HcalRecNumberingRecord > hcaltopo_token_
Definition: HcalNoiseInfoProducer.h:121
reco::HcalNoiseInfoProducer::jetCollName_
std::string jetCollName_
Definition: HcalNoiseInfoProducer.h:112
reco::HcalNoiseInfoProducer::adc2fCHF
std::vector< float > adc2fCHF
Definition: HcalNoiseInfoProducer.h:158
reco::HcalNoiseInfoProducer::quality_token_
edm::ESGetToken< HcalChannelQuality, HcalChannelQualityRcd > quality_token_
Definition: HcalNoiseInfoProducer.h:123
HcalDbRecord.h
reco::HcalNoiseInfoProducer::trackCollName_
std::string trackCollName_
Definition: HcalNoiseInfoProducer.h:111
EDGetToken.h
CaloGeometryRecord.h
edm::ConfigurationDescriptions
Definition: ConfigurationDescriptions.h:28
reco::HcalNoiseInfoProducer::filljetinfo
void filljetinfo(edm::Event &, const edm::EventSetup &, HcalNoiseSummary &) const
Definition: HcalNoiseInfoProducer.cc:1327
reco::HcalNoiseInfoProducer::~HcalNoiseInfoProducer
~HcalNoiseInfoProducer() override
Definition: HcalNoiseInfoProducer.cc:423
HcalSeverityLevelComputerRcd.h
reco::HcalNoiseInfoProducer::calibdigiHFthreshold_
double calibdigiHFthreshold_
Definition: HcalNoiseInfoProducer.h:139
reco::HcalNoiseInfoProducer::fillOtherSummaryVariables
void fillOtherSummaryVariables(HcalNoiseSummary &summary, const CommonHcalNoiseRBXData &data) const
Definition: HcalNoiseInfoProducer.cc:756
reco::HcalNoiseInfoProducer::HcalAcceptSeverityLevel_
uint32_t HcalAcceptSeverityLevel_
Definition: HcalNoiseInfoProducer.h:146
reco::HcalNoiseInfoProducer::algo_
HcalNoiseAlgo algo_
Definition: HcalNoiseInfoProducer.h:131
edm::ParameterSet
Definition: ParameterSet.h:47
reco::HcalNoiseInfoProducer::TS4TS5UpperCut_
std::vector< std::pair< double, double > > TS4TS5UpperCut_
Definition: HcalNoiseInfoProducer.h:143
reco::HcalNoiseInfoProducer::maxCaloTowerIEta_
int maxCaloTowerIEta_
Definition: HcalNoiseInfoProducer.h:100
Event.h
reco::HcalNoiseInfoProducer::service_token_
edm::ESGetToken< HcalDbService, HcalDbRecord > service_token_
Definition: HcalNoiseInfoProducer.h:122
reco::HcalNoiseInfoProducer::track_token_
edm::EDGetTokenT< reco::TrackCollection > track_token_
Definition: HcalNoiseInfoProducer.h:119
reco::HcalNoiseInfoProducer::fillLaserMonitor_
bool fillLaserMonitor_
Definition: HcalNoiseInfoProducer.h:94
HcalNoiseRBXArray.h
edmLumisInFiles.summary
summary
Definition: edmLumisInFiles.py:39
reco::HcalNoiseInfoProducer::laserMonCBoxList_
std::vector< int > laserMonCBoxList_
Definition: HcalNoiseInfoProducer.h:149
reco::HcalNoiseInfoProducer::maxjetindex_
int maxjetindex_
Definition: HcalNoiseInfoProducer.h:104
reco::HcalNoiseInfoProducer::TS4TS5EnergyThreshold_
double TS4TS5EnergyThreshold_
Definition: HcalNoiseInfoProducer.h:142
edm::stream::EDProducer
Definition: EDProducer.h:36
reco::HcalNoiseInfoProducer::hcalcalibdigi_token_
edm::EDGetTokenT< HcalCalibDigiCollection > hcalcalibdigi_token_
Definition: HcalNoiseInfoProducer.h:115
reco::HcalNoiseInfoProducer::filldigis
void filldigis(edm::Event &, const edm::EventSetup &, HcalNoiseRBXArray &, HcalNoiseSummary &)
Definition: HcalNoiseInfoProducer.cc:860
reco::HcalNoiseInfoProducer::minRecHitE_
double minRecHitE_
Definition: HcalNoiseInfoProducer.h:130
reco::HcalNoiseInfoProducer::fillCaloTowers_
bool fillCaloTowers_
Definition: HcalNoiseInfoProducer.h:92
edm::EventSetup
Definition: EventSetup.h:58
edm::ESGetToken< HcalTopology, HcalRecNumberingRecord >
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
reco::HcalNoiseInfoProducer::totalCalibCharge
double totalCalibCharge
Definition: HcalNoiseInfoProducer.h:127
reco::HcalNoiseInfoProducer::laserMonitorTSStart_
int laserMonitorTSStart_
Definition: HcalNoiseInfoProducer.h:153
CaloTowerCollection.h
reco::HcalNoiseInfoProducer::hbherechit_token_
edm::EDGetTokenT< HBHERecHitCollection > hbherechit_token_
Definition: HcalNoiseInfoProducer.h:117
reco::HcalNoiseRBXArray
Definition: HcalNoiseRBXArray.h:27
HcalTopology.h
reco::HcalNoiseInfoProducer::laserMonitorTSEnd_
int laserMonitorTSEnd_
Definition: HcalNoiseInfoProducer.h:154
reco::HcalNoiseInfoProducer::HcalNoiseInfoProducer
HcalNoiseInfoProducer(const edm::ParameterSet &)
Definition: HcalNoiseInfoProducer.cc:26
reco::HcalNoiseInfoProducer::calogeometry_token_
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > calogeometry_token_
Definition: HcalNoiseInfoProducer.h:125
reco::HcalNoiseInfoProducer::calibdigiHBHEtimeslices_
std::vector< int > calibdigiHBHEtimeslices_
Definition: HcalNoiseInfoProducer.h:137
Frameworkfwd.h
reco::HcalNoiseInfoProducer::calibdigiHBHEthreshold_
double calibdigiHBHEthreshold_
Definition: HcalNoiseInfoProducer.h:136
reco::HcalNoiseInfoProducer::recHitCollName_
std::string recHitCollName_
Definition: HcalNoiseInfoProducer.h:109
CaloGeometry.h
reco::HcalNoiseInfoProducer::laserMonIEtaList_
std::vector< int > laserMonIEtaList_
Definition: HcalNoiseInfoProducer.h:151
HcalRecHitCollections.h
HcalSeverityLevelComputer.h
data
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:79
HcalDbService.h
reco::HcalNoiseInfoProducer::theHcalTopology_
const HcalTopology * theHcalTopology_
Definition: HcalNoiseInfoProducer.h:106
ParameterSet.h
HcalNoiseAlgo.h
edm::Event
Definition: Event.h:73
reco::HcalNoiseInfoProducer::caloTowerCollName_
std::string caloTowerCollName_
Definition: HcalNoiseInfoProducer.h:110
reco::HcalNoiseInfoProducer::calotower_token_
edm::EDGetTokenT< CaloTowerCollection > calotower_token_
Definition: HcalNoiseInfoProducer.h:118
reco::HcalNoiseInfoProducer::fillDigis_
bool fillDigis_
Definition: HcalNoiseInfoProducer.h:90
reco::HcalNoiseInfoProducer::maxTrackEta_
double maxTrackEta_
Definition: HcalNoiseInfoProducer.h:101
reco::HcalNoiseInfoProducer::useCalibDigi_
bool useCalibDigi_
Definition: HcalNoiseInfoProducer.h:133
reco::HcalNoiseInfoProducer::minHighHitE_
double minHighHitE_
Definition: HcalNoiseInfoProducer.h:130