]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG/muon/AliEventPoolMuon.h
o small fix
[u/mrichter/AliRoot.git] / PWG / muon / AliEventPoolMuon.h
CommitLineData
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
22class 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