1 | WITH Theta AS -- Get total Observation time
|
---|
2 | (
|
---|
3 | SELECT SUM(OnTime) AS ObsTime FROM ThetaDist
|
---|
4 | ),
|
---|
5 | Area AS -- Get total simulated area
|
---|
6 | (
|
---|
7 | SELECT POW(MinImpactHi,2)*PI() AS Area FROM MonteCarloArea
|
---|
8 | ),
|
---|
9 | Binning AS -- Create binning and calculate weights per bin
|
---|
10 | (
|
---|
11 | SELECT
|
---|
12 | *,
|
---|
13 | (%103:binwidth) AS Width, -- Bin Windth in TeV or just 1
|
---|
14 | Area*ObsTime AS AreaTime -- Total scale dA*dT
|
---|
15 | FROM
|
---|
16 | %101:binning
|
---|
17 | CROSS JOIN
|
---|
18 | Theta, Area
|
---|
19 | ),
|
---|
20 | Simulated AS -- Summarize simulated (corsika) data in bins
|
---|
21 | (
|
---|
22 | SELECT
|
---|
23 | %102:bin,
|
---|
24 | SUM(CountN) AS SimCountN,
|
---|
25 | SUM(SumW) AS SimSumW,
|
---|
26 | SUM(SumW2) AS SimSumW2
|
---|
27 | FROM
|
---|
28 | WeightedOriginalMC
|
---|
29 | GROUP BY
|
---|
30 | %102:bin
|
---|
31 | ),
|
---|
32 | Triggered AS -- Summarize triggered (ceres) data in bins
|
---|
33 | (
|
---|
34 | SELECT
|
---|
35 | %102:bin,
|
---|
36 | SUM(CountN) AS TrigCountN,
|
---|
37 | SUM(SumW) AS TrigSumW,
|
---|
38 | SUM(SumW2) AS TrigSumW2
|
---|
39 | FROM
|
---|
40 | WeightedEventsMC
|
---|
41 | GROUP BY
|
---|
42 | %102:bin
|
---|
43 | ),
|
---|
44 | Analyzed AS -- Summarize data after cuts (analyzed) in bins
|
---|
45 | (
|
---|
46 | SELECT
|
---|
47 | %102:bin,
|
---|
48 |
|
---|
49 | SUM(SignalN) AS SignalN,
|
---|
50 | SUM(SignalW) AS SignalW,
|
---|
51 | SUM(SignalW2) AS SignalW2,
|
---|
52 |
|
---|
53 | SUM(BackgroundN)/5 AS BackgroundN,
|
---|
54 | SUM(BackgroundW)/5 AS BackgroundW,
|
---|
55 | SUM(BackgroundW2)/25 AS BackgroundW2,
|
---|
56 |
|
---|
57 | SUM(ResidualW) AS ResidualW,
|
---|
58 | SUM(ResidualW2) AS ResidualW2,
|
---|
59 |
|
---|
60 | SUM(SumEnergySimW) AS SumEnergySimW,
|
---|
61 | SUM(SumEnergyEstW) AS SumEnergyEstW
|
---|
62 | FROM
|
---|
63 | AnalysisMC
|
---|
64 | GROUP BY
|
---|
65 | %102:bin
|
---|
66 | ),
|
---|
67 | CombinedData AS -- Combine all Data together
|
---|
68 | (
|
---|
69 | SELECT
|
---|
70 | *,
|
---|
71 | TrigCountN/SimCountN AS TriggerEfficiencyN,
|
---|
72 | TrigSumW/SimSumW AS TriggerEfficiencyW,
|
---|
73 |
|
---|
74 | SignalN - BackgroundN AS ExcessN,
|
---|
75 |
|
---|
76 | SignalW - BackgroundW AS ExcessW,
|
---|
77 | SignalW2 + BackgroundW2 AS ExcessW2
|
---|
78 | FROM
|
---|
79 | Simulated
|
---|
80 | INNER JOIN
|
---|
81 | Triggered USING (%102:bin)
|
---|
82 | INNER JOIN
|
---|
83 | Analyzed USING (%102:bin)
|
---|
84 | INNER JOIN
|
---|
85 | Binning ON Simulated.%102:bin=bin
|
---|
86 | ),
|
---|
87 | Table0 AS -- Derive valued
|
---|
88 | (
|
---|
89 | SELECT -- Everything scaled is "Flux", Everything unscaled is without "Flux", Corsika Data is Sim*, Triggered Data is Trig* and data after cuts is without prefix
|
---|
90 | *,
|
---|
91 |
|
---|
92 | SQRT(SimCountN) AS ErrSimCountN,
|
---|
93 | SQRT(TrigCountN) AS ErrTrigCountN,
|
---|
94 | SQRT(SignalN) AS ErrSignalN,
|
---|
95 | SQRT(BackgroundN) AS ErrBackgroundN,
|
---|
96 | SQRT(SignalN + BackgroundN) AS ErrExcessN,
|
---|
97 |
|
---|
98 | SimSumW /Width/AreaTime AS SimFluxW,
|
---|
99 | TrigSumW /Width/AreaTime AS TrigFluxW,
|
---|
100 | SignalW /Width/AreaTime AS SignalFluxW,
|
---|
101 | BackgroundW /Width/AreaTime AS BackgroundFluxW,
|
---|
102 | ExcessW /Width/AreaTime AS ExcessFluxW,
|
---|
103 |
|
---|
104 | SQRT(SimSumW2) /Width/AreaTime AS ErrSimFluxW,
|
---|
105 | SQRT(TrigSumW2) /Width/AreaTime AS ErrTrigFluxW,
|
---|
106 | SQRT(SignalW2) /Width/AreaTime AS ErrSignalFluxW,
|
---|
107 | SQRT(BackgroundW2) /Width/AreaTime AS ErrBackgroundFluxW,
|
---|
108 | SQRT(ExcessW2) /Width/AreaTime AS ErrExcessFluxW,
|
---|
109 |
|
---|
110 | SumEnergyEstW/SignalW AS AvgEnergyEstW,
|
---|
111 | SumEnergySimW/SignalW AS AvgEnergySimW,
|
---|
112 |
|
---|
113 | Area*TriggerEfficiencyN AS EffectiveAreaN,
|
---|
114 | Area*TriggerEfficiencyW AS EffectiveAreaW,
|
---|
115 |
|
---|
116 | SignalN/TrigCountN AS CutEfficiencyN,
|
---|
117 | IF(ExcessW<0, 0, ExcessW/TrigSumW) AS CutEfficiencyW,
|
---|
118 |
|
---|
119 | TriggerEfficiencyN * SQRT(1/TrigCountN + 1/SimCountN) AS ErrTriggerEfficiencyN,
|
---|
120 | TriggerEfficiencyW * SQRT(TrigSumW2/POW(TrigSumW,2) + SimSumW2/POW(SimSumW,2)) AS ErrTriggerEfficiencyW,
|
---|
121 |
|
---|
122 | IF(SignalW>0, ResidualW/SignalW, NULL) AS BiasW,
|
---|
123 | IF(SignalW>0, ResidualW/SignalW*SQRT(ResidualW2/POW(ResidualW,2) + SignalW2/POW(SignalW,2)), NULL) AS ErrBiasW,
|
---|
124 | IF(SignalW>0, SQRT(ResidualW2/SignalW - POW(ResidualW/SignalW, 2)), NULL) AS ResolutionW,
|
---|
125 |
|
---|
126 | (SUM(SignalW) OVER Integral) AS IntegralSignalW,
|
---|
127 | (SUM(SignalW) OVER Integral) / AreaTime AS IntegralSignalFluxW,
|
---|
128 | (SUM(BackgroundW) OVER Integral) / AreaTime AS IntegralBackgroundFluxW,
|
---|
129 | (SUM(SignalW2) OVER Integral) / POW(AreaTime, 2) AS IntegralSignalFluxW2,
|
---|
130 | (SUM(BackgroundW2) OVER Integral) / POW(AreaTime, 2) AS IntegralBackgroundFluxW2,
|
---|
131 |
|
---|
132 | (SUM(SimSumW) OVER Integral) / AreaTime AS IntegralSimFluxW,
|
---|
133 | (SUM(SimSumW2) OVER Integral) / POW(AreaTime, 2) AS IntegralSimFluxW2,
|
---|
134 |
|
---|
135 | (SUM(SumEnergySimW) OVER Integral) AS IntegralEnergySimW,
|
---|
136 | (SUM(SumEnergyEstW) OVER Integral) AS IntegralEnergyEstW
|
---|
137 | FROM
|
---|
138 | CombinedData
|
---|
139 | WINDOW
|
---|
140 | Integral AS (ORDER BY %102:bin DESC)
|
---|
141 | )
|
---|
142 | SELECT -- Return derived values and result
|
---|
143 | *,
|
---|
144 |
|
---|
145 | Area*ErrTriggerEfficiencyN AS ErrEffectiveAreaN,
|
---|
146 | Area*ErrTriggerEfficiencyW AS ErrEffectiveAreaW,
|
---|
147 |
|
---|
148 | CutEfficiencyN*SQRT(1/SignalN + 1/TrigCountN) AS ErrCutEfficiencyN,
|
---|
149 | CutEfficiencyW*SQRT(ExcessW2/POW(ExcessW,2) + TrigSumW2/POW(TrigSumW,2)) AS ErrCutEfficiencyW,
|
---|
150 |
|
---|
151 | IntegralSignalFluxW - IntegralBackgroundFluxW AS IntegralExcessFluxW,
|
---|
152 | SQRT(IntegralSignalFluxW2+IntegralBackgroundFluxW2) AS ErrIntegralExcessFluxW,
|
---|
153 | SQRT(IntegralSignalFluxW2) AS ErrIntegralSignalFluxW,
|
---|
154 | SQRT(IntegralBackgroundFluxW2) AS ErrIntegralBackgroundFluxW,
|
---|
155 | SQRT(IntegralSimFluxW2) AS ErrIntegralSimFluxW,
|
---|
156 |
|
---|
157 | IntegralEnergyEstW/IntegralSignalW AS AvgIntegralEnergyEstW,
|
---|
158 | IntegralEnergySimW/IntegralSignalW AS AvgIntegralEnergySimW
|
---|
159 |
|
---|
160 | FROM
|
---|
161 | Table0
|
---|