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