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 
10 
11 #include "G4Step.hh"
12 #include "G4Track.hh"
13 
14 #include <TH1F.h>
15 #include <TH2F.h>
16 #include <TProfile.h>
17 #include <TProfile2D.h>
18 
19 #include <string>
20 #include <vector>
21 
23 public:
26 
27  void fillBeginJob(const DDCompactView &);
28  void fillBeginJob(const cms::DDCompactView &);
29  void fillStartTrack(const G4Track *);
30  void fillPerStep(const G4Step *);
31  void fillEndTrack();
32 
33 private:
34  void book();
35  void fillHisto(int ii);
36  void fillLayer();
37  void hend();
38  std::vector<std::string> getNames(DDFilteredView &fv);
39  std::vector<std::string> getNames(cms::DDFilteredView &fv);
40  std::vector<double> getDDDArray(const std::string &str, const DDsvalues_type &sv);
41  bool isSensitive(const std::string &);
42  bool isItHF(const G4VTouchable *);
43  bool isItEC(const std::string &);
44 
45 private:
46  static const int maxSet_ = 25, maxSet2_ = 9;
47  std::vector<std::string> sensitives_, hfNames_, sensitiveEC_;
48  std::vector<int> hfLevels_;
53  std::vector<std::string> matList_;
54  std::vector<double> stepLength_, radLength_, intLength_;
57  TProfile *me100[maxSet_], *me200[maxSet_], *me300[maxSet_];
58  TProfile *me500[maxSet_], *me600[maxSet_], *me700[maxSet_];
59  TProfile *me1500[maxSet2_];
63  TProfile2D *me900[maxSet_], *me1000[maxSet_], *me1100[maxSet_];
64  int id_, layer_, steps_;
66  double eta_, phi_;
68 };
69 
70 #endif
bool isItEC(const std::string &)
std::vector< double > intLength_
std::vector< std::string > sensitives_
std::vector< double > radLength_
Compact representation of the geometrical detector hierarchy.
Definition: DDCompactView.h:81
std::vector< std::string > matList_
std::vector< std::string > getNames(DDFilteredView &fv)
void fillBeginJob(const DDCompactView &)
std::vector< std::pair< unsigned int, DDValue > > DDsvalues_type
Definition: DDsvalues.h:12
std::vector< std::string > hfNames_
void fillStartTrack(const G4Track *)
bool isSensitive(const std::string &)
std::vector< double > stepLength_
ii
Definition: cuy.py:589
std::vector< std::string > sensitiveEC_
MaterialBudgetHcalHistos(const edm::ParameterSet &p)
#define str(s)
std::vector< double > getDDDArray(const std::string &str, const DDsvalues_type &sv)
bool isItHF(const G4VTouchable *)