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