Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:29:41

0001 #ifndef SimDataFormats_HcalTestHistoClass_H
0002 #define SimDataFormats_HcalTestHistoClass_H
0003 ///////////////////////////////////////////////////////////////////////////////
0004 // File: HcalTestHistoClass.h
0005 // Histogram handling class for analysis in HcalTest
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