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 
21 public:
22 
25 
26  void fillBeginJob(const DDCompactView &);
27  void fillStartTrack(const G4Track*);
28  void fillPerStep(const G4Step *);
29  void fillEndTrack();
30 
31 private:
32 
33  void book();
34  void fillHisto(int ii);
35  void fillLayer();
36  void hend();
37  std::vector<std::string> getNames(DDFilteredView& fv);
38  std::vector<double> getDDDArray(const std::string & str,
39  const DDsvalues_type & sv);
41  bool isItHF(const G4VTouchable*);
42  bool isItEC(std::string);
43 
44 private:
45 
46  static const int maxSet = 25, maxSet2 = 9;
47  std::vector<std::string> sensitives, hfNames, sensitiveEC;
48  std::vector<int> hfLevels;
50  int binEta, binPhi;
51  double maxEta, etaLow, etaHigh;
52  std::vector<std::string> matList;
53  std::vector<double> stepLength, radLength, intLength;
56  TProfile *me100[maxSet], *me200[maxSet], *me300[maxSet];
57  TProfile *me500[maxSet], *me600[maxSet], *me700[maxSet];
58  TProfile *me1500[maxSet2];
59  TProfile2D *me900[maxSet], *me1000[maxSet],*me1100[maxSet];
60  int id, layer, steps;
61  double radLen, intLen, stepLen;
62  double eta, phi;
64 };
65 
66 
67 #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::string > matList
void fillStartTrack(const G4Track *)
std::vector< double > radLength
std::vector< std::string > sensitiveEC
ii
Definition: cuy.py:590
std::vector< std::pair< unsigned int, DDValue > > DDsvalues_type
Definition: DDsvalues.h:12
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 *)