1 #ifndef ALIFASTMUONTRIGGEREFF_H
2 #define ALIFASTMUONTRIGGEREFF_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
7 // Class for the fast simulation of the muon trigger efficiency
8 // The trigger parametrization is computed for background levels 0., 0.5 and 1.
9 // In order to set a background level different from 0 it is necessary to
10 // explicitly force it with:
11 // ForceBkgLevel(BkgLevel).
12 // For intermediate background levels, the trigger response is linearly
13 // interpolated between these values.
14 // There is increased granularity in the pT region below 3 GeV. Although
15 // it does not seem to be necessary it is also possible to interpolate
16 // between pT bins using SetInt().
18 #include <AliFastResponse.h>
27 enum CutTupe {kLow, kHigh, kAny};
29 class AliFastMuonTriggerEff : public AliFastResponse {
32 AliFastMuonTriggerEff();
33 AliFastMuonTriggerEff(const char* /*Name*/, const char* /*Title*/) {;}
34 AliFastMuonTriggerEff(const AliFastMuonTriggerEff& eff);
35 virtual ~AliFastMuonTriggerEff(){;}
37 virtual void Evaluate(Float_t charge, Float_t pt, Float_t theta, Float_t phi,
38 Float_t& effLow, Float_t& effHigh, Float_t& effAny);
39 virtual Float_t Evaluate(Float_t charge, Float_t pt, Float_t theta, Float_t phi);
40 virtual void SetCut(Int_t cut = kLow);
41 virtual Float_t Cut() const {return fCut;}
42 virtual Int_t SetBkgLevel(Float_t Bkg=0.);
43 virtual Int_t ForceBkgLevel(Float_t Bkg=0.);
44 virtual Float_t GetBkgLevel() const {return fBkg;}
45 Int_t LoadTables(Char_t *namet); // Load trigger response tables
46 void SetInt() {fInt=1;}
47 void UnsetInt() {fInt=0;}
48 Int_t GetInt() const {return fInt;}
50 AliFastMuonTriggerEff& operator=(const AliFastMuonTriggerEff& rhs);
52 Double_t fPtMin; // Minimun pt
53 Double_t fPtMax; // Maximum pt
54 Double_t fDpt; // Delta_pt
55 Int_t fnptb; // Number of bins
56 Double_t fPhiMin; // Lower limit for phi
57 Double_t fPhiMax; // Upper limit for phi
58 Double_t fDphi; // Delta_phi
59 Int_t fnphib; // Number of bins
60 Double_t fThetaMin; // lower limit for theta
61 Double_t fThetaMax; // upper limit for theta
62 Double_t fDtheta; // Delta_theta
63 Int_t fnthetab; // Number of bins
64 Int_t fCut; // Cut type (low/high)
65 Int_t fZones; // Total number of zones
66 TH3F* fhEffAPt; // Trig. prob. for Any Pt
67 TH3F* fhEffLPt; // Trig. prob. for Low Pt
68 TH3F* fhEffHPt; // Trig. prob. for High Pt
69 TAxis* fhLX; // x-axis
70 TAxis* fhLY; // y-axis
71 TAxis* fhLZ; // z-axis
72 Float_t fBkg; // Background level
73 TString fTableTitle; // Title of the LUT
74 TString fDescription; // Description of the table content
75 Int_t fInt; // Interpolation flag (1 to interpolate)
77 Int_t fibx; // index x
78 Int_t fiby; // index y
79 Int_t fibz; // index z
80 ClassDef(AliFastMuonTriggerEff,1) // Fast Muon Trigger response