CMS 3D CMS Logo

HBHEIsolatedNoiseAlgos.h
Go to the documentation of this file.
1 #ifndef __HBHE_ISOLATED_NOISE_ALGOS_H__
2 #define __HBHE_ISOLATED_NOISE_ALGOS_H__
3 
4 /*
5 Description: Isolation algorithms used to identify anomalous noise in the HB/HE.
6  These algorithms will be used to reflag HB/HE rechits as noise.
7 
8  There are 6 objects defined here:
9  1) ObjectValidatorAbs
10  2) ObjectValidator
11  3) PhysicsTower
12  4) PhysicsTowerOrganizer
13  5) HBHEHitMap
14  6) HBHEHitMapOrganizer
15  See comments below for details.
16 
17 Original Author: John Paul Chou (Brown University)
18  Thursday, September 2, 2010
19 */
20 
21 // system include files
22 #include <memory>
23 #include <string>
24 #include <vector>
25 
26 // user include files
29 
37 
38 #include <vector>
39 #include <set>
40 #include <map>
41 
42 // forward declarations
43 class HBHERecHit;
44 class EcalRecHit;
45 class HcalChannelQuality;
48 
50 //
51 // ObjectValidator
52 //
53 // determines if an ECAL hit, HCAL hit, or track is valid or not.
54 // Note that various objects need to be passed to the validator before use.
55 // ObjectValidatorAbs provides a base class in case you want to change the
56 // hit/track validation algorithms.
58 
60 public:
62  virtual ~ObjectValidatorAbs() {}
63 
64  virtual bool validHit(const HBHERecHit&) const = 0;
65  virtual bool validHit(const EcalRecHit&) const = 0;
66  virtual bool validTrack(const reco::Track&) const = 0;
67 };
68 
70 public:
71  explicit ObjectValidator(const edm::ParameterSet&);
73  double HESThreshold,
74  double HEDThreshold,
75  double EBThreshold,
76  double EEThreshold,
77  uint32_t HcalAcceptSeverityLevel,
78  uint32_t EcalAcceptSeverityLevel,
81  double MinValidTrackPt,
82  double MinValidTrackPtBarrel,
96  theHcalChStatus_(nullptr),
97  theEcalChStatus_(nullptr),
98  theHcalSevLvlComputer_(nullptr),
99  theEcalSevLvlAlgo_(nullptr),
100  theEBRecHitCollection_(nullptr),
101  theEERecHitCollection_(nullptr) {}
102  ~ObjectValidator() override;
103 
110 
111  bool validHit(const HBHERecHit&) const override;
112  bool validHit(const EcalRecHit&) const override;
113  bool validTrack(const reco::Track&) const override;
114 
115 private:
116  double HBThreshold_; // energy threshold for HB hits
117  double HESThreshold_; // energy threshold for 5-degree (phi) HE hits
118  double HEDThreshold_; // energy threshold for 10-degree (phi) HE hits
119  double EBThreshold_; // energy threshold for EB hits
120  double EEThreshold_; // energy threshold for EE hits
121 
122  uint32_t HcalAcceptSeverityLevel_; // severity level to accept HCAL hits
123  uint32_t EcalAcceptSeverityLevel_; // severity level to accept ECAL hits
124  bool UseHcalRecoveredHits_; // whether or not to use recovered HCAL hits
125  bool UseEcalRecoveredHits_; // whether or not to use recovered HCAL hits
126  bool UseAllCombinedRechits_; // whether to use all "Plan 1" combined rechits
127 
128  double MinValidTrackPt_; // minimum valid track pT
129  double MinValidTrackPtBarrel_; // minimum valid track pT in the Barrel
130  int MinValidTrackNHits_; // minimum number of hits needed for a valid track
131 
132  // for checking the status of ECAL and HCAL channels stored in the DB
135 
136  // calculator of severety level for ECAL and HCAL
139 
140  // needed to determine an ECAL channel's validity
143 };
144 
146 //
147 // PhysicsTower
148 //
149 // basic structure to hold information relevant at the tower level
150 // consists of hcal hits, ecal hits, and tracks
152 
153 struct PhysicsTower {
155  std::set<const HBHERecHit*> hcalhits;
156  std::set<const EcalRecHit*> ecalhits;
157  std::set<const reco::Track*> tracks;
158 };
159 
161 //
162 // PhysicsTowerOrganizer
163 //
164 // Organizers the PhysicsTowers into CaloTower (ieta,iphi) space.
165 // Also provides methods to find a towers nearest neighbors.
166 // For simplicity, merges the ieta=28 and ieta=29 towers together (calls them
167 // tower "28", collectively).
169 
171 public:
172  struct towercmp {
173  bool operator()(const PhysicsTower& lhs, const PhysicsTower& rhs) const { return (lhs.id < rhs.id); }
174  };
175 
177  const edm::EventSetup& evSetup,
178  const edm::Handle<HBHERecHitCollection>& hbhehitcoll_h,
179  const edm::Handle<EcalRecHitCollection>& ebhitcoll_h,
180  const edm::Handle<EcalRecHitCollection>& eehitcoll_h,
181  const edm::Handle<std::vector<reco::TrackExtrapolation> >& trackextrapcoll_h,
182  const ObjectValidatorAbs& objectvalidator,
183  const CaloTowerConstituentsMap& ctcm);
184 
186 
187  // find a PhysicsTower by some coordinate
188  inline const PhysicsTower* findTower(const CaloTowerDetId& id) const;
189  inline const PhysicsTower* findTower(int ieta, int iphi) const;
190 
191  // get the neighbors +/- 1 in eta-space or +/- 1 in phi-space
192  // (accounts for change in phi-segmentation starting with eta=21)
193  void findNeighbors(const CaloTowerDetId& id, std::set<const PhysicsTower*>& neighbors) const;
194  void findNeighbors(const PhysicsTower* twr, std::set<const PhysicsTower*>& neighbors) const;
195  void findNeighbors(int ieta, int iphi, std::set<const PhysicsTower*>& neighbors) const;
196 
197 private:
198  // the non-const, private version of findTower()
200  PhysicsTower* findTower(int ieta, int iphi);
201 
202  void insert_(CaloTowerDetId& id, const HBHERecHit* hit);
203  void insert_(CaloTowerDetId& id, const EcalRecHit* hit);
204  void insert_(CaloTowerDetId& id, const reco::Track* hit);
205 
206  std::set<PhysicsTower, towercmp> towers_;
207 };
208 
210 //
211 // HBHEHitMap
212 //
213 // Collection of HBHERecHits and their associated PhysicsTowers.
214 // Typically, these maps are organized into RBXs, HPDs, dihits, or monohits.
215 // From this one may calculate the hcal, ecal, and track energy associated
216 // with these hits.
217 //
218 // N.B. Many, of the operations can be computationally expensive and should be
219 // used with care.
221 
222 class HBHEHitMap {
223 public:
224  typedef std::map<const HBHERecHit*, const PhysicsTower*>::const_iterator hitmap_const_iterator;
225  typedef std::set<const PhysicsTower*>::const_iterator neighbor_const_iterator;
226 
227  struct twrinfo {
228  double hcalInMap;
229  double hcalOutOfMap;
230  double ecal;
231  double track;
232  };
233 
234  HBHEHitMap();
235  virtual ~HBHEHitMap() {}
236 
237  // energy of the hits in this collection
238  double hitEnergy(void) const;
239 
240  // energy of the hits in a region fiducial to tracks
241  double hitEnergyTrackFiducial(void) const;
242 
243  // number of hits in this collection
244  int nHits(void) const;
245 
246  // same as above, except for the HCAL hits, ECAL hits, and tracks in the same towers as the hits
247  // note that HCAL hits may be present in the same tower, but not be a part of the collection
248  double hcalEnergySameTowers(void) const;
249  double ecalEnergySameTowers(void) const;
250  double trackEnergySameTowers(void) const;
251  int nHcalHitsSameTowers(void) const;
252  int nEcalHitsSameTowers(void) const;
253  int nTracksSameTowers(void) const;
254  void hcalHitsSameTowers(std::set<const HBHERecHit*>& v) const;
255  void ecalHitsSameTowers(std::set<const EcalRecHit*>& v) const;
256  void tracksSameTowers(std::set<const reco::Track*>& v) const;
257 
258  // same as above except for the hits and tracks in the neighboring towers to the hits in the collection
259  double hcalEnergyNeighborTowers(void) const;
260  double ecalEnergyNeighborTowers(void) const;
261  double trackEnergyNeighborTowers(void) const;
262  int nHcalHitsNeighborTowers(void) const;
263  int nEcalHitsNeighborTowers(void) const;
264  int nTracksNeighborTowers(void) const;
265  void hcalHitsNeighborTowers(std::set<const HBHERecHit*>& v) const;
266  void ecalHitsNeighborTowers(std::set<const EcalRecHit*>& v) const;
267  void tracksNeighborTowers(std::set<const reco::Track*>& v) const;
268 
269  // gives the total energy due to hcal, ecal, and tracks tower-by-tower
270  // separates the hcal energy into that which is a hit in the collection, and that which is not
271  void byTowers(std::vector<twrinfo>& v) const;
272 
273  // find a hit in the hitmap
274  hitmap_const_iterator findHit(const HBHERecHit* hit) const { return hits_.find(hit); }
275 
276  // find a neighbor
277  neighbor_const_iterator findNeighbor(const PhysicsTower* twr) const { return neighbors_.find(twr); }
278 
279  // add a hit to the hitmap
280  void insert(const HBHERecHit* hit, const PhysicsTower* twr, std::set<const PhysicsTower*>& neighbors);
281 
282  // access to the private maps and sets
283  inline hitmap_const_iterator beginHits(void) const { return hits_.begin(); }
284  inline hitmap_const_iterator endHits(void) const { return hits_.end(); }
285 
286  inline neighbor_const_iterator beginNeighbors(void) const { return neighbors_.begin(); }
287  inline neighbor_const_iterator endNeighbors(void) const { return neighbors_.end(); }
288 
289 private:
290  std::map<const HBHERecHit*, const PhysicsTower*> hits_;
291  std::set<const PhysicsTower*> neighbors_;
292 
293  void calcHits_(void) const;
294  mutable double hitEnergy_;
295  mutable double hitEnergyTrkFid_;
296  mutable int nHits_;
297 
298  void calcHcalSameTowers_(void) const;
299  mutable double hcalEnergySameTowers_;
300  mutable int nHcalHitsSameTowers_;
301 
302  void calcEcalSameTowers_(void) const;
303  mutable double ecalEnergySameTowers_;
304  mutable int nEcalHitsSameTowers_;
305 
306  void calcTracksSameTowers_(void) const;
307  mutable double trackEnergySameTowers_;
308  mutable int nTracksSameTowers_;
309 
310  void calcHcalNeighborTowers_(void) const;
313 
314  void calcEcalNeighborTowers_(void) const;
317 
318  void calcTracksNeighborTowers_(void) const;
321 };
322 
324 //
325 // HBHEHitMapOrganizer
326 //
327 // Organizers the HBHEHitMaps into RBXs, HPDs, dihits, and monohits
329 
331 public:
333  const ObjectValidatorAbs& objvalidator,
334  const PhysicsTowerOrganizer& pto,
335  const HcalFrontEndMap* hfemap);
336 
337  virtual ~HBHEHitMapOrganizer() {}
338 
339  void getRBXs(std::vector<HBHEHitMap>& v, double energy) const;
340  void getHPDs(std::vector<HBHEHitMap>& v, double energy) const;
341  void getDiHits(std::vector<HBHEHitMap>& v, double energy) const;
342  void getMonoHits(std::vector<HBHEHitMap>& v, double energy) const;
343 
344 private:
346  std::map<int, HBHEHitMap> rbxs_, hpds_;
347  std::vector<HBHEHitMap> dihits_, monohits_;
348 
349  // helper functions
350  // finds all of the hits which are neighbors and in the same HPD as the reference hit
351  void getHPDNeighbors(const HBHERecHit* hit,
352  std::vector<const HBHERecHit*>& neighbors,
353  const PhysicsTowerOrganizer& pto);
354 };
355 
356 #endif
HLT_2018_cff.HcalAcceptSeverityLevel
HcalAcceptSeverityLevel
Definition: HLT_2018_cff.py:7147
HBHEHitMap::trackEnergyNeighborTowers_
double trackEnergyNeighborTowers_
Definition: HBHEIsolatedNoiseAlgos.h:319
EcalSeverityLevelAlgo
Definition: EcalSeverityLevelAlgo.h:33
HBHEHitMap::calcEcalNeighborTowers_
void calcEcalNeighborTowers_(void) const
Definition: HBHEIsolatedNoiseAlgos.cc:716
HBHEHitMap::twrinfo::hcalOutOfMap
double hcalOutOfMap
Definition: HBHEIsolatedNoiseAlgos.h:229
EcalRecHit
Definition: EcalRecHit.h:15
HBHEHitMap::tracksNeighborTowers
void tracksNeighborTowers(std::set< const reco::Track * > &v) const
Definition: HBHEIsolatedNoiseAlgos.cc:623
HBHEHitMap::ecalEnergyNeighborTowers_
double ecalEnergyNeighborTowers_
Definition: HBHEIsolatedNoiseAlgos.h:315
PhysicsTower::hcalhits
std::set< const HBHERecHit * > hcalhits
Definition: HBHEIsolatedNoiseAlgos.h:155
ObjectValidator::theHcalSevLvlComputer_
const HcalSeverityLevelComputer * theHcalSevLvlComputer_
Definition: HBHEIsolatedNoiseAlgos.h:137
PhysicsTowerOrganizer::towercmp
Definition: HBHEIsolatedNoiseAlgos.h:172
HBHEHitMap::trackEnergySameTowers
double trackEnergySameTowers(void) const
Definition: HBHEIsolatedNoiseAlgos.cc:525
HBHEHitMap::nHcalHitsSameTowers
int nHcalHitsSameTowers(void) const
Definition: HBHEIsolatedNoiseAlgos.cc:507
ObjectValidator::setEcalChannelStatus
void setEcalChannelStatus(const EcalChannelStatus *q)
Definition: HBHEIsolatedNoiseAlgos.h:105
ObjectValidator::UseEcalRecoveredHits_
bool UseEcalRecoveredHits_
Definition: HBHEIsolatedNoiseAlgos.h:125
HBHEHitMap::hitEnergy
double hitEnergy(void) const
Definition: HBHEIsolatedNoiseAlgos.cc:483
CaloTowerConstituentsMap.h
ObjectValidator::theHcalChStatus_
const HcalChannelQuality * theHcalChStatus_
Definition: HBHEIsolatedNoiseAlgos.h:133
ObjectValidatorAbs::ObjectValidatorAbs
ObjectValidatorAbs()
Definition: HBHEIsolatedNoiseAlgos.h:61
HBHEHitMapOrganizer::getHPDs
void getHPDs(std::vector< HBHEHitMap > &v, double energy) const
Definition: HBHEIsolatedNoiseAlgos.cc:816
ObjectValidatorAbs::~ObjectValidatorAbs
virtual ~ObjectValidatorAbs()
Definition: HBHEIsolatedNoiseAlgos.h:62
HBHEHitMapOrganizer::hfemap_
const HcalFrontEndMap * hfemap_
Definition: HBHEIsolatedNoiseAlgos.h:345
HBHERecHit
Definition: HBHERecHit.h:13
ObjectValidator::~ObjectValidator
~ObjectValidator() override
Definition: HBHEIsolatedNoiseAlgos.cc:70
HBHEHitMap::calcTracksNeighborTowers_
void calcTracksNeighborTowers_(void) const
Definition: HBHEIsolatedNoiseAlgos.cc:729
HBHEHitMap::calcTracksSameTowers_
void calcTracksSameTowers_(void) const
Definition: HBHEIsolatedNoiseAlgos.cc:690
ObjectValidator
Definition: HBHEIsolatedNoiseAlgos.h:69
data-class-funcs.q
q
Definition: data-class-funcs.py:169
HBHEHitMap::findNeighbor
neighbor_const_iterator findNeighbor(const PhysicsTower *twr) const
Definition: HBHEIsolatedNoiseAlgos.h:277
HLT_2018_cff.UseHcalRecoveredHits
UseHcalRecoveredHits
Definition: HLT_2018_cff.py:7291
HBHEIsolatedNoiseReflagger_cfi.MinValidTrackPtBarrel
MinValidTrackPtBarrel
Definition: HBHEIsolatedNoiseReflagger_cfi.py:58
ObjectValidator::UseHcalRecoveredHits_
bool UseHcalRecoveredHits_
Definition: HBHEIsolatedNoiseAlgos.h:124
HBHEHitMap::nHcalHitsSameTowers_
int nHcalHitsSameTowers_
Definition: HBHEIsolatedNoiseAlgos.h:300
ObjectValidator::validHit
bool validHit(const HBHERecHit &) const override
Definition: HBHEIsolatedNoiseAlgos.cc:72
edm::SortedCollection< EcalRecHit >
PhysicsTower::tracks
std::set< const reco::Track * > tracks
Definition: HBHEIsolatedNoiseAlgos.h:157
ObjectValidatorAbs::validHit
virtual bool validHit(const HBHERecHit &) const =0
HBHEHitMap::nEcalHitsSameTowers
int nEcalHitsSameTowers(void) const
Definition: HBHEIsolatedNoiseAlgos.cc:519
HBHEHitMap::HBHEHitMap
HBHEHitMap()
Definition: HBHEIsolatedNoiseAlgos.cc:474
HcalChannelQuality
Definition: HcalChannelQuality.h:17
HBHEHitMapOrganizer::HBHEHitMapOrganizer
HBHEHitMapOrganizer(const edm::Handle< HBHERecHitCollection > &hbhehitcoll_h, const ObjectValidatorAbs &objvalidator, const PhysicsTowerOrganizer &pto, const HcalFrontEndMap *hfemap)
Definition: HBHEIsolatedNoiseAlgos.cc:748
findQualityFiles.v
v
Definition: findQualityFiles.py:179
HBHEHitMap::neighbor_const_iterator
std::set< const PhysicsTower * >::const_iterator neighbor_const_iterator
Definition: HBHEIsolatedNoiseAlgos.h:225
EcalCondObjectContainer< EcalChannelStatusCode >
edm::Handle
Definition: AssociativeIterator.h:50
ObjectValidator::EcalAcceptSeverityLevel_
uint32_t EcalAcceptSeverityLevel_
Definition: HBHEIsolatedNoiseAlgos.h:123
HBHEHitMap::endNeighbors
neighbor_const_iterator endNeighbors(void) const
Definition: HBHEIsolatedNoiseAlgos.h:287
EcalRecHitCollections.h
HBHEHitMap::beginHits
hitmap_const_iterator beginHits(void) const
Definition: HBHEIsolatedNoiseAlgos.h:283
HBHEHitMapOrganizer::rbxs_
std::map< int, HBHEHitMap > rbxs_
Definition: HBHEIsolatedNoiseAlgos.h:346
ObjectValidatorAbs
Definition: HBHEIsolatedNoiseAlgos.h:59
PhysicsTowerOrganizer::towers_
std::set< PhysicsTower, towercmp > towers_
Definition: HBHEIsolatedNoiseAlgos.h:206
LEDCalibrationChannels.iphi
iphi
Definition: LEDCalibrationChannels.py:64
TrackExtrapolation.h
HBHEHitMapOrganizer::getRBXs
void getRBXs(std::vector< HBHEHitMap > &v, double energy) const
Definition: HBHEIsolatedNoiseAlgos.cc:807
HLT_2018_cff.HEDThreshold
HEDThreshold
Definition: HLT_2018_cff.py:7287
HBHEHitMap::twrinfo::track
double track
Definition: HBHEIsolatedNoiseAlgos.h:231
HBHEHitMap
Definition: HBHEIsolatedNoiseAlgos.h:222
HLT_2018_cff.HESThreshold
HESThreshold
Definition: HLT_2018_cff.py:7262
HBHEHitMap::ecalHitsSameTowers
void ecalHitsSameTowers(std::set< const EcalRecHit * > &v) const
Definition: HBHEIsolatedNoiseAlgos.cc:552
HBHEHitMap::hcalHitsNeighborTowers
void hcalHitsNeighborTowers(std::set< const HBHERecHit * > &v) const
Definition: HBHEIsolatedNoiseAlgos.cc:604
HBHEHitMapOrganizer
Definition: HBHEIsolatedNoiseAlgos.h:330
PhysicsTowerOrganizer::findTower
const PhysicsTower * findTower(const CaloTowerDetId &id) const
Definition: HBHEIsolatedNoiseAlgos.cc:252
ObjectValidator::theEcalChStatus_
const EcalChannelStatus * theEcalChStatus_
Definition: HBHEIsolatedNoiseAlgos.h:134
TrackFwd.h
HBHEHitMap::nEcalHitsNeighborTowers
int nEcalHitsNeighborTowers(void) const
Definition: HBHEIsolatedNoiseAlgos.cc:586
HBHEHitMap::nHcalHitsNeighborTowers
int nHcalHitsNeighborTowers(void) const
Definition: HBHEIsolatedNoiseAlgos.cc:574
ObjectValidator::setEERecHitCollection
void setEERecHitCollection(const EcalRecHitCollection *q)
Definition: HBHEIsolatedNoiseAlgos.h:109
ObjectValidator::theEERecHitCollection_
const EcalRecHitCollection * theEERecHitCollection_
Definition: HBHEIsolatedNoiseAlgos.h:142
HLT_2018_cff.UseEcalRecoveredHits
UseEcalRecoveredHits
Definition: HLT_2018_cff.py:7241
HBHEHitMap::ecalEnergySameTowers
double ecalEnergySameTowers(void) const
Definition: HBHEIsolatedNoiseAlgos.cc:513
HcalSeverityLevelComputer
Definition: HcalSeverityLevelComputer.h:24
reco::Track
Definition: Track.h:27
CaloTowerConstituentsMap
Definition: CaloTowerConstituentsMap.h:18
HBHEHitMapOrganizer::getDiHits
void getDiHits(std::vector< HBHEHitMap > &v, double energy) const
Definition: HBHEIsolatedNoiseAlgos.cc:825
PhysicsTower::id
CaloTowerDetId id
Definition: HBHEIsolatedNoiseAlgos.h:154
ObjectValidator::EBThreshold_
double EBThreshold_
Definition: HBHEIsolatedNoiseAlgos.h:119
PhysicsTowerOrganizer
Definition: HBHEIsolatedNoiseAlgos.h:170
HCALHighEnergyHPDFilter_cfi.energy
energy
Definition: HCALHighEnergyHPDFilter_cfi.py:5
ObjectValidator::setHcalSeverityLevelComputer
void setHcalSeverityLevelComputer(const HcalSeverityLevelComputer *q)
Definition: HBHEIsolatedNoiseAlgos.h:106
HBHEHitMap::nTracksNeighborTowers
int nTracksNeighborTowers(void) const
Definition: HBHEIsolatedNoiseAlgos.cc:598
HLT_2018_cff.EBThreshold
EBThreshold
Definition: HLT_2018_cff.py:7289
ObjectValidator::theEBRecHitCollection_
const EcalRecHitCollection * theEBRecHitCollection_
Definition: HBHEIsolatedNoiseAlgos.h:141
ObjectValidator::validTrack
bool validTrack(const reco::Track &) const override
Definition: HBHEIsolatedNoiseAlgos.cc:135
HBHEHitMap::nTracksSameTowers_
int nTracksSameTowers_
Definition: HBHEIsolatedNoiseAlgos.h:308
HBHEHitMap::nHits
int nHits(void) const
Definition: HBHEIsolatedNoiseAlgos.cc:489
HBHEHitMap::calcHcalSameTowers_
void calcHcalSameTowers_(void) const
Definition: HBHEIsolatedNoiseAlgos.cc:664
HBHEHitMapOrganizer::~HBHEHitMapOrganizer
virtual ~HBHEHitMapOrganizer()
Definition: HBHEIsolatedNoiseAlgos.h:337
HBHEHitMap::nTracksNeighborTowers_
int nTracksNeighborTowers_
Definition: HBHEIsolatedNoiseAlgos.h:320
CaloTowerSchemeBnoEE_cfi.EcalAcceptSeverityLevel
EcalAcceptSeverityLevel
Definition: CaloTowerSchemeBnoEE_cfi.py:52
HBHEHitMap::ecalEnergyNeighborTowers
double ecalEnergyNeighborTowers(void) const
Definition: HBHEIsolatedNoiseAlgos.cc:580
HLT_2018_cff.EEThreshold
EEThreshold
Definition: HLT_2018_cff.py:7269
HcalFrontEndMap.h
HBHEHitMap::tracksSameTowers
void tracksSameTowers(std::set< const reco::Track * > &v) const
Definition: HBHEIsolatedNoiseAlgos.cc:560
LEDCalibrationChannels.ieta
ieta
Definition: LEDCalibrationChannels.py:63
HBHEHitMap::trackEnergyNeighborTowers
double trackEnergyNeighborTowers(void) const
Definition: HBHEIsolatedNoiseAlgos.cc:592
HBHEHitMapOrganizer::getHPDNeighbors
void getHPDNeighbors(const HBHERecHit *hit, std::vector< const HBHERecHit * > &neighbors, const PhysicsTowerOrganizer &pto)
Definition: HBHEIsolatedNoiseAlgos.cc:841
HBHEHitMap::nHits_
int nHits_
Definition: HBHEIsolatedNoiseAlgos.h:296
edm::ParameterSet
Definition: ParameterSet.h:36
ObjectValidator::setEcalSeverityLevelAlgo
void setEcalSeverityLevelAlgo(const EcalSeverityLevelAlgo *q)
Definition: HBHEIsolatedNoiseAlgos.h:107
Event.h
HLT_2018_cff.HBThreshold
HBThreshold
Definition: HLT_2018_cff.py:7239
ObjectValidator::HESThreshold_
double HESThreshold_
Definition: HBHEIsolatedNoiseAlgos.h:117
HBHEHitMap::ecalHitsNeighborTowers
void ecalHitsNeighborTowers(std::set< const EcalRecHit * > &v) const
Definition: HBHEIsolatedNoiseAlgos.cc:613
PhysicsTower::ecalhits
std::set< const EcalRecHit * > ecalhits
Definition: HBHEIsolatedNoiseAlgos.h:156
HBHEHitMap::hits_
std::map< const HBHERecHit *, const PhysicsTower * > hits_
Definition: HBHEIsolatedNoiseAlgos.h:290
HBHEHitMap::hitEnergy_
double hitEnergy_
Definition: HBHEIsolatedNoiseAlgos.h:294
HBHEHitMap::twrinfo
Definition: HBHEIsolatedNoiseAlgos.h:227
ObjectValidator::HEDThreshold_
double HEDThreshold_
Definition: HBHEIsolatedNoiseAlgos.h:118
iEvent
int iEvent
Definition: GenABIO.cc:224
HBHEHitMap::byTowers
void byTowers(std::vector< twrinfo > &v) const
Definition: HBHEIsolatedNoiseAlgos.cc:632
ObjectValidator::MinValidTrackNHits_
int MinValidTrackNHits_
Definition: HBHEIsolatedNoiseAlgos.h:130
HBHEHitMap::hcalEnergySameTowers
double hcalEnergySameTowers(void) const
Definition: HBHEIsolatedNoiseAlgos.cc:501
HBHEHitMap::trackEnergySameTowers_
double trackEnergySameTowers_
Definition: HBHEIsolatedNoiseAlgos.h:307
ObjectValidator::UseAllCombinedRechits_
bool UseAllCombinedRechits_
Definition: HBHEIsolatedNoiseAlgos.h:126
PhysicsTowerOrganizer::~PhysicsTowerOrganizer
virtual ~PhysicsTowerOrganizer()
Definition: HBHEIsolatedNoiseAlgos.h:185
HBHEHitMap::findHit
hitmap_const_iterator findHit(const HBHERecHit *hit) const
Definition: HBHEIsolatedNoiseAlgos.h:274
edm::EventSetup
Definition: EventSetup.h:57
ObjectValidator::setEBRecHitCollection
void setEBRecHitCollection(const EcalRecHitCollection *q)
Definition: HBHEIsolatedNoiseAlgos.h:108
HBHEHitMap::insert
void insert(const HBHERecHit *hit, const PhysicsTower *twr, std::set< const PhysicsTower * > &neighbors)
Definition: HBHEIsolatedNoiseAlgos.cc:634
HBHEHitMap::calcHcalNeighborTowers_
void calcHcalNeighborTowers_(void) const
Definition: HBHEIsolatedNoiseAlgos.cc:703
HBHEHitMap::calcEcalSameTowers_
void calcEcalSameTowers_(void) const
Definition: HBHEIsolatedNoiseAlgos.cc:677
HBHEIsolatedNoiseReflagger_cfi.MinValidTrackPt
MinValidTrackPt
Definition: HBHEIsolatedNoiseReflagger_cfi.py:57
PhysicsTowerOrganizer::PhysicsTowerOrganizer
PhysicsTowerOrganizer(const edm::Event &iEvent, const edm::EventSetup &evSetup, const edm::Handle< HBHERecHitCollection > &hbhehitcoll_h, const edm::Handle< EcalRecHitCollection > &ebhitcoll_h, const edm::Handle< EcalRecHitCollection > &eehitcoll_h, const edm::Handle< std::vector< reco::TrackExtrapolation > > &trackextrapcoll_h, const ObjectValidatorAbs &objectvalidator, const CaloTowerConstituentsMap &ctcm)
Definition: HBHEIsolatedNoiseAlgos.cc:151
HBHEHitMap::twrinfo::hcalInMap
double hcalInMap
Definition: HBHEIsolatedNoiseAlgos.h:228
HBHEHitMap::hitEnergyTrkFid_
double hitEnergyTrkFid_
Definition: HBHEIsolatedNoiseAlgos.h:295
HBHEHitMap::hcalEnergyNeighborTowers
double hcalEnergyNeighborTowers(void) const
Definition: HBHEIsolatedNoiseAlgos.cc:568
ObjectValidator::ObjectValidator
ObjectValidator(double HBThreshold, double HESThreshold, double HEDThreshold, double EBThreshold, double EEThreshold, uint32_t HcalAcceptSeverityLevel, uint32_t EcalAcceptSeverityLevel, bool UseHcalRecoveredHits, bool UseEcalRecoveredHits, double MinValidTrackPt, double MinValidTrackPtBarrel, int MinValidTrackNHits)
Definition: HBHEIsolatedNoiseAlgos.h:72
PhysicsTower
Definition: HBHEIsolatedNoiseAlgos.h:153
ObjectValidator::HBThreshold_
double HBThreshold_
Definition: HBHEIsolatedNoiseAlgos.h:116
HBHEHitMap::nEcalHitsNeighborTowers_
int nEcalHitsNeighborTowers_
Definition: HBHEIsolatedNoiseAlgos.h:316
HBHEHitMapOrganizer::hpds_
std::map< int, HBHEHitMap > hpds_
Definition: HBHEIsolatedNoiseAlgos.h:346
HBHEHitMap::neighbors_
std::set< const PhysicsTower * > neighbors_
Definition: HBHEIsolatedNoiseAlgos.h:291
HBHEHitMap::ecalEnergySameTowers_
double ecalEnergySameTowers_
Definition: HBHEIsolatedNoiseAlgos.h:303
HBHEHitMapOrganizer::monohits_
std::vector< HBHEHitMap > monohits_
Definition: HBHEIsolatedNoiseAlgos.h:347
PhysicsTowerOrganizer::insert_
void insert_(CaloTowerDetId &id, const HBHERecHit *hit)
Definition: HBHEIsolatedNoiseAlgos.cc:420
HBHEHitMap::hcalHitsSameTowers
void hcalHitsSameTowers(std::set< const HBHERecHit * > &v) const
Definition: HBHEIsolatedNoiseAlgos.cc:537
HBHEHitMap::nEcalHitsSameTowers_
int nEcalHitsSameTowers_
Definition: HBHEIsolatedNoiseAlgos.h:304
HBHEHitMap::hcalEnergySameTowers_
double hcalEnergySameTowers_
Definition: HBHEIsolatedNoiseAlgos.h:299
HBHEIsolatedNoiseReflagger_cfi.MinValidTrackNHits
MinValidTrackNHits
Definition: HBHEIsolatedNoiseReflagger_cfi.py:59
HBHEHitMap::nHcalHitsNeighborTowers_
int nHcalHitsNeighborTowers_
Definition: HBHEIsolatedNoiseAlgos.h:312
ObjectValidator::EEThreshold_
double EEThreshold_
Definition: HBHEIsolatedNoiseAlgos.h:120
HBHEHitMap::endHits
hitmap_const_iterator endHits(void) const
Definition: HBHEIsolatedNoiseAlgos.h:284
HBHEHitMap::hitEnergyTrackFiducial
double hitEnergyTrackFiducial(void) const
Definition: HBHEIsolatedNoiseAlgos.cc:495
HcalFrontEndMap
Definition: HcalFrontEndMap.h:23
ObjectValidator::ObjectValidator
ObjectValidator(const edm::ParameterSet &)
Definition: HBHEIsolatedNoiseAlgos.cc:43
HBHEHitMap::nTracksSameTowers
int nTracksSameTowers(void) const
Definition: HBHEIsolatedNoiseAlgos.cc:531
ObjectValidator::theEcalSevLvlAlgo_
const EcalSeverityLevelAlgo * theEcalSevLvlAlgo_
Definition: HBHEIsolatedNoiseAlgos.h:138
HcalRecHitCollections.h
HBHEHitMap::calcHits_
void calcHits_(void) const
Definition: HBHEIsolatedNoiseAlgos.cc:650
ObjectValidator::setHcalChannelQuality
void setHcalChannelQuality(const HcalChannelQuality *q)
Definition: HBHEIsolatedNoiseAlgos.h:104
PhysicsTowerOrganizer::towercmp::operator()
bool operator()(const PhysicsTower &lhs, const PhysicsTower &rhs) const
Definition: HBHEIsolatedNoiseAlgos.h:173
HBHEHitMap::hitmap_const_iterator
std::map< const HBHERecHit *, const PhysicsTower * >::const_iterator hitmap_const_iterator
Definition: HBHEIsolatedNoiseAlgos.h:224
HBHEHitMap::~HBHEHitMap
virtual ~HBHEHitMap()
Definition: HBHEIsolatedNoiseAlgos.h:235
ObjectValidator::HcalAcceptSeverityLevel_
uint32_t HcalAcceptSeverityLevel_
Definition: HBHEIsolatedNoiseAlgos.h:122
HBHEHitMapOrganizer::dihits_
std::vector< HBHEHitMap > dihits_
Definition: HBHEIsolatedNoiseAlgos.h:347
ObjectValidator::MinValidTrackPt_
double MinValidTrackPt_
Definition: HBHEIsolatedNoiseAlgos.h:128
ParameterSet.h
edm::Event
Definition: Event.h:73
HBHEHitMap::hcalEnergyNeighborTowers_
double hcalEnergyNeighborTowers_
Definition: HBHEIsolatedNoiseAlgos.h:311
HBHEHitMapOrganizer::getMonoHits
void getMonoHits(std::vector< HBHEHitMap > &v, double energy) const
Definition: HBHEIsolatedNoiseAlgos.cc:833
EcalChannelStatus.h
hit
Definition: SiStripHitEffFromCalibTree.cc:88
ObjectValidatorAbs::validTrack
virtual bool validTrack(const reco::Track &) const =0
PhysicsTowerOrganizer::findNeighbors
void findNeighbors(const CaloTowerDetId &id, std::set< const PhysicsTower * > &neighbors) const
Definition: HBHEIsolatedNoiseAlgos.cc:280
CaloTowerDetId
Definition: CaloTowerDetId.h:12
HBHEHitMap::twrinfo::ecal
double ecal
Definition: HBHEIsolatedNoiseAlgos.h:230
HBHEHitMap::beginNeighbors
neighbor_const_iterator beginNeighbors(void) const
Definition: HBHEIsolatedNoiseAlgos.h:286
ObjectValidator::MinValidTrackPtBarrel_
double MinValidTrackPtBarrel_
Definition: HBHEIsolatedNoiseAlgos.h:129