]>
Commit | Line | Data |
---|---|---|
f15155ed | 1 | #ifndef ALIANACALOTRACKCORRBASECLASS_H |
2 | #define ALIANACALOTRACKCORRBASECLASS_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | //_________________________________________________________________________ | |
7 | // Base class for CaloTrackCorr analysis algorithms | |
8 | //-- Author: Gustavo Conesa (INFN-LNF, LPSC-Grenoble) | |
9 | //-- Add the possibility for event selection analysis based on | |
10 | // vertex and multiplicity bins (Yaxian Mao, 10/10/2010) | |
11 | // | |
12 | //_________________________________________________________________________ | |
13 | ||
14 | #include <cstdlib> | |
15 | ||
16 | //ROOT | |
f15155ed | 17 | #include <TList.h> |
18 | #include <TObject.h> | |
0de1814a | 19 | class TClonesArray ; |
20 | class TObjArray ; | |
f15155ed | 21 | class TObjString; |
22 | ||
23 | //Analysis | |
f15155ed | 24 | #include "AliCaloTrackReader.h" |
25 | #include "AliCaloPID.h" | |
26 | #include "AliFiducialCut.h" | |
27 | #include "AliIsolationCut.h" | |
28 | #include "AliMCAnalysisUtils.h" | |
29 | #include "AliNeutralMesonSelection.h" | |
30 | #include "AliCalorimeterUtils.h" | |
31 | #include "AliHistogramRanges.h" | |
0de1814a | 32 | #include "AliAODPWG4ParticleCorrelation.h" |
33 | #include "AliMixedEvent.h" | |
34 | class AliVCaloCells; | |
f15155ed | 35 | class AliStack ; |
36 | class AliHeader ; | |
37 | class AliGenEventHeader ; | |
f15155ed | 38 | class AliEMCALGeometry; |
39 | class AliPHOSGeoUtils; | |
0de1814a | 40 | class AliCentrality; |
41 | class AliEventplane; | |
f15155ed | 42 | |
d6d84709 | 43 | //jets |
44 | class AliAODJetEventBackground; | |
45 | ||
f15155ed | 46 | class AliAnaCaloTrackCorrBaseClass : public TObject { |
47 | ||
48 | public: | |
49 | AliAnaCaloTrackCorrBaseClass() ; // default ctor | |
50 | virtual ~AliAnaCaloTrackCorrBaseClass() ; // virtual dtor | |
51 | ||
52 | //General methods, to be declared in deriving classes if needed | |
53 | ||
54 | virtual TList * GetCreateOutputObjects() { return (new TList) ; } | |
55 | ||
56 | virtual void Init() {;} | |
57 | virtual void InitParameters() ; | |
31864468 | 58 | |
59 | virtual void FillEventMixPool() { ; } | |
60 | ||
f15155ed | 61 | virtual void MakeAnalysisFillAOD() { ; } |
62 | ||
63 | virtual void MakeAnalysisFillHistograms() { ; } | |
64 | ||
65 | virtual void Print(const Option_t * ) const ; | |
66 | ||
67 | virtual void Terminate(TList * /*outputList*/) { ; } | |
68 | ||
69 | //Histograms, cuts | |
70 | ||
0cea6003 | 71 | virtual void AddToHistogramsName(TString add) { fAddToHistogramsName = add ; } |
f15155ed | 72 | virtual TString GetAddedHistogramsStringToName() const { return fAddToHistogramsName ; } |
73 | ||
74 | virtual TObjString * GetAnalysisCuts() { return 0x0 ; } | |
75 | virtual TString GetBaseParametersList(); | |
76 | ||
77 | //Getters, setters | |
78 | virtual Int_t GetDebug() const { return fDebug ; } | |
79 | virtual void SetDebug(Int_t d) { fDebug = d ; } | |
80 | ||
81 | virtual Int_t GetEventNumber() const ; | |
255de269 | 82 | |
83 | // Track multiplicity | |
84 | virtual Int_t GetTrackMultiplicity() const { return fReader->GetTrackMultiplicity() ; } | |
85 | ||
f15155ed | 86 | //Centrality |
87 | virtual AliCentrality* GetCentrality() const { return fReader->GetCentrality() ; } | |
255de269 | 88 | virtual Int_t GetEventCentrality() const { if(fUseTrackMultBins) |
89 | return GetTrackMultiplicity(); | |
90 | else return fReader->GetEventCentrality(); } | |
91 | ||
f15155ed | 92 | //Event plane |
93 | virtual AliEventplane* GetEventPlane() const { return fReader->GetEventPlane() ; } | |
11045377 | 94 | virtual Double_t GetEventPlaneAngle() const { return fReader->GetEventPlaneAngle() ; } |
f15155ed | 95 | virtual TString GetEventPlaneMethod() const { return fReader->GetEventPlaneMethod() ; } |
96 | ||
97 | //AOD branch | |
98 | virtual void AddAODParticle(AliAODPWG4Particle part) ; | |
99 | ||
100 | virtual void ConnectInputOutputAODBranches(); | |
101 | ||
102 | virtual TClonesArray * GetCreateOutputAODBranch() ; | |
103 | ||
104 | virtual TString GetInputAODName() const { return fInputAODName ; } | |
0cea6003 | 105 | virtual void SetInputAODName(TString name) { fInputAODName = name ; } |
f15155ed | 106 | |
107 | virtual TString GetOutputAODName() const { return fOutputAODName ; } | |
108 | virtual void SetOutputAODName(TString name) { fNewAOD = kTRUE ; fOutputAODName = name; } | |
109 | ||
110 | virtual Bool_t NewOutputAOD() const { return fNewAOD ; } | |
111 | ||
112 | virtual TString GetOutputAODClassName() const { return fOutputAODClassName ; } | |
113 | virtual void SetOutputAODClassName(TString name) { fOutputAODClassName = name ; } | |
114 | ||
115 | virtual TString GetAODObjArrayName() const { return fAODObjArrayName ; } | |
116 | virtual void SetAODObjArrayName(TString name) { fAODObjArrayName = name ; } | |
117 | ||
118 | virtual TClonesArray * GetInputAODBranch() const { return fInputAODBranch ; } | |
119 | virtual TClonesArray * GetOutputAODBranch() const { if(fNewAOD) return fOutputAODBranch; else return fInputAODBranch ; } | |
0cea6003 | 120 | virtual TClonesArray * GetAODBranch(const TString & aodBranchName) const ; |
f15155ed | 121 | |
122 | //Track cluster arrays access methods | |
123 | virtual TClonesArray* GetAODCaloClusters() const ; // Output AOD clusters, not used? | |
124 | virtual TClonesArray* GetAODTracks() const ; // Output AOD tracks, not used? | |
125 | virtual AliVCaloCells* GetPHOSCells() const { return fReader->GetPHOSCells() ; } | |
126 | virtual AliVCaloCells* GetEMCALCells() const { return fReader->GetEMCALCells() ; } | |
127 | virtual TObjArray* GetCTSTracks() const ; | |
128 | virtual TObjArray* GetEMCALClusters() const ; | |
129 | virtual TObjArray* GetPHOSClusters() const ; | |
130 | ||
43cd6c94 | 131 | |
132 | //jets | |
133 | virtual TClonesArray* GetNonStandardJets() const { return fReader->GetNonStandardJets() ;} | |
d6d84709 | 134 | virtual AliAODJetEventBackground* GetBackgroundJets() const { return fReader->GetBackgroundJets() ;} |
135 | ||
f15155ed | 136 | // Common analysis switchs |
137 | ||
d7e1c572 | 138 | enum detector { kEMCAL = AliFiducialCut::kEMCAL, kPHOS = AliFiducialCut::kPHOS, |
139 | kCTS = AliFiducialCut::kCTS , kDCAL = AliFiducialCut::kDCAL, | |
140 | kDCALPHOS = AliFiducialCut::kDCALPHOS } ; | |
141 | ||
142 | virtual Int_t GetCalorimeter() const { return fCalorimeter ; } | |
143 | virtual TString GetCalorimeterString() const { return fCalorimeterString ; } | |
144 | virtual void SetCalorimeter(TString & calo); | |
145 | virtual void SetCalorimeter(Int_t calo) ; | |
0cea6003 | 146 | |
f15155ed | 147 | virtual Bool_t IsDataMC() const { return fDataMC ; } |
aebb2aa4 | 148 | virtual void SwitchOnDataMC() { fDataMC = kTRUE ; |
149 | if(!fMCUtils) fMCUtils = new AliMCAnalysisUtils() ; } | |
f15155ed | 150 | virtual void SwitchOffDataMC() { fDataMC = kFALSE ; } |
151 | ||
152 | virtual Bool_t IsFiducialCutOn() const { return fCheckFidCut ; } | |
aebb2aa4 | 153 | virtual void SwitchOnFiducialCut() { fCheckFidCut = kTRUE ; |
154 | if(!fFidCut) fFidCut = new AliFiducialCut() ; } | |
f15155ed | 155 | virtual void SwitchOffFiducialCut() { fCheckFidCut = kFALSE ; } |
aebb2aa4 | 156 | |
157 | virtual Bool_t IsRealCaloAcceptanceOn() const { return fCheckRealCaloAcc ; } | |
158 | virtual void SwitchOnRealCaloAcceptance() { fCheckRealCaloAcc = kTRUE; } | |
159 | virtual void SwitchOffRealCaloAcceptance() { fCheckRealCaloAcc = kFALSE ; } | |
f15155ed | 160 | |
161 | virtual Bool_t IsCaloPIDOn() const { return fCheckCaloPID ; } | |
aebb2aa4 | 162 | virtual void SwitchOnCaloPID() { fCheckCaloPID = kTRUE ; |
163 | if(!fCaloPID) fCaloPID = new AliCaloPID() ; } | |
f15155ed | 164 | virtual void SwitchOffCaloPID() { fCheckCaloPID = kFALSE ; } |
165 | ||
0cea6003 | 166 | virtual Bool_t MakePlotsOn() const { return fMakePlots ; } |
167 | virtual void SwitchOnPlotsMaking() { fMakePlots = kTRUE ; } | |
168 | virtual void SwitchOffPlotsMaking() { fMakePlots = kFALSE ; } | |
169 | ||
170 | virtual Bool_t IsPileUpAnalysisOn() const { return fFillPileUpHistograms ; } | |
171 | virtual void SwitchOnFillPileUpHistograms() { fFillPileUpHistograms = kTRUE ; } | |
172 | virtual void SwitchOffFillPileUpHistograms() { fFillPileUpHistograms = kFALSE; } | |
f15155ed | 173 | |
0cea6003 | 174 | virtual Bool_t IsHighMultiplicityAnalysisOn() const { return fFillHighMultHistograms ; } |
175 | virtual void SwitchOnFillHighMultiplicityHistograms() { fFillHighMultHistograms = kTRUE ; } | |
176 | virtual void SwitchOffFillHighMultiplicityHistograms(){ fFillHighMultHistograms = kFALSE ; } | |
177 | ||
f15155ed | 178 | // Cluster energy/momentum cut |
179 | ||
180 | virtual Float_t GetMaxPt() const { return fMaxPt ; } | |
181 | virtual Float_t GetMinPt() const { return fMinPt ; } | |
182 | virtual void SetMaxPt(Float_t pt) { fMaxPt = pt ; } | |
183 | virtual void SetMinPt(Float_t pt) { fMinPt = pt ; } | |
184 | virtual void SetPtCutRange(Double_t mi, Double_t ma) { fMaxPt = ma; fMinPt=mi; } | |
185 | ||
186 | virtual Float_t GetMaxEnergy() const { return fMaxPt ; } | |
187 | virtual Float_t GetMinEnergy() const { return fMinPt ; } | |
188 | virtual void SetMaxEnergy(Float_t e) { fMaxPt = e ; } | |
189 | virtual void SetMinEnergy(Float_t e) { fMinPt = e ; } | |
190 | virtual void SetEnergyCutRange(Double_t mi, Double_t ma) { fMaxPt = ma; fMinPt = mi; } | |
191 | ||
192 | //Cluster Pairs Time cut | |
193 | virtual void SetPairTimeCut(Float_t t) { fPairTimeCut = t ; } //ns | |
194 | virtual Float_t GetPairTimeCut() const { return fPairTimeCut ; } //ns | |
195 | ||
4d1d8f00 | 196 | // Number of TRD modules in front of EMCAL (year <=2012) |
255de269 | 197 | Int_t GetFirstSMCoveredByTRD() const { return fTRDSMCovered ; } |
198 | void SetFirstSMCoveredByTRD(Int_t n) { fTRDSMCovered = n ; } | |
199 | ||
f15155ed | 200 | //Getters / Setters for parameters of event buffers |
255de269 | 201 | |
202 | virtual Int_t GetNZvertBin() const { return fNZvertBin ; } // number of bins in vertex | |
203 | virtual Int_t GetNRPBin() const { return fNrpBin ; } // number of bins in reaction plain | |
1eb93b25 | 204 | virtual Int_t GetNCentrBin() const { return fNCentrBin ; } // number of bins in centrality |
255de269 | 205 | virtual Int_t GetNTrackMultBin() const { return GetNCentrBin(); } // number of bins in track multiplicity |
1eb93b25 | 206 | virtual Int_t GetNMaxEvMix() const { return fNmaxMixEv ; } // maximal number of events for mixin |
255de269 | 207 | virtual Float_t GetZvertexCut() const { return GetReader()->GetZvertexCut();} // cut on vertex position |
208 | virtual Int_t GetTrackMultiplicityBin() const ; | |
209 | virtual Int_t GetEventCentralityBin() const ; | |
210 | virtual Int_t GetEventRPBin() const ; | |
211 | virtual Int_t GetEventVzBin() const ; | |
212 | virtual Int_t GetEventMixBin() const ; | |
8a2dbbff | 213 | virtual Int_t GetEventMixBin(Int_t iCen, Int_t iVz, Int_t iRP) const; |
f15155ed | 214 | |
1eb93b25 | 215 | virtual void SetNZvertBin(Int_t n = 1 ) { fNZvertBin = n ; if(n < 1) fNZvertBin = 1 ; } // number of bins for vertex position |
255de269 | 216 | virtual void SetNRPBin (Int_t n = 1 ) { fNrpBin = n ; if(n < 1) fNrpBin = 1 ; } // number of bins in reaction plain |
217 | virtual void SetNCentrBin(Int_t n = 1 ) { fNCentrBin = n ; if(n < 1) fNCentrBin = 1 ; } // number of bins in centrality | |
218 | virtual void SetNTrackMultBin(Int_t n = 1 ) { SetNCentrBin(n); } // number of bins in track multiplicity | |
1eb93b25 | 219 | virtual void SetNMaxEvMix(Int_t n = 20) { fNmaxMixEv = n ; if(n < 1) fNmaxMixEv = 1 ; } // maximal number of events for mixing |
255de269 | 220 | virtual void SetTrackMultiplicityBin(Int_t bin, Int_t mult) { if(bin < 20) fTrackMultBins[bin] = mult ; } |
f15155ed | 221 | |
11045377 | 222 | virtual void SwitchOnTrackMultBins() { fUseTrackMultBins = kTRUE ; } |
223 | virtual void SwitchOffTrackMultBins() { fUseTrackMultBins = kFALSE ; } | |
224 | ||
225 | virtual void SwitchOnOwnMix() { fDoOwnMix = kTRUE ; } | |
226 | virtual void SwitchOffOwnMix() { fDoOwnMix = kFALSE ; } | |
227 | ||
8a2dbbff | 228 | virtual Bool_t DoOwnMix() const { return fDoOwnMix ; } |
229 | virtual Bool_t UseTrackMultBins() const { return fUseTrackMultBins ; } | |
11045377 | 230 | |
04f7a616 | 231 | //Mixed event |
8a2dbbff | 232 | virtual Int_t CheckMixedEventVertex(Int_t caloLabel, Int_t trackLabel) ; |
233 | virtual AliMixedEvent * GetMixedEvent() const { return GetReader()->GetMixedEvent() ; } | |
f15155ed | 234 | virtual Int_t GetNMixedEvent() const { return GetReader()->GetNMixedEvent() ; } |
235 | ||
236 | //Vertex methods | |
237 | virtual void GetVertex(Double_t vertex[3]) const { GetReader()->GetVertex(vertex) ; } | |
8a2dbbff | 238 | virtual Double_t* GetVertex(Int_t evtIndex) const { return GetReader()->GetVertex(evtIndex) ; } |
239 | virtual void GetVertex(Double_t vertex[3], | |
240 | Int_t evtIndex) const { GetReader()->GetVertex(vertex,evtIndex) ; } | |
f15155ed | 241 | //VZERO |
242 | ||
243 | virtual Int_t GetV0Signal(Int_t i ) const { return fReader->GetV0Signal(i) ; } | |
244 | ||
245 | virtual Int_t GetV0Multiplicity(Int_t i ) const { return fReader->GetV0Multiplicity(i) ; } | |
246 | ||
247 | ||
248 | //MC event acces methods | |
249 | virtual AliStack * GetMCStack() const ; | |
250 | ||
251 | virtual AliHeader* GetMCHeader() const ; | |
252 | ||
253 | virtual AliGenEventHeader * GetMCGenEventHeader() const ; | |
254 | ||
255 | //Analysis helpers classes pointers setters and getters | |
256 | ||
257 | virtual AliCaloPID * GetCaloPID() { if(!fCaloPID) fCaloPID = new AliCaloPID(); return fCaloPID ; } | |
258 | ||
259 | virtual AliCalorimeterUtils * GetCaloUtils() const { return fCaloUtils ; } | |
260 | ||
261 | virtual AliFiducialCut * GetFiducialCut() { if(!fFidCut) fFidCut = new AliFiducialCut(); return fFidCut ; } | |
262 | ||
263 | virtual AliHistogramRanges * GetHistogramRanges() { if(!fHisto) fHisto = new AliHistogramRanges(); return fHisto ; } | |
264 | ||
265 | virtual AliIsolationCut * GetIsolationCut() { if(!fIC) fIC = new AliIsolationCut(); return fIC ; } | |
266 | ||
267 | virtual AliMCAnalysisUtils * GetMCAnalysisUtils() { if(!fMCUtils) fMCUtils = new AliMCAnalysisUtils(); return fMCUtils ; } | |
268 | ||
269 | virtual AliNeutralMesonSelection * GetNeutralMesonSelection() { if(!fNMS) fNMS = new AliNeutralMesonSelection(); return fNMS ; } | |
270 | ||
271 | virtual AliCaloTrackReader * GetReader() const { return fReader ; } | |
272 | ||
273 | virtual AliEMCALGeometry * GetEMCALGeometry() const { return fCaloUtils->GetEMCALGeometry() ; } | |
274 | ||
275 | virtual AliPHOSGeoUtils * GetPHOSGeometry() const { return fCaloUtils->GetPHOSGeometry() ; } | |
276 | ||
8a2dbbff | 277 | virtual void SetCaloPID(AliCaloPID * pid) { delete fCaloPID; fCaloPID = pid ; } |
f15155ed | 278 | |
279 | virtual void SetCaloUtils(AliCalorimeterUtils * caloutils) { fCaloUtils = caloutils ; } | |
280 | ||
8a2dbbff | 281 | virtual void SetFiducialCut(AliFiducialCut * fc) { delete fFidCut; fFidCut = fc ; } |
f15155ed | 282 | |
8a2dbbff | 283 | virtual void SetHistogramRanges(AliHistogramRanges * hr) { delete fHisto; fHisto = hr ; } |
f15155ed | 284 | |
8a2dbbff | 285 | virtual void SetIsolationCut(AliIsolationCut * ic) { delete fIC; fIC = ic ; } |
f15155ed | 286 | |
8a2dbbff | 287 | virtual void SetMCAnalysisUtils(AliMCAnalysisUtils * mcutils) { delete fMCUtils; fMCUtils = mcutils ; } |
f15155ed | 288 | |
289 | virtual void SetNeutralMesonSelection(AliNeutralMesonSelection * const nms) { delete fNMS; fNMS = nms ; } | |
290 | ||
8a2dbbff | 291 | virtual void SetReader(AliCaloTrackReader * reader) { fReader = reader ; } |
f15155ed | 292 | |
293 | //Calorimeter specific access methods and calculations | |
294 | ||
ad5fec38 | 295 | virtual Bool_t IsTrackMatched(AliVCluster * cluster, AliVEvent* event) { |
296 | return GetCaloPID()->IsTrackMatched(cluster, fCaloUtils, event) ; } | |
f15155ed | 297 | |
0cea6003 | 298 | virtual Int_t GetModuleNumberCellIndexes(Int_t absId, const TString & calo, Int_t & icol, Int_t & irow, Int_t &iRCU) const { |
f15155ed | 299 | return fCaloUtils->GetModuleNumberCellIndexes(absId, calo, icol, irow,iRCU) ; } |
300 | ||
301 | virtual Int_t GetModuleNumber(AliAODPWG4Particle * part) const { | |
302 | return fCaloUtils->GetModuleNumber(part, fReader->GetInputEvent()) ; } | |
303 | ||
304 | virtual Int_t GetModuleNumber(AliVCluster * cluster) const { | |
305 | return fCaloUtils->GetModuleNumber(cluster) ; } | |
306 | ||
307 | virtual AliVCluster* FindCluster(TObjArray* clusters, const Int_t id, Int_t & iclus, const Int_t first=0) ; | |
308 | ||
309 | private: | |
310 | ||
311 | Bool_t fDataMC ; // Flag to access MC data when using ESD or AOD | |
312 | Int_t fDebug ; // Debug level | |
d7e1c572 | 313 | Int_t fCalorimeter ; // Calorimeter selection |
314 | TString fCalorimeterString ; // Calorimeter selection | |
aebb2aa4 | 315 | Bool_t fCheckFidCut ; // Do analysis for clusters in defined region |
316 | Bool_t fCheckRealCaloAcc ; // When analysis of MC particle kinematics, check their hit in Calorimeter in Real Geometry or use FidCut | |
f15155ed | 317 | Bool_t fCheckCaloPID ; // Do analysis for calorimeters |
318 | Bool_t fRecalculateCaloPID ; // Recalculate PID or use PID weights in calorimeters | |
319 | Float_t fMinPt ; // Maximum pt of (trigger) particles in the analysis | |
320 | Float_t fMaxPt ; // Minimum pt of (trigger) particles in the analysis | |
321 | Float_t fPairTimeCut; // Maximum difference between time of cluster pairs (ns) | |
4d1d8f00 | 322 | Int_t fTRDSMCovered; // From which SM EMCal is covered by TRD |
0cea6003 | 323 | |
f15155ed | 324 | Int_t fNZvertBin ; // Number of bins in event container for vertex position |
325 | Int_t fNrpBin ; // Number of bins in event container for reaction plain | |
326 | Int_t fNCentrBin ; // Number of bins in event container for centrality | |
327 | Int_t fNmaxMixEv ; // Maximal number of events stored in buffer for mixing | |
11045377 | 328 | Bool_t fDoOwnMix; // Do combinatorial background not the one provided by the frame |
329 | Bool_t fUseTrackMultBins; // Use track multiplicity and not centrality bins in mixing | |
255de269 | 330 | Int_t fTrackMultBins[20]; // Multiplicity bins limits. Number of bins set with SetNTrackMult() that calls SetNCentrBin(). |
0cea6003 | 331 | Bool_t fFillPileUpHistograms; // Fill pile-up related histograms |
332 | Bool_t fFillHighMultHistograms; // Histograms with centrality and event plane for triggers pT | |
f15155ed | 333 | Bool_t fMakePlots ; // Print plots |
334 | ||
335 | TClonesArray* fInputAODBranch ; //! Selected input particles branch | |
336 | TString fInputAODName ; // Name of input AOD branch; | |
337 | TClonesArray* fOutputAODBranch ; //! Selected output particles branch | |
338 | Bool_t fNewAOD ; // Flag, new aod branch added to the analysis or not. | |
339 | TString fOutputAODName ; // Name of output AOD branch; | |
340 | TString fOutputAODClassName; // Type of aod objects to be stored in the TClonesArray (AliAODPWG4Particle, AliAODPWG4ParticleCorrelation ...) | |
341 | TString fAODObjArrayName ; // Name of ref array kept in a TList in AliAODParticleCorrelation with clusters or track references. | |
342 | TString fAddToHistogramsName; // Add this string to histograms name | |
343 | ||
344 | //Analysis helper classes access pointers | |
345 | AliCaloPID * fCaloPID; // PID calculation | |
346 | AliCalorimeterUtils * fCaloUtils ; // Pointer to CalorimeterUtils | |
347 | AliFiducialCut * fFidCut; // Acceptance cuts | |
348 | AliHistogramRanges * fHisto ; // Histogram ranges container | |
349 | AliIsolationCut * fIC; // Isolation cut | |
350 | AliMCAnalysisUtils * fMCUtils; // MonteCarlo Analysis utils | |
351 | AliNeutralMesonSelection * fNMS; // Neutral Meson Selection | |
352 | AliCaloTrackReader * fReader; // Acces to ESD/AOD/MC data | |
353 | ||
354 | AliAnaCaloTrackCorrBaseClass( const AliAnaCaloTrackCorrBaseClass & bc) ; // cpy ctor | |
355 | AliAnaCaloTrackCorrBaseClass & operator = (const AliAnaCaloTrackCorrBaseClass & bc) ; // cpy assignment | |
356 | ||
0cea6003 | 357 | ClassDef(AliAnaCaloTrackCorrBaseClass,26) |
f15155ed | 358 | } ; |
359 | ||
360 | ||
361 | #endif //ALIANACALOTRACKCORRBASECLASS_H | |
362 | ||
363 | ||
364 |