]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG0/dNdPt/AlidNdPtCorrection.h
increase class number
[u/mrichter/AliRoot.git] / PWG0 / dNdPt / AlidNdPtCorrection.h
CommitLineData
00b81913 1#ifndef ALIDNDPTCORRECTION_H
2#define ALIDNDPTCORRECTION_H
0aaa8b91 3
4//------------------------------------------------------------------------------
00b81913 5// AlidNdPtCorrection class to correct and
6// normalised dNdPt spectra.
0aaa8b91 7//
0aaa8b91 8// Author: J.Otwinowski 04/11/2008
9//------------------------------------------------------------------------------
10
00b81913 11class iostream;
12class TFile;
13class TCint;
0aaa8b91 14class TFolder;
15class TObjArray;
16class TString;
00b81913 17class THnSparse;
0aaa8b91 18
19class AliESDtrackCuts;
20class AliVertexerTracks;
21class AliESD;
22class AliESDfriend;
23class AliESDfriendTrack;
24
25class AlidNdPtEventCuts;
26class AlidNdPtAcceptanceCuts;
27class AlidNdPtCorrection;
28class AlidNdPt;
bad4ba69 29class AlidNdPtHelper;
0aaa8b91 30
0aaa8b91 31#include "AlidNdPt.h"
0aaa8b91 32
33class AlidNdPtCorrection : public AlidNdPt {
34public :
35 AlidNdPtCorrection();
36 AlidNdPtCorrection(Char_t* name, Char_t* title, TString corrMatrixFileName="ala.root");
37 ~AlidNdPtCorrection();
38
39 // Init data members
40 virtual void Init();
41
42 // Process events
43 virtual void Process(AliESDEvent *const esdEvent=0, AliMCEvent *const mcEvent=0);
44
45 // Merge output objects (needed by PROOF)
00b81913 46 virtual Long64_t Merge(TCollection* const list);
0aaa8b91 47
48 // Analyse output histograms
49 virtual void Analyse();
50
51 // Export objects to folder
c931948b 52 virtual TFolder *ExportToFolder(TObjArray * const array=0);
0aaa8b91 53
54 // Get analysis folder
00b81913 55 TFolder* GetCorrectionFolder() const {return fCorrectionFolder;}
0aaa8b91 56
57 // Create folder for analysed histograms
58 TFolder *CreateFolder(TString folder = "folderdNdPtCorrection",TString title = "Analysed dNdPt histograms");
59
60 // Fill histograms
15b7cc05 61 void FillHistograms(AliESDtrack *const esdTrack, AliStack *const stack, AlidNdPtHelper::TrackObject trackObj, Double_t zv, Int_t multRec, Int_t trueMult) const;
00b81913 62 void FillHistograms(AliStack *const stack, Int_t label, AlidNdPtHelper::TrackObject trackObj, Int_t multRec) const;
63 void FillHistograms(AlidNdPtHelper::EventObject eventObj, Double_t zv, Int_t multMBRec) const;
0aaa8b91 64
65 // Get correction factors
66 Double_t GetCorrFactZvPtEta(THnSparse *const hist=0, Double_t zv =0, Double_t pt=0, Double_t eta=0) const;
67 Double_t GetContFactZvPtEta(THnSparse *const hist=0, Double_t zv =0, Double_t pt=0, Double_t eta=0) const;
68 Double_t GetCorrFactZvMult(THnSparse *const hist=0, Double_t zv =0, Int_t mult=0) const;
69 Double_t GetContFactZvMult(THnSparse *const hist=0, Double_t zv =0, Int_t mult=0) const;
70
71 // Getters
3f87610e 72 THnSparseF *GetMCEventHist1() const { return fMCEventHist1;};
73 THnSparseF *GetRecEventHist1() const { return fRecEventHist1;};
74 THnSparseF *GetRecEventMultHist1() const { return fRecEventMultHist1;};
75
00b81913 76 THnSparseF *GetMCAllEventMultHist1() const {return fMCAllEventMultHist1;};
77 THnSparseF *GetMCAllNDEventMultHist1() const {return fMCAllNDEventMultHist1;};
78 THnSparseF *GetMCAllNSDEventMultHist1() const {return fMCAllNSDEventMultHist1;};
79 THnSparseF *GetMCTriggerMultHist1() const {return fMCTriggerMultHist1;};
80 THnSparseF *GetMCEventMultHist1() const {return fMCEventMultHist1;};
0aaa8b91 81
00b81913 82 THnSparseF *GetMCAllPrimTrackMultHist1() const {return fMCAllPrimTrackMultHist1;};
83 THnSparseF *GetMCNDEventAllPrimTrackMultHist1() const {return fMCNDEventAllPrimTrackMultHist1;};
84 THnSparseF *GetMCNSDEventAllPrimTrackMultHist1() const {return fMCNSDEventAllPrimTrackMultHist1;};
85 THnSparseF *GetMCTriggerPrimTrackMultHist1() const {return fMCTriggerPrimTrackMultHist1;};
86 THnSparseF *GetMCEventPrimTrackMultHist1() const {return fMCEventPrimTrackMultHist1;};
0aaa8b91 87
15b7cc05 88 THnSparseF *GetMCAllPrimTrackTrueMultHist1() const {return fMCAllPrimTrackTrueMultHist1;};
89 THnSparseF *GetMCNDEventAllPrimTrackTrueMultHist1() const {return fMCNDEventAllPrimTrackTrueMultHist1;};
90 THnSparseF *GetMCNSDEventAllPrimTrackTrueMultHist1() const {return fMCNSDEventAllPrimTrackTrueMultHist1;};
91 THnSparseF *GetMCTriggerPrimTrackTrueMultHist1() const {return fMCTriggerPrimTrackTrueMultHist1;};
92 THnSparseF *GetMCEventPrimTrackTrueMultHist1() const {return fMCEventPrimTrackTrueMultHist1;};
93
3f87610e 94 THnSparseF *GetMCAllPrimTrackTrueMultHist2() const {return fMCAllPrimTrackTrueMultHist2;};
95 THnSparseF *GetMCNDEventAllPrimTrackTrueMultHist2() const {return fMCNDEventAllPrimTrackTrueMultHist2;};
96 THnSparseF *GetMCNSDEventAllPrimTrackTrueMultHist2() const {return fMCNSDEventAllPrimTrackTrueMultHist2;};
97 THnSparseF *GetMCTriggerPrimTrackTrueMultHist2() const {return fMCTriggerPrimTrackTrueMultHist2;};
98 THnSparseF *GetMCEventPrimTrackTrueMultHist2() const {return fMCEventPrimTrackTrueMultHist2;};
99
15b7cc05 100 THnSparseF *GetMCAllPrimTrackMeanPtMult1() const {return fMCAllPrimTrackMeanPtMult1;};
101 THnSparseF *GetMCNDEventAllPrimTrackMeanPtMult1() const {return fMCNDEventAllPrimTrackMeanPtMult1;};
102 THnSparseF *GetMCNSDEventAllPrimTrackMeanPtMult1() const {return fMCNSDEventAllPrimTrackMeanPtMult1;};
103 THnSparseF *GetMCTriggerPrimTrackMeanPtMult1() const {return fMCTriggerPrimTrackMeanPtMult1;};
104 THnSparseF *GetMCEventPrimTrackMeanPtMult1() const {return fMCEventPrimTrackMeanPtMult1;};
105
106 THnSparseF *GetMCAllPrimTrackMeanPtTrueMult1() const {return fMCAllPrimTrackMeanPtTrueMult1;};
107 THnSparseF *GetMCNDEventAllPrimTrackMeanPtTrueMult1() const {return fMCNDEventAllPrimTrackMeanPtTrueMult1;};
108 THnSparseF *GetMCNSDEventAllPrimTrackMeanPtTrueMult1() const {return fMCNSDEventAllPrimTrackMeanPtTrueMult1;};
109 THnSparseF *GetMCTriggerPrimTrackMeanPtTrueMult1() const {return fMCTriggerPrimTrackMeanPtTrueMult1;};
110 THnSparseF *GetMCEventPrimTrackMeanPtTrueMult1() const {return fMCEventPrimTrackMeanPtTrueMult1;};
111
00b81913 112 THnSparseF *GetCorrRecTrackMultHist1(Int_t i) const {return fCorrRecTrackMultHist1[i];}
15b7cc05 113 THnSparseF *GetCorrRecTrackTrueMultHist1(Int_t i) const {return fCorrRecTrackTrueMultHist1[i];}
3f87610e 114 THnSparseF *GetCorrRecTrackTrueMultHist2(Int_t i) const {return fCorrRecTrackTrueMultHist2[i];}
15b7cc05 115 THnSparseF *GetCorrRecTrackMeanPtMultHist1(Int_t i) const {return fCorrRecTrackMeanPtMultHist1[i];}
116 THnSparseF *GetCorrRecTrackMeanPtTrueMultHist1(Int_t i) const {return fCorrRecTrackMeanPtTrueMultHist1[i];}
117 THnSparseF *GetCorrRecTrackPt1(Int_t i) const {return fCorrRecTrackPt1[i];}
118
00b81913 119 THnSparseF *GetCorrRecEventHist1(Int_t i) const {return fCorrRecEventHist1[i];}
120 THnSparseF *GetCorrRecEventHist2(Int_t i) const {return fCorrRecEventHist2[i];}
0aaa8b91 121
17e8c701 122 THnSparseF *GetEventCount() const {return fEventCount;}
0aaa8b91 123
124 // correlation matrix
125 void SetEventMultCorrelationMatrix(THnSparseF *const matrix=0) {fEventMultCorrelationMatrix = matrix;}
00b81913 126 THnSparseF *GetEventMultCorrelationMatrix() const {return fEventMultCorrelationMatrix;}
0aaa8b91 127
128 //
129 void SetZvNorm(TH1D *const matrix=0) {fZvNorm = matrix;}
00b81913 130 TH1D *GetZvNorm() const {return fZvNorm;}
0aaa8b91 131
132 void SetZvEmptyEventsNorm(TH1D *const matrix=0) {fZvEmptyEventsNorm = matrix;}
00b81913 133 TH1D *GetZvEmptyEventsNorm() const {return fZvEmptyEventsNorm;}
0aaa8b91 134
791aaf54 135 void SetLHCBin0Background(TH1D *const matrix=0) {fLHCBin0Background = matrix;}
136 TH1D *GetLHCBin0Background() const {return fLHCBin0Background;}
0aaa8b91 137 //
138 void SetCorrEventMatrix(THnSparseF *const matrix=0) {fCorrEventMatrix = matrix;}
00b81913 139 THnSparseF *GetCorrEventMatrix() const {return fCorrEventMatrix;}
0aaa8b91 140
141 void SetCorrTriggerMBtoInelEventMatrix(THnSparseF *const matrix=0) {fCorrTriggerMBtoInelEventMatrix = matrix;}
00b81913 142 THnSparseF *GetCorrTriggerMBtoInelEventMatrix() const {return fCorrTriggerMBtoInelEventMatrix;}
0aaa8b91 143
144 void SetCorrTriggerMBtoNDEventMatrix(THnSparseF *const matrix=0) {fCorrTriggerMBtoNDEventMatrix = matrix;}
00b81913 145 THnSparseF *GetCorrTriggerMBtoNDEventMatrix() const {return fCorrTriggerMBtoNDEventMatrix;}
0aaa8b91 146
147 void SetCorrTriggerMBtoNSDEventMatrix(THnSparseF *const matrix=0) {fCorrTriggerMBtoNSDEventMatrix = matrix;}
00b81913 148 THnSparseF *GetCorrTriggerMBtoNSDEventMatrix() const {return fCorrTriggerMBtoNSDEventMatrix;}
0aaa8b91 149
150 //
151 void SetCorrTrackEventMatrix(THnSparseF *const matrix=0) {fCorrTrackEventMatrix = matrix;}
00b81913 152 THnSparseF *GetCorrTrackEventMatrix() const {return fCorrTrackEventMatrix;}
0aaa8b91 153
154 void SetCorrTriggerMBtoInelTrackEventMatrix(THnSparseF *const matrix=0) {fCorrTriggerMBtoInelTrackEventMatrix = matrix;}
00b81913 155 THnSparseF *GetCorrTriggerMBtoInelTrackEventMatrix() const {return fCorrTriggerMBtoInelTrackEventMatrix;}
0aaa8b91 156
157 void SetCorrTriggerMBtoNDTrackEventMatrix(THnSparseF *const matrix=0) {fCorrTriggerMBtoNDTrackEventMatrix = matrix;}
00b81913 158 THnSparseF *GetCorrTriggerMBtoNDTrackEventMatrix() const {return fCorrTriggerMBtoNDTrackEventMatrix;}
0aaa8b91 159
160 void SetCorrTriggerMBtoNSDTrackEventMatrix(THnSparseF *const matrix=0) {fCorrTriggerMBtoNSDTrackEventMatrix = matrix;}
00b81913 161 THnSparseF *GetCorrTriggerMBtoNSDTrackEventMatrix() const {return fCorrTriggerMBtoNSDTrackEventMatrix;}
0aaa8b91 162
163 void SetCorrTrackMatrix(THnSparseF *const matrix=0) {fCorrTrackMatrix = matrix;}
00b81913 164 THnSparseF *GetCorrTrackMatrix() const {return fCorrTrackMatrix;}
0aaa8b91 165
15b7cc05 166 void SetCorrHighPtTrackMatrix(THnSparseF *const matrix=0) {fCorrHighPtTrackMatrix = matrix;}
167 THnSparseF *GetCorrHighPtTrackMatrix() const {return fCorrHighPtTrackMatrix;}
168
0aaa8b91 169 void SetContTrackMatrix(THnSparseF *const matrix=0) {fContTrackMatrix = matrix;}
00b81913 170 THnSparseF *GetContTrackMatrix() const {return fContTrackMatrix;}
0aaa8b91 171
172 void SetContMultTrackMatrix(THnSparseF *const matrix=0) {fContMultTrackMatrix = matrix;}
00b81913 173 THnSparseF *GetContMultTrackMatrix() const {return fContMultTrackMatrix;}
0aaa8b91 174
175 void SetCorrMatrixFileName(TString name="") { fCorrMatrixFileName = name; }
176
00b81913 177 Int_t GetTrueMult(THnSparse *const hist=0, Int_t mult=0) const;
0aaa8b91 178
179private:
180
181 // analysis folder
182 TFolder *fCorrectionFolder; // folder for analysed histograms
183
184 //
185 // event histograms
186 //
187 THnSparseF *fMCEventHist1; //-> mcXv:mcYv:mcZv
188 THnSparseF *fRecEventHist1; //-> Xv:Yv:Zv
3f87610e 189 THnSparseF *fRecEventMultHist1; //-> track multiplicity:tracklet multiplicity
0aaa8b91 190
191 // all MC events
192 THnSparseF *fMCAllEventMultHist1; //-> mcZv:multiplicity
193
194 // all ND MC events
195 THnSparseF *fMCAllNDEventMultHist1; //-> mcZv:multiplicity
196
197 // all NSD MC events
198 THnSparseF *fMCAllNSDEventMultHist1; //-> mcZv:multiplicity
199
200 // MC triggered events
201 THnSparseF *fMCTriggerMultHist1; //-> mcZv:multiplicity
202
203 // MC triggered and event vertex
204 THnSparseF *fMCEventMultHist1; //-> mcZv:multiplicity
205
206 //
207 // track histograms
208 //
209
210 // all mc primary tracks in acceptance (INEL)
211 THnSparseF *fMCAllPrimTrackMultHist1; //-> mcPt:mcEta:multiplicity
212
213 // all mc primary tracks in acceptance (ND events)
214 THnSparseF *fMCNDEventAllPrimTrackMultHist1; //-> mcPt:mcEta:multiplicity
215
216 // all mc primary tracks in acceptance (NSD events)
217 THnSparseF *fMCNSDEventAllPrimTrackMultHist1; //-> mcPt:mcEta:multiplicity
218
15b7cc05 219 // all mc primary tracks in acceptance (triggered events)
0aaa8b91 220 THnSparseF *fMCTriggerPrimTrackMultHist1; //-> mcPt:mcEta:multiplicity
221
15b7cc05 222 // mc primary tracks in acceptance (triggered and event vertex reconstructed)
0aaa8b91 223 THnSparseF *fMCEventPrimTrackMultHist1; //-> mcPt:mcEta:multiplicity
224
15b7cc05 225 // true multiplicity
15b7cc05 226 THnSparseF *fMCAllPrimTrackTrueMultHist1; //-> mcPt:mcEta:true multiplicity
15b7cc05 227 THnSparseF *fMCNDEventAllPrimTrackTrueMultHist1; //-> mcPt:mcEta:true multiplicity
15b7cc05 228 THnSparseF *fMCNSDEventAllPrimTrackTrueMultHist1; //-> mcPt:mcEta:true multiplicity
15b7cc05 229 THnSparseF *fMCTriggerPrimTrackTrueMultHist1; //-> mcPt:mcEta:true multiplicity
15b7cc05 230 THnSparseF *fMCEventPrimTrackTrueMultHist1; //-> mcPt:mcEta:true multiplicity
231
3f87610e 232 // mcPT multiplicity vs true multiplicity
233 THnSparseF *fMCAllPrimTrackTrueMultHist2; //-> mcPt:multiplicity:true multiplicity
234 THnSparseF *fMCNDEventAllPrimTrackTrueMultHist2; //-> mcPt:multiplicity:true multiplicity
235 THnSparseF *fMCNSDEventAllPrimTrackTrueMultHist2; //-> mcPt:multiplicity:true multiplicity
236 THnSparseF *fMCTriggerPrimTrackTrueMultHist2; //-> mcPt:multiplicity:true multiplicity
237 THnSparseF *fMCEventPrimTrackTrueMultHist2; //-> mcPt:multiplicity:true multiplicity
238
239
15b7cc05 240 //
241 // mc <pt> from the event
242 //
243
244 THnSparseF *fMCAllPrimTrackMeanPtMult1; //-> <mcPt>:multiplicity
245 THnSparseF *fMCNDEventAllPrimTrackMeanPtMult1; //-> <mcPt>:multiplicity
246 THnSparseF *fMCNSDEventAllPrimTrackMeanPtMult1; //-> <mcPt>:multiplicity
247 THnSparseF *fMCTriggerPrimTrackMeanPtMult1; //-> <mcPt>:multiplicity
248 THnSparseF *fMCEventPrimTrackMeanPtMult1; //-> <mcPt>:multiplicity
249
250 // true multiplicity
251
252 THnSparseF *fMCAllPrimTrackMeanPtTrueMult1; //-> <mcPt>:true multiplicity
253 THnSparseF *fMCNDEventAllPrimTrackMeanPtTrueMult1; //-> <mcPt>:true multiplicity
254 THnSparseF *fMCNSDEventAllPrimTrackMeanPtTrueMult1; //-> <mcPt>:true multiplicity
255 THnSparseF *fMCTriggerPrimTrackMeanPtTrueMult1; //-> <mcPt>:true multiplicity
256 THnSparseF *fMCEventPrimTrackMeanPtTrueMult1; //-> <mcPt>:true multiplicity
257
0aaa8b91 258
259 // track histograms
260 // [0]=all charged tracks,
261 // [1]=[0]+fiducual volume,
262 // [2]=[1]+after esd track cuts
263 THnSparseF *fRecTrackHist1[AlidNdPtHelper::kCutSteps]; //-> Pt:Eta:Phi
264
265 // corrected track histograms
266 // ([0]-not corrected,
267 // [1]=track cont.,
268 // [2]=[1]+track eff.,
269 // [3]=[2]+multple track,
270 // [4]=[3]+event vertex,
271 // [5]=[4]+trigger MBtoInel,
272 // [6]=[4]+trigger MBtoND,
273 // [7]=[4]+trigger MBToNSD)
274 THnSparseF *fCorrRecTrackMultHist1[8]; //-> Pt:Eta:mult corrected histograms
15b7cc05 275 THnSparseF *fCorrRecTrackTrueMultHist1[8]; //-> Pt:Eta:trueMult corrected histograms
3f87610e 276 THnSparseF *fCorrRecTrackTrueMultHist2[8]; //-> Pt:mult:trueMult corrected histograms
15b7cc05 277
278 // <pt> vs multiplicity from the event
279 THnSparseF *fCorrRecTrackMeanPtMultHist1[8]; //-> <Pt>:mult corrected histograms
280 THnSparseF *fCorrRecTrackMeanPtTrueMultHist1[8]; //-> <Pt>:trueMult corrected histograms
0aaa8b91 281
15b7cc05 282 THnSparseF *fCorrRecTrackPt1[8]; //-> Pt corrected histograms in the event (helper histograms)
bad4ba69 283
0aaa8b91 284 // corrected event histograms
285 // [0]-not corrected,
286 // [1]=event vertex,
287 // [2]=[1]+trigger MBtoInel,
288 // [3]=[1]+trigger MBtoND,
289 // [4]=[1]+trigger MBtoNSD
290 THnSparseF *fCorrRecEventHist1[5]; //-> mcZv:multMB
291
bad4ba69 292
0aaa8b91 293 // corrected event histograms (empty events)
294 // [0]=not corrected,
295 // [1]=trigger/trigger+vertex correction,
296 // [2]=[1]+trigger MBtoInel,
297 // [3]=[1]+trigger MBtoND,
298 // [4]=[1]+trigger MBtoNSD
299 THnSparseF *fCorrRecEventHist2[5]; //-> mcZv:multMB
300
301
302 //
303 // correction matrices (histograms)
304 // must be loaded
305 //
306
307 // event rec. track vs true track multiplicity correlation matrix
308 THnSparseF *fEventMultCorrelationMatrix; //-> mult:mult_true_tracks
309
310 // histograms needed for empty events corrections
311 TH1D *fZvNorm; //-> normalised reconstructed zv distribution
312 TH1D *fZvEmptyEventsNorm; //-> trigger/trigger+vertex empty event correction
313
791aaf54 314 // LHC background correction in 0-bin
315 TH1D *fLHCBin0Background; //-> good / accepted in the 0-bin
316
0aaa8b91 317 // trigger bias corrections
318 THnSparseF *fCorrTriggerMBtoInelEventMatrix; //-> mcVz:mcPt:mcEta (fTriggerEventMatrix / fGenEventMatrix)
319 THnSparseF *fCorrTriggerMBtoNDEventMatrix; //-> mcVz:mcPt:mcEta (fTriggerEventMatrix / fGenNDEventMatrix)
320 THnSparseF *fCorrTriggerMBtoNSDEventMatrix; //-> mcVz:mcPt:mcEta (fTriggerEventMatrix / fGenNSDEventMatrix)
321
322 // event vertex corrections
323 THnSparseF *fCorrEventMatrix; //-> mcVz:mcPt:mcEta (fRecEventMatrix/fTriggerEventMatrix)
324
325 // track-event trigger bias corrections
326 THnSparseF *fCorrTriggerMBtoInelTrackEventMatrix; //-> mcVz:mcPt:mcEta (fTriggerTrackEventMatrix / fGenTrackEventMatrix)
327 THnSparseF *fCorrTriggerMBtoNDTrackEventMatrix; //-> mcVz:mcPt:mcEta (fTriggerTrackEventMatrix / fGenTrackEventNDMatrix)
328 THnSparseF *fCorrTriggerMBtoNSDTrackEventMatrix; //-> mcVz:mcPt:mcEta (fTriggerTrackEventMatrix / fGenTrackEventNSDMatrix)
329
330 // track-event vertex corrections
331 THnSparseF *fCorrTrackEventMatrix; //-> mcVz:mcPt:mcEta (fRecTrackEventMatrix/fTriggerTrackEventMatrix)
332
333 // track-level corrections
334 THnSparseF *fCorrTrackMatrix; //-> mcVz:mcPt:mcEta (fRecPrimTrackMatrix / fGenPrimTrackMatrix)
15b7cc05 335 THnSparseF *fCorrHighPtTrackMatrix; //-> mcVz:mcPt:mcEta (fRecPrimTrackMatrix / fGenPrimTrackMatrix high pt tracks)
0aaa8b91 336 THnSparseF *fContTrackMatrix; //-> mcVz:mcPt:mcEta (fRecSecTrackMatrix / fRecTrackMatrix)
337 THnSparseF *fContMultTrackMatrix; //-> mcVz:mcPt:mcEta (fRecMultTrackMatrix / fRecTrackMatrix)
338
339 TString fCorrMatrixFileName; // file with efficiency correction matrices
d269b0e6 340
341 // deta, dphi, pt1 for cosmics
342 THnSparseF *fCosmicsHisto; //-> deta:dphi:pt
0aaa8b91 343
17e8c701 344 THnSparseF *fEventCount; //-> trig, trig + vertex
345
0aaa8b91 346 AlidNdPtCorrection(const AlidNdPtCorrection&); // not implemented
347 AlidNdPtCorrection& operator=(const AlidNdPtCorrection&); // not implemented
348
4f1cdee5 349 ClassDef(AlidNdPtCorrection,2);
0aaa8b91 350};
351
352#endif