1 #ifndef AliEventPoolMuon_H
2 #define AliEventPoolMuon_H
6 #include "AliVEventPool.h"
7 #include "AliRunTagCuts.h"
8 #include "AliLHCTagCuts.h"
9 #include "AliDetectorTagCuts.h"
10 #include "AliEventTagCuts.h"
11 #include "AliTagAnalysis.h"
13 // Realisation of an AliVEventPool via
14 // on the flight generation of the bin using AliTagAnalysis.
15 // Created expanding AliEventPoolOTF class functionalities
17 // Authors Alessandro De Falco and Antonio Uras, INFN Cagliari
18 // alessandro.de.falco@ca.infn.it antonio.uras@ca.infn.it
20 //======================================================================================================
22 class AliEventPoolMuon : public AliVEventPool {
26 AliEventPoolMuon(const Char_t *name, const Char_t *title = "AOD");
28 virtual ~AliEventPoolMuon() {;}
30 virtual TChain* GetNextChain();
31 virtual void GetCurrentBin(Float_t* /*bin*/);
32 virtual Int_t GetDimension();
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; }
42 void SetTagDirectory(const Char_t *dirname) {fTagDirectory = dirname;};
43 virtual Int_t BinNumber() const {return fBinNumber;}
46 AliEventPoolMuon(const AliEventPoolMuon& obj);
47 AliEventPoolMuon& operator=(const AliEventPoolMuon& other);
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
57 const Char_t *fTagDirectory; // Directory with local tag files
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
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
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
74 Int_t fBinNumber; // Current bin number
76 ClassDef(AliEventPoolMuon, 0);
80 //======================================================================================================