Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
STACalorimeterCharacterization.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file STACalorimeterCharacterization.h
1 #ifndef __STACALORIMETERCHARACTERIZATION_H__
2 #define __STACALORIMETERCHARACTERIZATION_H__
3 
4 
5 // --- need to check all these includes...
6 #include <fun4all/SubsysReco.h>
7 #include <vector>
8 
9 class PHCompositeNode;
10 //class PHG4HoughTransform;
11 class TH1D;
12 class TH2D;
13 //class TProfile;
14 class TProfile2D;
15 class RawTower;
16 class RawCluster;
17 class RawTowerContainer;
19 
21 {
22 
23  public:
24 
25  STACalorimeterCharacterization(const std::string &name="STACalorimeterCharacterization");
26 
27  int Init(PHCompositeNode*);
29  int End(PHCompositeNode*);
30 
31  void set_nlayers(unsigned int x) {nlayers = x;}
32 
33  void set_verbosity(int x) {verbosity = x;}
34  //void set_docalocuts(bool x) {docalocuts = x;}
35 
36  std::vector<RawTower*> get_ordered_towers(RawCluster*, RawTowerContainer*);
37  std::vector<RawTower*> get_ordered_towers(const RawTowerContainer*);
38  std::vector<RawCluster*> get_ordered_clusters(const RawClusterContainer*);
39  void inspect_ordered_towers(const std::vector<RawTower*>&);
40  void inspect_ordered_towers(const std::vector<RawTower*>&, int);
41  void inspect_ordered_towers(const std::vector<RawTower*>&, double, int);
42 
43 
44  private:
45 
46  // all values taken from sPHENIX pCDR
47  // note the somewhat mysterious overlap
48  // between the outer edge of the EMC
49  // and the inner edge of the inner HCal
50  // that shouldn't be a problem here, though
51  const double emc_radius_inner = 90.0;
52  const double hci_radius_inner = 115.7;
53  const double hco_radius_inner = 182.0;
54  const double emc_radius_outer = 116.1;
55  const double hci_radius_outer = 137.0;
56  const double hco_radius_outer = 268.5;
57 
58  // PHG4HoughTransform _hough; ERROR
59 
60  double magneticfield;
61 
62  int verbosity;
63  //bool docalocuts;
64 
65  // event counter
66  unsigned long long nevents;
67  unsigned long long nerrors;
68  unsigned long long nwarnings;
69 
70  // number of layers
71  unsigned int nlayers;
72 
73  // output histograms ---------------------------------------------------------
74 
75 
76 
83 
90 
97 
101 
105 
106  TProfile2D* _towers_3x3_emc;
107  TProfile2D* _towers_5x5_emc;
108  TProfile2D* _towers_7x7_emc;
109  TProfile2D* _towers_9x9_emc;
110 
111  TH2D* _tower_energy_emc[10];
113 
114  TProfile2D* _towers_3x3_hci;
115  TProfile2D* _towers_5x5_hci;
116  TProfile2D* _towers_7x7_hci;
117  TProfile2D* _towers_9x9_hci;
118 
119  TH2D* _tower_energy_hci[10];
121 
122  TProfile2D* _towers_3x3_hco;
123  TProfile2D* _towers_5x5_hco;
124  TProfile2D* _towers_7x7_hco;
125  TProfile2D* _towers_9x9_hco;
126 
127  TH2D* _tower_energy_hco[10];
129 
130 };
131 
132 #endif // __STACALORIMETERCHARACTERIZATION_H__