CMS 3D CMS Logo

HcalTestHistoClass.h
Go to the documentation of this file.
1 #ifndef SimDataFormats_HcalTestHistoClass_H
2 #define SimDataFormats_HcalTestHistoClass_H
3 // File: HcalTestHistoClass.h
5 // Histogram handling class for analysis in HcalTest
7 
10 
11 #include <boost/cstdint.hpp>
12 #include <string>
13 #include <vector>
14 #include <memory>
15 
17 public:
19  explicit HcalTestHistoClass() {}
20  virtual ~HcalTestHistoClass() {}
21 
22  void setCounters();
23  void fillLayers(double el[], double ho, double hbhe, double muxy[]);
24  void fillHits(std::vector<CaloHit>&);
25  void fillQie(int id,
26  double esimtot,
27  double eqietot,
28  int nGroup,
29  const std::vector<double>& longs,
30  const std::vector<double>& longq,
31  int nTower,
32  const std::vector<double>& latphi,
33  const std::vector<double>& latfs,
34  const std::vector<double>& latfq);
35 
36  struct Layer {
37  Layer() {}
38  float e;
39  float muDist;
40  };
41 
42  struct Hit {
43  Hit() {}
44  int layer;
45  int id;
46  float eta;
47  float phi;
48  float e;
49  float t;
50  float jitter;
51  };
52 
53  struct QIE {
54  QIE() {}
55  float sim;
56  float qie;
57  int id;
58  std::vector<float> lats, latq;
59  std::vector<float> lngs, lngq;
60  std::vector<int> tow;
61  };
62 
63 private:
64  const static int nLayersMAX = 20;
65  int nLayers;
66  std::vector<Layer> layers;
67  float eHO, eHBHE;
68 
69  int nHits;
70  std::vector<Hit> hits;
71 
73  std::vector<QIE> qie;
74 };
75 
76 #endif
void fillQie(int id, double esimtot, double eqietot, int nGroup, const std::vector< double > &longs, const std::vector< double > &longq, int nTower, const std::vector< double > &latphi, const std::vector< double > &latfs, const std::vector< double > &latfq)
void fillLayers(double el[], double ho, double hbhe, double muxy[])
void fillHits(std::vector< CaloHit > &)
std::vector< float > lats
std::vector< Layer > layers
std::vector< int > tow
static const int nLayersMAX
std::vector< Hit > hits
std::vector< float > lngs
std::vector< QIE > qie