]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG3/muon/AliEventPoolMuon.h
set ownership of cuts container
[u/mrichter/AliRoot.git] / PWG3 / muon / AliEventPoolMuon.h
CommitLineData
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
20class 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