]>
Commit | Line | Data |
---|---|---|
866de0ba | 1 | #ifndef AliEventPoolMuon_H |
2 | #define AliEventPoolMuon_H | |
3 | ||
27de2dfb | 4 | /* $Id$ */ |
5 | ||
866de0ba | 6 | #include "AliVEventPool.h" |
7 | #include "AliRunTagCuts.h" | |
8 | #include "AliLHCTagCuts.h" | |
9 | #include "AliDetectorTagCuts.h" | |
10 | #include "AliEventTagCuts.h" | |
11 | #include "AliTagAnalysis.h" | |
12 | ||
13 | // Realisation of an AliVEventPool via | |
14 | // on the flight generation of the bin using AliTagAnalysis. | |
15 | // Created expanding AliEventPoolOTF class functionalities | |
16 | // | |
17 | // Authors Alessandro De Falco and Antonio Uras, INFN Cagliari | |
18 | // alessandro.de.falco@ca.infn.it antonio.uras@ca.infn.it | |
19 | ||
20 | //====================================================================================================== | |
21 | ||
22 | class AliEventPoolMuon : public AliVEventPool { | |
23 | ||
24 | public: | |
25 | AliEventPoolMuon(); | |
26 | AliEventPoolMuon(const Char_t *name, const Char_t *title = "AOD"); | |
27 | ||
28 | virtual ~AliEventPoolMuon() {;} | |
29 | ||
30 | virtual TChain* GetNextChain(); | |
31 | virtual void GetCurrentBin(Float_t* /*bin*/); | |
32 | virtual Int_t GetDimension(); | |
33 | virtual void Init(); | |
34 | virtual void SetMultiplicityRange(Int_t min, Int_t max, Int_t step) | |
35 | { fMultiplicityMin = min; fMultiplicityMax = max; fMultiplicityStep = step; } | |
36 | virtual void SetNFWMuonRange(Int_t min, Int_t max, Int_t step) | |
37 | { fNFWMuonMin = min; fNFWMuonMax = max; fNFWMuonStep = step; } | |
38 | virtual void SetPrimaryVertexZRange(Int_t min, Int_t max, Int_t step) | |
39 | { fPrimaryVertexZMin = min; fPrimaryVertexZMax = max; fPrimaryVertexZStep = step; } | |
40 | virtual Double_t GetMeanPrimaryVertexZ() { return fPrimaryVertexZ + 0.5*fPrimaryVertexZStep; } | |
41 | ||
42 | void SetTagDirectory(const Char_t *dirname) {fTagDirectory = dirname;}; | |
43 | virtual Int_t BinNumber() const {return fBinNumber;} | |
44 | ||
45 | private: | |
46 | AliEventPoolMuon(const AliEventPoolMuon& obj); | |
47 | AliEventPoolMuon& operator=(const AliEventPoolMuon& other); | |
48 | ||
49 | protected: | |
50 | ||
51 | AliTagAnalysis *fTagAnalysis; // Pointer to tag analysis | |
52 | AliRunTagCuts *fRunCuts; // Run cuts | |
53 | AliLHCTagCuts *fLHCCuts; // LHC cuts | |
54 | AliDetectorTagCuts *fDetectorCuts; // Detector cuts | |
55 | AliEventTagCuts *fEventCuts; // Event cuts | |
56 | ||
57 | const Char_t *fTagDirectory; // Directory with local tag files | |
58 | ||
59 | Int_t fMultiplicityMin; // Minimum multiplicity | |
60 | Int_t fMultiplicityMax; // Maximum multiplicity | |
61 | Int_t fMultiplicityStep; // Multiplicity step-size | |
62 | Int_t fMultiplicity; // Minimum multiplicity for the current bin | |
63 | ||
64 | Int_t fNFWMuonMin; // Minimum NFWMuon | |
65 | Int_t fNFWMuonMax; // Maximum NFWMuon | |
66 | Int_t fNFWMuonStep; // NFWMuon step-size | |
67 | Int_t fNFWMuon; // Minimum NFWMuon for the current bin | |
68 | ||
69 | Double_t fPrimaryVertexZMin; // Minimum PrimaryVertexZ | |
70 | Double_t fPrimaryVertexZMax; // Maximum PrimaryVertexZ | |
71 | Double_t fPrimaryVertexZStep; // PrimaryVertexZ step-size | |
72 | Double_t fPrimaryVertexZ; // Minimum PrimaryVertexZ for the current bin | |
73 | ||
74 | Int_t fBinNumber; // Current bin number | |
75 | ||
76 | ClassDef(AliEventPoolMuon, 0); | |
77 | ||
78 | }; | |
79 | ||
80 | //====================================================================================================== | |
81 | ||
82 | #endif |