File indexing completed on 2024-04-06 12:32:13
0001 #ifndef MaterialBudgetHGCalHistos_h
0002 #define MaterialBudgetHGCalHistos_h 1
0003
0004 #include "Validation/Geometry/interface/MaterialBudgetFormat.h"
0005 #include "Validation/Geometry/interface/TestHistoMgr.h"
0006
0007 class MaterialBudgetHGCalHistos : public MaterialBudgetFormat {
0008 public:
0009 MaterialBudgetHGCalHistos(std::shared_ptr<MaterialBudgetData> data,
0010 std::shared_ptr<TestHistoMgr> mgr,
0011 const std::string& fileName);
0012 MaterialBudgetHGCalHistos(std::shared_ptr<MaterialBudgetData> data,
0013 std::shared_ptr<TestHistoMgr> mgr,
0014 const std::string& fileName,
0015 double minZ,
0016 double maxZ,
0017 int nintZ,
0018 double rMin,
0019 double rMax,
0020 int nrbin,
0021 double etaMin,
0022 double etaMax,
0023 int netabin,
0024 double phiMin,
0025 double phiMax,
0026 int nphibin,
0027 double RMin,
0028 double RMax,
0029 int nRbin);
0030 ~MaterialBudgetHGCalHistos() override {}
0031 void fillStartTrack() override;
0032 void fillPerStep() override;
0033 void fillEndTrack() override;
0034 void endOfRun() override;
0035
0036 private:
0037 virtual void book();
0038 double* theDmb;
0039 double* theX;
0040 double* theY;
0041 double* theZ;
0042 double* theVoluId;
0043 double* theMateId;
0044
0045 std::shared_ptr<TestHistoMgr> hmgr;
0046
0047 double zMin_, zMax_;
0048 int nzbin_;
0049 double rMin_, rMax_;
0050 int nrbin_;
0051 double etaMin_, etaMax_;
0052 int netabin_;
0053 double phiMin_, phiMax_;
0054 int nphibin_;
0055 double RMin_, RMax_;
0056 int nRbin_;
0057 };
0058
0059 #endif