-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathProtonInel.h
106 lines (81 loc) · 3.32 KB
/
ProtonInel.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
#ifndef PROTONINEL_H
#define PROTONINEL_H
#include "TFile.h"
#include "SliceParams.h"
#include "HadAna.h"
#include "Unfold.h"
class anavar;
class HadAna;
class ProtonInel {
public:
ProtonInel();
HadAna hadana;
int reco_sliceID;
int true_sliceID;
bool isTestSample;
TH1D *reco_incE[p::nthinslices];
TH1D *true_incE[p::nthinslices];
TH1D *reco_AngCorr;
TH1D *true_AngCorr;
TH1D *h_truesliceid_pion_all;
TH1D *h_truesliceid_pion_uf;
TH1D *h_truesliceid_pion_cuts;
TH1D *h_truesliceid_pioninelastic_all;
TH1D *h_truesliceid_pioninelastic_uf;
TH1D *h_truesliceid_pioninelastic_cuts;
TH1D *h_recosliceid_allevts_cuts;
TH1D *h_recosliceid_pion_cuts;
TH1D *h_recosliceid_pioninelastic_cuts;
double true_interactions[p::nthinslices];
double true_incidents[p::nthinslices];
TH1D *htrue_beam_endZ[p::nCuts][p::nIntTypes+1];
TH1D *hreco_beam_endZ[p::nCuts][p::nIntTypes+1];
TH1D *hreco_true_beam_endZ[p::nCuts][p::nIntTypes+1];
TH2D *hreco_vs_true_beam_endZ[p::nCuts][p::nIntTypes+1];
TH2D *hreco_true_vs_true_beam_endZ[p::nCuts][p::nIntTypes+1];
TH1D *htrue_beam_endZ_SCE[p::nCuts][p::nIntTypes+1];
TH1D *hreco_beam_endZ_SCE[p::nCuts][p::nIntTypes+1];
TH1D *hreco_true_beam_endZ_SCE[p::nCuts][p::nIntTypes+1];
TH2D *hreco_vs_true_beam_endZ_SCE[p::nCuts][p::nIntTypes+1];
TH2D *hreco_true_vs_true_beam_endZ_SCE[p::nCuts][p::nIntTypes+1];
TH1D *htrue_sliceID[p::nCuts][p::nIntTypes+1];
TH1D *hreco_sliceID[p::nCuts][p::nIntTypes+1];
TH1D *hreco_true_sliceID[p::nCuts][p::nIntTypes+1];
TH2D *hreco_vs_true_sliceID[p::nCuts][p::nIntTypes+1];
TH2D *hreco_true_vs_true_sliceID[p::nCuts][p::nIntTypes+1];
TH1D *hmediandEdx[p::nCuts][p::nIntTypes+1];
TH1D *hdaughter_michel_score[p::nCuts][p::nIntTypes+1];
TH1D *hdaughter_michel_scoreMu[p::nCuts][p::nIntTypes+1];
TH1D *hdaughter_michel_scorePi[p::nCuts][p::nIntTypes+1];
TH1D *hdaughter_michel_score2Mu[p::nCuts][p::nIntTypes+1];
TH1D *htrackscore[p::nCuts][p::nIntTypes+1];
TH1D *hemscore[p::nCuts][p::nIntTypes+1];
TH1D *hdEdx_5cm[p::nCuts][p::nIntTypes+1];
TH1D *hmediandEdxSlice[p::nthinslices][p::nCuts][p::nIntTypes+1];
TH1D *hdaughter_michel_scoreSlice[p::nthinslices][p::nCuts][p::nIntTypes+1];
TH1D *hdeltax[p::nCuts][p::nIntTypes+1];
TH1D *hdeltay[p::nCuts][p::nIntTypes+1];
TH1D *hdeltaz[p::nCuts][p::nIntTypes+1];
TH1D *hcostheta[p::nCuts][p::nIntTypes+1];
TH1D *htrklen[p::nCuts][p::nIntTypes+1];
TH1D *hreco_beam_startX_SCE[p::nCuts][p::nIntTypes+1];
TH1D *hreco_beam_startY_SCE[p::nCuts][p::nIntTypes+1];
TH1D *hreco_beam_startZ_SCE[p::nCuts][p::nIntTypes+1];
TH1D *hreco_beam_dcosX_SCE[p::nCuts][p::nIntTypes+1];
TH1D *hreco_beam_dcosY_SCE[p::nCuts][p::nIntTypes+1];
TH1D *hreco_beam_dcosZ_SCE[p::nCuts][p::nIntTypes+1];
TH1D *hreco_beam_angleX_SCE[p::nCuts][p::nIntTypes+1];
TH1D *hreco_beam_angleY_SCE[p::nCuts][p::nIntTypes+1];
TH1D *hreco_beam_angleZ_SCE[p::nCuts][p::nIntTypes+1];
TH2D *hreco_beam_startXY_SCE[p::nCuts][p::nIntTypes+1];
std::string fOutputFileName;
TFile *outputFile;
void SetOutputFileName(std::string name){fOutputFileName = name;};
void BookHistograms();
void FillHistograms(int cut, const anavar & evt);
void SaveHistograms();
void ProcessEvent(const anavar & evt, Unfold & uf);
void CalcXS(const Unfold & uf);
void Run(anavar & evt, Unfold & uf);
};
#endif