Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SimpleTrackingAnalysis.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file SimpleTrackingAnalysis.h
1 #ifndef __SIMPLETRACKINGANALYSIS_H__
2 #define __SIMPLETRACKINGANALYSIS_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  SimpleTrackingAnalysis(const std::string &name="SimpleTrackingAnalysis");
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 
37 
38  private:
39 
40  // all values taken from sPHENIX pCDR
41  // note the somewhat mysterious overlap
42  // between the outer edge of the EMC
43  // and the inner edge of the inner HCal
44  // that shouldn't be a problem here, though
45  const double emc_radius_inner = 90.0;
46  const double hci_radius_inner = 115.7;
47  const double hco_radius_inner = 182.0;
48  const double emc_radius_outer = 116.1;
49  const double hci_radius_outer = 137.0;
50  const double hco_radius_outer = 268.5;
51 
52  // PHG4HoughTransform _hough; ERROR
53 
54  double magneticfield;
55 
56  int verbosity;
57  //bool docalocuts;
58 
59  // event counter
60  unsigned long long nevents;
61  unsigned long long nerrors;
62  unsigned long long nwarnings;
63 
64  // number of layers
65  unsigned int nlayers;
66 
67  // output histograms ---------------------------------------------------------
68 
69  TH2D* _recopt_quality; // quality distributions
73 
74  TH2D* _truept_dca; // dca resolution
75  TH2D* _truept_dptoverpt; // momentum resolution
76  TH1D* _truept_particles_leavingAllHits; // pattern reco eff baseline
77  TH1D* _truept_particles_recoWithExactHits; // pattern reco eff by nhits
80  TH1D* _truept_particles_recoWithin3Percent; // parttern reco eff by momentum match
83 
84 
85 
86  TH1D* _recopt_tracks_all; // purity baseline (non-embedded particles)
87  TH1D* _recopt_tracks_recoWithExactHits; // purity by nhit match
90  TH1D* _recopt_tracks_recoWithin3Percent; // purity by momentum match
93 
94 
95  // purity histograms for calo cuts
96  TH2D* th2d_recopt_tracks_withcalocuts_all; // purity baseline (non-embedded particles)
100  TH2D* th2d_recopt_tracks_withcalocuts_recoWithin3Percent; // purity by momentum match
103  TH2D* th2d_recopt_tracks_withcalocuts_recoWithin1Sigma; // purity by momentum match
106 
107  // efficiency histograms for calo cuts
118 
119  // --- new additional (eventual replacement?) histograms for purity study
128 
135 
136 
137 
138  // --- new additional (eventual replacement?) histograms for purity study
147 
154 
155 
156  // vertex info hisograms
157  TH1D* _dx_vertex;
158  TH1D* _dy_vertex;
159  TH1D* _dz_vertex;
160 
161  TH1D* hmult;
163 
164 
165 
166 };
167 
168 #endif // __SIMPLETRACKINGANALYSIS_H__