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