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>
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 };
34 
35 namespace reco {
36 
37  class HcalHaloData {
38 
39  public:
40  //constructor
41  HcalHaloData();
42  //destructor
44 
45 
46 
47  // Return collection of 5-degree Phi Wedges built from Hcal RecHits
48  const std::vector<PhiWedge>& GetPhiWedges() const {return PhiWedgeCollection;}
49  std::vector<PhiWedge>& GetPhiWedges() {return PhiWedgeCollection;}
50 
51  // Return collection of problematic strips (pairs of # of problematic HCAL cells and CaloTowerDetId)
52  const std::vector<HaloTowerStrip>& getProblematicStrips() const {return problematicStripCollection;}
53  std::vector<HaloTowerStrip>& getProblematicStrips() {return problematicStripCollection;}
54 
55  const std::vector<HaloClusterCandidateHCAL>& getHaloClusterCandidatesHB() const {return thehaloclustercands_hb;}
56  std::vector<HaloClusterCandidateHCAL>& getHaloClusterCandidatesHB(){return thehaloclustercands_hb;}
57 
58  const std::vector<HaloClusterCandidateHCAL>& getHaloClusterCandidatesHE() const {return thehaloclustercands_he;}
59  std::vector<HaloClusterCandidateHCAL>& getHaloClusterCandidatesHE(){return thehaloclustercands_he;}
60 
61  void setHaloClusterCandidatesHB(const std::vector<HaloClusterCandidateHCAL>& x){thehaloclustercands_hb =x;};
62  void setHaloClusterCandidatesHE(const std::vector<HaloClusterCandidateHCAL>& x){thehaloclustercands_he =x;};
63 
64  private:
65  std::vector<PhiWedge> PhiWedgeCollection;
66  std::vector<HaloTowerStrip> problematicStripCollection;
67  std::vector<HaloClusterCandidateHCAL> thehaloclustercands_hb;
68  std::vector<HaloClusterCandidateHCAL> thehaloclustercands_he;
69 
70  };
71 }
72 #endif
std::vector< HaloTowerStrip > problematicStripCollection
Definition: HcalHaloData.h:66
const std::vector< HaloClusterCandidateHCAL > & getHaloClusterCandidatesHB() const
Definition: HcalHaloData.h:55
void setHaloClusterCandidatesHB(const std::vector< HaloClusterCandidateHCAL > &x)
Definition: HcalHaloData.h:61
std::vector< HaloClusterCandidateHCAL > thehaloclustercands_he
Definition: HcalHaloData.h:68
std::vector< PhiWedge > PhiWedgeCollection
Definition: PhiWedge.h:84
std::vector< HaloClusterCandidateHCAL > & getHaloClusterCandidatesHE()
Definition: HcalHaloData.h:59
std::vector< HaloClusterCandidateHCAL > thehaloclustercands_hb
Definition: HcalHaloData.h:67
void setHaloClusterCandidatesHE(const std::vector< HaloClusterCandidateHCAL > &x)
Definition: HcalHaloData.h:62
std::vector< PhiWedge > & GetPhiWedges()
Definition: HcalHaloData.h:49
fixed size matrix
const std::vector< HaloTowerStrip > & getProblematicStrips() const
Definition: HcalHaloData.h:52
const std::vector< HaloClusterCandidateHCAL > & getHaloClusterCandidatesHE() const
Definition: HcalHaloData.h:58
HaloTowerStrip(const HaloTowerStrip &strip)
Definition: HcalHaloData.h:27
const std::vector< PhiWedge > & GetPhiWedges() const
Definition: HcalHaloData.h:48
std::vector< HaloTowerStrip > & getProblematicStrips()
Definition: HcalHaloData.h:53
std::vector< HaloClusterCandidateHCAL > & getHaloClusterCandidatesHB()
Definition: HcalHaloData.h:56
std::vector< std::pair< uint8_t, CaloTowerDetId > > cellTowerIds
Definition: HcalHaloData.h:17