]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ANALYSIS/AliEventPoolOTF.h
Bug coreected in PTM gain array indexes
[u/mrichter/AliRoot.git] / ANALYSIS / AliEventPoolOTF.h
CommitLineData
2d0a3a45 1#ifndef ALIEVENTPOOLOTF_H
2#define ALIEVENTPOOLOTF_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7/* $Id$ */
8
9// Realisation of an AliVEventPool via
10// on the flight (OTF) generation of the bin using AliTagAnalysis.
11// Author Andreas Morsch
12// andreas.morsch@cern.ch
13
14#include <AliVEventPool.h>
15class AliRunTagCuts;
16class AliLHCTagCuts;
17class AliDetectorTagCuts;
18class AliEventTagCuts;
19class AliTagAnalysis;
20
df5036f6 21typedef enum {kMultiplicity, kZVertex, kEventPlane, kLeadingParticleEta, kUser1, kUser2} EventPoolAxis_t;
22
2d0a3a45 23class AliEventPoolOTF : public AliVEventPool
24{
25 public:
26 AliEventPoolOTF();
c08c82c3 27 AliEventPoolOTF(const char* name, const char* title = "AOD");
2d0a3a45 28
29 virtual ~AliEventPoolOTF() {;}
30 // Interface
31 virtual TChain* GetNextChain();
32 virtual void GetCurrentBin(Float_t* /*bin*/);
33 virtual Int_t GetDimension();
34 virtual void Init();
35 virtual void SetMultiplicityBin(Int_t min, Int_t max, Int_t step)
df5036f6 36 {fValueMin[kMultiplicity] = Float_t(min); fValueMax[kMultiplicity] = Float_t(max); fValueStep[kMultiplicity] = Float_t(step);}
37
38 virtual void SetMultiplicityBinning(Float_t min, Float_t max, Float_t step)
39 {fValueMin[kMultiplicity] = min; fValueMax[kMultiplicity] = max; fValueStep[kMultiplicity] = step;}
40 virtual void SetZVertexBinning(Float_t min, Float_t max, Float_t step)
41 {fValueMin[kZVertex] = min; fValueMax[kZVertex] = max; fValueStep[kZVertex] = step;}
42 virtual void SetEventPlaneBinning(Float_t min, Float_t max, Float_t step)
43 {fValueMin[kEventPlane] = min; fValueMax[kEventPlane] = max; fValueStep[kEventPlane] = step;}
44 virtual void SetLeadingParticleEtaBinning(Float_t min, Float_t max, Float_t step)
45 {fValueMin[kLeadingParticleEta] = min; fValueMax[kLeadingParticleEta] = max; fValueStep[kLeadingParticleEta] = step;}
46
2d0a3a45 47 //
a6e0ebfe 48 void SetTagDirectory(const char* dirname) {fTagDirectory = dirname;};
49 virtual Int_t BinNumber() const {return fBinNumber;}
a065d8ed 50
2d0a3a45 51 private:
52 AliEventPoolOTF(const AliEventPoolOTF& obj);
53 AliEventPoolOTF& operator=(const AliEventPoolOTF& other);
df5036f6 54 void InitArrays();
55
2d0a3a45 56 protected:
57 AliTagAnalysis* fTagAnalysis; // Pointer to tag analysis
58 AliRunTagCuts* fRunCuts; // Run cuts
59 AliLHCTagCuts* fLHCCuts; // LHC cuts
60 AliDetectorTagCuts* fDetectorCuts; // Detector cuts
61 AliEventTagCuts* fEventCuts; // Event cuts
df5036f6 62 const char* fTagDirectory; // Directory with local tag files
63 // Common pool cuts
64 // Multiplicity
65 Float_t fValueMin[6]; // Minimum value
66 Float_t fValueMax[6]; // Maximum value
67 Float_t fValueStep[6]; // Step size
68 Float_t fValue[6]; // Current value
69 //
a065d8ed 70 Int_t fBinNumber; // Current bin number
df5036f6 71 Bool_t fNoMore; // No more bins
a065d8ed 72
2d0a3a45 73 ClassDef(AliEventPoolOTF, 0);
74};
75
76#endif