EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
qaplots.hh
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file qaplots.hh
1 #ifndef QAPLOTS_H
2 #define QAPLOTS_H
3 
4 // Note: Nothing in here is necessary for eic-smear usage
5 
6 #include <TString.h>
7 #include <TH1.h>
8 #include <TH2.h>
9 
10 #include <string>
11 #include <vector>
12 
13 struct qaparameters{
14  std::string txtfilename="./ep_hiQ2.20x250.small.txt.gz";
15  TString outfilebase="./qaplots";
16  std::string outpath="./";
17  long nevents=-1;
18  long nparticles=100000; // only used for particle gun version that reuses this struct
19  std::vector<int> pids = {}; // sign will be ignored. 0 for all. leave empty for e, pi, k, p.
20  std::string detstring = "MATRIX_0_2_B3T"; // Capitalization does not matter
21 
22  long usedevents=-1;// pure convenience so I can access the true number when nevents=-1;
23 
24  // ion beam momentum per nucleon in GeV for far forward detectors.
25  // Using int to avoid rounding issues in switch
26  int beam_mom_nn=-1;
27 };
28 
29 struct eventqacollection {
30  TH2D* Q2_NM;
31  TH2D* Q2_JB;
32  TH2D* Q2_DA;
33  TH2D* y_NM;
34  TH2D* y_JB;
35  TH2D* y_DA;
36  TH2D* x_NM;
37  TH2D* x_JB;
38  TH2D* x_DA;
39 
43  long missedy_NM;
44  long missedy_JB;
45  long missedy_DA;
46  long missedx_NM;
47  long missedx_JB;
48  long missedx_DA;
49 
50  TH2D* delQ2_NM;
51  TH2D* delQ2_JB;
52  TH2D* delQ2_DA;
53  TH2D* dely_NM;
54  TH2D* dely_JB;
55  TH2D* dely_DA;
56  TH2D* delx_NM;
57  TH2D* delx_JB;
58  TH2D* delx_DA;
59 
60 };
61 
62 struct pidqacollection {
63  TH2D* Phi_theta;
64  TH2D* DelE_E;
65  TH2D* dPhi_p;
66  TH2D* DelP_th;
67  TH2D* DelE_th;
68  TH2D* dTh_p;
69  TH2D* DelP_eta;
70  TH2D* DelE_eta;
71  TH2D* dEta_p;
72 };
73 
74 
75 
76 qaparameters ParseArguments ( int argc, char* argv[] );
77 
78 #endif // QAPLOTS_H