]>
Commit | Line | Data |
---|---|---|
6255180c | 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 */ | |
5 | ||
6 | /* $Id$ */ | |
a42548b0 | 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(). | |
e0003ae3 | 17 | // Author: Pietro Cortese (Universita' del Piemonte Orientale - Alessandria |
18 | // and INFN of Torino) | |
6255180c | 19 | |
20 | #include <AliFastResponse.h> | |
490243f3 | 21 | #include <TString.h> |
2724a683 | 22 | |
23 | class TH3F; | |
24 | class TAxis; | |
490243f3 | 25 | |
26 | // Debugging flag | |
27 | //#define MYTRIGDEBUG | |
28 | ||
29 | enum CutTupe {kLow, kHigh, kAny}; | |
6255180c | 30 | |
31 | class AliFastMuonTriggerEff : public AliFastResponse { | |
32 | ||
33 | public: | |
34 | AliFastMuonTriggerEff(); | |
e6e76983 | 35 | AliFastMuonTriggerEff(const char* /*Name*/, const char* /*Title*/); |
a42548b0 | 36 | AliFastMuonTriggerEff(const AliFastMuonTriggerEff& eff); |
6255180c | 37 | virtual ~AliFastMuonTriggerEff(){;} |
38 | virtual void Init(); | |
39 | virtual void Evaluate(Float_t charge, Float_t pt, Float_t theta, Float_t phi, | |
490243f3 | 40 | Float_t& effLow, Float_t& effHigh, Float_t& effAny); |
20432218 | 41 | virtual void Evaluate(Float_t pt, Float_t theta, Float_t phi, |
42 | Float_t& effLow, Float_t& effHigh, Float_t& effAny) | |
43 | {Evaluate(1., pt, theta, phi, effLow, effHigh, effAny);} | |
6255180c | 44 | virtual Float_t Evaluate(Float_t charge, Float_t pt, Float_t theta, Float_t phi); |
20432218 | 45 | |
490243f3 | 46 | virtual void SetCut(Int_t cut = kLow); |
a42548b0 | 47 | virtual Float_t Cut() const {return fCut;} |
490243f3 | 48 | virtual Int_t SetBkgLevel(Float_t Bkg=0.); |
49 | virtual Int_t ForceBkgLevel(Float_t Bkg=0.); | |
a42548b0 | 50 | virtual Float_t GetBkgLevel() const {return fBkg;} |
490243f3 | 51 | Int_t LoadTables(Char_t *namet); // Load trigger response tables |
52 | void SetInt() {fInt=1;} | |
53 | void UnsetInt() {fInt=0;} | |
a42548b0 | 54 | Int_t GetInt() const {return fInt;} |
55 | // Copy | |
56 | AliFastMuonTriggerEff& operator=(const AliFastMuonTriggerEff& rhs); | |
6255180c | 57 | protected: |
2724a683 | 58 | Double_t fPtMin; // Minimun pt |
59 | Double_t fPtMax; // Maximum pt | |
490243f3 | 60 | Double_t fDpt; // Delta_pt |
2724a683 | 61 | Int_t fnptb; // Number of bins |
62 | Double_t fPhiMin; // Lower limit for phi | |
63 | Double_t fPhiMax; // Upper limit for phi | |
490243f3 | 64 | Double_t fDphi; // Delta_phi |
2724a683 | 65 | Int_t fnphib; // Number of bins |
490243f3 | 66 | Double_t fThetaMin; // lower limit for theta |
67 | Double_t fThetaMax; // upper limit for theta | |
68 | Double_t fDtheta; // Delta_theta | |
2724a683 | 69 | Int_t fnthetab; // Number of bins |
70 | Int_t fCut; // Cut type (low/high) | |
71 | Int_t fZones; // Total number of zones | |
72 | TH3F* fhEffAPt; // Trig. prob. for Any Pt | |
73 | TH3F* fhEffLPt; // Trig. prob. for Low Pt | |
74 | TH3F* fhEffHPt; // Trig. prob. for High Pt | |
75 | TAxis* fhLX; // x-axis | |
76 | TAxis* fhLY; // y-axis | |
77 | TAxis* fhLZ; // z-axis | |
78 | Float_t fBkg; // Background level | |
79 | TString fTableTitle; // Title of the LUT | |
80 | TString fDescription; // Description of the table content | |
81 | Int_t fInt; // Interpolation flag (1 to interpolate) | |
490243f3 | 82 | private: |
2724a683 | 83 | Int_t fibx; // index x |
84 | Int_t fiby; // index y | |
85 | Int_t fibz; // index z | |
6255180c | 86 | ClassDef(AliFastMuonTriggerEff,1) // Fast Muon Trigger response |
87 | }; | |
88 | ||
89 | #endif | |
90 | ||
91 | ||
92 |