File indexing completed on 2024-04-06 12:29:41
0001 #ifndef SimDataFormats_HcalTestHistoClass_H
0002 #define SimDataFormats_HcalTestHistoClass_H
0003
0004
0005
0006
0007
0008 #include "SimDataFormats/CaloHit/interface/CaloHit.h"
0009
0010 #include <string>
0011 #include <vector>
0012 #include <memory>
0013
0014 class HcalTestHistoClass {
0015 public:
0016 HcalTestHistoClass(int i) {}
0017 explicit HcalTestHistoClass() {}
0018 virtual ~HcalTestHistoClass() {}
0019
0020 void setCounters();
0021 void fillLayers(double el[], double ho, double hbhe, double muxy[]);
0022 void fillHits(std::vector<CaloHit>&);
0023 void fillQie(int id,
0024 double esimtot,
0025 double eqietot,
0026 int nGroup,
0027 const std::vector<double>& longs,
0028 const std::vector<double>& longq,
0029 int nTower,
0030 const std::vector<double>& latphi,
0031 const std::vector<double>& latfs,
0032 const std::vector<double>& latfq);
0033
0034 struct Layer {
0035 Layer() {}
0036 float e;
0037 float muDist;
0038 };
0039
0040 struct Hit {
0041 Hit() {}
0042 int layer;
0043 int id;
0044 float eta;
0045 float phi;
0046 float e;
0047 float t;
0048 float jitter;
0049 };
0050
0051 struct QIE {
0052 QIE() {}
0053 float sim;
0054 float qie;
0055 int id;
0056 std::vector<float> lats, latq;
0057 std::vector<float> lngs, lngq;
0058 std::vector<int> tow;
0059 };
0060
0061 private:
0062 const static int nLayersMAX = 20;
0063 int nLayers;
0064 std::vector<Layer> layers;
0065 float eHO, eHBHE;
0066
0067 int nHits;
0068 std::vector<Hit> hits;
0069
0070 int nQIE, nTowerQIE, nGroupQIE;
0071 std::vector<QIE> qie;
0072 };
0073
0074 #endif