File indexing completed on 2024-04-06 12:32:12
0001 #ifndef Validation_Geometry_MaterialBudgetCastorHistos_h
0002 #define Validation_Geometry_MaterialBudgetCastorHistos_h 1
0003
0004 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0005
0006 #include "G4Step.hh"
0007 #include "G4Track.hh"
0008
0009 #include <TH1F.h>
0010 #include <TH2F.h>
0011 #include <TProfile.h>
0012 #include <TProfile2D.h>
0013
0014 #include <string>
0015 #include <vector>
0016
0017 class MaterialBudgetCastorHistos {
0018 public:
0019 MaterialBudgetCastorHistos(const edm::ParameterSet &p);
0020 virtual ~MaterialBudgetCastorHistos();
0021
0022 void fillStartTrack(const G4Track *);
0023 void fillPerStep(const G4Step *);
0024 void fillEndTrack();
0025
0026 private:
0027 void book();
0028 void fillHisto(int id, int ix);
0029
0030 private:
0031 static const int maxSet = 20;
0032 bool fillHistos, printSum;
0033 int binEta, binPhi;
0034 double etaLow, etaHigh;
0035 std::vector<std::string> matList;
0036 std::vector<double> stepLength, radLength, intLength;
0037 TH1F *me400[maxSet], *me800[maxSet];
0038 TH2F *me1200[maxSet];
0039 TProfile *me100[maxSet], *me200[maxSet], *me300[maxSet];
0040 TProfile *me500[maxSet], *me600[maxSet], *me700[maxSet];
0041 TProfile2D *me900[maxSet], *me1000[maxSet], *me1100[maxSet];
0042 int id1, id2, steps;
0043 double radLen, intLen, stepLen;
0044 double eta_, phi_;
0045 };
0046
0047 #endif