]>
Commit | Line | Data |
---|---|---|
bce9493b | 1 | #ifndef ALIANALYSISTASKEMCALTRIGGERQA_H |
2 | #define ALIANALYSISTASKEMCALTRIGGERQA_H | |
3 | ||
cd231d42 | 4 | // $Id$ |
bce9493b | 5 | |
6 | //--- Root --- | |
7 | class TList; | |
ec77a234 | 8 | class TH1F; |
9 | class TH2I; | |
bce9493b | 10 | class TH2F; |
11 | class AliEMCALGeometry; | |
0d896539 | 12 | class TProfile2D; |
bce9493b | 13 | |
14 | //--- AliRoot --- | |
6bfd1538 | 15 | class AliEMCALRecoUtils; |
bce9493b | 16 | #include "AliEMCALGeoParams.h" |
17 | #include "AliAnalysisTaskSE.h" | |
18 | ||
19 | class AliAnalysisTaskEMCALTriggerQA : public AliAnalysisTaskSE | |
20 | { | |
21 | public: | |
22 | AliAnalysisTaskEMCALTriggerQA(); // default constructor | |
23 | ||
24 | AliAnalysisTaskEMCALTriggerQA(const char *name); // named constructor | |
25 | ||
a40222c8 | 26 | virtual ~AliAnalysisTaskEMCALTriggerQA() { ; } // destructor |
bce9493b | 27 | |
28 | ||
29 | void UserCreateOutputObjects(); // you should create your output objects in that function if possible | |
30 | ||
31 | void UserExec(Option_t *option); // function called for each event | |
32 | ||
33 | void SetGeometryName(TString name) { fGeoName = name ; } | |
0d896539 | 34 | |
6bfd1538 | 35 | AliEMCALRecoUtils* GetRecoUtils() { return fRecoUtils ; } |
36 | ||
85196c29 | 37 | //Histogram setters |
38 | ||
39 | void SetTRUTotalSignalHistogramsRange(Int_t nbins, Float_t max) { fNBinsTRUSignal = nbins; fMaxTRUSignal = max ; } | |
40 | void SetSTUTotalSignalHistogramsRange(Int_t nbins, Float_t max) { fNBinsSTUSignal = nbins; fMaxSTUSignal = max ; } | |
41 | void SetV0TotalSignalHistogramsRange (Int_t nbins, Float_t max) { fNBinsV0Signal = nbins; fMaxV0Signal = max ; } | |
42 | void SetSTUFEERatioHistogramsRange (Int_t nbins, Float_t max) { fNBinsSTUFEERatio = nbins; fMaxSTUFEERatio = max ; } | |
43 | void SetSTUTRURatioHistogramsRange (Int_t nbins, Float_t max) { fNBinsSTUTRURatio = nbins; fMaxSTUFEERatio = max ; } | |
8a50a36c | 44 | void SetClusterEHistogramsRange (Int_t nbins, Float_t max) { fNBinsClusterE = nbins; fMaxClusterE = max ; } |
bce9493b | 45 | |
46 | private: | |
0d896539 | 47 | TList *fOutputList; //! Output list |
48 | ||
ec77a234 | 49 | AliEMCALRecoUtils *fRecoUtils; // RecoUtils |
50 | ||
0d896539 | 51 | AliEMCALGeometry *fGeometry; // Access to EMCAL geometry utils |
52 | TString fGeoName; // Name of geometry used | |
53 | ||
0d896539 | 54 | TH1F *fhNEvents; //! Number of selected events |
55 | TH2F *fhFORAmp; //! FEE cells deposited energy, grouped like FastOR 2x2 per Row and Column | |
56 | TH2F *fhFORAmpL1G; //! FEE cells deposited energy, grouped like FastOR 2x2 per Row and Column, with L1 Gamma trigger event | |
57 | TH2F *fhFORAmpL1J; //! FEE cells deposited energy, grouped like FastOR 2x2 per Row and Column, with L1 Jet trigger event | |
58 | TH2F *fhL0Amp; //! FALTRO signal per Row and Column for FOR involves L0 patch | |
59 | TH2F *fhL0AmpL1G; //! FALTRO signal per Row and Column for FOR involves L0 patch, with L1G trigger event | |
60 | TH2F *fhL0AmpL1J; //! FALTRO signal per Row and Column for FOR involves L0 patch, with L1J trigger event | |
61 | TH2F *fhL1Amp; //! STU signal per Row and Column for FOR involves L0 patch | |
62 | TH2F *fhL1GAmp; //! STU signal per Row and Column for FOR position of L1 Gamma patch (top-left) | |
63 | TH2F *fhL1JAmp; //! STU signal per Row and Column for FOR position of L1 Jet patch (top-left) | |
64 | TH2F *fhL0Patch; //! FOR with L0 patch associated | |
65 | TH2F *fhL1GPatch; //! FOR with L1 Gamma patch associated | |
66 | TH2F *fhL1JPatch; //! FOR with L1 Jet patch associated | |
67 | TH2F *fhFEESTU; //! Correlation FEE vs STU | |
68 | TH2F *fhTRUSTU; //! Correlation TRU vs STU | |
69 | TH2I *fhV0STU; //! Total signal STU vs V0C+V0S | |
ec77a234 | 70 | |
71 | TH2F *fhGPMaxVV0TT; //! V0 signal vs maximum gamma L1 patch | |
72 | TH2F *fhJPMaxVV0TT; //! V0 signal vs maximum jet L1 patch | |
73 | TProfile2D *fhFORMeanAmp; //! Mean FastOR(FEE) signal per Row and Column | |
74 | TProfile2D *fhL0MeanAmp; //! Mean FastOR(TRU) signal per Row and Column | |
75 | TProfile2D *fhL1MeanAmp; //! Mean FastOR(STU) signal per Row and Column | |
76 | TH1F *fhV0MB; //! V0 distribution for MB triggered event | |
77 | TH1F *fhV0L1G; //! V0 distribution for L1G triggered event | |
78 | TH1F *fhV0L1J; //! V0 distribution for L1J triggered event | |
79 | TH2F *fhL1GPatchMax; //! FOR of max. amplitude patch with L1 Gamma patch associated | |
80 | TH2F *fhL1JPatchMax; //! FOR of max. amplitude patch with L1 Jet patch associated | |
81 | ||
82 | // Cluster vs trigger histograms | |
83 | ||
0d896539 | 84 | TH1F *fhClusMB; //! Clusters distribution for MB trigger |
85 | TH1F *fhClusMBPure; //! Clusters distribution for MB trigger | |
86 | TH1F *fhClusL0; //! Clusters distribution for L0 trigger | |
87 | TH1F *fhClusL1G; //! Clusters distribution for L1G trigger | |
88 | TH1F *fhClusL1J; //! Clusters distribution for L1J trigger | |
89 | TH1F *fhClusL1GOnly; //! Clusters distribution for L1G trigger and not L1J | |
90 | TH1F *fhClusL1JOnly; //! Clusters distribution for L1J trigger and not L1G | |
e395081d | 91 | TH1F *fhClusMaxMB; //! Maximum E Cluster per event distribution for MB trigger |
0d896539 | 92 | TH1F *fhClusMaxMBPure; //! Maximum E Cluster per event distribution for MB trigger |
e395081d | 93 | TH1F *fhClusMaxL0; //! Maximum E Cluster per event distribution for L0 trigger |
94 | TH1F *fhClusMaxL1G; //! Maximum E Cluster per event distribution for L1G trigger | |
95 | TH1F *fhClusMaxL1J; //! Maximum E Cluster per event distribution for L1J trigger | |
96 | TH1F *fhClusMaxL1GOnly; //! Maximum E Cluster per event distribution for L1G trigger and not L1J | |
97 | TH1F *fhClusMaxL1JOnly; //! Maximum E Cluster per event distribution for L1J trigger and not L1G | |
ec77a234 | 98 | |
99 | TH2F *fhClusCenMB; //! Clusters Centrality vs E distribution for MB trigger | |
100 | TH2F *fhClusCenL0; //! Clusters Centrality vs E distribution for L0 trigger | |
101 | TH2F *fhClusCenL1G; //! Clusters Centrality vs E distribution for L1G trigger | |
102 | TH2F *fhClusCenL1J; //! Clusters Centrality vs E distribution for L1J trigger | |
103 | TH2F *fhClusCenL1GOnly; //! Clusters Centrality vs E distribution for L1G trigger and not L1J | |
104 | TH2F *fhClusCenL1JOnly; //! Clusters Centrality vs E distribution for L1J trigger and not L1G | |
105 | TH2F *fhClusCenMaxMB; //! Maximum E Cluster vs Centrality per event distribution for MB trigger | |
106 | TH2F *fhClusCenMaxL0; //! Maximum E Cluster vs Centrality per event distribution for L0 trigger | |
107 | TH2F *fhClusCenMaxL1G; //! Maximum E Cluster vs Centrality per event distribution for L1G trigger | |
108 | TH2F *fhClusCenMaxL1J; //! Maximum E Cluster vs Centrality per event distribution for L1J trigger | |
109 | TH2F *fhClusCenMaxL1GOnly; //! Maximum E Cluster vs Centrality per event distribution for L1G trigger and not L1J | |
110 | TH2F *fhClusCenMaxL1JOnly; //! Maximum E Cluster vs Centrality per event distribution for L1J trigger and not L1G | |
111 | ||
112 | TH2F *fhClusV0MB; //! Clusters Centrality vs E distribution for MB trigger | |
113 | TH2F *fhClusV0L0; //! Clusters Centrality vs E distribution for L0 trigger | |
114 | TH2F *fhClusV0L1G; //! Clusters Centrality vs E distribution for L1G trigger | |
115 | TH2F *fhClusV0L1J; //! Clusters Centrality vs E distribution for L1J trigger | |
116 | TH2F *fhClusV0L1GOnly; //! Clusters Centrality vs E distribution for L1G trigger and not L1J | |
117 | TH2F *fhClusV0L1JOnly; //! Clusters Centrality vs E distribution for L1J trigger and not L1G | |
118 | TH2F *fhClusV0MaxMB; //! Maximum E Cluster vs Centrality per event distribution for MB trigger | |
119 | TH2F *fhClusV0MaxL0; //! Maximum E Cluster vs Centrality per event distribution for L0 trigger | |
120 | TH2F *fhClusV0MaxL1G; //! Maximum E Cluster vs Centrality per event distribution for L1G trigger | |
121 | TH2F *fhClusV0MaxL1J; //! Maximum E Cluster vs Centrality per event distribution for L1J trigger | |
122 | TH2F *fhClusV0MaxL1GOnly; //! Maximum E Cluster vs Centrality per event distribution for L1G trigger and not L1J | |
123 | TH2F *fhClusV0MaxL1JOnly; //! Maximum E Cluster vs Centrality per event distribution for L1J trigger and not L1G | |
124 | ||
125 | TH2F *fhClusEtaMB; //! Clusters eta vs E distribution for MB trigger | |
126 | TH2F *fhClusEtaL0; //! Clusters eta vs E distribution for L0 trigger | |
127 | TH2F *fhClusEtaL1G; //! Clusters eta vs E distribution for L1G trigger | |
128 | TH2F *fhClusEtaL1J; //! Clusters eta vs E distribution for L1J trigger | |
129 | TH2F *fhClusEtaL1GOnly; //! Clusters eta vs E distribution for L1G trigger and not L1J | |
130 | TH2F *fhClusEtaL1JOnly; //! Clusters eta vs E distribution for L1J trigger and not L1G | |
131 | TH2F *fhClusEtaMaxMB; //! Maximum E Cluster vs Eta per event distribution for MB trigger | |
132 | TH2F *fhClusEtaMaxL0; //! Maximum E Cluster vs Eta per event distribution for L0 trigger | |
133 | TH2F *fhClusEtaMaxL1G; //! Maximum E Cluster vs Eta per event distribution for L1G trigger | |
134 | TH2F *fhClusEtaMaxL1J; //! Maximum E Cluster vs Eta per event distribution for L1J trigger | |
135 | TH2F *fhClusEtaMaxL1GOnly; //! Maximum E Cluster vs Eta per event distribution for L1G trigger and not L1J | |
136 | TH2F *fhClusEtaMaxL1JOnly; //! Maximum E Cluster vs Eta per event distribution for L1J trigger and not L1G | |
137 | ||
138 | TH2F *fhClusPhiMB; //! Clusters Phi vs E distribution for MB trigger | |
139 | TH2F *fhClusPhiL0; //! Clusters Phi vs E distribution for L0 trigger | |
140 | TH2F *fhClusPhiL1G; //! Clusters Phi vs E distribution for L1G trigger | |
141 | TH2F *fhClusPhiL1J; //! Clusters Phi vs E distribution for L1J trigger | |
142 | TH2F *fhClusPhiL1GOnly; //! Clusters Phi vs E distribution for L1G trigger and not L1J | |
143 | TH2F *fhClusPhiL1JOnly; //! Clusters Phi vs E distribution for L1J trigger and not L1G | |
144 | TH2F *fhClusPhiMaxMB; //! Maximum E Cluster vs Phi per event distribution for MB trigger | |
145 | TH2F *fhClusPhiMaxL0; //! Maximum E Cluster vs Phi per event distribution for L0 trigger | |
146 | TH2F *fhClusPhiMaxL1G; //! Maximum E Cluster vs Phi per event distribution for L1G trigger | |
147 | TH2F *fhClusPhiMaxL1J; //! Maximum E Cluster vs Phi per event distribution for L1J trigger | |
148 | TH2F *fhClusPhiMaxL1GOnly; //! Maximum E Cluster vs Phi per event distribution for L1G trigger and not L1J | |
149 | TH2F *fhClusPhiMaxL1JOnly; //! Maximum E Cluster vs Phi per event distribution for L1J trigger and not L1G | |
150 | ||
151 | TH2F *fhClusEtaPhiHighMB; //! Clusters eta vs phi distribution for MB trigger, energy above 10 GeV | |
152 | TH2F *fhClusEtaPhiHighL0; //! Clusters eta vs phi distribution for L0 trigger, energy above 10 GeV | |
153 | TH2F *fhClusEtaPhiHighL1G; //! Clusters eta vs phi distribution for L1G trigger, energy above 10 GeV | |
154 | TH2F *fhClusEtaPhiHighL1J; //! Clusters eta vs phi distribution for L1J trigger, energy above 10 GeV | |
155 | TH2F *fhClusEtaPhiHighL1GOnly; //! Clusters eta vs phi distribution for L1G trigger and not L1J, energy above 10 GeV | |
156 | TH2F *fhClusEtaPhiHighL1JOnly; //! Clusters eta vs phi distribution for L1J trigger and not L1G, energy above 10 GeV | |
157 | TH2F *fhClusEtaPhiHighCluMaxMB; //! Maximum E Cluster, Phi vs Eta per event distribution for MB trigger, energy above 10 GeV | |
158 | TH2F *fhClusEtaPhiHighCluMaxL0; //! Maximum E Cluster, Phi vs Eta per event distribution for L0 trigger, energy above 10 GeV | |
159 | TH2F *fhClusEtaPhiHighCluMaxL1G; //! Maximum E Cluster, Phi vs Eta per event distribution for L1G trigger, energy above 10 GeV | |
160 | TH2F *fhClusEtaPhiHighCluMaxL1J; //! Maximum E Cluster, Phi vs Eta per event distribution for L1J trigger, energy above 10 GeV | |
161 | TH2F *fhClusEtaPhiHighCluMaxL1GOnly; //! Maximum E Cluster, Phi vs Eta per event distribution for L1G trigger and not L1J, energy above 10 GeV | |
162 | TH2F *fhClusEtaPhiHighCluMaxL1JOnly; //! Maximum E Cluster, Phi vs Eta per event distribution for L1J trigger and not L1G, energy above 10 GeV | |
163 | ||
164 | TH2F *fhClusEtaPhiHighCellMaxMB; //! Clusters maximum energy cell index eta vs phi distribution for MB trigger, energy above 10 GeV | |
165 | TH2F *fhClusEtaPhiHighCellMaxL0; //! Clusters maximum energy cell index eta vs phi distribution for L0 trigger, energy above 10 GeV | |
166 | TH2F *fhClusEtaPhiHighCellMaxL1G; //! Clusters maximum energy cell index eta vs phi distribution for L1G trigger, energy above 10 GeV | |
167 | TH2F *fhClusEtaPhiHighCellMaxL1J; //! Clusters maximum energy cell index eta vs phi distribution for L1J trigger, energy above 10 GeV | |
168 | TH2F *fhClusEtaPhiHighCellMaxL1GOnly; //! Clusters maximum energy cell index eta vs phi distribution for L1G trigger and not L1J, energy above 10 GeV | |
169 | TH2F *fhClusEtaPhiHighCellMaxL1JOnly; //! Clusters maximum energy cell index eta vs phi distribution for L1J trigger and not L1G, energy above 10 GeV | |
170 | TH2F *fhClusEtaPhiHighCellMaxCluMaxMB; //! Maximum E Cluster, maximum energy cell index Phi vs Eta per event distribution for MB trigger, energy above 10 GeV | |
171 | TH2F *fhClusEtaPhiHighCellMaxCluMaxL0; //! Maximum E Cluster, maximum energy cell index Phi vs Eta per event distribution for L0 trigger, energy above 10 GeV | |
172 | TH2F *fhClusEtaPhiHighCellMaxCluMaxL1G; //! Maximum E Cluster, maximum energy cell index Phi vs Eta per event distribution for L1G trigger, energy above 10 GeV | |
173 | TH2F *fhClusEtaPhiHighCellMaxCluMaxL1J; //! Maximum E Cluster, maximum energy cell index Phi vs Eta per event distribution for L1J trigger, energy above 10 GeV | |
174 | TH2F *fhClusEtaPhiHighCellMaxCluMaxL1GOnly; //! Maximum E Cluster, maximum energy cell index Phi vs Eta per event distribution for L1G trigger and not L1J, energy above 10 GeV | |
175 | TH2F *fhClusEtaPhiHighCellMaxCluMaxL1JOnly; //! Maximum E Cluster, maximum energy cell index Phi vs Eta per event distribution for L1J trigger and not L1G, energy above 10 GeV | |
176 | ||
177 | TH2F *fhClusEtaPhiLowMB; //! Clusters eta vs phi distribution for MB trigger, energy below 10 GeV | |
178 | TH2F *fhClusEtaPhiLowL0; //! Clusters eta vs phi distribution for L0 trigger, energy below 10 GeV | |
179 | TH2F *fhClusEtaPhiLowL1G; //! Clusters eta vs phi distribution for L1G trigger, energy below 10 GeV | |
180 | TH2F *fhClusEtaPhiLowL1J; //! Clusters eta vs phi distribution for L1J trigger, energy below 10 GeV | |
181 | TH2F *fhClusEtaPhiLowL1GOnly; //! Clusters eta vs phi distribution for L1G trigger and not L1J, energy below 10 GeV | |
182 | TH2F *fhClusEtaPhiLowL1JOnly; //! Clusters eta vs phi distribution for L1J trigger and not L1G, energy below 10 GeV | |
183 | TH2F *fhClusEtaPhiLowCluMaxMB; //! Maximum E Cluster, Phi vs Eta per event distribution for MB trigger, energy below 10 GeV | |
184 | TH2F *fhClusEtaPhiLowCluMaxL0; //! Maximum E Cluster, Phi vs Eta per event distribution for L0 trigger, energy below 10 GeV | |
185 | TH2F *fhClusEtaPhiLowCluMaxL1G; //! Maximum E Cluster, Phi vs Eta per event distribution for L1G trigger, energy below 10 GeV | |
186 | TH2F *fhClusEtaPhiLowCluMaxL1J; //! Maximum E Cluster, Phi vs Eta per event distribution for L1J trigger, energy below 10 GeV | |
187 | TH2F *fhClusEtaPhiLowCluMaxL1GOnly; //! Maximum E Cluster, Phi vs Eta per event distribution for L1G trigger and not L1J, energy below 10 GeV | |
188 | TH2F *fhClusEtaPhiLowCluMaxL1JOnly; //! Maximum E Cluster, Phi vs Eta per event distribution for L1J trigger and not L1G, energy below 10 GeV | |
189 | ||
190 | TH2F *fhClusEtaPhiLowCellMaxMB; //! Clusters maximum energy cell index eta vs phi distribution for MB trigger, energy below 10 GeV | |
191 | TH2F *fhClusEtaPhiLowCellMaxL0; //! Clusters maximum energy cell index eta vs phi distribution for L0 trigger, energy below 10 GeV | |
192 | TH2F *fhClusEtaPhiLowCellMaxL1G; //! Clusters maximum energy cell index eta vs phi distribution for L1G trigger, energy below 10 GeV | |
193 | TH2F *fhClusEtaPhiLowCellMaxL1J; //! Clusters maximum energy cell index eta vs phi distribution for L1J trigger, energy below 10 GeV | |
194 | TH2F *fhClusEtaPhiLowCellMaxL1GOnly; //! Clusters maximum energy cell index eta vs phi distribution for L1G trigger and not L1J, energy below 10 GeV | |
195 | TH2F *fhClusEtaPhiLowCellMaxL1JOnly; //! Clusters maximum energy cell index eta vs phi distribution for L1J trigger and not L1G, energy below 10 GeV | |
196 | TH2F *fhClusEtaPhiLowCellMaxCluMaxMB; //! Maximum E Cluster, maximum energy cell index Phi vs Eta per event distribution for MB trigger, energy below 10 GeV | |
197 | TH2F *fhClusEtaPhiLowCellMaxCluMaxL0; //! Maximum E Cluster, maximum energy cell index Phi vs Eta per event distribution for L0 trigger, energy below 10 GeV | |
198 | TH2F *fhClusEtaPhiLowCellMaxCluMaxL1G; //! Maximum E Cluster, maximum energy cell index Phi vs Eta per event distribution for L1G trigger, energy below 10 GeV | |
199 | TH2F *fhClusEtaPhiLowCellMaxCluMaxL1J; //! Maximum E Cluster, maximum energy cell index Phi vs Eta per event distribution for L1J trigger, energy below 10 GeV | |
200 | TH2F *fhClusEtaPhiLowCellMaxCluMaxL1GOnly; //! Maximum E Cluster, maximum energy cell index Phi vs Eta per event distribution for L1G trigger and not L1J, energy below 10 GeV | |
201 | TH2F *fhClusEtaPhiLowCellMaxCluMaxL1JOnly; //! Maximum E Cluster, maximum energy cell index Phi vs Eta per event distribution for L1J trigger and not L1G, energy below 10 GeV | |
bce9493b | 202 | |
bce9493b | 203 | |
ec77a234 | 204 | |
205 | // Histograms bins | |
206 | ||
207 | Int_t fNBinsSTUSignal ; // Number of bins for STU total signal histograms | |
208 | Float_t fMaxSTUSignal ; // Maximum value for TRU total signal histograms | |
209 | Int_t fNBinsTRUSignal ; // Number of bins for TRU total signal histograms | |
210 | Float_t fMaxTRUSignal ; // Maximum value for TRU total signal histograms | |
211 | Int_t fNBinsV0Signal ; // Number of bins for V0 total signal histograms | |
212 | Float_t fMaxV0Signal ; // Maximum value for V0 total signal histograms | |
213 | Int_t fNBinsSTUFEERatio ; // Number of bins for STU/FEE ratios histograms | |
214 | Float_t fMaxSTUFEERatio ; // Maximum value for STU/FEE ratios histograms | |
215 | Int_t fNBinsSTUTRURatio ; // Number of bins for STU/TRU ratios histograms | |
216 | Float_t fMaxSTUTRURatio ; // Maximum value for STU/TRU ratios histograms | |
217 | Int_t fNBinsClusterE ; // Number of bins for E cluster histograms | |
218 | Float_t fMaxClusterE ; // Maximum value for E cluster histograms | |
219 | ||
bce9493b | 220 | //Constants needed by the class: EMCAL |
00ff0079 | 221 | static const int fgkFALTRORows = AliEMCALGeoParams::fgkEMCALRows*(AliEMCALGeoParams::fgkEMCALModules-7)/2; // total number |
222 | // of fake altro rows in EMCAL | |
85196c29 | 223 | // (ALTRO channels in one SM times 5 SM divided by 2 per FALTRO) |
bce9493b | 224 | |
00ff0079 | 225 | static const int fgkFALTROCols = AliEMCALGeoParams::fgkEMCALCols; // total number of fake altro columns in EMCAL |
85196c29 | 226 | // (ALTRO channels in one SM times 2 SM divided by 2 per FALTRO) |
bce9493b | 227 | |
228 | ||
229 | AliAnalysisTaskEMCALTriggerQA(const AliAnalysisTaskEMCALTriggerQA&); //not implemented | |
230 | ||
231 | AliAnalysisTaskEMCALTriggerQA& operator=(const AliAnalysisTaskEMCALTriggerQA&); //not implemented | |
232 | ||
ec77a234 | 233 | ClassDef(AliAnalysisTaskEMCALTriggerQA, 9); |
bce9493b | 234 | }; |
235 | ||
236 | #endif |