CMS 3D CMS Logo

MaterialBudgetHcalHistos.h
Go to the documentation of this file.
1 #ifndef Validation_Geometry_MaterialBudgetHcalHistos_h
2 #define Validation_Geometry_MaterialBudgetHcalHistos_h 1
3 
7 
8 #include "G4Step.hh"
9 #include "G4Track.hh"
10 
11 #include <TH1F.h>
12 #include <TH2F.h>
13 #include <TProfile.h>
14 #include <TProfile2D.h>
15 
16 #include <string>
17 #include <vector>
18 
20 public:
23 
24  void fillBeginJob(const DDCompactView &);
25  void fillStartTrack(const G4Track *);
26  void fillPerStep(const G4Step *);
27  void fillEndTrack();
28 
29 private:
30  void book();
31  void fillHisto(int ii);
32  void fillLayer();
33  void hend();
34  std::vector<std::string> getNames(DDFilteredView &fv);
35  std::vector<double> getDDDArray(const std::string &str, const DDsvalues_type &sv);
37  bool isItHF(const G4VTouchable *);
38  bool isItEC(std::string);
39 
40 private:
41  static const int maxSet = 25, maxSet2 = 9;
42  std::vector<std::string> sensitives, hfNames, sensitiveEC;
43  std::vector<int> hfLevels;
45  int binEta, binPhi;
46  double maxEta, etaLow, etaHigh;
47  std::vector<std::string> matList;
48  std::vector<double> stepLength, radLength, intLength;
51  TProfile *me100[maxSet], *me200[maxSet], *me300[maxSet];
52  TProfile *me500[maxSet], *me600[maxSet], *me700[maxSet];
53  TProfile *me1500[maxSet2];
54  TProfile2D *me900[maxSet], *me1000[maxSet], *me1100[maxSet];
55  int id, layer, steps;
56  double radLen, intLen, stepLen;
57  double eta, phi;
59 };
60 
61 #endif
std::vector< double > stepLength
Compact representation of the geometrical detector hierarchy.
Definition: DDCompactView.h:80
std::vector< std::string > getNames(DDFilteredView &fv)
std::vector< std::string > hfNames
void fillBeginJob(const DDCompactView &)
std::vector< std::pair< unsigned int, DDValue > > DDsvalues_type
Definition: DDsvalues.h:12
std::vector< std::string > matList
void fillStartTrack(const G4Track *)
std::vector< double > radLength
std::vector< std::string > sensitiveEC
ii
Definition: cuy.py:590
MaterialBudgetHcalHistos(const edm::ParameterSet &p)
std::vector< std::string > sensitives
#define str(s)
std::vector< double > getDDDArray(const std::string &str, const DDsvalues_type &sv)
std::vector< double > intLength
bool isItHF(const G4VTouchable *)