CMS 3D CMS Logo

HcalHaloData.h
Go to the documentation of this file.
1 #ifndef DATAFORMATS_METRECO_HCALHALODATA_H
2 #define DATAFORMATS_METRECO_HCALHALODATA_H
3 /*
4  [class]: HcalHaloData
5  [authors]: R. Remington, The University of Florida
6  [description]: Container class to store beam halo data specific to the Hcal subdetector
7  [date]: October 15, 2009
8 */
9 #include <vector>
10 #include <cmath>
15 
17  std::vector<std::pair<uint8_t, CaloTowerDetId> > cellTowerIds;
18  float hadEt;
19  float energyRatio;
20  float emEt;
22  hadEt = 0.0;
23  energyRatio = -1.0;
24  emEt = 0.0;
25  cellTowerIds.clear();
26  }
28  cellTowerIds = strip.cellTowerIds;
29  hadEt = strip.hadEt;
30  energyRatio = strip.energyRatio;
31  emEt = strip.emEt;
32  }
33  HaloTowerStrip& operator=(const HaloTowerStrip&) = default;
34 };
35 
36 namespace reco {
37 
38  class HcalHaloData {
39  public:
40  //constructor
41  HcalHaloData();
42  //destructor
44 
45  // Return collection of 5-degree Phi Wedges built from Hcal RecHits
46  const std::vector<PhiWedge>& GetPhiWedges() const { return PhiWedgeCollection; }
47  std::vector<PhiWedge>& GetPhiWedges() { return PhiWedgeCollection; }
48 
49  // Return collection of problematic strips (pairs of # of problematic HCAL cells and CaloTowerDetId)
50  const std::vector<HaloTowerStrip>& getProblematicStrips() const { return problematicStripCollection; }
51  std::vector<HaloTowerStrip>& getProblematicStrips() { return problematicStripCollection; }
52 
53  const std::vector<HaloClusterCandidateHCAL>& getHaloClusterCandidatesHB() const { return thehaloclustercands_hb; }
54  std::vector<HaloClusterCandidateHCAL>& getHaloClusterCandidatesHB() { return thehaloclustercands_hb; }
55 
56  const std::vector<HaloClusterCandidateHCAL>& getHaloClusterCandidatesHE() const { return thehaloclustercands_he; }
57  std::vector<HaloClusterCandidateHCAL>& getHaloClusterCandidatesHE() { return thehaloclustercands_he; }
58 
59  void setHaloClusterCandidatesHB(const std::vector<HaloClusterCandidateHCAL>& x) { thehaloclustercands_hb = x; };
60  void setHaloClusterCandidatesHE(const std::vector<HaloClusterCandidateHCAL>& x) { thehaloclustercands_he = x; };
61 
62  private:
63  std::vector<PhiWedge> PhiWedgeCollection;
64  std::vector<HaloTowerStrip> problematicStripCollection;
65  std::vector<HaloClusterCandidateHCAL> thehaloclustercands_hb;
66  std::vector<HaloClusterCandidateHCAL> thehaloclustercands_he;
67  };
68 } // namespace reco
69 #endif
std::vector< HaloTowerStrip > problematicStripCollection
Definition: HcalHaloData.h:64
void setHaloClusterCandidatesHB(const std::vector< HaloClusterCandidateHCAL > &x)
Definition: HcalHaloData.h:59
std::vector< HaloClusterCandidateHCAL > thehaloclustercands_he
Definition: HcalHaloData.h:66
const std::vector< HaloClusterCandidateHCAL > & getHaloClusterCandidatesHB() const
Definition: HcalHaloData.h:53
const std::vector< HaloClusterCandidateHCAL > & getHaloClusterCandidatesHE() const
Definition: HcalHaloData.h:56
std::vector< HaloClusterCandidateHCAL > & getHaloClusterCandidatesHE()
Definition: HcalHaloData.h:57
HaloTowerStrip & operator=(const HaloTowerStrip &)=default
const std::vector< HaloTowerStrip > & getProblematicStrips() const
Definition: HcalHaloData.h:50
std::vector< HaloClusterCandidateHCAL > thehaloclustercands_hb
Definition: HcalHaloData.h:65
void setHaloClusterCandidatesHE(const std::vector< HaloClusterCandidateHCAL > &x)
Definition: HcalHaloData.h:60
std::vector< PhiWedge > PhiWedgeCollection
Definition: HcalHaloData.h:60
std::vector< PhiWedge > & GetPhiWedges()
Definition: HcalHaloData.h:47
fixed size matrix
HaloTowerStrip(const HaloTowerStrip &strip)
Definition: HcalHaloData.h:27
float x
std::vector< HaloTowerStrip > & getProblematicStrips()
Definition: HcalHaloData.h:51
const std::vector< PhiWedge > & GetPhiWedges() const
Definition: HcalHaloData.h:46
std::vector< HaloClusterCandidateHCAL > & getHaloClusterCandidatesHB()
Definition: HcalHaloData.h:54
std::vector< std::pair< uint8_t, CaloTowerDetId > > cellTowerIds
Definition: HcalHaloData.h:17